diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index dd84ea7..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/images/architecture.svg b/.github/images/architecture.svg deleted file mode 100644 index 802c7cf..0000000 --- a/.github/images/architecture.svg +++ /dev/null @@ -1,896 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.github/images/icon.svg b/.github/images/icon.svg deleted file mode 100644 index 62ab2c5..0000000 --- a/.github/images/icon.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml deleted file mode 100644 index 2f3975d..0000000 --- a/.github/workflows/project.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: GitHub Project Automation - -on: [issues, pull_request] - -jobs: - dispatch-new-issues-and-pull-requests: - runs-on: ubuntu-latest - steps: - - name: Move new issues into Triage column - if: github.event_name == 'issues' && github.event.action == 'opened' - uses: alex-page/github-project-automation-plus@master - with: - project: Fundraising - column: Triage - repo-token: ${{ secrets.GITHUB_PROJECT_AUTOMATION}} - - - name: Move new PR into To Review column - if: github.event_name == 'pull_request' && github.event.action == 'assigned' - uses: alex-page/github-project-automation-plus@master - with: - project: Fundraising - column: To Review - repo-token: ${{ secrets.GITHUB_PROJECT_AUTOMATION }} diff --git a/.gitignore b/.gitignore index 6d61dbe..96f0437 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ yarn.lock package-lock.json **/**/yarn.lock **/**/package-lock.json +yarn-error.log # coverage */**/coverage @@ -17,6 +18,7 @@ package-lock.json */**/coverage.json */**/allFiredEvents */**/scTopics +*/**/.coverage_* # truffle and aragon build artifacts */**/abi @@ -24,6 +26,9 @@ package-lock.json */**/arapp_local.json */**/flattened_contracts */**/build +*/**/cache +*/**/artifacts +*/**/dist # keep abis used in the frontend !apps/marketplace-controller/app/src/abi diff --git a/.travis.yml b/.travis.yml index 0efc956..a9387bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,18 +3,16 @@ cache: timeout: 600 directories: - node_modules - - fundraising/apps/marketplace-controller/node_modules - - fundraising/apps/bancor-formula/node_modules - - fundraising/apps/batched-bancor-market-maker/node_modules - - fundraising/apps/presale/node_modules - - fundraising/apps/tap/node_modules - - fundraising/shared/interfaces/node_modules - - fundraising/shared/test-helpers/node_modules - - fundraising/templates/multisig/node_modules + - apps/marketplace-controller/node_modules + - apps/bancor-formula/node_modules + - apps/bancor-market-maker/node_modules + - apps/presale/node_modules + - shared/interfaces/node_modules + - shared/test-helpers/node_modules notifications: email: false node_js: - - '8' + - '10' install: - travis_wait 60 npm install jobs: @@ -23,24 +21,18 @@ jobs: script: npm run lint name: 'All' - stage: tests - script: npm run test:marketplace-controller - name: 'Aragon Fundraising' - - script: npm run test:batched-bancor-market-maker - name: 'Batched Bancor Market Maker' + script: npm run test:controller + name: 'Marketplace Controller' + - script: npm run test:bancor-market-maker + name: 'Bancor Market Maker' - script: npm run test:presale name: 'Presale' - - script: npm run test:tap - name: 'Tap' - - script: npm run test:multisig-template - name: 'Multisig Template' - stage: coverage - script: npm run coverage:marketplace-controller - name: 'Aragon Fundraising' - - script: npm run coverage:batched-bancor-market-maker - name: 'Batched Bancor Market Maker' - # - script: npm run coverage:presale - # name: 'Presale' - - script: npm run coverage:tap - name: 'Tap' + script: npm run coverage:controller + name: 'Marketplace Controller' + - script: npm run coverage:bancor-market-maker + name: 'Bancor Market Maker' + - script: npm run coverage:presale + name: 'Presale' after_success: - ./node_modules/.bin/lcov-result-merger 'apps/*/coverage/lcov.info' | ./node_modules/.bin/coveralls diff --git a/README.md b/README.md index 1786319..5f92e81 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,21 @@ -

-
- - Aragon Fundraising -
- Aragon Fundraising -
-
-

- -
-

- Fundraising Apps Suite for Aragon Organizations -

- -

- - Build - - - Coverage - - - License - - - Donate - - - Chat - - - Follow - -

- -
+# Marketplace [![Build Status](https://travis-ci.org/1Hive/marketplace-app.svg?branch=master)](https://travis-ci.org/1Hive/marketplace-app) [![Coverage](https://coveralls.io/repos/github/1Hive/marketplace-app/badge.svg?branch=master)](https://coveralls.io/github/1Hive/marketplace-app?branch=master) [![License](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) ## Disclaimer -Aragon Fundraising is an open source suite of apps. None of the people or institutions involved in its development may be held accountable for how it is used. If you do use it please make sure you comply to the jurisdictions you may be jubjected to. +Marketplace is an open source suite of apps. None of the people or institutions involved in its development may be held accountable for how it is used. If you do use it please make sure you comply to the jurisdictions you may be jubjected to. ## Overview -Aragon Fundraising is a suite of Aragon apps providing Aragon organizations continuous fundraising capabilities. It implements the following features. +Marketplace is a suite of Aragon apps providing Aragon organizations continuous fundraising capabilities. It implements the following features. ### Presale This module allows organizations to set a presale target that must be reached during a given period of time for the continous fundraising campaign to actually start. -### Automatic Batched Market Making +### Automatic Market Making -This module provides market liquidity to the fundraising campaign by automatically matching all the buy and sell orders according to a bonding curve tied to the Bancor formula. To mitigate front-running attacks and authorizing slow-trading this module also batches all the buy and sell orders received during a parametrable period of time to be matched given a common price. - -### Tap - -This module enforce a tap-based control of the funds allowed to be withdrawn from the market-maker reserve pool to a discretionnary pool whose funds can be spent to sustain the organization. To provide more guarantees to the investors this tap module also allows this flow of funds to be floored [thus ensuring that the market maker reserve pool can't be emptied even slowly during a long period of time]. - - -## Architecture - -![Architecture](.github/images/architecture.svg) +This module provides market liquidity to the marketplacee by automatically matching all the buy and sell orders according to a bonding curve tied to the Bancor formula. ## Packages @@ -88,14 +25,12 @@ This module enforce a tap-based control of the funds allowed to be withdrawn fro | Package | Version | Description | | -------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- | -| [`@ablack/fundraising-bancor-formula`](/apps/bancor-formula) | | `BancorFormula` computation contract | -| [`@ablack/fundraising-batched-bancor-market-maker`](/apps/bancor-market-maker) | | Automated market-maker batching orders filled through the `BancorFormula` | -| [`@ablack/fundraising-tap`](/apps/tap) | | Tap controlling the flow of funds from a reserve to a beneficiary | -| [`@ablack/fundraising-aragon-fundraising`](/apps/marketplace-controller) | | `API` contract providing a single entry-point to interact consistently with all fundraising-related contracts | +| [`@1hive/apps-marketplace-bancor-formula`](/apps/bancor-formula) | | `BancorFormula` computation contract | +| [`@1hive/apps-marketplace-bancor-market-maker`](/apps/bancor-market-maker) | | Automated market-maker batching orders filled through the `BancorFormula` | +| [`@1hive/apps-marketplace-presale`](/apps/presale) | | Initial fundraising to hatch the bonding curve | +| [`@1hive/apps-marketplace-controller`](/apps/marketplace-controller) | | `API` contract providing a single entry-point to interact consistently with all marketplace-related contracts | ## Contributing -We are highly open to the community helping use improve and shape the future of `Aragon Fundraising`. - -To learn more about our development and deployment workflows you can look into the [`Workflow.md`](/Workflow.md) file. +We are highly open to the community helping use improve and shape the future of `Marketplace`. diff --git a/Workflow.md b/Workflow.md deleted file mode 100644 index f1e3e98..0000000 --- a/Workflow.md +++ /dev/null @@ -1,48 +0,0 @@ -# Workflow -## Development - -Make sure you have cloned the fundraising repo (this repo) and also cloned the [Aragon client](https://github.com/aragon/aragon) repo. -``` -git clone https://github.com/aragon/aragon.git -``` -``` -git clone https://github.com/AragonBlack/fundraising.git -``` - -In two separate terminal processes do the following: - -Start the devchain. -``` -npx aragon devchain -``` -Start ipfs. -``` -npx aragon ipfs -``` - - -Then go to the `src` folder in the aragon client project and change the `environment.js` file to the following: https://gist.github.com/osarrouy/507014c4d8a4a4dbcb7f55745d58054b - -Start a third terminal process and install all dependencies by running: `npm install` - -We now need to start the Aragon client by running: -``` -env ARAGON_APP_LOCATOR=fundraising npm run start:local -``` - -Start a fourth terminal process and go to your fundraising project and do `npm install`. Then run the following commands after each other only once: -``` -npm run bootstrap -``` -``` -npm run publish -``` - -We can then `cd template/multisig` and `npm run deploy:dao:rpc` to create a DAO. You'll get an address to a DAO which you need to remember since we need it soon. - -Finally we can `cd ../../apps/aragon-fundraising/app` and run `npm start` to start our fundraising frontend. By now you should have four running terminal processes. - -You can then go to `http://localhost:3000/#/DAO_ADDRESS` and replace `DAO_ADDRESS` with the DAO address that you recently saved. This should open up your DAO and you'll be able to go to the fundraising app and have the frontend change as soon as you make a change in your code. - -## Deployment -TODO \ No newline at end of file diff --git a/apps/bancor-formula/arapp.json b/apps/bancor-formula/arapp.json index 70d607e..e6e739c 100644 --- a/apps/bancor-formula/arapp.json +++ b/apps/bancor-formula/arapp.json @@ -1,24 +1,24 @@ { "environments": { - "default": { + "localhost": { "registry": "0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1", - "appName": "bancor-formula.aragonpm.eth", + "appName": "marketplace-bancor-formula.aragonpm.eth", "network": "rpc" }, "mainnet": { - "registry": "0x314159265dd8dbb310642f98f50c066173c1259b", - "appName": "bancor-formula.aragonpm.eth", + "registry": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", + "appName": "marketplace-bancor-formula.open.aragonpm.eth", "network": "mainnet" }, "rinkeby": { "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "bancor-formula.aragonpm.eth", + "appName": "marketplace-bancor-formula.open.aragonpm.eth", "network": "rinkeby" }, - "hatch": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "bancor-formula.hatch.aragonpm.eth", - "network": "rinkeby" + "xdai": { + "registry": "0xaafca6b0c89521752e559650206d7c925fd0e530", + "appName": "marketplace-bancor-formula.open.aragonpm.eth", + "network": "xdai" } }, "path": "contracts/BancorFormula.sol" diff --git a/apps/bancor-formula/buidler.config.js b/apps/bancor-formula/buidler.config.js new file mode 100644 index 0000000..973b481 --- /dev/null +++ b/apps/bancor-formula/buidler.config.js @@ -0,0 +1,48 @@ +const { usePlugin } = require('@nomiclabs/buidler/config') + +usePlugin('@aragon/buidler-aragon') +usePlugin('@nomiclabs/buidler-solhint') + +const ACCOUNTS = (process.env.ETH_KEYS ? process.env.ETH_KEYS.split(',') : []) + .map(key => key.trim()) + +module.exports = { + defaultNetwork: 'localhost', + networks: { + localhost: { + url: 'http://localhost:8545', + accounts: { + mnemonic: "explain tackle mirror kit van hammer degree position ginger unfair soup bonus" + } + }, + mainnet: { + url: 'https://mainnet.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Rinkeby network configured with Aragon node. + rinkeby: { + url: 'https://rinkeby.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Network configured to interact with Frame wallet. Requires + // to have Frame running on your machine. Download it from: + // https://frame.sh + frame: { + httpHeaders: { origin: 'buidler' }, + url: 'http://localhost:1248', + }, + xdai:{ + url: 'https://xdai.poanetwork.dev', + accounts: ACCOUNTS, + gasPrice: 20, + gas: 12000000, + } + }, + solc: { + version: '0.4.24', + optimizer: { + enabled: true, + runs: 10000, + }, + } +} \ No newline at end of file diff --git a/apps/bancor-formula/build/contracts/BancorFormula.json b/apps/bancor-formula/build/contracts/BancorFormula.json deleted file mode 100644 index a7ed344..0000000 --- a/apps/bancor-formula/build/contracts/BancorFormula.json +++ /dev/null @@ -1,68177 +0,0 @@ -{ - "contractName": "BancorFormula", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_depositAmount", - "type": "uint256" - } - ], - "name": "calculatePurchaseReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_sellAmount", - "type": "uint256" - } - ], - "name": "calculateSaleReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_fromConnectorBalance", - "type": "uint256" - }, - { - "name": "_fromConnectorWeight", - "type": "uint32" - }, - { - "name": "_toConnectorBalance", - "type": "uint256" - }, - { - "name": "_toConnectorWeight", - "type": "uint32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "calculateCrossConnectorReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60c0604052600360808190527f302e33000000000000000000000000000000000000000000000000000000000060a0908152620000409160009190620007f7565b503480156200004e57600080fd5b506001606060020a641c35fedd1502036021556001605e60020a646c3390ecc902036022556001606160020a640cf801476102036023556001605f60020a6431bdb23e1d02036024556001605b60020a6502fb1d8fe08302036025556001605a60020a6505b771955b3702036026556001605960020a650af67a93bb5102036027556001605860020a6515060c256cb302036028556001605860020a651428a2f98d7302036029556001605660020a654d51566397090203602a556001605560020a65944620b0e70f0203602b557011c592761c666fffffffffffffffffffff602c5570110a688680a757ffffffffffffffffffff602d55701056f1b5bedf77ffffffffffffffffffff602e55700faadceceeff8bffffffffffffffffffff602f55700f05dc6b27edadffffffffffffffffffff603055700e67a5a25da4107fffffffffffffffffff603155700dcff115b14eedffffffffffffffffffff603255700d3e7a392431239fffffffffffffffffff603355700cb2ff529eb71e4fffffffffffffffffff603455700c2d415c3db974afffffffffffffffffff603555700bad03e7d883f69bffffffffffffffffff603655700b320d03b2c343d5ffffffffffffffffff603755700abc25204e02828dffffffffffffffffff603855700a4b16f74ee4bb207fffffffffffffffff6039557009deaf736ac1f569ffffffffffffffffff603a55700976bd9952c7aa957fffffffffffffffff603b557009131271922eaa606fffffffffffffffff603c557008b380f3558668c46fffffffffffffffff603d55700857ddf0117efa215bffffffffffffffff603e556001608360020a03603f557007abbf6f6abb9d087fffffffffffffffff60405570075af62cbac95f7dfa7fffffffffffffff60415570070d7fb7452e187ac13fffffffffffffff6042557006c3390ecc8af379295fffffffffffffff60435570067c00a3b07ffc01fd6fffffffffffffff604455700637b647c39cbb9d3d27ffffffffffffff6045557005f63b1fc104dbd39587ffffffffffffff6046557005b771955b36e12f7235ffffffffffffff60475570057b3d49dda84556d6f6ffffffffffffff60485570054183095b2c8ececf30ffffffffffffff60495570050a28be635ca2b888f77fffffffffffff604a557004d5156639708c9db33c3fffffffffffff604b557004a23105873875bd52dfdfffffffffffff604c55700471649d87199aa990756fffffffffffff604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001608160020a036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e66080556200089c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200083a57805160ff19168380011785556200086a565b828001600101855582156200086a579182015b828111156200086a5782518255916020019190600101906200084d565b50620008789291506200087c565b5090565b6200089991905b8082111562000878576000815560010162000883565b90565b61181e80620008ac6000396000f3006080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166329a00e7c811461006657806349f9b0f71461009f57806354fd4d50146100c657806365098bb314610150575b600080fd5b34801561007257600080fd5b5061008d60043560243563ffffffff6044351660643561017e565b60408051918252519081900360200190f35b3480156100ab57600080fd5b5061008d60043560243563ffffffff6044351660643561025e565b3480156100d257600080fd5b506100db61035b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b5061008d60043563ffffffff6024358116906044359060643516608435610407565b600080600080600080891180156101955750600088115b80156101a7575060008763ffffffff16115b80156101bc5750620f424063ffffffff881611155b15156101c757600080fd5b8515156101d75760009450610252565b63ffffffff8716620f4240141561020a57876101f98a8863ffffffff61051c16565b81151561020257fe5b049450610252565b61021a868963ffffffff61062616565b915061022b828989620f42406106cb565b909450925060ff83166102448a8663ffffffff61051c16565b9060020a9004905088810394505b50505050949350505050565b60008060008060008060008a1180156102775750600089115b8015610289575060008863ffffffff16115b801561029e5750620f424063ffffffff891611155b80156102aa5750898711155b15156102b557600080fd5b8615156102c5576000955061034e565b898714156102d55788955061034e565b63ffffffff8816620f4240141561030857896102f78a8963ffffffff61051c16565b81151561030057fe5b04955061034e565b868a03925061031c8a84620f42408b6106cb565b9095509350610331898663ffffffff61051c16565b91505060ff831660020a88028481830381151561034a57fe5b0495505b5050505050949350505050565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103ff5780601f106103d4576101008083540402835291602001916103ff565b820191906000526020600020905b8154815290600101906020018083116103e257829003601f168201915b505050505081565b60008060008060008060008b118015610426575060008a63ffffffff16115b801561043b5750620f424063ffffffff8b1611155b80156104475750600089115b8015610459575060008863ffffffff16115b801561046e5750620f424063ffffffff891611155b151561047957600080fd5b8763ffffffff168a63ffffffff1614156104be5761049d8b8863ffffffff61062616565b6104ad8a8963ffffffff61051c16565b8115156104b657fe5b04955061050e565b6104ce8b8863ffffffff61062616565b92506104dc838c8c8b6106cb565b90955093506104f1898663ffffffff61051c16565b91505060ff831660020a88028481830381151561050a57fe5b0495505b505050505095945050505050565b60008083151561052f576000915061061f565b5082820282848281151561053f57fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f570000000000000000000000000000006020820152929190041461061a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105df5781810151838201526020016105c7565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508091505b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561061a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156105df5781810151838201526020016105c7565b600080808080807002000000000000000000000000000000008a106106ef57600080fd5b886f800000000000000000000000000000008b0281151561070c57fe5b04925070015bf0a8b1457695355fb8ac404e7a79e383101561073857610731836107c1565b9350610744565b61074183610cb5565b93505b8663ffffffff168863ffffffff16850281151561075d57fe5b04915070080000000000000000000000000000000082101561078d5761078282610df4565b607f955095506107b4565b610796826112d9565b90506107ae60ff607f8390031660020a830482611366565b81955095505b5050505094509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd8861061081c576f4000000000000000000000000000000093909301926fd3094c70f034de4b96ff7d5b6f99fcd86f8000000000000000000000000000000087020495505b6fa45af1e1f40c333b3de1db4dd55f29a78610610871576f2000000000000000000000000000000093909301926fa45af1e1f40c333b3de1db4dd55f29a76f8000000000000000000000000000000087020495505b6f910b022db7ae67ce76b441c27035c6a186106108c6576f1000000000000000000000000000000093909301926f910b022db7ae67ce76b441c27035c6a16f8000000000000000000000000000000087020495505b6f88415abbe9a76bead8d00cf112e4d4a8861061091b576f0800000000000000000000000000000093909301926f88415abbe9a76bead8d00cf112e4d4a86f8000000000000000000000000000000087020495505b6f84102b00893f64c705e841d5d4064bd38610610970576f0400000000000000000000000000000093909301926f84102b00893f64c705e841d5d4064bd36f8000000000000000000000000000000087020495505b6f8204055aaef1c8bd5c3259f4822735a286106109c5576f0200000000000000000000000000000093909301926f8204055aaef1c8bd5c3259f4822735a26f8000000000000000000000000000000087020495505b6f810100ab00222d861931c15e39b44e998610610a1a576f0100000000000000000000000000000093909301926f810100ab00222d861931c15e39b44e996f8000000000000000000000000000000087020495505b6f808040155aabbbe9451521693554f7338610610a6e576e80000000000000000000000000000093909301926f808040155aabbbe9451521693554f7336f8000000000000000000000000000000087020495505b7fffffffffffffffffffffffffffffffff80000000000000000000000000000000860192508291506f8000000000000000000000000000000082800204905070010000000000000000000000000000000083810383020493909301926f800000000000000000000000000000008282020491507002000000000000000000000000000000006faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84900383020493909301926f800000000000000000000000000000008282020491507003000000000000000000000000000000006f9999999999999999999999999999999984900383020493909301926f800000000000000000000000000000008282020491507004000000000000000000000000000000006f9249249249249249249249249249249284900383020493909301926f800000000000000000000000000000008282020491507005000000000000000000000000000000006f8e38e38e38e38e38e38e38e38e38e38e84900383020493909301926f800000000000000000000000000000008282020491507006000000000000000000000000000000006f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b84900383020493909301926f800000000000000000000000000000008282020491507007000000000000000000000000000000006f89d89d89d89d89d89d89d89d89d89d8984900383020493909301926f800000000000000000000000000000008282020491507008000000000000000000000000000000006f888888888888888888888888888888888490038302049390930195945050505050565b60008080807001000000000000000000000000000000008510610d1157610ced6f800000000000000000000000000000008604611789565b60ff8116600281900a909604956f8000000000000000000000000000000002935091505b6f80000000000000000000000000000000851115610dc45750607f5b60008160ff161115610dc4576f800000000000000000000000000000008580020494507001000000000000000000000000000000008510610d9d576002948590049460ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830116900a92909201915b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610d2d565b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f884020493505b505050919050565b6000670168244fdac780006f800000000000000000000000000000006f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc1800002830192506f80000000000000000000000000000000828202811515610e8757fe5b04905080660c0135dca0400002830192506f80000000000000000000000000000000828202811515610eb557fe5b049050806601b707b1cdc00002830192506f80000000000000000000000000000000828202811515610ee357fe5b049050806536e0f639b80002830192506f80000000000000000000000000000000828202811515610f1057fe5b04905080650618fee9f80002830192506f80000000000000000000000000000000828202811515610f3d57fe5b04905080649c197dcc0002830192506f80000000000000000000000000000000828202811515610f6957fe5b04905080640e30dce40002830192506f80000000000000000000000000000000828202811515610f9557fe5b0490508064012ebd130002830192506f80000000000000000000000000000000828202811515610fc157fe5b049050806317499f0002830192506f80000000000000000000000000000000828202811515610fec57fe5b049050806301a9d48002830192506f8000000000000000000000000000000082820281151561101757fe5b04905080621c638002830192506f8000000000000000000000000000000082820281151561104157fe5b049050806201c63802830192506f8000000000000000000000000000000082820281151561106b57fe5b04905080611ab802830192506f8000000000000000000000000000000082820281151561109457fe5b0490508061017c02830192506f800000000000000000000000000000008282028115156110bd57fe5b04905080601402830192506f800000000000000000000000000000008282028115156110e557fe5b6721c3677c82b400009190049384010482016f80000000000000000000000000000000019290506f1000000000000000000000000000000085161561114e5770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6f20000000000000000000000000000000851615611190577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6f400000000000000000000000000000008516156111d1576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b6f80000000000000000000000000000000851615611211576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b700100000000000000000000000000000000851615611252576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b700200000000000000000000000000000000851615611292576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b7004000000000000000000000000000000008516156112d0576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f825b8160ff168360010160ff16101561132657600260ff8484011604905084600160ff83166080811061130e57fe5b01541061131d57809250611321565b8091505b6112e1565b84600160ff84166080811061133757fe5b01541061134657819350610dec565b84600160ff85166080811061135757fe5b01541061006157829350610dec565b6000806000849150600090508360ff168583029060020a90049150816f03442c4e6074a82f1797f72ac000000002810190508360ff168583029060020a90049150816f0116b96f757c380fb287fd0e4000000002810190508360ff168583029060020a90049150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff168583029060020a90049150816e0defabf91302cd95b9ffda5000000002810190508360ff168583029060020a90049150816e02529ca9832b22439efff9b800000002810190508360ff168583029060020a90049150816d54f1cf12bd04e516b6da8800000002810190508360ff168583029060020a90049150816d0a9e39e257a09ca2d6db5100000002810190508360ff168583029060020a90049150816d012e066e7b839fa050c30900000002810190508360ff168583029060020a90049150816c1e33d7d926c329a1ad1a80000002810190508360ff168583029060020a90049150816c02bee513bdb4a6b19b5f80000002810190508360ff168583029060020a90049150816b3a9316fa79b88eccf2a0000002810190508360ff168583029060020a90049150816b048177ebe1fa81237520000002810190508360ff168583029060020a90049150816a5263fe90242dcbacf0000002810190508360ff168583029060020a90049150816a057e22099c030d9410000002810190508360ff168583029060020a90049150816957e22099c030d941000002810190508360ff168583029060020a900491508169052b6b5456997631000002810190508360ff168583029060020a9004915081684985f67696bf74800002810190508360ff168583029060020a90049150816803dea12ea99e49800002810190508360ff168583029060020a90049150816731880f2214b6e00002810190508360ff168583029060020a900491508167025bcff56eb3600002810190508360ff168583029060020a9004915081661b722e10ab100002810190508360ff168583029060020a90049150816601317c7007700002810190508360ff168583029060020a9004915081650cba84aafa0002810190508360ff168583029060020a90049150816482573a0a0002810190508360ff168583029060020a90049150816405035ad90002810190508360ff168583029060020a9004915081632f881b0002810190508360ff168583029060020a90049150816301b2934002810190508360ff168583029060020a9004915081620efc4002810190508360ff168583029060020a9004915081617fe002810190508360ff168583029060020a900491508161042002810190508360ff168583029060020a9004915081602102810190508360ff168583029060020a9004915081600102810190508360ff1660019060020a02856f0688589cc0e9505e2f2fee55800000008381151561177d57fe5b04010195945050505050565b600080806101008410156117b8575b60018411156117b35760029093049260019190910190611798565b61061f565b5060805b60008160ff16111561061f5760ff811660020a84106117e55760ff811660020a90930492908117905b600260ff909116046117bc5600a165627a7a723058203ee0310e37eec9fbc69f375d537ac6573c5d0d7ff638805cf7849f4894984e5a0029", - "deployedBytecode": "0x6080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166329a00e7c811461006657806349f9b0f71461009f57806354fd4d50146100c657806365098bb314610150575b600080fd5b34801561007257600080fd5b5061008d60043560243563ffffffff6044351660643561017e565b60408051918252519081900360200190f35b3480156100ab57600080fd5b5061008d60043560243563ffffffff6044351660643561025e565b3480156100d257600080fd5b506100db61035b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b5061008d60043563ffffffff6024358116906044359060643516608435610407565b600080600080600080891180156101955750600088115b80156101a7575060008763ffffffff16115b80156101bc5750620f424063ffffffff881611155b15156101c757600080fd5b8515156101d75760009450610252565b63ffffffff8716620f4240141561020a57876101f98a8863ffffffff61051c16565b81151561020257fe5b049450610252565b61021a868963ffffffff61062616565b915061022b828989620f42406106cb565b909450925060ff83166102448a8663ffffffff61051c16565b9060020a9004905088810394505b50505050949350505050565b60008060008060008060008a1180156102775750600089115b8015610289575060008863ffffffff16115b801561029e5750620f424063ffffffff891611155b80156102aa5750898711155b15156102b557600080fd5b8615156102c5576000955061034e565b898714156102d55788955061034e565b63ffffffff8816620f4240141561030857896102f78a8963ffffffff61051c16565b81151561030057fe5b04955061034e565b868a03925061031c8a84620f42408b6106cb565b9095509350610331898663ffffffff61051c16565b91505060ff831660020a88028481830381151561034a57fe5b0495505b5050505050949350505050565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103ff5780601f106103d4576101008083540402835291602001916103ff565b820191906000526020600020905b8154815290600101906020018083116103e257829003601f168201915b505050505081565b60008060008060008060008b118015610426575060008a63ffffffff16115b801561043b5750620f424063ffffffff8b1611155b80156104475750600089115b8015610459575060008863ffffffff16115b801561046e5750620f424063ffffffff891611155b151561047957600080fd5b8763ffffffff168a63ffffffff1614156104be5761049d8b8863ffffffff61062616565b6104ad8a8963ffffffff61051c16565b8115156104b657fe5b04955061050e565b6104ce8b8863ffffffff61062616565b92506104dc838c8c8b6106cb565b90955093506104f1898663ffffffff61051c16565b91505060ff831660020a88028481830381151561050a57fe5b0495505b505050505095945050505050565b60008083151561052f576000915061061f565b5082820282848281151561053f57fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f570000000000000000000000000000006020820152929190041461061a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105df5781810151838201526020016105c7565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508091505b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561061a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156105df5781810151838201526020016105c7565b600080808080807002000000000000000000000000000000008a106106ef57600080fd5b886f800000000000000000000000000000008b0281151561070c57fe5b04925070015bf0a8b1457695355fb8ac404e7a79e383101561073857610731836107c1565b9350610744565b61074183610cb5565b93505b8663ffffffff168863ffffffff16850281151561075d57fe5b04915070080000000000000000000000000000000082101561078d5761078282610df4565b607f955095506107b4565b610796826112d9565b90506107ae60ff607f8390031660020a830482611366565b81955095505b5050505094509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd8861061081c576f4000000000000000000000000000000093909301926fd3094c70f034de4b96ff7d5b6f99fcd86f8000000000000000000000000000000087020495505b6fa45af1e1f40c333b3de1db4dd55f29a78610610871576f2000000000000000000000000000000093909301926fa45af1e1f40c333b3de1db4dd55f29a76f8000000000000000000000000000000087020495505b6f910b022db7ae67ce76b441c27035c6a186106108c6576f1000000000000000000000000000000093909301926f910b022db7ae67ce76b441c27035c6a16f8000000000000000000000000000000087020495505b6f88415abbe9a76bead8d00cf112e4d4a8861061091b576f0800000000000000000000000000000093909301926f88415abbe9a76bead8d00cf112e4d4a86f8000000000000000000000000000000087020495505b6f84102b00893f64c705e841d5d4064bd38610610970576f0400000000000000000000000000000093909301926f84102b00893f64c705e841d5d4064bd36f8000000000000000000000000000000087020495505b6f8204055aaef1c8bd5c3259f4822735a286106109c5576f0200000000000000000000000000000093909301926f8204055aaef1c8bd5c3259f4822735a26f8000000000000000000000000000000087020495505b6f810100ab00222d861931c15e39b44e998610610a1a576f0100000000000000000000000000000093909301926f810100ab00222d861931c15e39b44e996f8000000000000000000000000000000087020495505b6f808040155aabbbe9451521693554f7338610610a6e576e80000000000000000000000000000093909301926f808040155aabbbe9451521693554f7336f8000000000000000000000000000000087020495505b7fffffffffffffffffffffffffffffffff80000000000000000000000000000000860192508291506f8000000000000000000000000000000082800204905070010000000000000000000000000000000083810383020493909301926f800000000000000000000000000000008282020491507002000000000000000000000000000000006faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84900383020493909301926f800000000000000000000000000000008282020491507003000000000000000000000000000000006f9999999999999999999999999999999984900383020493909301926f800000000000000000000000000000008282020491507004000000000000000000000000000000006f9249249249249249249249249249249284900383020493909301926f800000000000000000000000000000008282020491507005000000000000000000000000000000006f8e38e38e38e38e38e38e38e38e38e38e84900383020493909301926f800000000000000000000000000000008282020491507006000000000000000000000000000000006f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b84900383020493909301926f800000000000000000000000000000008282020491507007000000000000000000000000000000006f89d89d89d89d89d89d89d89d89d89d8984900383020493909301926f800000000000000000000000000000008282020491507008000000000000000000000000000000006f888888888888888888888888888888888490038302049390930195945050505050565b60008080807001000000000000000000000000000000008510610d1157610ced6f800000000000000000000000000000008604611789565b60ff8116600281900a909604956f8000000000000000000000000000000002935091505b6f80000000000000000000000000000000851115610dc45750607f5b60008160ff161115610dc4576f800000000000000000000000000000008580020494507001000000000000000000000000000000008510610d9d576002948590049460ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830116900a92909201915b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610d2d565b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f884020493505b505050919050565b6000670168244fdac780006f800000000000000000000000000000006f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc1800002830192506f80000000000000000000000000000000828202811515610e8757fe5b04905080660c0135dca0400002830192506f80000000000000000000000000000000828202811515610eb557fe5b049050806601b707b1cdc00002830192506f80000000000000000000000000000000828202811515610ee357fe5b049050806536e0f639b80002830192506f80000000000000000000000000000000828202811515610f1057fe5b04905080650618fee9f80002830192506f80000000000000000000000000000000828202811515610f3d57fe5b04905080649c197dcc0002830192506f80000000000000000000000000000000828202811515610f6957fe5b04905080640e30dce40002830192506f80000000000000000000000000000000828202811515610f9557fe5b0490508064012ebd130002830192506f80000000000000000000000000000000828202811515610fc157fe5b049050806317499f0002830192506f80000000000000000000000000000000828202811515610fec57fe5b049050806301a9d48002830192506f8000000000000000000000000000000082820281151561101757fe5b04905080621c638002830192506f8000000000000000000000000000000082820281151561104157fe5b049050806201c63802830192506f8000000000000000000000000000000082820281151561106b57fe5b04905080611ab802830192506f8000000000000000000000000000000082820281151561109457fe5b0490508061017c02830192506f800000000000000000000000000000008282028115156110bd57fe5b04905080601402830192506f800000000000000000000000000000008282028115156110e557fe5b6721c3677c82b400009190049384010482016f80000000000000000000000000000000019290506f1000000000000000000000000000000085161561114e5770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6f20000000000000000000000000000000851615611190577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6f400000000000000000000000000000008516156111d1576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b6f80000000000000000000000000000000851615611211576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b700100000000000000000000000000000000851615611252576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b700200000000000000000000000000000000851615611292576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b7004000000000000000000000000000000008516156112d0576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f825b8160ff168360010160ff16101561132657600260ff8484011604905084600160ff83166080811061130e57fe5b01541061131d57809250611321565b8091505b6112e1565b84600160ff84166080811061133757fe5b01541061134657819350610dec565b84600160ff85166080811061135757fe5b01541061006157829350610dec565b6000806000849150600090508360ff168583029060020a90049150816f03442c4e6074a82f1797f72ac000000002810190508360ff168583029060020a90049150816f0116b96f757c380fb287fd0e4000000002810190508360ff168583029060020a90049150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff168583029060020a90049150816e0defabf91302cd95b9ffda5000000002810190508360ff168583029060020a90049150816e02529ca9832b22439efff9b800000002810190508360ff168583029060020a90049150816d54f1cf12bd04e516b6da8800000002810190508360ff168583029060020a90049150816d0a9e39e257a09ca2d6db5100000002810190508360ff168583029060020a90049150816d012e066e7b839fa050c30900000002810190508360ff168583029060020a90049150816c1e33d7d926c329a1ad1a80000002810190508360ff168583029060020a90049150816c02bee513bdb4a6b19b5f80000002810190508360ff168583029060020a90049150816b3a9316fa79b88eccf2a0000002810190508360ff168583029060020a90049150816b048177ebe1fa81237520000002810190508360ff168583029060020a90049150816a5263fe90242dcbacf0000002810190508360ff168583029060020a90049150816a057e22099c030d9410000002810190508360ff168583029060020a90049150816957e22099c030d941000002810190508360ff168583029060020a900491508169052b6b5456997631000002810190508360ff168583029060020a9004915081684985f67696bf74800002810190508360ff168583029060020a90049150816803dea12ea99e49800002810190508360ff168583029060020a90049150816731880f2214b6e00002810190508360ff168583029060020a900491508167025bcff56eb3600002810190508360ff168583029060020a9004915081661b722e10ab100002810190508360ff168583029060020a90049150816601317c7007700002810190508360ff168583029060020a9004915081650cba84aafa0002810190508360ff168583029060020a90049150816482573a0a0002810190508360ff168583029060020a90049150816405035ad90002810190508360ff168583029060020a9004915081632f881b0002810190508360ff168583029060020a90049150816301b2934002810190508360ff168583029060020a9004915081620efc4002810190508360ff168583029060020a9004915081617fe002810190508360ff168583029060020a900491508161042002810190508360ff168583029060020a9004915081602102810190508360ff168583029060020a9004915081600102810190508360ff1660019060020a02856f0688589cc0e9505e2f2fee55800000008381151561177d57fe5b04010195945050505050565b600080806101008410156117b8575b60018411156117b35760029093049260019190910190611798565b61061f565b5060805b60008160ff16111561061f5760ff811660020a84106117e55760ff811660020a90930492908117905b600260ff909116046117bc5600a165627a7a723058203ee0310e37eec9fbc69f375d537ac6573c5d0d7ff638805cf7849f4894984e5a0029", - "sourceMap": "238:29:0:-;150:30964;238:29;;150:30964;238:29;;;;;;;;;;-1:-1:-1;;238:29:0;;:::i;:::-;;1375:8348;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;;;;;;;;3486:16:0;:55;-1:-1:-1;;;;;;;3551:16:0;:55;-1:-1:-1;;;;;;;3616:16:0;:55;-1:-1:-1;;;;;;;3681:16:0;:55;-1:-1:-1;;;;;;;3746:16:0;:55;-1:-1:-1;;;;;;;3811:16:0;:55;-1:-1:-1;;;;;;;3876:16:0;:55;-1:-1:-1;;;;;;;3941:16:0;:55;-1:-1:-1;;;;;;;4006:16:0;:55;-1:-1:-1;;;;;;;4071:16:0;:55;-1:-1:-1;;;;;;;4136:16:0;:55;4220:36;4201:16;:55;4285:36;4266:16;:55;4350:36;4331:16;:55;4415:36;4396:16;:55;4480:36;4461:16;:55;4545:36;4526:16;:55;4610:36;4591:16;:55;4675:36;4656:16;:55;4740:36;4721:16;:55;4805:36;4786:16;:55;4870:36;4851:16;:55;4935:36;4916:16;:55;5000:36;4981:16;:55;5065:36;5046:16;:55;5130:36;5111:16;:55;5195:36;5176:16;:55;5260:36;5241:16;:55;5325:36;5306:16;:55;5390:36;5371:16;:55;-1:-1:-1;;;;;5436:16:0;:55;5520:36;5501:16;:55;5585:36;5566:16;:55;5650:36;5631:16;:55;5715:36;5696:16;:55;5780:36;5761:16;:55;5845:36;5826:16;:55;5910:36;5891:16;:55;5975:36;5956:16;:55;6040:36;6021:16;:55;6105:36;6086:16;:55;6170:36;6151:16;:55;6235:36;6216:16;:55;6300:36;6281:16;:55;6365:36;6346:16;:55;6430:36;6411:16;:55;6495:36;6476:16;:55;6560:36;6541:16;:55;6625:36;6606:16;:55;6690:36;6671:16;:55;6755:36;6736:16;:55;6820:36;6801:16;:55;6885:36;6866:16;:55;6950:36;6931:16;:55;7015:36;6996:16;:55;7080:36;7061:16;:55;7145:36;7126:16;:55;7210:36;7191:16;:55;7275:36;7256:16;:55;7340:36;7321:16;:55;7405:36;7386:16;:55;7470:36;7451:16;:55;7535:36;7516:16;:55;-1:-1:-1;;;;;7581:16:0;:55;7665:36;7646:16;:55;7730:36;7711:16;:55;7795:36;7776:16;:55;7860:36;7841:16;:55;7925:36;7906:16;:55;7990:36;7971:16;:55;8055:36;8036:16;:55;8120:36;8101:16;:55;8185:36;8166:16;:55;8250:36;8231:16;:55;8315:36;8296:16;:55;8380:36;8361:16;:55;8445:36;8426:16;:55;8510:36;8491:16;:55;8575:36;8556:16;:55;8640:36;8621:16;:55;8705:36;8686:16;:55;8770:36;8751:16;:55;8835:36;8816:16;:55;8900:36;8881:16;:55;8965:36;8946:16;:55;9030:36;9011:16;:55;9095:36;9076:16;:55;9160:36;9141:16;:55;9225:36;9206:16;:55;9290:36;9271:16;:55;9355:36;9336:16;:55;9420:36;9401:16;:55;9485:36;9466:16;:55;9550:36;9531:16;:55;9615:36;9596:16;:55;9680:36;9661:16;:55;150:30964;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;150:30964:0;;;-1:-1:-1;150:30964:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "150:30964:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10359:855;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10359:855:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11845:1032;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11845:1032:0;;;;;;;;;;;;;238:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;238:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13730:998;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13730:998:0;;;;;;;;;;;;;;;;;;;10359:855;10506:7;10924:14;10948:15;10973:13;11129:12;10569:1;10559:7;:11;:36;;;;;10594:1;10574:17;:21;10559:36;:60;;;;;10618:1;10599:16;:20;;;10559:60;:94;;;;-1:-1:-1;349:7:0;10623:30;;;;;10559:94;10551:103;;;;;;;;10714:19;;10710:45;;;10754:1;10747:8;;;;10710:45;10815:30;;;349:7;10815:30;10811:102;;;10896:17;10866:27;:7;10878:14;10866:27;:11;:27;:::i;:::-;:47;;;;;;;;10859:54;;;;10811:102;10989:37;:14;11008:17;10989:37;:18;:37;:::i;:::-;10973:53;;11058:61;11064:5;11071:17;11090:16;349:7;11058:5;:61::i;:::-;11036:83;;-1:-1:-1;11036:83:0;-1:-1:-1;11144:32:0;;;:19;:7;11036:83;11144:19;:11;:19;:::i;:::-;:32;;;;;11129:47;;11200:7;11193:4;:14;11186:21;;10359:855;;;;;;;;;;;:::o;11845:1032::-;11985:7;12549:14;12573:15;12598:13;12728;12783;12048:1;12038:7;:11;:36;;;;;12073:1;12053:17;:21;12038:36;:60;;;;;12097:1;12078:16;:20;;;12038:60;:94;;;;-1:-1:-1;349:7:0;12102:30;;;;;12038:94;:120;;;;;12151:7;12136:11;:22;;12038:120;12030:129;;;;;;;;12216:16;;12212:42;;;12253:1;12246:8;;;;12212:42;12338:7;12323:11;:22;12319:64;;;12366:17;12359:24;;;;12319:64;12443:30;;;349:7;12443:30;12439:99;;;12531:7;12494:34;:17;12516:11;12494:34;:21;:34;:::i;:::-;:44;;;;;;;;12487:51;;;;12439:99;12624:11;12614:7;:21;12598:37;;12667:51;12673:7;12682:5;349:7;12701:16;12667:5;:51::i;:::-;12645:73;;-1:-1:-1;12645:73:0;-1:-1:-1;12744:29:0;:17;12645:73;12744:29;:21;:29;:::i;:::-;12728:45;-1:-1:-1;;12799:30:0;;;;;;;12864:6;12847:13;;;12846:24;;;;;;;;12839:31;;11845:1032;;;;;;;;;;;;:::o;238:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13730:998::-;13923:7;14357:14;14381:15;14406:13;14575;14632;14000:1;13976:21;:25;:53;;;;;14028:1;14005:20;:24;;;13976:53;:91;;;;-1:-1:-1;349:7:0;14033:34;;;;;13976:91;:118;;;;;14093:1;14071:19;:23;13976:118;:144;;;;;14119:1;14098:18;:22;;;13976:144;:180;;;;-1:-1:-1;349:7:0;14124:32;;;;;13976:180;13968:189;;;;;;;;14238:18;14214:42;;:20;:42;;;14210:136;;;14312:34;:21;14338:7;14312:34;:25;:34;:::i;:::-;14277:32;:19;14301:7;14277:32;:23;:32;:::i;:::-;:69;;;;;;;;14270:76;;;;14210:136;14422:34;:21;14448:7;14422:34;:25;:34;:::i;:::-;14406:50;;14488:77;14494:5;14501:21;14524:20;14546:18;14488:5;:77::i;:::-;14466:99;;-1:-1:-1;14466:99:0;-1:-1:-1;14591:31:0;:19;14466:99;14591:31;:23;:31;:::i;:::-;14575:47;-1:-1:-1;;14648:32:0;;;;;;;14715:6;14698:13;;;14697:24;;;;;;;;14690:31;;13730:998;;;;;;;;;;;;;:::o;685:448:4:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:4;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1066:41:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1125:1;1118:8;;685:448;;;;;;:::o;1928:170::-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16143:771:0;16241:7;;;;;;715:35;16275:16;;16267:25;;;;;;16362:6;563:35;16343:6;:16;:25;;;;;;;;16328:40;;1139:35;16382:4;:22;16378:144;;;16430:16;16441:4;16430:10;:16::i;:::-;16420:26;;16378:144;;;16495:16;16506:4;16495:10;:16::i;:::-;16485:26;;16378:144;16576:5;16558:23;;16568:5;16558:15;;:7;:15;:23;;;;;;;;16532:49;;1223:35;16595:15;:33;16591:317;;;16652:27;16663:15;16652:10;:27::i;:::-;448:3;16644:51;;;;;;16591:317;16752:42;16778:15;16752:25;:42::i;:::-;16734:60;-1:-1:-1;16816:69:0;16827:46;448:3;16847:25;;;16827:46;;;;;16734:60;16816:10;:69::i;:::-;16887:9;16808:89;;;;16591:317;16143:771;;;;;;;;;;;:::o;24486:2770::-;24540:7;;;;;24652:34;24647:39;;24643:143;;24696:34;24689:41;;;;;24750:34;563:35;24736:11;;:48;24732:52;;24643:143;24819:34;24814:39;;24810:143;;24863:34;24856:41;;;;;24917:34;563:35;24903:11;;:48;24899:52;;24810:143;24986:34;24981:39;;24977:143;;25030:34;25023:41;;;;;25084:34;563:35;25070:11;;:48;25066:52;;24977:143;25153:34;25148:39;;25144:143;;25197:34;25190:41;;;;;25251:34;563:35;25237:11;;:48;25233:52;;25144:143;25320:34;25315:39;;25311:143;;25364:34;25357:41;;;;;25418:34;563:35;25404:11;;:48;25400:52;;25311:143;25487:34;25482:39;;25478:143;;25531:34;25524:41;;;;;25585:34;563:35;25571:11;;:48;25567:52;;25478:143;25654:34;25649:39;;25645:143;;25698:34;25691:41;;;;;25752:34;563:35;25738:11;;:48;25734:52;;25645:143;25821:34;25816:39;;25812:143;;25865:34;25858:41;;;;;25919:34;563:35;25905:11;;:48;25901:52;;25812:143;25988:11;;;;-1:-1:-1;25988:11:0;;-1:-1:-1;563:35:0;26013:5;;;:15;;-1:-1:-1;26093:35:0;26050:39;;;26045:45;;:83;26038:90;;;;;563:35;26134:5;;;:15;;-1:-1:-1;26243:35:0;26200;:39;;;26195:45;;:83;26188:90;;;;;563:35;26284:5;;;:15;;-1:-1:-1;26393:35:0;26350;:39;;;26345:45;;:83;26338:90;;;;;563:35;26434:5;;;:15;;-1:-1:-1;26543:35:0;26500;:39;;;26495:45;;:83;26488:90;;;;;563:35;26584:5;;;:15;;-1:-1:-1;26693:35:0;26650;:39;;;26645:45;;:83;26638:90;;;;;563:35;26734:5;;;:15;;-1:-1:-1;26843:35:0;26800;:39;;;26795:45;;:83;26788:90;;;;;563:35;26884:5;;;:15;;-1:-1:-1;26993:35:0;26950;:39;;;26945:45;;:83;26938:90;;;;;563:35;27034:5;;;:15;;-1:-1:-1;27143:35:0;27100;:39;;;27095:45;;:83;27088:90;;;;;24486:2770;-1:-1:-1;;;;;24486:2770:0:o;17079:801::-;17133:7;;;;639:35;17273:12;;17269:152;;17315:22;563:35;17325:1;:11;17315:9;:22::i;:::-;17351:11;;;;;;;;;;;563:35;17395:15;;-1:-1:-1;17301:36:0;-1:-1:-1;17269:152:0;563:35;17526:1;:11;17522:297;;;-1:-1:-1;448:3:0;17553:256;17587:1;17583;:5;;;17553:256;;;563:35;17618:5;;;17617:17;;-1:-1:-1;639:35:0;17673:12;;17669:126;;17709:7;;;;;;17762:14;17770:5;;;17762:14;;;17755:21;;;;;17669:126;17590:3;;17553:256;;;952:33;870;17836:19;;:37;17829:44;;17079:801;;;;;;;:::o;27933:3179::-;27987:7;28362:18;563:35;28079:38;;;28162:5;;;:15;;;28248:5;;;:15;;;28334:5;;;:15;;;28358:22;;;28190:18;28186:22;;;28276:18;28272:22;;;;28265:29;28351;;28079:38;;28420:5;;;:15;28416:19;;28444:1;28448:18;28444:22;28437:29;;;;563:35;28510:1;28506;:5;:15;;;;;;;;28502:19;;28530:1;28534:18;28530:22;28523:29;;;;563:35;28596:1;28592;:5;:15;;;;;;;;28588:19;;28616:1;28620:18;28616:22;28609:29;;;;563:35;28682:1;28678;:5;:15;;;;;;;;28674:19;;28702:1;28706:18;28702:22;28695:29;;;;563:35;28768:1;28764;:5;:15;;;;;;;;28760:19;;28788:1;28792:18;28788:22;28781:29;;;;563:35;28854:1;28850;:5;:15;;;;;;;;28846:19;;28874:1;28878:18;28874:22;28867:29;;;;563:35;28940:1;28936;:5;:15;;;;;;;;28932:19;;28960:1;28964:18;28960:22;28953:29;;;;563:35;29026:1;29022;:5;:15;;;;;;;;29018:19;;29046:1;29050:18;29046:22;29039:29;;;;563:35;29112:1;29108;:5;:15;;;;;;;;29104:19;;29132:1;29136:18;29132:22;29125:29;;;;563:35;29198:1;29194;:5;:15;;;;;;;;29190:19;;29218:1;29222:18;29218:22;29211:29;;;;563:35;29284:1;29280;:5;:15;;;;;;;;29276:19;;29304:1;29308:18;29304:22;29297:29;;;;563:35;29370:1;29366;:5;:15;;;;;;;;29362:19;;29390:1;29394:18;29390:22;29383:29;;;;563:35;29456:1;29452;:5;:15;;;;;;;;29448:19;;29476:1;29480:18;29476:22;29469:29;;;;563:35;29542:1;29538;:5;:15;;;;;;;;29534:19;;29562:1;29566:18;29562:22;29555:29;;;;563:35;29628:1;29624;:5;:15;;;;;;;;29620:19;;29648:1;29652:18;29648:22;29641:29;;;;563:35;29714:1;29710;:5;:15;;;;;;;29804:18;29710:15;;;29727:29;;;29798:24;:28;;563:35;29798:38;;29710:15;-1:-1:-1;29906:35:0;29902:39;;29901:46;29897:137;;29999:35;29961;29955:41;;:79;29949:85;;29897:137;30077:35;30073:39;;30072:46;30068:137;;30170:35;30132;30126:41;;:79;30120:85;;30068:137;30248:35;30244:39;;30243:46;30239:137;;30341:35;30303;30297:41;;:79;30291:85;;30239:137;30419:35;30415:39;;30414:46;30410:137;;30512:35;30474;30468:41;;:79;30462:85;;30410:137;30590:35;30586:39;;30585:46;30581:137;;30683:35;30645;30639:41;;:79;30633:85;;30581:137;30761:35;30757:39;;30756:46;30752:137;;30854:35;30816;30810:41;;:79;30804:85;;30752:137;30932:35;30928:39;;30927:46;30923:137;;31025:35;30987;30981:41;;:79;30975:85;;30923:137;-1:-1:-1;31102:3:0;;27933:3179;-1:-1:-1;;;27933:3179:0:o;18879:501::-;18949:5;401:2;448:3;18949:5;19035:179;19051:2;19042:11;;:2;19047:1;19042:6;:11;;;19035:179;;;19093:1;19081:13;19082:7;;;19081:13;;;-1:-1:-1;19132:2:0;19112:11;:16;;;;;;;;;;;;:22;19108:95;;19157:3;19152:8;;19108:95;;;19200:3;19195:8;;19108:95;19035:179;;;19247:2;19228:11;:15;;;;;;;;;;;;:21;19224:48;;19270:2;19263:9;;;;19224:48;19305:2;19286:11;:15;;;;;;;;;;;;:21;19282:48;;19328:2;19321:9;;;;19938:3826;20011:7;20030:10;20055:11;20043:2;20030:15;;20069:1;20055:15;;20099:10;20086:23;;20092:2;20087;:7;20086:23;;;;;20081:28;;20118:2;20123:33;20118:38;20111:45;;;;20210:10;20197:23;;20203:2;20198;:7;20197:23;;;;;20192:28;;20229:2;20234:33;20229:38;20222:45;;;;20321:10;20308:23;;20314:2;20309;:7;20308:23;;;;;20303:28;;20340:2;20345:33;20340:38;20333:45;;;;20432:10;20419:23;;20425:2;20420;:7;20419:23;;;;;20414:28;;20451:2;20456:33;20451:38;20444:45;;;;20543:10;20530:23;;20536:2;20531;:7;20530:23;;;;;20525:28;;20562:2;20567:33;20562:38;20555:45;;;;20654:10;20641:23;;20647:2;20642;:7;20641:23;;;;;20636:28;;20673:2;20678:33;20673:38;20666:45;;;;20765:10;20752:23;;20758:2;20753;:7;20752:23;;;;;20747:28;;20784:2;20789:33;20784:38;20777:45;;;;20876:10;20863:23;;20869:2;20864;:7;20863:23;;;;;20858:28;;20895:2;20900:33;20895:38;20888:45;;;;20987:10;20974:23;;20980:2;20975;:7;20974:23;;;;;20969:28;;21006:2;21011:33;21006:38;20999:45;;;;21098:10;21085:23;;21091:2;21086;:7;21085:23;;;;;21080:28;;21117:2;21122:33;21117:38;21110:45;;;;21209:10;21196:23;;21202:2;21197;:7;21196:23;;;;;21191:28;;21228:2;21233:33;21228:38;21221:45;;;;21320:10;21307:23;;21313:2;21308;:7;21307:23;;;;;21302:28;;21339:2;21344:33;21339:38;21332:45;;;;21431:10;21418:23;;21424:2;21419;:7;21418:23;;;;;21413:28;;21450:2;21455:33;21450:38;21443:45;;;;21542:10;21529:23;;21535:2;21530;:7;21529:23;;;;;21524:28;;21561:2;21566:33;21561:38;21554:45;;;;21653:10;21640:23;;21646:2;21641;:7;21640:23;;;;;21635:28;;21672:2;21677:33;21672:38;21665:45;;;;21764:10;21751:23;;21757:2;21752;:7;21751:23;;;;;21746:28;;21783:2;21788:33;21783:38;21776:45;;;;21875:10;21862:23;;21868:2;21863;:7;21862:23;;;;;21857:28;;21894:2;21899:33;21894:38;21887:45;;;;21986:10;21973:23;;21979:2;21974;:7;21973:23;;;;;21968:28;;22005:2;22010:33;22005:38;21998:45;;;;22097:10;22084:23;;22090:2;22085;:7;22084:23;;;;;22079:28;;22116:2;22121:33;22116:38;22109:45;;;;22208:10;22195:23;;22201:2;22196;:7;22195:23;;;;;22190:28;;22227:2;22232:33;22227:38;22220:45;;;;22319:10;22306:23;;22312:2;22307;:7;22306:23;;;;;22301:28;;22338:2;22343:33;22338:38;22331:45;;;;22430:10;22417:23;;22423:2;22418;:7;22417:23;;;;;22412:28;;22449:2;22454:33;22449:38;22442:45;;;;22541:10;22528:23;;22534:2;22529;:7;22528:23;;;;;22523:28;;22560:2;22565:33;22560:38;22553:45;;;;22652:10;22639:23;;22645:2;22640;:7;22639:23;;;;;22634:28;;22671:2;22676:33;22671:38;22664:45;;;;22763:10;22750:23;;22756:2;22751;:7;22750:23;;;;;22745:28;;22782:2;22787:33;22782:38;22775:45;;;;22874:10;22861:23;;22867:2;22862;:7;22861:23;;;;;22856:28;;22893:2;22898:33;22893:38;22886:45;;;;22985:10;22972:23;;22978:2;22973;:7;22972:23;;;;;22967:28;;23004:2;23009:33;23004:38;22997:45;;;;23096:10;23083:23;;23089:2;23084;:7;23083:23;;;;;23078:28;;23115:2;23120:33;23115:38;23108:45;;;;23207:10;23194:23;;23200:2;23195;:7;23194:23;;;;;23189:28;;23226:2;23231:33;23226:38;23219:45;;;;23318:10;23305:23;;23311:2;23306;:7;23305:23;;;;;23300:28;;23337:2;23342:33;23337:38;23330:45;;;;23429:10;23416:23;;23422:2;23417;:7;23416:23;;;;;23411:28;;23448:2;23453:33;23448:38;23441:45;;;;23540:10;23527:23;;23533:2;23528;:7;23527:23;;;;;23522:28;;23559:2;23564:33;23559:38;23552:45;;;;23696:10;23689:17;;305:1;23689:17;;;;23683:2;23647:33;23641:3;:39;;;;;;;;:44;:66;;19938:3826;-1:-1:-1;;;;;19938:3826:0:o;17997:521::-;18051:5;;;18101:3;18096:8;;18092:399;;;18156:82;18168:1;18163:2;:6;18156:82;;;18189:8;;;;;18196:1;18215:8;;;;;18156:82;;;18092:399;;;-1:-1:-1;18327:3:0;18312:169;18336:1;18332;:5;;;18312:169;;;18377:8;;;;;18370:16;;18366:101;;18410:8;;;;;;;;;18440;;;;18366:101;18339:7;;;;;;18312:169;", - "source": "pragma solidity 0.4.24;\nimport './interfaces/IBancorFormula.sol';\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport './utility/Utils.sol';\n\ncontract BancorFormula is IBancorFormula, Utils {\n using SafeMath for uint256;\n\n\n string public version = '0.3';\n\n uint256 private constant ONE = 1;\n uint32 private constant MAX_WEIGHT = 1000000;\n uint8 private constant MIN_PRECISION = 32;\n uint8 private constant MAX_PRECISION = 127;\n\n /**\n Auto-generated via 'PrintIntScalingFactors.py'\n */\n uint256 private constant FIXED_1 = 0x080000000000000000000000000000000;\n uint256 private constant FIXED_2 = 0x100000000000000000000000000000000;\n uint256 private constant MAX_NUM = 0x200000000000000000000000000000000;\n\n /**\n Auto-generated via 'PrintLn2ScalingFactors.py'\n */\n uint256 private constant LN2_NUMERATOR = 0x3f80fe03f80fe03f80fe03f80fe03f8;\n uint256 private constant LN2_DENOMINATOR = 0x5b9de1d10bf4103d647b0955897ba80;\n\n /**\n Auto-generated via 'PrintFunctionOptimalLog.py' and 'PrintFunctionOptimalExp.py'\n */\n uint256 private constant OPT_LOG_MAX_VAL = 0x15bf0a8b1457695355fb8ac404e7a79e3;\n uint256 private constant OPT_EXP_MAX_VAL = 0x800000000000000000000000000000000;\n\n /**\n Auto-generated via 'PrintFunctionConstructor.py'\n */\n uint256[128] private maxExpArray;\n constructor() public {\n // maxExpArray[ 0] = 0x6bffffffffffffffffffffffffffffffff;\n // maxExpArray[ 1] = 0x67ffffffffffffffffffffffffffffffff;\n // maxExpArray[ 2] = 0x637fffffffffffffffffffffffffffffff;\n // maxExpArray[ 3] = 0x5f6fffffffffffffffffffffffffffffff;\n // maxExpArray[ 4] = 0x5b77ffffffffffffffffffffffffffffff;\n // maxExpArray[ 5] = 0x57b3ffffffffffffffffffffffffffffff;\n // maxExpArray[ 6] = 0x5419ffffffffffffffffffffffffffffff;\n // maxExpArray[ 7] = 0x50a2ffffffffffffffffffffffffffffff;\n // maxExpArray[ 8] = 0x4d517fffffffffffffffffffffffffffff;\n // maxExpArray[ 9] = 0x4a233fffffffffffffffffffffffffffff;\n // maxExpArray[ 10] = 0x47165fffffffffffffffffffffffffffff;\n // maxExpArray[ 11] = 0x4429afffffffffffffffffffffffffffff;\n // maxExpArray[ 12] = 0x415bc7ffffffffffffffffffffffffffff;\n // maxExpArray[ 13] = 0x3eab73ffffffffffffffffffffffffffff;\n // maxExpArray[ 14] = 0x3c1771ffffffffffffffffffffffffffff;\n // maxExpArray[ 15] = 0x399e96ffffffffffffffffffffffffffff;\n // maxExpArray[ 16] = 0x373fc47fffffffffffffffffffffffffff;\n // maxExpArray[ 17] = 0x34f9e8ffffffffffffffffffffffffffff;\n // maxExpArray[ 18] = 0x32cbfd5fffffffffffffffffffffffffff;\n // maxExpArray[ 19] = 0x30b5057fffffffffffffffffffffffffff;\n // maxExpArray[ 20] = 0x2eb40f9fffffffffffffffffffffffffff;\n // maxExpArray[ 21] = 0x2cc8340fffffffffffffffffffffffffff;\n // maxExpArray[ 22] = 0x2af09481ffffffffffffffffffffffffff;\n // maxExpArray[ 23] = 0x292c5bddffffffffffffffffffffffffff;\n // maxExpArray[ 24] = 0x277abdcdffffffffffffffffffffffffff;\n // maxExpArray[ 25] = 0x25daf6657fffffffffffffffffffffffff;\n // maxExpArray[ 26] = 0x244c49c65fffffffffffffffffffffffff;\n // maxExpArray[ 27] = 0x22ce03cd5fffffffffffffffffffffffff;\n // maxExpArray[ 28] = 0x215f77c047ffffffffffffffffffffffff;\n // maxExpArray[ 29] = 0x1fffffffffffffffffffffffffffffffff;\n // maxExpArray[ 30] = 0x1eaefdbdabffffffffffffffffffffffff;\n // maxExpArray[ 31] = 0x1d6bd8b2ebffffffffffffffffffffffff;\n maxExpArray[ 32] = 0x1c35fedd14ffffffffffffffffffffffff;\n maxExpArray[ 33] = 0x1b0ce43b323fffffffffffffffffffffff;\n maxExpArray[ 34] = 0x19f0028ec1ffffffffffffffffffffffff;\n maxExpArray[ 35] = 0x18ded91f0e7fffffffffffffffffffffff;\n maxExpArray[ 36] = 0x17d8ec7f0417ffffffffffffffffffffff;\n maxExpArray[ 37] = 0x16ddc6556cdbffffffffffffffffffffff;\n maxExpArray[ 38] = 0x15ecf52776a1ffffffffffffffffffffff;\n maxExpArray[ 39] = 0x15060c256cb2ffffffffffffffffffffff;\n maxExpArray[ 40] = 0x1428a2f98d72ffffffffffffffffffffff;\n maxExpArray[ 41] = 0x13545598e5c23fffffffffffffffffffff;\n maxExpArray[ 42] = 0x1288c4161ce1dfffffffffffffffffffff;\n maxExpArray[ 43] = 0x11c592761c666fffffffffffffffffffff;\n maxExpArray[ 44] = 0x110a688680a757ffffffffffffffffffff;\n maxExpArray[ 45] = 0x1056f1b5bedf77ffffffffffffffffffff;\n maxExpArray[ 46] = 0x0faadceceeff8bffffffffffffffffffff;\n maxExpArray[ 47] = 0x0f05dc6b27edadffffffffffffffffffff;\n maxExpArray[ 48] = 0x0e67a5a25da4107fffffffffffffffffff;\n maxExpArray[ 49] = 0x0dcff115b14eedffffffffffffffffffff;\n maxExpArray[ 50] = 0x0d3e7a392431239fffffffffffffffffff;\n maxExpArray[ 51] = 0x0cb2ff529eb71e4fffffffffffffffffff;\n maxExpArray[ 52] = 0x0c2d415c3db974afffffffffffffffffff;\n maxExpArray[ 53] = 0x0bad03e7d883f69bffffffffffffffffff;\n maxExpArray[ 54] = 0x0b320d03b2c343d5ffffffffffffffffff;\n maxExpArray[ 55] = 0x0abc25204e02828dffffffffffffffffff;\n maxExpArray[ 56] = 0x0a4b16f74ee4bb207fffffffffffffffff;\n maxExpArray[ 57] = 0x09deaf736ac1f569ffffffffffffffffff;\n maxExpArray[ 58] = 0x0976bd9952c7aa957fffffffffffffffff;\n maxExpArray[ 59] = 0x09131271922eaa606fffffffffffffffff;\n maxExpArray[ 60] = 0x08b380f3558668c46fffffffffffffffff;\n maxExpArray[ 61] = 0x0857ddf0117efa215bffffffffffffffff;\n maxExpArray[ 62] = 0x07ffffffffffffffffffffffffffffffff;\n maxExpArray[ 63] = 0x07abbf6f6abb9d087fffffffffffffffff;\n maxExpArray[ 64] = 0x075af62cbac95f7dfa7fffffffffffffff;\n maxExpArray[ 65] = 0x070d7fb7452e187ac13fffffffffffffff;\n maxExpArray[ 66] = 0x06c3390ecc8af379295fffffffffffffff;\n maxExpArray[ 67] = 0x067c00a3b07ffc01fd6fffffffffffffff;\n maxExpArray[ 68] = 0x0637b647c39cbb9d3d27ffffffffffffff;\n maxExpArray[ 69] = 0x05f63b1fc104dbd39587ffffffffffffff;\n maxExpArray[ 70] = 0x05b771955b36e12f7235ffffffffffffff;\n maxExpArray[ 71] = 0x057b3d49dda84556d6f6ffffffffffffff;\n maxExpArray[ 72] = 0x054183095b2c8ececf30ffffffffffffff;\n maxExpArray[ 73] = 0x050a28be635ca2b888f77fffffffffffff;\n maxExpArray[ 74] = 0x04d5156639708c9db33c3fffffffffffff;\n maxExpArray[ 75] = 0x04a23105873875bd52dfdfffffffffffff;\n maxExpArray[ 76] = 0x0471649d87199aa990756fffffffffffff;\n maxExpArray[ 77] = 0x04429a21a029d4c1457cfbffffffffffff;\n maxExpArray[ 78] = 0x0415bc6d6fb7dd71af2cb3ffffffffffff;\n maxExpArray[ 79] = 0x03eab73b3bbfe282243ce1ffffffffffff;\n maxExpArray[ 80] = 0x03c1771ac9fb6b4c18e229ffffffffffff;\n maxExpArray[ 81] = 0x0399e96897690418f785257fffffffffff;\n maxExpArray[ 82] = 0x0373fc456c53bb779bf0ea9fffffffffff;\n maxExpArray[ 83] = 0x034f9e8e490c48e67e6ab8bfffffffffff;\n maxExpArray[ 84] = 0x032cbfd4a7adc790560b3337ffffffffff;\n maxExpArray[ 85] = 0x030b50570f6e5d2acca94613ffffffffff;\n maxExpArray[ 86] = 0x02eb40f9f620fda6b56c2861ffffffffff;\n maxExpArray[ 87] = 0x02cc8340ecb0d0f520a6af58ffffffffff;\n maxExpArray[ 88] = 0x02af09481380a0a35cf1ba02ffffffffff;\n maxExpArray[ 89] = 0x0292c5bdd3b92ec810287b1b3fffffffff;\n maxExpArray[ 90] = 0x0277abdcdab07d5a77ac6d6b9fffffffff;\n maxExpArray[ 91] = 0x025daf6654b1eaa55fd64df5efffffffff;\n maxExpArray[ 92] = 0x0244c49c648baa98192dce88b7ffffffff;\n maxExpArray[ 93] = 0x022ce03cd5619a311b2471268bffffffff;\n maxExpArray[ 94] = 0x0215f77c045fbe885654a44a0fffffffff;\n maxExpArray[ 95] = 0x01ffffffffffffffffffffffffffffffff;\n maxExpArray[ 96] = 0x01eaefdbdaaee7421fc4d3ede5ffffffff;\n maxExpArray[ 97] = 0x01d6bd8b2eb257df7e8ca57b09bfffffff;\n maxExpArray[ 98] = 0x01c35fedd14b861eb0443f7f133fffffff;\n maxExpArray[ 99] = 0x01b0ce43b322bcde4a56e8ada5afffffff;\n maxExpArray[100] = 0x019f0028ec1fff007f5a195a39dfffffff;\n maxExpArray[101] = 0x018ded91f0e72ee74f49b15ba527ffffff;\n maxExpArray[102] = 0x017d8ec7f04136f4e5615fd41a63ffffff;\n maxExpArray[103] = 0x016ddc6556cdb84bdc8d12d22e6fffffff;\n maxExpArray[104] = 0x015ecf52776a1155b5bd8395814f7fffff;\n maxExpArray[105] = 0x015060c256cb23b3b3cc3754cf40ffffff;\n maxExpArray[106] = 0x01428a2f98d728ae223ddab715be3fffff;\n maxExpArray[107] = 0x013545598e5c23276ccf0ede68034fffff;\n maxExpArray[108] = 0x01288c4161ce1d6f54b7f61081194fffff;\n maxExpArray[109] = 0x011c592761c666aa641d5a01a40f17ffff;\n maxExpArray[110] = 0x0110a688680a7530515f3e6e6cfdcdffff;\n maxExpArray[111] = 0x01056f1b5bedf75c6bcb2ce8aed428ffff;\n maxExpArray[112] = 0x00faadceceeff8a0890f3875f008277fff;\n maxExpArray[113] = 0x00f05dc6b27edad306388a600f6ba0bfff;\n maxExpArray[114] = 0x00e67a5a25da41063de1495d5b18cdbfff;\n maxExpArray[115] = 0x00dcff115b14eedde6fc3aa5353f2e4fff;\n maxExpArray[116] = 0x00d3e7a3924312399f9aae2e0f868f8fff;\n maxExpArray[117] = 0x00cb2ff529eb71e41582cccd5a1ee26fff;\n maxExpArray[118] = 0x00c2d415c3db974ab32a51840c0b67edff;\n maxExpArray[119] = 0x00bad03e7d883f69ad5b0a186184e06bff;\n maxExpArray[120] = 0x00b320d03b2c343d4829abd6075f0cc5ff;\n maxExpArray[121] = 0x00abc25204e02828d73c6e80bcdb1a95bf;\n maxExpArray[122] = 0x00a4b16f74ee4bb2040a1ec6c15fbbf2df;\n maxExpArray[123] = 0x009deaf736ac1f569deb1b5ae3f36c130f;\n maxExpArray[124] = 0x00976bd9952c7aa957f5937d790ef65037;\n maxExpArray[125] = 0x009131271922eaa6064b73a22d0bd4f2bf;\n maxExpArray[126] = 0x008b380f3558668c46c91c49a2f8e967b9;\n maxExpArray[127] = 0x00857ddf0117efa215952912839f6473e6;\n }\n\n /**\n @dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\n calculates the return for a given conversion (in the main token)\n\n Formula:\n Return = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n\n @param _supply token total supply\n @param _connectorBalance total connector balance\n @param _connectorWeight connector weight, represented in ppm, 1-1000000\n @param _depositAmount deposit amount, in connector token\n\n @return purchase return amount\n */\n function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256) {\n // validate input\n require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT);\n\n // special case for 0 deposit amount\n if (_depositAmount == 0)\n return 0;\n\n // special case if the weight = 100%\n if (_connectorWeight == MAX_WEIGHT)\n return _supply.mul(_depositAmount) / _connectorBalance;\n\n uint256 result;\n uint8 precision;\n uint256 baseN = _depositAmount.add(_connectorBalance);\n (result, precision) = power(baseN, _connectorBalance, _connectorWeight, MAX_WEIGHT);\n uint256 temp = _supply.mul(result) >> precision;\n return temp - _supply;\n }\n\n /**\n @dev given a token supply, connector balance, weight and a sell amount (in the main token),\n calculates the return for a given conversion (in the connector token)\n\n Formula:\n Return = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n\n @param _supply token total supply\n @param _connectorBalance total connector\n @param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n @param _sellAmount sell amount, in the token itself\n\n @return sale return amount\n */\n function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256) {\n // validate input\n require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT && _sellAmount <= _supply);\n\n // special case for 0 sell amount\n if (_sellAmount == 0)\n return 0;\n\n // special case for selling the entire supply\n if (_sellAmount == _supply)\n return _connectorBalance;\n\n // special case if the weight = 100%\n if (_connectorWeight == MAX_WEIGHT)\n return _connectorBalance.mul(_sellAmount) / _supply;\n\n uint256 result;\n uint8 precision;\n uint256 baseD = _supply - _sellAmount;\n (result, precision) = power(_supply, baseD, MAX_WEIGHT, _connectorWeight);\n uint256 temp1 = _connectorBalance.mul(result);\n uint256 temp2 = _connectorBalance << precision;\n return (temp1 - temp2) / result;\n }\n\n /**\n @dev given two connector balances/weights and a sell amount (in the first connector token),\n calculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\n\n Formula:\n Return = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n\n @param _fromConnectorBalance input connector balance\n @param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n @param _toConnectorBalance output connector balance\n @param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n @param _amount input connector amount\n\n @return second connector amount\n */\n function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256) {\n // validate input\n require(_fromConnectorBalance > 0 && _fromConnectorWeight > 0 && _fromConnectorWeight <= MAX_WEIGHT && _toConnectorBalance > 0 && _toConnectorWeight > 0 && _toConnectorWeight <= MAX_WEIGHT);\n\n // special case for equal weights\n if (_fromConnectorWeight == _toConnectorWeight)\n return _toConnectorBalance.mul(_amount) / _fromConnectorBalance.add(_amount);\n\n uint256 result;\n uint8 precision;\n uint256 baseN = _fromConnectorBalance.add(_amount);\n (result, precision) = power(baseN, _fromConnectorBalance, _fromConnectorWeight, _toConnectorWeight);\n uint256 temp1 = _toConnectorBalance.mul(result);\n uint256 temp2 = _toConnectorBalance << precision;\n return (temp1 - temp2) / result;\n }\n\n /**\n General Description:\n Determine a value of precision.\n Calculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\n Return the result along with the precision used.\n\n Detailed Description:\n Instead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\n The value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\n The larger \"precision\" is, the more accurately this value represents the real value.\n However, the larger \"precision\" is, the more bits are required in order to store this value.\n And the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\n This maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\n Hence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\n This allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\n This functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".\n */\n function power(uint256 _baseN, uint256 _baseD, uint32 _expN, uint32 _expD) internal view returns (uint256, uint8) {\n require(_baseN < MAX_NUM);\n\n uint256 baseLog;\n uint256 base = _baseN * FIXED_1 / _baseD;\n if (base < OPT_LOG_MAX_VAL) {\n baseLog = optimalLog(base);\n }\n else {\n baseLog = generalLog(base);\n }\n\n uint256 baseLogTimesExp = baseLog * _expN / _expD;\n if (baseLogTimesExp < OPT_EXP_MAX_VAL) {\n return (optimalExp(baseLogTimesExp), MAX_PRECISION);\n }\n else {\n uint8 precision = findPositionInMaxExpArray(baseLogTimesExp);\n return (generalExp(baseLogTimesExp >> (MAX_PRECISION - precision), precision), precision);\n }\n }\n\n /**\n Compute log(x / FIXED_1) * FIXED_1.\n This functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.\n */\n function generalLog(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n // If x >= 2, then we compute the integer part of log2(x), which is larger than 0.\n if (x >= FIXED_2) {\n uint8 count = floorLog2(x / FIXED_1);\n x >>= count; // now x < 2\n res = count * FIXED_1;\n }\n\n // If x > 1, then we compute the fraction part of log2(x), which is larger than 0.\n if (x > FIXED_1) {\n for (uint8 i = MAX_PRECISION; i > 0; --i) {\n x = (x * x) / FIXED_1; // now 1 < x < 4\n if (x >= FIXED_2) {\n x >>= 1; // now 1 < x < 2\n res += ONE << (i - 1);\n }\n }\n }\n\n return res * LN2_NUMERATOR / LN2_DENOMINATOR;\n }\n\n /**\n Compute the largest integer smaller than or equal to the binary logarithm of the input.\n */\n function floorLog2(uint256 _n) internal pure returns (uint8) {\n uint8 res = 0;\n\n if (_n < 256) {\n // At most 8 iterations\n while (_n > 1) {\n _n >>= 1;\n res += 1;\n }\n }\n else {\n // Exactly 8 iterations\n for (uint8 s = 128; s > 0; s >>= 1) {\n if (_n >= (ONE << s)) {\n _n >>= s;\n res |= s;\n }\n }\n }\n\n return res;\n }\n\n /**\n The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n - This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n - This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]\n */\n function findPositionInMaxExpArray(uint256 _x) internal view returns (uint8) {\n uint8 lo = MIN_PRECISION;\n uint8 hi = MAX_PRECISION;\n\n while (lo + 1 < hi) {\n uint8 mid = (lo + hi) / 2;\n if (maxExpArray[mid] >= _x)\n lo = mid;\n else\n hi = mid;\n }\n\n if (maxExpArray[hi] >= _x)\n return hi;\n if (maxExpArray[lo] >= _x)\n return lo;\n\n require(false);\n return 0;\n }\n\n /**\n This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\n It approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\n It returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\n The global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\n The maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\n */\n function generalExp(uint256 _x, uint8 _precision) internal pure returns (uint256) {\n uint256 xi = _x;\n uint256 res = 0;\n\n xi = (xi * _x) >> _precision; res += xi * 0x3442c4e6074a82f1797f72ac0000000; // add x^02 * (33! / 02!)\n xi = (xi * _x) >> _precision; res += xi * 0x116b96f757c380fb287fd0e40000000; // add x^03 * (33! / 03!)\n xi = (xi * _x) >> _precision; res += xi * 0x045ae5bdd5f0e03eca1ff4390000000; // add x^04 * (33! / 04!)\n xi = (xi * _x) >> _precision; res += xi * 0x00defabf91302cd95b9ffda50000000; // add x^05 * (33! / 05!)\n xi = (xi * _x) >> _precision; res += xi * 0x002529ca9832b22439efff9b8000000; // add x^06 * (33! / 06!)\n xi = (xi * _x) >> _precision; res += xi * 0x00054f1cf12bd04e516b6da88000000; // add x^07 * (33! / 07!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000a9e39e257a09ca2d6db51000000; // add x^08 * (33! / 08!)\n xi = (xi * _x) >> _precision; res += xi * 0x000012e066e7b839fa050c309000000; // add x^09 * (33! / 09!)\n xi = (xi * _x) >> _precision; res += xi * 0x000001e33d7d926c329a1ad1a800000; // add x^10 * (33! / 10!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000002bee513bdb4a6b19b5f800000; // add x^11 * (33! / 11!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000003a9316fa79b88eccf2a00000; // add x^12 * (33! / 12!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000048177ebe1fa812375200000; // add x^13 * (33! / 13!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000005263fe90242dcbacf00000; // add x^14 * (33! / 14!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000057e22099c030d94100000; // add x^15 * (33! / 15!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000057e22099c030d9410000; // add x^16 * (33! / 16!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000052b6b54569976310000; // add x^17 * (33! / 17!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000004985f67696bf748000; // add x^18 * (33! / 18!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000003dea12ea99e498000; // add x^19 * (33! / 19!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000031880f2214b6e000; // add x^20 * (33! / 20!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000025bcff56eb36000; // add x^21 * (33! / 21!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000001b722e10ab1000; // add x^22 * (33! / 22!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000001317c70077000; // add x^23 * (33! / 23!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000cba84aafa00; // add x^24 * (33! / 24!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000082573a0a00; // add x^25 * (33! / 25!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000005035ad900; // add x^26 * (33! / 26!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000000000002f881b00; // add x^27 * (33! / 27!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000001b29340; // add x^28 * (33! / 28!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000000000efc40; // add x^29 * (33! / 29!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000007fe0; // add x^30 * (33! / 30!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000420; // add x^31 * (33! / 31!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000021; // add x^32 * (33! / 32!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000001; // add x^33 * (33! / 33!)\n\n return res / 0x688589cc0e9505e2f2fee5580000000 + _x + (ONE << _precision); // divide by 33! and then add x^1 / 1! + x^0 / 0!\n }\n\n /**\n Return log(x / FIXED_1) * FIXED_1\n Input range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\n Auto-generated via 'PrintFunctionOptimalLog.py'\n Detailed description:\n - Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n - The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n - The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n - The natural logarithm of the input is calculated by summing up the intermediate results above\n - For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)\n */\n function optimalLog(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n uint256 y;\n uint256 z;\n uint256 w;\n\n if (x >= 0xd3094c70f034de4b96ff7d5b6f99fcd8) {res += 0x40000000000000000000000000000000; x = x * FIXED_1 / 0xd3094c70f034de4b96ff7d5b6f99fcd8;} // add 1 / 2^1\n if (x >= 0xa45af1e1f40c333b3de1db4dd55f29a7) {res += 0x20000000000000000000000000000000; x = x * FIXED_1 / 0xa45af1e1f40c333b3de1db4dd55f29a7;} // add 1 / 2^2\n if (x >= 0x910b022db7ae67ce76b441c27035c6a1) {res += 0x10000000000000000000000000000000; x = x * FIXED_1 / 0x910b022db7ae67ce76b441c27035c6a1;} // add 1 / 2^3\n if (x >= 0x88415abbe9a76bead8d00cf112e4d4a8) {res += 0x08000000000000000000000000000000; x = x * FIXED_1 / 0x88415abbe9a76bead8d00cf112e4d4a8;} // add 1 / 2^4\n if (x >= 0x84102b00893f64c705e841d5d4064bd3) {res += 0x04000000000000000000000000000000; x = x * FIXED_1 / 0x84102b00893f64c705e841d5d4064bd3;} // add 1 / 2^5\n if (x >= 0x8204055aaef1c8bd5c3259f4822735a2) {res += 0x02000000000000000000000000000000; x = x * FIXED_1 / 0x8204055aaef1c8bd5c3259f4822735a2;} // add 1 / 2^6\n if (x >= 0x810100ab00222d861931c15e39b44e99) {res += 0x01000000000000000000000000000000; x = x * FIXED_1 / 0x810100ab00222d861931c15e39b44e99;} // add 1 / 2^7\n if (x >= 0x808040155aabbbe9451521693554f733) {res += 0x00800000000000000000000000000000; x = x * FIXED_1 / 0x808040155aabbbe9451521693554f733;} // add 1 / 2^8\n\n z = y = x - FIXED_1;\n w = y * y / FIXED_1;\n res += z * (0x100000000000000000000000000000000 - y) / 0x100000000000000000000000000000000; z = z * w / FIXED_1; // add y^01 / 01 - y^02 / 02\n res += z * (0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - y) / 0x200000000000000000000000000000000; z = z * w / FIXED_1; // add y^03 / 03 - y^04 / 04\n res += z * (0x099999999999999999999999999999999 - y) / 0x300000000000000000000000000000000; z = z * w / FIXED_1; // add y^05 / 05 - y^06 / 06\n res += z * (0x092492492492492492492492492492492 - y) / 0x400000000000000000000000000000000; z = z * w / FIXED_1; // add y^07 / 07 - y^08 / 08\n res += z * (0x08e38e38e38e38e38e38e38e38e38e38e - y) / 0x500000000000000000000000000000000; z = z * w / FIXED_1; // add y^09 / 09 - y^10 / 10\n res += z * (0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b - y) / 0x600000000000000000000000000000000; z = z * w / FIXED_1; // add y^11 / 11 - y^12 / 12\n res += z * (0x089d89d89d89d89d89d89d89d89d89d89 - y) / 0x700000000000000000000000000000000; z = z * w / FIXED_1; // add y^13 / 13 - y^14 / 14\n res += z * (0x088888888888888888888888888888888 - y) / 0x800000000000000000000000000000000; // add y^15 / 15 - y^16 / 16\n\n return res;\n }\n\n /**\n Return e ^ (x / FIXED_1) * FIXED_1\n Input range: 0 <= x <= OPT_EXP_MAX_VAL - 1\n Auto-generated via 'PrintFunctionOptimalExp.py'\n Detailed description:\n - Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n - The exponentiation of each binary exponent is given (pre-calculated)\n - The exponentiation of r is calculated via Taylor series for e^x, where x = r\n - The exponentiation of the input is calculated by multiplying the intermediate results above\n - For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859\n */\n function optimalExp(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n uint256 y;\n uint256 z;\n\n z = y = x % 0x10000000000000000000000000000000; // get the input modulo 2^(-3)\n z = z * y / FIXED_1; res += z * 0x10e1b3be415a0000; // add y^02 * (20! / 02!)\n z = z * y / FIXED_1; res += z * 0x05a0913f6b1e0000; // add y^03 * (20! / 03!)\n z = z * y / FIXED_1; res += z * 0x0168244fdac78000; // add y^04 * (20! / 04!)\n z = z * y / FIXED_1; res += z * 0x004807432bc18000; // add y^05 * (20! / 05!)\n z = z * y / FIXED_1; res += z * 0x000c0135dca04000; // add y^06 * (20! / 06!)\n z = z * y / FIXED_1; res += z * 0x0001b707b1cdc000; // add y^07 * (20! / 07!)\n z = z * y / FIXED_1; res += z * 0x000036e0f639b800; // add y^08 * (20! / 08!)\n z = z * y / FIXED_1; res += z * 0x00000618fee9f800; // add y^09 * (20! / 09!)\n z = z * y / FIXED_1; res += z * 0x0000009c197dcc00; // add y^10 * (20! / 10!)\n z = z * y / FIXED_1; res += z * 0x0000000e30dce400; // add y^11 * (20! / 11!)\n z = z * y / FIXED_1; res += z * 0x000000012ebd1300; // add y^12 * (20! / 12!)\n z = z * y / FIXED_1; res += z * 0x0000000017499f00; // add y^13 * (20! / 13!)\n z = z * y / FIXED_1; res += z * 0x0000000001a9d480; // add y^14 * (20! / 14!)\n z = z * y / FIXED_1; res += z * 0x00000000001c6380; // add y^15 * (20! / 15!)\n z = z * y / FIXED_1; res += z * 0x000000000001c638; // add y^16 * (20! / 16!)\n z = z * y / FIXED_1; res += z * 0x0000000000001ab8; // add y^17 * (20! / 17!)\n z = z * y / FIXED_1; res += z * 0x000000000000017c; // add y^18 * (20! / 18!)\n z = z * y / FIXED_1; res += z * 0x0000000000000014; // add y^19 * (20! / 19!)\n z = z * y / FIXED_1; res += z * 0x0000000000000001; // add y^20 * (20! / 20!)\n res = res / 0x21c3677c82b40000 + y + FIXED_1; // divide by 20! and then add y^1 / 1! + y^0 / 0!\n\n if ((x & 0x010000000000000000000000000000000) != 0) res = res * 0x1c3d6a24ed82218787d624d3e5eba95f9 / 0x18ebef9eac820ae8682b9793ac6d1e776; // multiply by e^2^(-3)\n if ((x & 0x020000000000000000000000000000000) != 0) res = res * 0x18ebef9eac820ae8682b9793ac6d1e778 / 0x1368b2fc6f9609fe7aceb46aa619baed4; // multiply by e^2^(-2)\n if ((x & 0x040000000000000000000000000000000) != 0) res = res * 0x1368b2fc6f9609fe7aceb46aa619baed5 / 0x0bc5ab1b16779be3575bd8f0520a9f21f; // multiply by e^2^(-1)\n if ((x & 0x080000000000000000000000000000000) != 0) res = res * 0x0bc5ab1b16779be3575bd8f0520a9f21e / 0x0454aaa8efe072e7f6ddbab84b40a55c9; // multiply by e^2^(+0)\n if ((x & 0x100000000000000000000000000000000) != 0) res = res * 0x0454aaa8efe072e7f6ddbab84b40a55c5 / 0x00960aadc109e7a3bf4578099615711ea; // multiply by e^2^(+1)\n if ((x & 0x200000000000000000000000000000000) != 0) res = res * 0x00960aadc109e7a3bf4578099615711d7 / 0x0002bf84208204f5977f9a8cf01fdce3d; // multiply by e^2^(+2)\n if ((x & 0x400000000000000000000000000000000) != 0) res = res * 0x0002bf84208204f5977f9a8cf01fdc307 / 0x0000003c6ab775dd0b95b4cbee7e65d11; // multiply by e^2^(+3)\n\n return res;\n }\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/BancorFormula.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/BancorFormula.sol", - "exportedSymbols": { - "BancorFormula": [ - 2461 - ] - }, - "id": 2462, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol", - "file": "./interfaces/IBancorFormula.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2506, - "src": "24:41:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2801, - "src": "66:52:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/Utils.sol", - "file": "./utility/Utils.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2656, - "src": "119:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2505, - "src": "176:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$2505", - "typeString": "contract IBancorFormula" - } - }, - "id": 6, - "nodeType": "InheritanceSpecifier", - "src": "176:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7, - "name": "Utils", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2655, - "src": "192:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - }, - "id": 8, - "nodeType": "InheritanceSpecifier", - "src": "192:5:0" - } - ], - "contractDependencies": [ - 2505, - 2655 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2461, - "linearizedBaseContracts": [ - 2461, - 2655, - 2505 - ], - "name": "BancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11, - "libraryName": { - "contractScope": null, - "id": 9, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2800, - "src": "210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2800", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "204:27:0", - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 14, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "238:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "238:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "302e33", - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "262:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a25c22aa6f10fa2261b798fea6b4e2f0567ea2644e38ffd2fdadd1108b091261", - "typeString": "literal_string \"0.3\"" - }, - "value": "0.3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17, - "name": "ONE", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "274:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "305:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20, - "name": "MAX_WEIGHT", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "312:44:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 18, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "312:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23, - "name": "MIN_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "362:41:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 21, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3332", - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "401:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26, - "name": "MAX_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "409:42:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 24, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "409:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313237", - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "448:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 29, - "name": "FIXED_1", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "528:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 28, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "563:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 32, - "name": "FIXED_2", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "604:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "639:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 35, - "name": "MAX_NUM", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "680:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "715:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 38, - "name": "LN2_NUMERATOR", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "827:76:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833663830666530336638306665303366383066653033663830666530336638", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5275695611177340518812009417546793976_by_1", - "typeString": "int_const 5275...(29 digits omitted)...3976" - }, - "value": "0x3f80fe03f80fe03f80fe03f80fe03f8" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 41, - "name": "LN2_DENOMINATOR", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "909:76:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 39, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835623964653164313062663431303364363437623039353538393762613830", - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7611219895485218073587121647846406784_by_1", - "typeString": "int_const 7611...(29 digits omitted)...6784" - }, - "value": "0x5b9de1d10bf4103d647b0955897ba80" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 44, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1096:78:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313562663061386231343537363935333535666238616334303465376137396533", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1139:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_462491687273110168575455517921668397539_by_1", - "typeString": "int_const 4624...(31 digits omitted)...7539" - }, - "value": "0x15bf0a8b1457695355fb8ac404e7a79e3" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 47, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1180:78:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 45, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1180:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1223:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 51, - "name": "maxExpArray", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1337:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128]" - }, - "typeName": { - "baseType": { - "id": 48, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 50, - "length": { - "argumentTypes": null, - "hexValue": "313238", - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1345:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "128" - }, - "nodeType": "ArrayTypeName", - "src": "1337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage_ptr", - "typeString": "uint256[128]" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 630, - "nodeType": "Block", - "src": "1396:8327:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 54, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3486:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 56, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3499:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3486:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831633335666564643134666666666666666666666666666666666666666666666666", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3505:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9599678685041259184274752310158947254271_by_1", - "typeString": "int_const 9599...(32 digits omitted)...4271" - }, - "value": "0x1c35fedd14ffffffffffffffffffffffff" - }, - "src": "3486:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "3486:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 60, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3551:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 62, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3333", - "id": 61, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3564:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3551:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831623063653433623332336666666666666666666666666666666666666666666666", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9204759687141885226475603015507577405439_by_1", - "typeString": "int_const 9204...(32 digits omitted)...5439" - }, - "value": "0x1b0ce43b323fffffffffffffffffffffff" - }, - "src": "3551:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 65, - "nodeType": "ExpressionStatement", - "src": "3551:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 66, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3616:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 68, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3334", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3629:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_34_by_1", - "typeString": "int_const 34" - }, - "value": "34" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3616:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831396630303238656331666666666666666666666666666666666666666666666666", - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3635:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8826087172077985712041017634911355404287_by_1", - "typeString": "int_const 8826...(32 digits omitted)...4287" - }, - "value": "0x19f0028ec1ffffffffffffffffffffffff" - }, - "src": "3616:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "3616:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 72, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3681:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 74, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3335", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3694:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35_by_1", - "typeString": "int_const 35" - }, - "value": "35" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3681:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831386465643931663065376666666666666666666666666666666666666666666666", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3700:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8462992779488582574159642900919291478015_by_1", - "typeString": "int_const 8462...(32 digits omitted)...8015" - }, - "value": "0x18ded91f0e7fffffffffffffffffffffff" - }, - "src": "3681:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77, - "nodeType": "ExpressionStatement", - "src": "3681:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 78, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3746:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 80, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3336", - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3759:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3746:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831376438656337663034313766666666666666666666666666666666666666666666", - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3765:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8114835644520100661580084966409403105279_by_1", - "typeString": "int_const 8114...(32 digits omitted)...5279" - }, - "value": "0x17d8ec7f0417ffffffffffffffffffffff" - }, - "src": "3746:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 83, - "nodeType": "ExpressionStatement", - "src": "3746:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 84, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3811:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 86, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3337", - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3824:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_37_by_1", - "typeString": "int_const 37" - }, - "value": "37" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3811:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831366464633635353663646266666666666666666666666666666666666666666666", - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3830:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7781001266736647064069662172832600162303_by_1", - "typeString": "int_const 7781...(32 digits omitted)...2303" - }, - "value": "0x16ddc6556cdbffffffffffffffffffffff" - }, - "src": "3811:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "3811:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 90, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3876:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 92, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3338", - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3889:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_38_by_1", - "typeString": "int_const 38" - }, - "value": "38" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3876:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831356563663532373736613166666666666666666666666666666666666666666666", - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3895:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7460900425488323202194551465008353509375_by_1", - "typeString": "int_const 7460...(32 digits omitted)...9375" - }, - "value": "0x15ecf52776a1ffffffffffffffffffffff" - }, - "src": "3876:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 95, - "nodeType": "ExpressionStatement", - "src": "3876:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 96, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3941:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 98, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3339", - "id": 97, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39_by_1", - "typeString": "int_const 39" - }, - "value": "39" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3941:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831353036306332353663623266666666666666666666666666666666666666666666", - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3960:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7153968139937914349310206877837545177087_by_1", - "typeString": "int_const 7153...(32 digits omitted)...7087" - }, - "value": "0x15060c256cb2ffffffffffffffffffffff" - }, - "src": "3941:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 101, - "nodeType": "ExpressionStatement", - "src": "3941:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 102, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4006:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 104, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3430", - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4019:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4006:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831343238613266393864373266666666666666666666666666666666666666666666", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4025:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6859662671868001546166128217910528704511_by_1", - "typeString": "int_const 6859...(32 digits omitted)...4511" - }, - "value": "0x1428a2f98d72ffffffffffffffffffffff" - }, - "src": "4006:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "4006:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 108, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4071:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 110, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3431", - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4084:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41_by_1", - "typeString": "int_const 41" - }, - "value": "41" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4071:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831333534353539386535633233666666666666666666666666666666666666666666", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4090:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6577464569506365633454696454958677491711_by_1", - "typeString": "int_const 6577...(32 digits omitted)...1711" - }, - "value": "0x13545598e5c23fffffffffffffffffffff" - }, - "src": "4071:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 113, - "nodeType": "ExpressionStatement", - "src": "4071:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 114, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4136:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3432", - "id": 115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42_by_1", - "typeString": "int_const 42" - }, - "value": "42" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831323838633431363163653164666666666666666666666666666666666666666666", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4155:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6306875750689218484600399768107450630143_by_1", - "typeString": "int_const 6306...(32 digits omitted)...0143" - }, - "value": "0x1288c4161ce1dfffffffffffffffffffff" - }, - "src": "4136:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "4136:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 120, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4201:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3433", - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4214:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43_by_1", - "typeString": "int_const 43" - }, - "value": "43" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4201:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831316335393237363163363636666666666666666666666666666666666666666666", - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4220:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6047418623741353042663269283551730728959_by_1", - "typeString": "int_const 6047...(32 digits omitted)...8959" - }, - "value": "0x11c592761c666fffffffffffffffffffff" - }, - "src": "4201:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 125, - "nodeType": "ExpressionStatement", - "src": "4201:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 126, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4266:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3434", - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4279:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_44_by_1", - "typeString": "int_const 44" - }, - "value": "44" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4266:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831313061363838363830613735376666666666666666666666666666666666666666", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4285:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5798635244522972732941736303310812479487_by_1", - "typeString": "int_const 5798...(32 digits omitted)...9487" - }, - "value": "0x110a688680a757ffffffffffffffffffff" - }, - "src": "4266:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 131, - "nodeType": "ExpressionStatement", - "src": "4266:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 132, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4331:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 134, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3435", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4344:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_45_by_1", - "typeString": "int_const 45" - }, - "value": "45" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4331:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831303536663162356265646637376666666666666666666666666666666666666666", - "id": 135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4350:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5560086508154074440893281558760167309311_by_1", - "typeString": "int_const 5560...(32 digits omitted)...9311" - }, - "value": "0x1056f1b5bedf77ffffffffffffffffffff" - }, - "src": "4331:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 137, - "nodeType": "ExpressionStatement", - "src": "4331:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 138, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4396:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 140, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3436", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4409:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46_by_1", - "typeString": "int_const 46" - }, - "value": "46" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4396:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830666161646365636565666638626666666666666666666666666666666666666666", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5331351373990447379730864460340651884543_by_1", - "typeString": "int_const 5331...(32 digits omitted)...4543" - }, - "value": "0x0faadceceeff8bffffffffffffffffffff" - }, - "src": "4396:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 143, - "nodeType": "ExpressionStatement", - "src": "4396:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 144, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4461:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 146, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3437", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4474:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47_by_1", - "typeString": "int_const 47" - }, - "value": "47" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4461:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830663035646336623237656461646666666666666666666666666666666666666666", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4480:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5112026122483163422598731111238626967551_by_1", - "typeString": "int_const 5112...(32 digits omitted)...7551" - }, - "value": "0x0f05dc6b27edadffffffffffffffffffff" - }, - "src": "4461:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "4461:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 150, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4526:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 152, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4539:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4526:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830653637613561323564613431303766666666666666666666666666666666666666", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4545:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4901723642609993464238960471454494228479_by_1", - "typeString": "int_const 4901...(32 digits omitted)...8479" - }, - "value": "0x0e67a5a25da4107fffffffffffffffffff" - }, - "src": "4526:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 155, - "nodeType": "ExpressionStatement", - "src": "4526:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4591:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3439", - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49_by_1", - "typeString": "int_const 49" - }, - "value": "49" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4591:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830646366663131356231346565646666666666666666666666666666666666666666", - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4610:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4700072748620998500994433661760029327359_by_1", - "typeString": "int_const 4700...(32 digits omitted)...7359" - }, - "value": "0x0dcff115b14eedffffffffffffffffffff" - }, - "src": "4591:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 161, - "nodeType": "ExpressionStatement", - "src": "4591:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 162, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4656:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 164, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3530", - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4669:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4656:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830643365376133393234333132333966666666666666666666666666666666666666", - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4675:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4506717524892375150236886652795301658623_by_1", - "typeString": "int_const 4506...(32 digits omitted)...8623" - }, - "value": "0x0d3e7a392431239fffffffffffffffffff" - }, - "src": "4656:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 167, - "nodeType": "ExpressionStatement", - "src": "4656:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 168, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4721:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 170, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3531", - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51_by_1", - "typeString": "int_const 51" - }, - "value": "51" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4721:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830636232666635323965623731653466666666666666666666666666666666666666", - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4740:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4321316697732212547034601541953113817087_by_1", - "typeString": "int_const 4321...(32 digits omitted)...7087" - }, - "value": "0x0cb2ff529eb71e4fffffffffffffffffff" - }, - "src": "4721:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 173, - "nodeType": "ExpressionStatement", - "src": "4721:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 174, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4786:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 176, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3532", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52_by_1", - "typeString": "int_const 52" - }, - "value": "52" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4786:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830633264343135633364623937346166666666666666666666666666666666666666", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4805:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4143543033029384782309349805264440655871_by_1", - "typeString": "int_const 4143...(32 digits omitted)...5871" - }, - "value": "0x0c2d415c3db974afffffffffffffffffff" - }, - "src": "4786:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "4786:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 180, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4851:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 182, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3533", - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_53_by_1", - "typeString": "int_const 53" - }, - "value": "53" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4851:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830626164303365376438383366363962666666666666666666666666666666666666", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4870:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3973082758682431363936722477132055314431_by_1", - "typeString": "int_const 3973...(32 digits omitted)...4431" - }, - "value": "0x0bad03e7d883f69bffffffffffffffffff" - }, - "src": "4851:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "4851:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 186, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4916:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 188, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3534", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4929:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54_by_1", - "typeString": "int_const 54" - }, - "value": "54" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4916:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830623332306430336232633334336435666666666666666666666666666666666666", - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4935:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3809635010789003168527049097368437784575_by_1", - "typeString": "int_const 3809...(32 digits omitted)...4575" - }, - "value": "0x0b320d03b2c343d5ffffffffffffffffff" - }, - "src": "4916:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "4916:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 192, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4981:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 194, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3535", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55_by_1", - "typeString": "int_const 55" - }, - "value": "55" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4981:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830616263323532303465303238323864666666666666666666666666666666666666", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5000:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652911302618395401280222488042819026943_by_1", - "typeString": "int_const 3652...(32 digits omitted)...6943" - }, - "value": "0x0abc25204e02828dffffffffffffffffff" - }, - "src": "4981:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "4981:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 198, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5046:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 200, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3536", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5059:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_56_by_1", - "typeString": "int_const 56" - }, - "value": "56" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5046:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830613462313666373465653462623230376666666666666666666666666666666666", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3502635015429898674229017626613836152831_by_1", - "typeString": "int_const 3502...(32 digits omitted)...2831" - }, - "value": "0x0a4b16f74ee4bb207fffffffffffffffff" - }, - "src": "5046:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 203, - "nodeType": "ExpressionStatement", - "src": "5046:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 204, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5111:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3537", - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5124:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57_by_1", - "typeString": "int_const 57" - }, - "value": "57" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5111:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830396465616637333661633166353639666666666666666666666666666666666666", - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5130:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3358540910238258030536300376569398951935_by_1", - "typeString": "int_const 3358...(32 digits omitted)...1935" - }, - "value": "0x09deaf736ac1f569ffffffffffffffffff" - }, - "src": "5111:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 209, - "nodeType": "ExpressionStatement", - "src": "5111:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 210, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5176:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3538", - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5189:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_58_by_1", - "typeString": "int_const 58" - }, - "value": "58" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5176:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393736626439393532633761613935376666666666666666666666666666666666", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5195:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3220374659664501751807634855053158776831_by_1", - "typeString": "int_const 3220...(32 digits omitted)...6831" - }, - "value": "0x0976bd9952c7aa957fffffffffffffffff" - }, - "src": "5176:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "5176:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 216, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5241:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3539", - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5254:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59_by_1", - "typeString": "int_const 59" - }, - "value": "59" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5241:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393133313237313932326561613630366666666666666666666666666666666666", - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5260:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3087892399045852422628542596524428754943_by_1", - "typeString": "int_const 3087...(32 digits omitted)...4943" - }, - "value": "0x09131271922eaa606fffffffffffffffff" - }, - "src": "5241:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 221, - "nodeType": "ExpressionStatement", - "src": "5241:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 222, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5306:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3630", - "id": 223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5319:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "60" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5306:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830386233383066333535383636386334366666666666666666666666666666666666", - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5325:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2960860296012425255212778080756987592703_by_1", - "typeString": "int_const 2960...(32 digits omitted)...2703" - }, - "value": "0x08b380f3558668c46fffffffffffffffff" - }, - "src": "5306:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 227, - "nodeType": "ExpressionStatement", - "src": "5306:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 228, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5371:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3631", - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_61_by_1", - "typeString": "int_const 61" - }, - "value": "61" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5371:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830383537646466303131376566613231356266666666666666666666666666666666", - "id": 231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5390:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2839054137771012724926516325250418868223_by_1", - "typeString": "int_const 2839...(32 digits omitted)...8223" - }, - "value": "0x0857ddf0117efa215bffffffffffffffff" - }, - "src": "5371:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 233, - "nodeType": "ExpressionStatement", - "src": "5371:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 234, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5436:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 236, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3632", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5449:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_62_by_1", - "typeString": "int_const 62" - }, - "value": "62" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5436:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376666666666666666666666666666666666666666666666666666666666666666", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691647_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1647" - }, - "value": "0x07ffffffffffffffffffffffffffffffff" - }, - "src": "5436:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 239, - "nodeType": "ExpressionStatement", - "src": "5436:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 240, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5501:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 242, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3633", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_63_by_1", - "typeString": "int_const 63" - }, - "value": "63" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5501:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376162626636663661626239643038376666666666666666666666666666666666", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5520:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2610268544229484780765045556213696167935_by_1", - "typeString": "int_const 2610...(32 digits omitted)...7935" - }, - "value": "0x07abbf6f6abb9d087fffffffffffffffff" - }, - "src": "5501:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 245, - "nodeType": "ExpressionStatement", - "src": "5501:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 246, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5566:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 248, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3634", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5579:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5566:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373561663632636261633935663764666137666666666666666666666666666666", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5585:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2502885300319193958571922333378000453631_by_1", - "typeString": "int_const 2502...(32 digits omitted)...3631" - }, - "value": "0x075af62cbac95f7dfa7fffffffffffffff" - }, - "src": "5566:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 251, - "nodeType": "ExpressionStatement", - "src": "5566:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 252, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 254, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5644:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5631:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373064376662373435326531383761633133666666666666666666666666666666", - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5650:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2399919671254773659805118819743970623487_by_1", - "typeString": "int_const 2399...(32 digits omitted)...3487" - }, - "value": "0x070d7fb7452e187ac13fffffffffffffff" - }, - "src": "5631:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 257, - "nodeType": "ExpressionStatement", - "src": "5631:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 258, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5696:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 260, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5709:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5696:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830366333333930656363386166333739323935666666666666666666666666666666", - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5715:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2301189921783908737703717501630802821119_by_1", - "typeString": "int_const 2301...(32 digits omitted)...1119" - }, - "value": "0x06c3390ecc8af379295fffffffffffffff" - }, - "src": "5696:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 263, - "nodeType": "ExpressionStatement", - "src": "5696:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 264, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5761:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 266, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3637", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5774:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_67_by_1", - "typeString": "int_const 67" - }, - "value": "67" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5761:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363763303061336230376666633031666436666666666666666666666666666666", - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5780:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2206521793019491601704439134261549727743_by_1", - "typeString": "int_const 2206...(32 digits omitted)...7743" - }, - "value": "0x067c00a3b07ffc01fd6fffffffffffffff" - }, - "src": "5761:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 269, - "nodeType": "ExpressionStatement", - "src": "5761:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 270, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5826:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 272, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3638", - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5839:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_68_by_1", - "typeString": "int_const 68" - }, - "value": "68" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5826:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363337623634376333396362623964336432376666666666666666666666666666", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5845:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2115748194871134515168564783402692116479_by_1", - "typeString": "int_const 2115...(32 digits omitted)...6479" - }, - "value": "0x0637b647c39cbb9d3d27ffffffffffffff" - }, - "src": "5826:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "5826:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 276, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5891:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 278, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3639", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5904:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5891:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356636336231666331303464626433393538376666666666666666666666666666", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2028708911129671949307566740521183346687_by_1", - "typeString": "int_const 2028...(32 digits omitted)...6687" - }, - "value": "0x05f63b1fc104dbd39587ffffffffffffff" - }, - "src": "5891:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 281, - "nodeType": "ExpressionStatement", - "src": "5891:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 282, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5956:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3730", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5969:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70_by_1", - "typeString": "int_const 70" - }, - "value": "70" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5956:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356237373139353562333665313266373233356666666666666666666666666666", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1945250316684124513375052119057996185599_by_1", - "typeString": "int_const 1945...(32 digits omitted)...5599" - }, - "value": "0x05b771955b36e12f7235ffffffffffffff" - }, - "src": "5956:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 287, - "nodeType": "ExpressionStatement", - "src": "5956:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 288, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6021:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 290, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3731", - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6034:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71_by_1", - "typeString": "int_const 71" - }, - "value": "71" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6021:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353762336434396464613834353536643666366666666666666666666666666666", - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6040:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1865225106372009884014199587421481336831_by_1", - "typeString": "int_const 1865...(32 digits omitted)...6831" - }, - "value": "0x057b3d49dda84556d6f6ffffffffffffff" - }, - "src": "6021:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "6021:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6086:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3732", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6099:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72_by_1", - "typeString": "int_const 72" - }, - "value": "72" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6086:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353431383330393562326338656365636633306666666666666666666666666666", - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6105:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1788492034984419117666073304513300660223_by_1", - "typeString": "int_const 1788...(32 digits omitted)...0223" - }, - "value": "0x054183095b2c8ececf30ffffffffffffff" - }, - "src": "6086:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "6086:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 300, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6151:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 302, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3733", - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6164:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_73_by_1", - "typeString": "int_const 73" - }, - "value": "73" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6151:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353061323862653633356361326238383866373766666666666666666666666666", - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6170:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1714915667966964990208967912165996494847_by_1", - "typeString": "int_const 1714...(32 digits omitted)...4847" - }, - "value": "0x050a28be635ca2b888f77fffffffffffff" - }, - "src": "6151:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "6151:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 306, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 308, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3734", - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6229:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74_by_1", - "typeString": "int_const 74" - }, - "value": "74" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6216:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346435313536363339373038633964623333633366666666666666666666666666", - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6235:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1644366142376587317378242124992063995903_by_1", - "typeString": "int_const 1644...(32 digits omitted)...5903" - }, - "value": "0x04d5156639708c9db33c3fffffffffffff" - }, - "src": "6216:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 311, - "nodeType": "ExpressionStatement", - "src": "6216:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 312, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6281:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 314, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3735", - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6294:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6281:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346132333130353837333837356264353264666466666666666666666666666666", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6300:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1576718937672301888428671268411708276735_by_1", - "typeString": "int_const 1576...(32 digits omitted)...6735" - }, - "value": "0x04a23105873875bd52dfdfffffffffffff" - }, - "src": "6281:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "6281:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 318, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6346:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3736", - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6359:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76_by_1", - "typeString": "int_const 76" - }, - "value": "76" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6346:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343731363439643837313939616139393037353666666666666666666666666666", - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1511854655935336643558907106913628979199_by_1", - "typeString": "int_const 1511...(32 digits omitted)...9199" - }, - "value": "0x0471649d87199aa990756fffffffffffff" - }, - "src": "6346:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "6346:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 324, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6411:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 326, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3737", - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6424:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_77_by_1", - "typeString": "int_const 77" - }, - "value": "77" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6411:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343432396132316130323964346331343537636662666666666666666666666666", - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6430:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1449658811130741678082357454851673161727_by_1", - "typeString": "int_const 1449...(32 digits omitted)...1727" - }, - "value": "0x04429a21a029d4c1457cfbffffffffffff" - }, - "src": "6411:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "6411:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 330, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6476:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 332, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3738", - "id": 331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6489:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_78_by_1", - "typeString": "int_const 78" - }, - "value": "78" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6476:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343135626336643666623764643731616632636233666666666666666666666666", - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1390021627038517938156314751863424548863_by_1", - "typeString": "int_const 1390...(32 digits omitted)...8863" - }, - "value": "0x0415bc6d6fb7dd71af2cb3ffffffffffff" - }, - "src": "6476:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "6476:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 336, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6541:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 338, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3739", - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6554:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_79_by_1", - "typeString": "int_const 79" - }, - "value": "79" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6541:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336561623733623362626665323832323433636531666666666666666666666666", - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6560:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1332837843497611250583009129150422188031_by_1", - "typeString": "int_const 1332...(32 digits omitted)...8031" - }, - "value": "0x03eab73b3bbfe282243ce1ffffffffffff" - }, - "src": "6541:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 341, - "nodeType": "ExpressionStatement", - "src": "6541:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 342, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6606:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 344, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6619:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6606:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336331373731616339666236623463313865323239666666666666666666666666", - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6625:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1278006530620790610545644364558728429567_by_1", - "typeString": "int_const 1278...(32 digits omitted)...9567" - }, - "value": "0x03c1771ac9fb6b4c18e229ffffffffffff" - }, - "src": "6606:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 347, - "nodeType": "ExpressionStatement", - "src": "6606:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 348, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6671:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 350, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3831", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6684:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81_by_1", - "typeString": "int_const 81" - }, - "value": "81" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6671:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333939653936383937363930343138663738353235376666666666666666666666", - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6690:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1225430910652498332846748256431392161791_by_1", - "typeString": "int_const 1225...(32 digits omitted)...1791" - }, - "value": "0x0399e96897690418f785257fffffffffff" - }, - "src": "6671:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "6671:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 354, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 356, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3832", - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6749:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82_by_1", - "typeString": "int_const 82" - }, - "value": "82" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6736:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333733666334353663353362623737396266306561396666666666666666666666", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1175018187155249585623915264673694351359_by_1", - "typeString": "int_const 1175...(32 digits omitted)...1359" - }, - "value": "0x0373fc456c53bb779bf0ea9fffffffffff" - }, - "src": "6736:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "6736:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 360, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6801:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 362, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3833", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6814:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_83_by_1", - "typeString": "int_const 83" - }, - "value": "83" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6801:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333466396538653439306334386536376536616238626666666666666666666666", - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6820:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1126679381223093780446468558216906145791_by_1", - "typeString": "int_const 1126...(32 digits omitted)...5791" - }, - "value": "0x034f9e8e490c48e67e6ab8bfffffffffff" - }, - "src": "6801:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 365, - "nodeType": "ExpressionStatement", - "src": "6801:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 366, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6866:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 368, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3834", - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6879:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_84_by_1", - "typeString": "int_const 84" - }, - "value": "84" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6866:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333263626664346137616463373930353630623333333766666666666666666666", - "id": 369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6885:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1080329174433053119456411494679599644671_by_1", - "typeString": "int_const 1080...(32 digits omitted)...4671" - }, - "value": "0x032cbfd4a7adc790560b3337ffffffffff" - }, - "src": "6866:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 371, - "nodeType": "ExpressionStatement", - "src": "6866:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 372, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6931:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 374, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3835", - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6944:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85_by_1", - "typeString": "int_const 85" - }, - "value": "85" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6931:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333062353035373066366535643261636361393436313366666666666666666666", - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6950:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1035885758257346189907937735244580388863_by_1", - "typeString": "int_const 1035...(32 digits omitted)...8863" - }, - "value": "0x030b50570f6e5d2acca94613ffffffffff" - }, - "src": "6931:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 377, - "nodeType": "ExpressionStatement", - "src": "6931:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 378, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6996:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 380, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3836", - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86_by_1", - "typeString": "int_const 86" - }, - "value": "86" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6996:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326562343066396636323066646136623536633238363166666666666666666666", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7015:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993270689670607839608468400662101622783_by_1", - "typeString": "int_const 9932...(31 digits omitted)...2783" - }, - "value": "0x02eb40f9f620fda6b56c2861ffffffffff" - }, - "src": "6996:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 383, - "nodeType": "ExpressionStatement", - "src": "6996:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 384, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7061:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 386, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3837", - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7074:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87_by_1", - "typeString": "int_const 87" - }, - "value": "87" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7061:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326363383334306563623064306635323061366166353866666666666666666666", - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7080:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_952408752697250790372885759853747765247_by_1", - "typeString": "int_const 9524...(31 digits omitted)...5247" - }, - "value": "0x02cc8340ecb0d0f520a6af58ffffffffff" - }, - "src": "7061:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 389, - "nodeType": "ExpressionStatement", - "src": "7061:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 390, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7126:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3838", - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7139:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326166303934383133383061306133356366316261303266666666666666666666", - "id": 393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7145:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_913227825654598849673391073164504596479_by_1", - "typeString": "int_const 9132...(31 digits omitted)...6479" - }, - "value": "0x02af09481380a0a35cf1ba02ffffffffff" - }, - "src": "7126:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 395, - "nodeType": "ExpressionStatement", - "src": "7126:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 396, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7191:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 398, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3839", - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89_by_1", - "typeString": "int_const 89" - }, - "value": "89" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7191:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323932633562646433623932656338313032383762316233666666666666666666", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7210:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_875658753857474668265023456619450597375_by_1", - "typeString": "int_const 8756...(31 digits omitted)...7375" - }, - "value": "0x0292c5bdd3b92ec810287b1b3fffffffff" - }, - "src": "7191:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "7191:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 402, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7256:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 404, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3930", - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7269:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_90_by_1", - "typeString": "int_const 90" - }, - "value": "90" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7256:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323737616264636461623037643561373761633664366239666666666666666666", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7275:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_839635227559564507480479102760887779327_by_1", - "typeString": "int_const 8396...(31 digits omitted)...9327" - }, - "value": "0x0277abdcdab07d5a77ac6d6b9fffffffff" - }, - "src": "7256:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 407, - "nodeType": "ExpressionStatement", - "src": "7256:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 408, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 410, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3931", - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7334:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_91_by_1", - "typeString": "int_const 91" - }, - "value": "91" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7321:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323564616636363534623165616135356664363464663565666666666666666666", - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7340:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_805093664916125437948904238798044397567_by_1", - "typeString": "int_const 8050...(31 digits omitted)...7567" - }, - "value": "0x025daf6654b1eaa55fd64df5efffffffff" - }, - "src": "7321:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "7321:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 414, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7386:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 416, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3932", - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7399:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92_by_1", - "typeString": "int_const 92" - }, - "value": "92" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7386:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323434633439633634386261613938313932646365383862376666666666666666", - "id": 417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7405:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_771973099761463105605096142810743046143_by_1", - "typeString": "int_const 7719...(31 digits omitted)...6143" - }, - "value": "0x0244c49c648baa98192dce88b7ffffffff" - }, - "src": "7386:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "7386:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 420, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7451:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 422, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3933", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93_by_1", - "typeString": "int_const 93" - }, - "value": "93" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7451:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323263653033636435363139613331316232343731323638626666666666666666", - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7470:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_740215074003106313787373698556008333311_by_1", - "typeString": "int_const 7402...(31 digits omitted)...3311" - }, - "value": "0x022ce03cd5619a311b2471268bffffffff" - }, - "src": "7451:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 425, - "nodeType": "ExpressionStatement", - "src": "7451:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 426, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7516:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3934", - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7529:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_94_by_1", - "typeString": "int_const 94" - }, - "value": "94" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7516:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323135663737633034356662653838353635346134346130666666666666666666", - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7535:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_709763534442753181219281418466841591807_by_1", - "typeString": "int_const 7097...(31 digits omitted)...1807" - }, - "value": "0x0215f77c045fbe885654a44a0fffffffff" - }, - "src": "7516:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "7516:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 432, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7581:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3935", - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7594:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_95_by_1", - "typeString": "int_const 95" - }, - "value": "95" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316666666666666666666666666666666666666666666666666666666666666666", - "id": 435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7600:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422911_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2911" - }, - "value": "0x01ffffffffffffffffffffffffffffffff" - }, - "src": "7581:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 437, - "nodeType": "ExpressionStatement", - "src": "7581:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 438, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7646:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3936", - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7659:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96_by_1", - "typeString": "int_const 96" - }, - "value": "96" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7646:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316561656664626461616565373432316663346433656465356666666666666666", - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7665:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_652567136057371195186997586203332575231_by_1", - "typeString": "int_const 6525...(31 digits omitted)...5231" - }, - "value": "0x01eaefdbdaaee7421fc4d3ede5ffffffff" - }, - "src": "7646:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 443, - "nodeType": "ExpressionStatement", - "src": "7646:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 444, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7711:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 446, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3937", - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7724:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97_by_1", - "typeString": "int_const 97" - }, - "value": "97" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7711:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316436626438623265623235376466376538636135376230396266666666666666", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7730:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_625721325079798489641586010116704960511_by_1", - "typeString": "int_const 6257...(31 digits omitted)...0511" - }, - "value": "0x01d6bd8b2eb257df7e8ca57b09bfffffff" - }, - "src": "7711:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 449, - "nodeType": "ExpressionStatement", - "src": "7711:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 450, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7776:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 452, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3938", - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7789:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_98_by_1", - "typeString": "int_const 98" - }, - "value": "98" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7776:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316333356665646431346238363165623034343366376631333366666666666666", - "id": 453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7795:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_599979917813693414950432886451725139967_by_1", - "typeString": "int_const 5999...(31 digits omitted)...9967" - }, - "value": "0x01c35fedd14b861eb0443f7f133fffffff" - }, - "src": "7776:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 455, - "nodeType": "ExpressionStatement", - "src": "7776:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 456, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7841:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 458, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3939", - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7854:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7841:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316230636534336233323262636465346135366538616461356166666666666666", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_575297480445977184425850753341355720703_by_1", - "typeString": "int_const 5752...(31 digits omitted)...0703" - }, - "value": "0x01b0ce43b322bcde4a56e8ada5afffffff" - }, - "src": "7841:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "7841:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 462, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7906:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 464, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7906:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313966303032386563316666663030376635613139356133396466666666666666", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7925:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_551630448254872900425972804456347074559_by_1", - "typeString": "int_const 5516...(31 digits omitted)...4559" - }, - "value": "0x019f0028ec1fff007f5a195a39dfffffff" - }, - "src": "7906:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 467, - "nodeType": "ExpressionStatement", - "src": "7906:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 468, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7971:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 470, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7983:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7971:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313864656439316630653732656537346634396231356261353237666666666666", - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7990:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_528937048717783628792119060092411707391_by_1", - "typeString": "int_const 5289...(31 digits omitted)...7391" - }, - "value": "0x018ded91f0e72ee74f49b15ba527ffffff" - }, - "src": "7971:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "7971:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 474, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8036:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 476, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313032", - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8048:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102_by_1", - "typeString": "int_const 102" - }, - "value": "102" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8036:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313764386563376630343133366634653536313566643431613633666666666666", - "id": 477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8055:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_507177227782417987326846600868857380863_by_1", - "typeString": "int_const 5071...(31 digits omitted)...0863" - }, - "value": "0x017d8ec7f04136f4e5615fd41a63ffffff" - }, - "src": "8036:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 479, - "nodeType": "ExpressionStatement", - "src": "8036:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 480, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8101:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 482, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313033", - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8113:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_103_by_1", - "typeString": "int_const 103" - }, - "value": "103" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8101:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313664646336353536636462383462646338643132643232653666666666666666", - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_486312579171031128343732298613950251007_by_1", - "typeString": "int_const 4863...(31 digits omitted)...1007" - }, - "value": "0x016ddc6556cdb84bdc8d12d22e6fffffff" - }, - "src": "8101:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 485, - "nodeType": "ExpressionStatement", - "src": "8101:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 486, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8166:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 488, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313034", - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8178:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_104_by_1", - "typeString": "int_const 104" - }, - "value": "104" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8166:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313565636635323737366131313535623562643833393538313466376666666666", - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8185:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_466306276593002471003532891264408092671_by_1", - "typeString": "int_const 4663...(31 digits omitted)...2671" - }, - "value": "0x015ecf52776a1155b5bd8395814f7fffff" - }, - "src": "8166:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 491, - "nodeType": "ExpressionStatement", - "src": "8166:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 492, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8231:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 494, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313035", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105_by_1", - "typeString": "int_const 105" - }, - "value": "105" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8231:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313530363063323536636232336233623363633337353463663430666666666666", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8250:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_447123008746104779416515886102660251647_by_1", - "typeString": "int_const 4471...(31 digits omitted)...1647" - }, - "value": "0x015060c256cb23b3b3cc3754cf40ffffff" - }, - "src": "8231:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "nodeType": "ExpressionStatement", - "src": "8231:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 498, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8296:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 500, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313036", - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8308:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - }, - "value": "106" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8296:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313432386132663938643732386165323233646461623731356265336666666666", - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8315:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_428728916991741247552240490495652921343_by_1", - "typeString": "int_const 4287...(31 digits omitted)...1343" - }, - "value": "0x01428a2f98d728ae223ddab715be3fffff" - }, - "src": "8296:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 503, - "nodeType": "ExpressionStatement", - "src": "8296:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 504, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8361:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 506, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313037", - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8373:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_107_by_1", - "typeString": "int_const 107" - }, - "value": "107" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8361:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313335343535393865356332333237366363663065646536383033346666666666", - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8380:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_411091535594146829344560212836376117247_by_1", - "typeString": "int_const 4110...(31 digits omitted)...7247" - }, - "value": "0x013545598e5c23276ccf0ede68034fffff" - }, - "src": "8361:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 509, - "nodeType": "ExpressionStatement", - "src": "8361:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 510, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8426:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 512, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313038", - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8438:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108_by_1", - "typeString": "int_const 108" - }, - "value": "108" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8426:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313238386334313631636531643666353462376636313038313139346666666666", - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8445:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_394179734418075472107167272299635146751_by_1", - "typeString": "int_const 3941...(31 digits omitted)...6751" - }, - "value": "0x01288c4161ce1d6f54b7f61081194fffff" - }, - "src": "8426:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 515, - "nodeType": "ExpressionStatement", - "src": "8426:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 516, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8491:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 518, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8503:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8491:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313163353932373631633636366161363431643561303161343066313766666666", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8510:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_377963663983834160889726215582593318911_by_1", - "typeString": "int_const 3779...(31 digits omitted)...8911" - }, - "value": "0x011c592761c666aa641d5a01a40f17ffff" - }, - "src": "8491:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 521, - "nodeType": "ExpressionStatement", - "src": "8491:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 522, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8556:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 524, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313130", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8568:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_110_by_1", - "typeString": "int_const 110" - }, - "value": "110" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8556:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313130613638383638306137353330353135663365366536636664636466666666", - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8575:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_362414702782685419520589203652335239167_by_1", - "typeString": "int_const 3624...(31 digits omitted)...9167" - }, - "value": "0x0110a688680a7530515f3e6e6cfdcdffff" - }, - "src": "8556:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 527, - "nodeType": "ExpressionStatement", - "src": "8556:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 528, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8621:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 530, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313131", - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8633:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_111_by_1", - "typeString": "int_const 111" - }, - "value": "111" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8621:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313035366631623562656466373563366263623263653861656434323866666666", - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8640:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_347505406759629484539078662328460836863_by_1", - "typeString": "int_const 3475...(31 digits omitted)...6863" - }, - "value": "0x01056f1b5bedf75c6bcb2ce8aed428ffff" - }, - "src": "8621:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 533, - "nodeType": "ExpressionStatement", - "src": "8621:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 534, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8686:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 536, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8698:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8686:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306661616463656365656666386130383930663338373566303038323737666666", - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8705:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_333209460874402812645752271223906598911_by_1", - "typeString": "int_const 3332...(31 digits omitted)...8911" - }, - "value": "0x00faadceceeff8a0890f3875f008277fff" - }, - "src": "8686:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "8686:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 540, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8751:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 542, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313133", - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8763:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_113_by_1", - "typeString": "int_const 113" - }, - "value": "113" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8751:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306630356463366232376564616433303633383861363030663662613062666666", - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8770:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_319501632655197652636411056021540225023_by_1", - "typeString": "int_const 3195...(31 digits omitted)...5023" - }, - "value": "0x00f05dc6b27edad306388a600f6ba0bfff" - }, - "src": "8751:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 545, - "nodeType": "ExpressionStatement", - "src": "8751:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 546, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8816:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 548, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313134", - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8828:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114_by_1", - "typeString": "int_const 114" - }, - "value": "114" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8816:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306536376135613235646134313036336465313439356435623138636462666666", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8835:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_306357727663124583211687061200571318271_by_1", - "typeString": "int_const 3063...(31 digits omitted)...8271" - }, - "value": "0x00e67a5a25da41063de1495d5b18cdbfff" - }, - "src": "8816:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 551, - "nodeType": "ExpressionStatement", - "src": "8816:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 552, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8881:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 554, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313135", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8893:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115_by_1", - "typeString": "int_const 115" - }, - "value": "115" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8881:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306463666631313562313465656464653666633361613533353366326534666666", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_293754546788812396405978813098581970943_by_1", - "typeString": "int_const 2937...(31 digits omitted)...0943" - }, - "value": "0x00dcff115b14eedde6fc3aa5353f2e4fff" - }, - "src": "8881:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 557, - "nodeType": "ExpressionStatement", - "src": "8881:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 558, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8946:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313136", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116_by_1", - "typeString": "int_const 116" - }, - "value": "116" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306433653761333932343331323339396639616165326530663836386638666666", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8965:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_281669845305773445111617137421885345791_by_1", - "typeString": "int_const 2816...(31 digits omitted)...5791" - }, - "value": "0x00d3e7a3924312399f9aae2e0f868f8fff" - }, - "src": "8946:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 563, - "nodeType": "ExpressionStatement", - "src": "8946:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 564, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9011:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 566, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313137", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9023:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_117_by_1", - "typeString": "int_const 117" - }, - "value": "117" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9011:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306362326666353239656237316534313538326363636435613165653236666666", - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9030:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_270082293608263279864102872957453496319_by_1", - "typeString": "int_const 2700...(31 digits omitted)...6319" - }, - "value": "0x00cb2ff529eb71e41582cccd5a1ee26fff" - }, - "src": "9011:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "9011:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 570, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9076:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 572, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313138", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9088:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_118_by_1", - "typeString": "int_const 118" - }, - "value": "118" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9076:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306332643431356333646239373461623332613531383430633062363765646666", - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9095:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_258971439564336547476984432763364437503_by_1", - "typeString": "int_const 2589...(31 digits omitted)...7503" - }, - "value": "0x00c2d415c3db974ab32a51840c0b67edff" - }, - "src": "9076:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 575, - "nodeType": "ExpressionStatement", - "src": "9076:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 576, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9141:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 578, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313139", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9153:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_119_by_1", - "typeString": "int_const 119" - }, - "value": "119" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9141:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306261643033653764383833663639616435623061313836313834653036626666", - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_248317672417651959902117100034610719743_by_1", - "typeString": "int_const 2483...(31 digits omitted)...9743" - }, - "value": "0x00bad03e7d883f69ad5b0a186184e06bff" - }, - "src": "9141:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 581, - "nodeType": "ExpressionStatement", - "src": "9141:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 582, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9206:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 584, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313230", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9218:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_120_by_1", - "typeString": "int_const 120" - }, - "value": "120" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9206:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306233323064303362326333343364343832396162643630373566306363356666", - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9225:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_238102188174312697593221439720218478079_by_1", - "typeString": "int_const 2381...(31 digits omitted)...8079" - }, - "value": "0x00b320d03b2c343d4829abd6075f0cc5ff" - }, - "src": "9206:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 587, - "nodeType": "ExpressionStatement", - "src": "9206:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 588, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9271:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 590, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313231", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9283:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_121_by_1", - "typeString": "int_const 121" - }, - "value": "121" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9271:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306162633235323034653032383238643733633665383062636462316139356266", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9290:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228306956413649712418347768277622232511_by_1", - "typeString": "int_const 2283...(31 digits omitted)...2511" - }, - "value": "0x00abc25204e02828d73c6e80bcdb1a95bf" - }, - "src": "9271:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 593, - "nodeType": "ExpressionStatement", - "src": "9271:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 594, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9336:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 596, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313232", - "id": 595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9348:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_122_by_1", - "typeString": "int_const 122" - }, - "value": "122" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9336:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306134623136663734656534626232303430613165633663313566626266326466", - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9355:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218914688464368667066255864092044292831_by_1", - "typeString": "int_const 2189...(31 digits omitted)...2831" - }, - "value": "0x00a4b16f74ee4bb2040a1ec6c15fbbf2df" - }, - "src": "9336:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 599, - "nodeType": "ExpressionStatement", - "src": "9336:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 600, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9401:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 602, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313233", - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_123_by_1", - "typeString": "int_const 123" - }, - "value": "123" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303964656166373336616331663536396465623162356165336633366331333066", - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9420:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_209908806889891126870119775672831054607_by_1", - "typeString": "int_const 2099...(31 digits omitted)...4607" - }, - "value": "0x009deaf736ac1f569deb1b5ae3f36c130f" - }, - "src": "9401:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 605, - "nodeType": "ExpressionStatement", - "src": "9401:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 606, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9466:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 608, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313234", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9478:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_124_by_1", - "typeString": "int_const 124" - }, - "value": "124" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9466:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303937366264393935326337616139353766353933376437393065663635303337", - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9485:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201273416229031359487226059686877220919_by_1", - "typeString": "int_const 2012...(31 digits omitted)...0919" - }, - "value": "0x00976bd9952c7aa957f5937d790ef65037" - }, - "src": "9466:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 611, - "nodeType": "ExpressionStatement", - "src": "9466:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 612, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9531:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 614, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313235", - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_125_by_1", - "typeString": "int_const 125" - }, - "value": "125" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9531:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303931333132373139323265616136303634623733613232643062643466326266", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9550:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192993274940365776401274035698589299391_by_1", - "typeString": "int_const 1929...(31 digits omitted)...9391" - }, - "value": "0x009131271922eaa6064b73a22d0bd4f2bf" - }, - "src": "9531:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 617, - "nodeType": "ExpressionStatement", - "src": "9531:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 618, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9596:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 620, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313236", - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9608:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_126_by_1", - "typeString": "int_const 126" - }, - "value": "126" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9596:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303862333830663335353836363863343663393163343961326638653936376239", - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9615:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185053768500776578446843424638883162041_by_1", - "typeString": "int_const 1850...(31 digits omitted)...2041" - }, - "value": "0x008b380f3558668c46c91c49a2f8e967b9" - }, - "src": "9596:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "nodeType": "ExpressionStatement", - "src": "9596:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 624, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9661:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 626, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313237", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9673:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9661:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303835376464663031313765666132313539353239313238333966363437336536", - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9680:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_177440883610688295304820354615089591270_by_1", - "typeString": "int_const 1774...(31 digits omitted)...1270" - }, - "value": "0x00857ddf0117efa215952912839f6473e6" - }, - "src": "9661:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "9661:55:0" - } - ] - }, - "documentation": null, - "id": 631, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "1386:2:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [], - "src": "1396:0:0" - }, - "scope": 2461, - "src": "1375:8348:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 716, - "nodeType": "Block", - "src": "10515:699:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 645, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "10559:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10569:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10559:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "10574:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10594:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10574:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 652, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10599:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10599:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:60:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10623:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 657, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "10643:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10623:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:94:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "10551:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10551:103:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "ExpressionStatement", - "src": "10551:103:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 662, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10714:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10714:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 667, - "nodeType": "IfStatement", - "src": "10710:45:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10754:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 643, - "id": 666, - "nodeType": "Return", - "src": "10747:8:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 668, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10815:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 669, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "10835:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10815:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 678, - "nodeType": "IfStatement", - "src": "10811:102:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10878:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 671, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "10866:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "10866:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10866:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 675, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "10896:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10866:47:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 643, - "id": 677, - "nodeType": "Return", - "src": "10859:54:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 680, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10924:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10924:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 681, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10924:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10948:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 682, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10948:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 684, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10948:15:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10973:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10973:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 691, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "11008:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10989:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "10989:18:0", - "typeDescriptions": { - "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": "10989:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10973:53:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 692, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "11037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 693, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "11045:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 694, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11036:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 696, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "11064:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 697, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "11071:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 698, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "11090:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 699, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "11108:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 695, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "11058:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11058:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "11036:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 702, - "nodeType": "ExpressionStatement", - "src": "11036:83:0" - }, - { - "assignments": [ - 704 - ], - "declarations": [ - { - "constant": false, - "id": 704, - "name": "temp", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "11129:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11129:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 711, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 707, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "11156:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 705, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "11144:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "11144:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11144:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 709, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "11167:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11144:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11129:47:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 712, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "11193:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 713, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "11200:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11193:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 643, - "id": 715, - "nodeType": "Return", - "src": "11186:21:0" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\ncalculates the return for a given conversion (in the main token)\nFormula:\nReturn = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n@param _supply token total supply\n@param _connectorBalance total connector balance\n@param _connectorWeight connector weight, represented in ppm, 1-1000000\n@param _depositAmount deposit amount, in connector token\n@return purchase return amount", - "id": 717, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 633, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10392:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10392:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 635, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10409:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10409:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 637, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10436:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 636, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "10436:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10461:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10461:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10391:93:0" - }, - "payable": false, - "returnParameters": { - "id": 643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 642, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10506:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10505:9:0" - }, - "scope": 2461, - "src": "10359:855:0", - "stateMutability": "view", - "superFunction": 2476, - "visibility": "public" - }, - { - "body": { - "id": 818, - "nodeType": "Block", - "src": "11994:883:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 731, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12038:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12048:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12038:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 734, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12053:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12053:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 738, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12078:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12097:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12078:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:60:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12102:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 743, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12122:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12102:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:94:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 746, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12136:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 747, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12151:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12136:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:120:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 730, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "12030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12030:129:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "12030:129:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 752, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12231:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12216:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 757, - "nodeType": "IfStatement", - "src": "12212:42:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12253:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 729, - "id": 756, - "nodeType": "Return", - "src": "12246:8:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 758, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12323:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 759, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12338:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12323:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 763, - "nodeType": "IfStatement", - "src": "12319:64:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12366:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 762, - "nodeType": "Return", - "src": "12359:24:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 764, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12443:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 765, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12463:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12443:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 774, - "nodeType": "IfStatement", - "src": "12439:99:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 769, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12516:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 767, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12494:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "12494:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12494:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 771, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12531:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12494:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 773, - "nodeType": "Return", - "src": "12487:51:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 776, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12549:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12549:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 777, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12549:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 779, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12573:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 778, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "12573:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 780, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12573:15:0" - }, - { - "assignments": [ - 782 - ], - "declarations": [ - { - "constant": false, - "id": 782, - "name": "baseD", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12598:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12598:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 786, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 783, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12614:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 784, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12624:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12614:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12598:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 787, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12646:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 788, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12654:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 789, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12645:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 792, - "name": "baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 782, - "src": "12682:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 793, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12689:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 794, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12701:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 790, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "12667:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12667:51:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "12645:73:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "12645:73:0" - }, - { - "assignments": [ - 799 - ], - "declarations": [ - { - "constant": false, - "id": 799, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12728:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12728:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 804, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 802, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12766:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 800, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12744:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "12744:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12744:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12728:45:0" - }, - { - "assignments": [ - 806 - ], - "declarations": [ - { - "constant": false, - "id": 806, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12783:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12783:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 810, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 807, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12799:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12820:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12799:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12783:46:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 811, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "12847:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 812, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "12855:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12847:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12846:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 815, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12864:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12846:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 817, - "nodeType": "Return", - "src": "12839:31:0" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a sell amount (in the main token),\ncalculates the return for a given conversion (in the connector token)\nFormula:\nReturn = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n@param _supply token total supply\n@param _connectorBalance total connector\n@param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n@param _sellAmount sell amount, in the token itself\n@return sale return amount", - "id": 819, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 719, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11874:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11874:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 721, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11891:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11891:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 723, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11918:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 722, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11918:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 725, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11943:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11873:90:0" - }, - "payable": false, - "returnParameters": { - "id": 729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 728, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11985:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11984:9:0" - }, - "scope": 2461, - "src": "11845:1032:0", - "stateMutability": "view", - "superFunction": 2489, - "visibility": "public" - }, - { - "body": { - "id": 918, - "nodeType": "Block", - "src": "13932:796:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 835, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "13976:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14000:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13976:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 838, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14005:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14028:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14005:24:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:53:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 842, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 843, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "14057:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14033:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:91:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 846, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14071:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14093:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14071:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:118:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 850, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14098:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14119:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14098:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:144:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 854, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14124:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 855, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "14146:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14124:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:180:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "13968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13968:189:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "13968:189:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 860, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14214:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 861, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14238:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14214:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 873, - "nodeType": "IfStatement", - "src": "14210:136:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 865, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 863, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14277:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "14277:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14277:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 869, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14338:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 867, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14312:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "14312:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14312:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14277:69:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 833, - "id": 872, - "nodeType": "Return", - "src": "14270:76:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 875, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14357:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14357:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 876, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14357:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 878, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14381:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 877, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "14381:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 879, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14381:15:0" - }, - { - "assignments": [ - 881 - ], - "declarations": [ - { - "constant": false, - "id": 881, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14406:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14406:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 886, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 884, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14448:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 882, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14422:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "14422:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14422:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14406:50:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 887, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14467:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 888, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 878, - "src": "14475:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 889, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14466:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 891, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "14494:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 892, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14501:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 893, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14524:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 894, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14546:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 890, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "14488:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14488:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "14466:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 897, - "nodeType": "ExpressionStatement", - "src": "14466:99:0" - }, - { - "assignments": [ - 899 - ], - "declarations": [ - { - "constant": false, - "id": 899, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14575:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 904, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 902, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14615:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 900, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14591:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "14591:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14591:31:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14575:47:0" - }, - { - "assignments": [ - 906 - ], - "declarations": [ - { - "constant": false, - "id": 906, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14632:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14632:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 910, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 907, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14648:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 908, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 878, - "src": "14671:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14648:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14632:48:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 911, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "14698:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 912, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "14706:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14698:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 914, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14697:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 915, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14715:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14697:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 833, - "id": 917, - "nodeType": "Return", - "src": "14690:31:0" - } - ] - }, - "documentation": "@dev given two connector balances/weights and a sell amount (in the first connector token),\ncalculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\nFormula:\nReturn = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n@param _fromConnectorBalance input connector balance\n@param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n@param _toConnectorBalance output connector balance\n@param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n@param _amount input connector amount\n@return second connector amount", - "id": 919, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 821, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13769:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 823, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13800:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 822, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13800:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 825, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13829:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 827, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13858:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 826, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13858:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13885:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13885:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:133:0" - }, - "payable": false, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 832, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13923:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13923:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13922:9:0" - }, - "scope": 2461, - "src": "13730:998:0", - "stateMutability": "view", - "superFunction": 2504, - "visibility": "public" - }, - { - "body": { - "id": 1007, - "nodeType": "Block", - "src": "16257:657:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 935, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "16275:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 936, - "name": "MAX_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "16284:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16275:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "16267:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16267:25:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 939, - "nodeType": "ExpressionStatement", - "src": "16267:25:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 941, - "name": "baseLog", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16303:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16303:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 942, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16303:15:0" - }, - { - "assignments": [ - 944 - ], - "declarations": [ - { - "constant": false, - "id": 944, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16328:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16328:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 950, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 945, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "16343:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 946, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "16352:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 948, - "name": "_baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "16362:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16328:40:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 951, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 952, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "16389:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16382:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 967, - "nodeType": "Block", - "src": "16471:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 961, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16485:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 963, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16506:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 962, - "name": "generalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1093, - "src": "16495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16495:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16485:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 966, - "nodeType": "ExpressionStatement", - "src": "16485:26:0" - } - ] - }, - "id": 968, - "nodeType": "IfStatement", - "src": "16378:144:0", - "trueBody": { - "id": 960, - "nodeType": "Block", - "src": "16406:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 954, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 956, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16441:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 955, - "name": "optimalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2051, - "src": "16430:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16430:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16420:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 959, - "nodeType": "ExpressionStatement", - "src": "16420:26:0" - } - ] - } - }, - { - "assignments": [ - 970 - ], - "declarations": [ - { - "constant": false, - "id": 970, - "name": "baseLogTimesExp", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16532:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16532:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 976, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 971, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16558:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 972, - "name": "_expN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "16568:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 974, - "name": "_expD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "16576:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16532:49:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 977, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16595:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 978, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "16613:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16595:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1005, - "nodeType": "Block", - "src": "16720:188:0", - "statements": [ - { - "assignments": [ - 988 - ], - "declarations": [ - { - "constant": false, - "id": 988, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16734:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 987, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16734:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 992, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 990, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16778:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 989, - "name": "findPositionInMaxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1223, - "src": "16752:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16752:42:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16734:60:0" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 994, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16827:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 995, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "16847:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 996, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16863:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16847:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 998, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16846:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16827:46:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1000, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 993, - "name": "generalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1732, - "src": "16816:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8) pure returns (uint256)" - } - }, - "id": 1001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16816:69:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1002, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16887:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1003, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16815:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 933, - "id": 1004, - "nodeType": "Return", - "src": "16808:89:0" - } - ] - }, - "id": 1006, - "nodeType": "IfStatement", - "src": "16591:317:0", - "trueBody": { - "id": 986, - "nodeType": "Block", - "src": "16630:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 981, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16663:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 980, - "name": "optimalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2460, - "src": "16652:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16652:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 983, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "16681:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 984, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16651:44:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 933, - "id": 985, - "nodeType": "Return", - "src": "16644:51:0" - } - ] - } - } - ] - }, - "documentation": "General Description:\nDetermine a value of precision.\nCalculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\nReturn the result along with the precision used.\nDetailed Description:\nInstead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\nThe value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\nThe larger \"precision\" is, the more accurately this value represents the real value.\nHowever, the larger \"precision\" is, the more bits are required in order to store this value.\nAnd the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\nThis maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\nHence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\nThis allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\nThis functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".", - "id": 1008, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "power", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 921, - "name": "_baseN", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16158:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16158:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 923, - "name": "_baseD", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16174:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 925, - "name": "_expN", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16190:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 924, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16190:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 927, - "name": "_expD", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16204:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 926, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16204:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16157:60:0" - }, - "payable": false, - "returnParameters": { - "id": 933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16241:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16241:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16250:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 931, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16250:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16240:16:0" - }, - "scope": 2461, - "src": "16143:771:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1092, - "nodeType": "Block", - "src": "17142:738:0", - "statements": [ - { - "assignments": [ - 1016 - ], - "declarations": [ - { - "constant": false, - "id": 1016, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17152:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1018, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17166:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17152:15:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1019, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17273:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1020, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "17278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17273:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1041, - "nodeType": "IfStatement", - "src": "17269:152:0", - "trueBody": { - "id": 1040, - "nodeType": "Block", - "src": "17287:134:0", - "statements": [ - { - "assignments": [ - 1023 - ], - "declarations": [ - { - "constant": false, - "id": 1023, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17301:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1022, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17301:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1029, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1025, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17325:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1026, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17329:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17325:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1024, - "name": "floorLog2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1155, - "src": "17315:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17315:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17301:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1030, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17351:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 1031, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "17357:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17351:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1033, - "nodeType": "ExpressionStatement", - "src": "17351:11:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1034, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17389:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1035, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "17395:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1036, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17403:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17395:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17389:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1039, - "nodeType": "ExpressionStatement", - "src": "17389:21:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17526:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 1043, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1085, - "nodeType": "IfStatement", - "src": "17522:297:0", - "trueBody": { - "id": 1084, - "nodeType": "Block", - "src": "17539:280:0", - "statements": [ - { - "body": { - "id": 1082, - "nodeType": "Block", - "src": "17595:214:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1055, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17613:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1056, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17618:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1057, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17622:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17618:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1059, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17617:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1060, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17627:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17617:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17613:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1063, - "nodeType": "ExpressionStatement", - "src": "17613:21:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1064, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17673:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1065, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "17678:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17673:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1081, - "nodeType": "IfStatement", - "src": "17669:126:0", - "trueBody": { - "id": 1080, - "nodeType": "Block", - "src": "17687:108:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1067, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17709:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17715:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17709:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1070, - "nodeType": "ExpressionStatement", - "src": "17709:7:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1071, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17755:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1072, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "17762:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1073, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17770:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17774:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1076, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17762:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17755:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1079, - "nodeType": "ExpressionStatement", - "src": "17755:21:0" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1049, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17583:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17587:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17583:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1083, - "initializationExpression": { - "assignments": [ - 1046 - ], - "declarations": [ - { - "constant": false, - "id": 1046, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17558:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1045, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17558:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1048, - "initialValue": { - "argumentTypes": null, - "id": 1047, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "17568:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17558:23:0" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "17590:3:0", - "subExpression": { - "argumentTypes": null, - "id": 1052, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17592:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1054, - "nodeType": "ExpressionStatement", - "src": "17590:3:0" - }, - "nodeType": "ForStatement", - "src": "17553:256:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1086, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17836:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1087, - "name": "LN2_NUMERATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "17842:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1089, - "name": "LN2_DENOMINATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "17858:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1014, - "id": 1091, - "nodeType": "Return", - "src": "17829:44:0" - } - ] - }, - "documentation": "Compute log(x / FIXED_1) * FIXED_1.\nThis functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.", - "id": 1093, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1010, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17099:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17098:11:0" - }, - "payable": false, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1013, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17133:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17133:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17132:9:0" - }, - "scope": 2461, - "src": "17079:801:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1154, - "nodeType": "Block", - "src": "18058:460:0", - "statements": [ - { - "assignments": [ - 1101 - ], - "declarations": [ - { - "constant": false, - "id": 1101, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18068:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18068:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1103, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18080:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18068:13:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1104, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18096:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18101:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "18096:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1150, - "nodeType": "Block", - "src": "18262:229:0", - "statements": [ - { - "body": { - "id": 1148, - "nodeType": "Block", - "src": "18348:133:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1132, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18370:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1133, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "18377:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 1134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18384:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1136, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18376:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18370:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1147, - "nodeType": "IfStatement", - "src": "18366:101:0", - "trueBody": { - "id": 1146, - "nodeType": "Block", - "src": "18388:79:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18410:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 1139, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18417:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18410:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1141, - "nodeType": "ExpressionStatement", - "src": "18410:8:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1142, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18440:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "argumentTypes": null, - "id": 1143, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18447:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18440:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "18440:8:0" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1125, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18332:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18336:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18332:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1149, - "initializationExpression": { - "assignments": [ - 1122 - ], - "declarations": [ - { - "constant": false, - "id": 1122, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18317:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1121, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18317:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1124, - "initialValue": { - "argumentTypes": null, - "hexValue": "313238", - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18327:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18317:13:0" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1128, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18339:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18345:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18339:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1131, - "nodeType": "ExpressionStatement", - "src": "18339:7:0" - }, - "nodeType": "ForStatement", - "src": "18312:169:0" - } - ] - }, - "id": 1151, - "nodeType": "IfStatement", - "src": "18092:399:0", - "trueBody": { - "id": 1120, - "nodeType": "Block", - "src": "18106:142:0", - "statements": [ - { - "body": { - "id": 1118, - "nodeType": "Block", - "src": "18171:67:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1110, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18189:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18196:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18189:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "nodeType": "ExpressionStatement", - "src": "18189:8:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1114, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18215:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18222:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18215:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1117, - "nodeType": "ExpressionStatement", - "src": "18215:8:0" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1107, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18163:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18168:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1119, - "nodeType": "WhileStatement", - "src": "18156:82:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1152, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18508:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1099, - "id": 1153, - "nodeType": "Return", - "src": "18501:10:0" - } - ] - }, - "documentation": "Compute the largest integer smaller than or equal to the binary logarithm of the input.", - "id": 1155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "floorLog2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1095, - "name": "_n", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18016:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:12:0" - }, - "payable": false, - "returnParameters": { - "id": 1099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1098, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18051:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1097, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18051:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18050:7:0" - }, - "scope": 2461, - "src": "17997:521:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1222, - "nodeType": "Block", - "src": "18956:424:0", - "statements": [ - { - "assignments": [ - 1163 - ], - "declarations": [ - { - "constant": false, - "id": 1163, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18966:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1162, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18966:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1165, - "initialValue": { - "argumentTypes": null, - "id": 1164, - "name": "MIN_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "18977:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18966:24:0" - }, - { - "assignments": [ - 1167 - ], - "declarations": [ - { - "constant": false, - "id": 1167, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "19000:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1166, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19000:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1169, - "initialValue": { - "argumentTypes": null, - "id": 1168, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "19011:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19000:24:0" - }, - { - "body": { - "id": 1198, - "nodeType": "Block", - "src": "19055:159:0", - "statements": [ - { - "assignments": [ - 1176 - ], - "declarations": [ - { - "constant": false, - "id": 1176, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "19069:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1175, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19069:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1183, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1177, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19082:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1178, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19087:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19082:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1180, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19081:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19093:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "19081:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19069:25:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1184, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19112:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1186, - "indexExpression": { - "argumentTypes": null, - "id": 1185, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19124:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19112:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1187, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19132:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19112:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1193, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19195:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1194, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19200:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19195:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1196, - "nodeType": "ExpressionStatement", - "src": "19195:8:0" - }, - "id": 1197, - "nodeType": "IfStatement", - "src": "19108:95:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1189, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19152:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1190, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19157:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19152:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1192, - "nodeType": "ExpressionStatement", - "src": "19152:8:0" - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1170, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19042:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19047:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19042:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1173, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19051:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19042:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1199, - "nodeType": "WhileStatement", - "src": "19035:179:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1200, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19228:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1202, - "indexExpression": { - "argumentTypes": null, - "id": 1201, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19240:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19228:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1203, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19247:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1207, - "nodeType": "IfStatement", - "src": "19224:48:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1205, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19270:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1161, - "id": 1206, - "nodeType": "Return", - "src": "19263:9:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1208, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19286:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1210, - "indexExpression": { - "argumentTypes": null, - "id": 1209, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19298:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19286:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1211, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19305:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19286:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1215, - "nodeType": "IfStatement", - "src": "19282:48:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1213, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19328:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1161, - "id": 1214, - "nodeType": "Return", - "src": "19321:9:0" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19349:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "19341:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19341:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1219, - "nodeType": "ExpressionStatement", - "src": "19341:14:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19372:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1161, - "id": 1221, - "nodeType": "Return", - "src": "19365:8:0" - } - ] - }, - "documentation": "The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n- This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n- This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]", - "id": 1223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "findPositionInMaxExpArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1157, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18914:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18913:12:0" - }, - "payable": false, - "returnParameters": { - "id": 1161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1160, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18949:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1159, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:7:0" - }, - "scope": 2461, - "src": "18879:501:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1731, - "nodeType": "Block", - "src": "20020:3744:0", - "statements": [ - { - "assignments": [ - 1233 - ], - "declarations": [ - { - "constant": false, - "id": 1233, - "name": "xi", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20030:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1235, - "initialValue": { - "argumentTypes": null, - "id": 1234, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20043:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20030:15:0" - }, - { - "assignments": [ - 1237 - ], - "declarations": [ - { - "constant": false, - "id": 1237, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20055:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20055:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1239, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20069:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20055:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1240, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20081:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1241, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20087:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1242, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20092:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20087:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1244, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20086:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1245, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20099:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20086:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20081:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1248, - "nodeType": "ExpressionStatement", - "src": "20081:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1249, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20111:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1250, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20118:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307833343432633465363037346138326631373937663732616330303030303030", - "id": 1251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20123:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4341658809405943247759097200640000000_by_1", - "typeString": "int_const 4341...(29 digits omitted)...0000" - }, - "value": "0x3442c4e6074a82f1797f72ac0000000" - }, - "src": "20118:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20111:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1254, - "nodeType": "ExpressionStatement", - "src": "20111:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1255, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20192:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1256, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20198:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1257, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20203:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20198:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1259, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20197:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1260, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20210:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20197:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20192:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1263, - "nodeType": "ExpressionStatement", - "src": "20192:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1264, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20222:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1265, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20229:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831313662393666373537633338306662323837666430653430303030303030", - "id": 1266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20234:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1447219603135314415919699066880000000_by_1", - "typeString": "int_const 1447...(29 digits omitted)...0000" - }, - "value": "0x116b96f757c380fb287fd0e40000000" - }, - "src": "20229:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20222:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1269, - "nodeType": "ExpressionStatement", - "src": "20222:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1270, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20303:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1271, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20309:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1272, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20314:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1274, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20308:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1275, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20321:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20308:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20303:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1278, - "nodeType": "ExpressionStatement", - "src": "20303:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1279, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20333:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1280, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20340:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830343561653562646435663065303365636131666634333930303030303030", - "id": 1281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20345:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_361804900783828603979924766720000000_by_1", - "typeString": "int_const 3618...(28 digits omitted)...0000" - }, - "value": "0x045ae5bdd5f0e03eca1ff4390000000" - }, - "src": "20340:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20333:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1284, - "nodeType": "ExpressionStatement", - "src": "20333:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1285, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20414:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1286, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20420:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1287, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20425:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1289, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20419:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1290, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20432:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20419:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20414:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "20414:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1294, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20444:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1295, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20451:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830306465666162663931333032636439356239666664613530303030303030", - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20456:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72360980156765720795984953344000000_by_1", - "typeString": "int_const 7236...(27 digits omitted)...0000" - }, - "value": "0x00defabf91302cd95b9ffda50000000" - }, - "src": "20451:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20444:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1299, - "nodeType": "ExpressionStatement", - "src": "20444:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1300, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20525:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1301, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20531:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1302, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20536:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20531:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20530:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1305, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20543:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20530:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20525:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1308, - "nodeType": "ExpressionStatement", - "src": "20525:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1309, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20555:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1310, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20562:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303235323963613938333262323234333965666666396238303030303030", - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20567:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12060163359460953465997492224000000_by_1", - "typeString": "int_const 1206...(27 digits omitted)...0000" - }, - "value": "0x002529ca9832b22439efff9b8000000" - }, - "src": "20562:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20555:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1314, - "nodeType": "ExpressionStatement", - "src": "20555:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1315, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20636:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1316, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20642:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1317, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20647:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1319, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20641:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1320, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20654:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20641:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20636:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1323, - "nodeType": "ExpressionStatement", - "src": "20636:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1324, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20666:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1325, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20673:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303035346631636631326264303465353136623664613838303030303030", - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20678:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1722880479922993352285356032000000_by_1", - "typeString": "int_const 1722...(26 digits omitted)...0000" - }, - "value": "0x00054f1cf12bd04e516b6da88000000" - }, - "src": "20673:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20666:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1329, - "nodeType": "ExpressionStatement", - "src": "20666:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1330, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20747:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1331, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20753:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1332, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20758:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20753:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20752:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1335, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20765:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20752:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1338, - "nodeType": "ExpressionStatement", - "src": "20747:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1339, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20777:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1340, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20784:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030613965333965323537613039636132643664623531303030303030", - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20789:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_215360059990374169035669504000000_by_1", - "typeString": "int_const 2153...(25 digits omitted)...0000" - }, - "value": "0x0000a9e39e257a09ca2d6db51000000" - }, - "src": "20784:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20777:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1344, - "nodeType": "ExpressionStatement", - "src": "20777:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1345, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20858:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1346, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20864:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1347, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20869:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20864:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1349, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20863:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1350, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20876:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20863:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20858:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1353, - "nodeType": "ExpressionStatement", - "src": "20858:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1354, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20888:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1355, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20895:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030313265303636653762383339666130353063333039303030303030", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20900:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_23928895554486018781741056000000_by_1", - "typeString": "int_const 23928895554486018781741056000000" - }, - "value": "0x000012e066e7b839fa050c309000000" - }, - "src": "20895:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20888:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "20888:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1360, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20969:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1361, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20975:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1362, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20980:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1364, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1365, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20987:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20974:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20969:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "20969:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1369, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20999:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1370, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21006:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303165333364376439323663333239613161643161383030303030", - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21011:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2392889555448601878174105600000_by_1", - "typeString": "int_const 2392889555448601878174105600000" - }, - "value": "0x000001e33d7d926c329a1ad1a800000" - }, - "src": "21006:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20999:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1374, - "nodeType": "ExpressionStatement", - "src": "20999:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1375, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21080:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1376, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21086:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1377, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21091:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21086:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1379, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21085:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1380, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21098:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21085:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21080:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1383, - "nodeType": "ExpressionStatement", - "src": "21080:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1384, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21110:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1385, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21117:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303032626565353133626462346136623139623566383030303030", - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21122:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_217535414131691079834009600000_by_1", - "typeString": "int_const 217535414131691079834009600000" - }, - "value": "0x0000002bee513bdb4a6b19b5f800000" - }, - "src": "21117:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21110:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1389, - "nodeType": "ExpressionStatement", - "src": "21110:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1390, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21191:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1391, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21197:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1392, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21202:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21197:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1394, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21196:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1395, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21196:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21191:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1398, - "nodeType": "ExpressionStatement", - "src": "21191:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1399, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21221:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1400, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21228:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030336139333136666137396238386563636632613030303030", - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21233:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18127951177640923319500800000_by_1", - "typeString": "int_const 18127951177640923319500800000" - }, - "value": "0x00000003a9316fa79b88eccf2a00000" - }, - "src": "21228:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21221:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1404, - "nodeType": "ExpressionStatement", - "src": "21221:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1405, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21302:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1406, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21308:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1407, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21313:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21308:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1409, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21307:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1410, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21320:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21307:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21302:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1413, - "nodeType": "ExpressionStatement", - "src": "21302:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1414, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21332:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1415, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21339:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303438313737656265316661383132333735323030303030", - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21344:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1394457782895455639961600000_by_1", - "typeString": "int_const 1394457782895455639961600000" - }, - "value": "0x0000000048177ebe1fa812375200000" - }, - "src": "21339:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21332:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1419, - "nodeType": "ExpressionStatement", - "src": "21332:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1420, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21413:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1421, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21419:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1422, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21424:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21419:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1424, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21418:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1425, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21431:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21418:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21413:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1428, - "nodeType": "ExpressionStatement", - "src": "21413:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1429, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21443:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1430, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21450:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303035323633666539303234326463626163663030303030", - "id": 1431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21455:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99604127349675402854400000_by_1", - "typeString": "int_const 99604127349675402854400000" - }, - "value": "0x0000000005263fe90242dcbacf00000" - }, - "src": "21450:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21443:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1434, - "nodeType": "ExpressionStatement", - "src": "21443:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1435, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21524:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1436, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21530:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1437, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21535:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1439, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21529:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1440, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21542:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21529:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21524:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1443, - "nodeType": "ExpressionStatement", - "src": "21524:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1444, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21554:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1445, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21561:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030353765323230393963303330643934313030303030", - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21566:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6640275156645026856960000_by_1", - "typeString": "int_const 6640275156645026856960000" - }, - "value": "0x000000000057e22099c030d94100000" - }, - "src": "21561:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21554:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1449, - "nodeType": "ExpressionStatement", - "src": "21554:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1450, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21635:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1451, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21641:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1452, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21646:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21641:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1454, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21640:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1455, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21653:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21640:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21635:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1458, - "nodeType": "ExpressionStatement", - "src": "21635:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1459, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21665:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1460, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21672:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303537653232303939633033306439343130303030", - "id": 1461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21677:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_415017197290314178560000_by_1", - "typeString": "int_const 415017197290314178560000" - }, - "value": "0x0000000000057e22099c030d9410000" - }, - "src": "21672:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21665:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1464, - "nodeType": "ExpressionStatement", - "src": "21665:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1465, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21746:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1466, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21752:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1467, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21757:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21752:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1469, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21751:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1470, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21764:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21751:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21746:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1473, - "nodeType": "ExpressionStatement", - "src": "21746:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1474, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21776:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1475, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21783:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303035326236623534353639393736333130303030", - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24412776311194951680000_by_1", - "typeString": "int_const 24412776311194951680000" - }, - "value": "0x00000000000052b6b54569976310000" - }, - "src": "21783:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21776:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1479, - "nodeType": "ExpressionStatement", - "src": "21776:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1480, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21857:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1481, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21863:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1482, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21868:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21863:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21862:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1485, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21875:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21862:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21857:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1488, - "nodeType": "ExpressionStatement", - "src": "21857:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1489, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21887:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1490, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21894:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030343938356636373639366266373438303030", - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21899:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1356265350621941760000_by_1", - "typeString": "int_const 1356265350621941760000" - }, - "value": "0x00000000000004985f67696bf748000" - }, - "src": "21894:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21887:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1494, - "nodeType": "ExpressionStatement", - "src": "21887:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1495, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21968:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1496, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21974:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1497, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21979:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21974:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1499, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21973:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1500, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21986:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21973:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21968:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "21968:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1504, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21998:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1505, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22005:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303364656131326561393965343938303030", - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22010:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71382386874839040000_by_1", - "typeString": "int_const 71382386874839040000" - }, - "value": "0x000000000000003dea12ea99e498000" - }, - "src": "22005:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21998:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1509, - "nodeType": "ExpressionStatement", - "src": "21998:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1510, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22079:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1511, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22085:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1512, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22090:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22084:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1515, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22097:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22084:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22079:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1518, - "nodeType": "ExpressionStatement", - "src": "22079:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1519, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22109:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1520, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22116:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303033313838306632323134623665303030", - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22121:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3569119343741952000_by_1", - "typeString": "int_const 3569119343741952000" - }, - "value": "0x00000000000000031880f2214b6e000" - }, - "src": "22116:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22109:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1524, - "nodeType": "ExpressionStatement", - "src": "22109:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1525, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22190:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1526, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22196:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1527, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22201:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22196:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1529, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22195:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1530, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22208:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22195:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22190:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1533, - "nodeType": "ExpressionStatement", - "src": "22190:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1534, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22220:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1535, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22227:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030323562636666353665623336303030", - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22232:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_169958063987712000_by_1", - "typeString": "int_const 169958063987712000" - }, - "value": "0x000000000000000025bcff56eb36000" - }, - "src": "22227:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22220:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1539, - "nodeType": "ExpressionStatement", - "src": "22220:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1540, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22301:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1541, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22307:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1542, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22312:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22307:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1544, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22306:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1545, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22319:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22306:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22301:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "22301:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1549, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1550, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22338:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303162373232653130616231303030", - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22343:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7725366544896000_by_1", - "typeString": "int_const 7725366544896000" - }, - "value": "0x000000000000000001b722e10ab1000" - }, - "src": "22338:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22331:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1554, - "nodeType": "ExpressionStatement", - "src": "22331:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1555, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22412:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1556, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22418:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1557, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22423:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22418:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22417:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1560, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22430:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22417:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22412:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1563, - "nodeType": "ExpressionStatement", - "src": "22412:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1564, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22442:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1565, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22449:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303031333137633730303737303030", - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22454:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_335885501952000_by_1", - "typeString": "int_const 335885501952000" - }, - "value": "0x0000000000000000001317c70077000" - }, - "src": "22449:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22442:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1569, - "nodeType": "ExpressionStatement", - "src": "22442:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1570, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22523:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1571, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22529:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1572, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22534:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22529:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1574, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22528:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1575, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22541:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22528:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22523:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1578, - "nodeType": "ExpressionStatement", - "src": "22523:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1579, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22553:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1580, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22560:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030306362613834616166613030", - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22565:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13995229248000_by_1", - "typeString": "int_const 13995229248000" - }, - "value": "0x00000000000000000000cba84aafa00" - }, - "src": "22560:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22553:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1584, - "nodeType": "ExpressionStatement", - "src": "22553:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1585, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22634:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1586, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22640:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1587, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22645:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22640:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1589, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22639:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1590, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22652:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22639:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22634:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1593, - "nodeType": "ExpressionStatement", - "src": "22634:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1594, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22664:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1595, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22671:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303038323537336130613030", - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22676:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_559809169920_by_1", - "typeString": "int_const 559809169920" - }, - "value": "0x00000000000000000000082573a0a00" - }, - "src": "22671:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22664:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1599, - "nodeType": "ExpressionStatement", - "src": "22664:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1600, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22745:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1601, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22751:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1602, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22756:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22751:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1604, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1605, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22763:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22750:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22745:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1608, - "nodeType": "ExpressionStatement", - "src": "22745:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1609, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22775:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1610, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22782:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030353033356164393030", - "id": 1611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22787:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21531121920_by_1", - "typeString": "int_const 21531121920" - }, - "value": "0x00000000000000000000005035ad900" - }, - "src": "22782:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22775:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "22775:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1615, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22856:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1616, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22862:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1617, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22867:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22862:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1619, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22861:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1620, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22874:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22861:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22856:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1623, - "nodeType": "ExpressionStatement", - "src": "22856:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22886:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1625, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22893:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303266383831623030", - "id": 1626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22898:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_797448960_by_1", - "typeString": "int_const 797448960" - }, - "value": "0x000000000000000000000002f881b00" - }, - "src": "22893:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22886:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1629, - "nodeType": "ExpressionStatement", - "src": "22886:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1630, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1631, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22973:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1632, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22978:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22973:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1634, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22972:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1635, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22985:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22972:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22967:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1638, - "nodeType": "ExpressionStatement", - "src": "22967:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1639, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22997:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1640, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23004:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303031623239333430", - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23009:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28480320_by_1", - "typeString": "int_const 28480320" - }, - "value": "0x0000000000000000000000001b29340" - }, - "src": "23004:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22997:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1644, - "nodeType": "ExpressionStatement", - "src": "22997:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1645, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23078:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1646, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23084:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1647, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23089:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1649, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23083:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1650, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23096:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23083:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23078:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1653, - "nodeType": "ExpressionStatement", - "src": "23078:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1654, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23108:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1655, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23115:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030306566633430", - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23120:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_982080_by_1", - "typeString": "int_const 982080" - }, - "value": "0x00000000000000000000000000efc40" - }, - "src": "23115:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23108:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1659, - "nodeType": "ExpressionStatement", - "src": "23108:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1660, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23189:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1661, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23195:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1662, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23200:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23195:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1664, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23194:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1665, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23207:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23194:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23189:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1668, - "nodeType": "ExpressionStatement", - "src": "23189:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1669, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23219:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1670, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23226:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303037666530", - "id": 1671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23231:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32736_by_1", - "typeString": "int_const 32736" - }, - "value": "0x0000000000000000000000000007fe0" - }, - "src": "23226:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23219:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "23219:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1675, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23300:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1676, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23306:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1677, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23311:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23306:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1679, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23305:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1680, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23318:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23305:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23300:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1683, - "nodeType": "ExpressionStatement", - "src": "23300:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1684, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23330:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1685, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23337:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030343230", - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23342:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1056_by_1", - "typeString": "int_const 1056" - }, - "value": "0x0000000000000000000000000000420" - }, - "src": "23337:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23330:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1689, - "nodeType": "ExpressionStatement", - "src": "23330:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1690, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23411:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1691, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23417:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1692, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23422:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23417:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23416:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1695, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23416:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23411:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1698, - "nodeType": "ExpressionStatement", - "src": "23411:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1699, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23441:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1700, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23448:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303231", - "id": 1701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23453:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "0x0000000000000000000000000000021" - }, - "src": "23448:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23441:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1704, - "nodeType": "ExpressionStatement", - "src": "23441:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1705, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23522:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1706, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23528:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1707, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23533:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23528:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1709, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23527:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1710, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23540:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23527:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23522:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "23522:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1714, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23552:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1715, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23559:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303031", - "id": 1716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23564:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000000000000000000001" - }, - "src": "23559:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23552:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1719, - "nodeType": "ExpressionStatement", - "src": "23552:45:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1720, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23641:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307836383835383963633065393530356532663266656535353830303030303030", - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23647:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8683317618811886495518194401280000000_by_1", - "typeString": "int_const 8683...(29 digits omitted)...0000" - }, - "value": "0x688589cc0e9505e2f2fee5580000000" - }, - "src": "23641:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1723, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23683:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1725, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "23689:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 1726, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23696:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23689:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1728, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23688:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:66:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1231, - "id": 1730, - "nodeType": "Return", - "src": "23634:73:0" - } - ] - }, - "documentation": "This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\nIt approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\nIt returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\nThe global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\nThe maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".", - "id": 1732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1225, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "19958:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19958:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1227, - "name": "_precision", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "19970:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1226, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19970:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19957:30:0" - }, - "payable": false, - "returnParameters": { - "id": 1231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20011:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20011:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20010:9:0" - }, - "scope": 2461, - "src": "19938:3826:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2050, - "nodeType": "Block", - "src": "24549:2707:0", - "statements": [ - { - "assignments": [ - 1740 - ], - "declarations": [ - { - "constant": false, - "id": 1740, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24559:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24559:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1742, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24573:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24559:15:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1744, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24585:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24585:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1745, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24585:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1747, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24604:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1748, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24604:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1750, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24623:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24623:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1751, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24623:9:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1752, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24647:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 1753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24652:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24647:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1768, - "nodeType": "IfStatement", - "src": "24643:143:0", - "trueBody": { - "id": 1767, - "nodeType": "Block", - "src": "24688:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1755, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "24689:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783430303030303030303030303030303030303030303030303030303030303030", - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24696:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x40000000000000000000000000000000" - }, - "src": "24689:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1758, - "nodeType": "ExpressionStatement", - "src": "24689:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1759, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24732:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1760, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24736:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1761, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "24740:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 1763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24750:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24736:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24732:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "24732:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1769, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24814:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24819:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24814:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1785, - "nodeType": "IfStatement", - "src": "24810:143:0", - "trueBody": { - "id": 1784, - "nodeType": "Block", - "src": "24855:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1772, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "24856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783230303030303030303030303030303030303030303030303030303030303030", - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24863:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x20000000000000000000000000000000" - }, - "src": "24856:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1775, - "nodeType": "ExpressionStatement", - "src": "24856:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1776, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24899:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1777, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24903:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1778, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "24907:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24903:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24917:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24903:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24899:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1783, - "nodeType": "ExpressionStatement", - "src": "24899:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1786, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24981:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 1787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24986:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "24981:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1802, - "nodeType": "IfStatement", - "src": "24977:143:0", - "trueBody": { - "id": 1801, - "nodeType": "Block", - "src": "25022:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1789, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25023:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 1790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25030:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "25023:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1792, - "nodeType": "ExpressionStatement", - "src": "25023:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1793, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25066:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1794, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25070:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1795, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25074:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25070:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 1797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "25070:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25066:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1800, - "nodeType": "ExpressionStatement", - "src": "25066:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1803, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25148:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 1804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25153:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25148:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1819, - "nodeType": "IfStatement", - "src": "25144:143:0", - "trueBody": { - "id": 1818, - "nodeType": "Block", - "src": "25189:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1806, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783038303030303030303030303030303030303030303030303030303030303030", - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25197:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10633823966279326983230456482242756608_by_1", - "typeString": "int_const 1063...(30 digits omitted)...6608" - }, - "value": "0x08000000000000000000000000000000" - }, - "src": "25190:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1809, - "nodeType": "ExpressionStatement", - "src": "25190:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1810, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25233:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1811, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25237:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1812, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25241:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25237:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25251:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25237:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25233:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1817, - "nodeType": "ExpressionStatement", - "src": "25233:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1820, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25315:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 1821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25320:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25315:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1836, - "nodeType": "IfStatement", - "src": "25311:143:0", - "trueBody": { - "id": 1835, - "nodeType": "Block", - "src": "25356:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1823, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25357:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783034303030303030303030303030303030303030303030303030303030303030", - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25364:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5316911983139663491615228241121378304_by_1", - "typeString": "int_const 5316...(29 digits omitted)...8304" - }, - "value": "0x04000000000000000000000000000000" - }, - "src": "25357:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1826, - "nodeType": "ExpressionStatement", - "src": "25357:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1827, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25400:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1828, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25404:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1829, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25408:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25404:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25418:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25404:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25400:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1834, - "nodeType": "ExpressionStatement", - "src": "25400:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1837, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25482:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25487:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25482:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1853, - "nodeType": "IfStatement", - "src": "25478:143:0", - "trueBody": { - "id": 1852, - "nodeType": "Block", - "src": "25523:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1840, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25524:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783032303030303030303030303030303030303030303030303030303030303030", - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25531:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2658455991569831745807614120560689152_by_1", - "typeString": "int_const 2658...(29 digits omitted)...9152" - }, - "value": "0x02000000000000000000000000000000" - }, - "src": "25524:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1843, - "nodeType": "ExpressionStatement", - "src": "25524:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1844, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25567:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1845, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25571:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1846, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25571:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25585:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25571:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25567:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1851, - "nodeType": "ExpressionStatement", - "src": "25567:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1854, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25649:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25654:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25649:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1870, - "nodeType": "IfStatement", - "src": "25645:143:0", - "trueBody": { - "id": 1869, - "nodeType": "Block", - "src": "25690:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1857, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25691:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783031303030303030303030303030303030303030303030303030303030303030", - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25698:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1329227995784915872903807060280344576_by_1", - "typeString": "int_const 1329...(29 digits omitted)...4576" - }, - "value": "0x01000000000000000000000000000000" - }, - "src": "25691:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1860, - "nodeType": "ExpressionStatement", - "src": "25691:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1861, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1862, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25738:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1863, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25738:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 1865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25752:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25738:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25734:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1868, - "nodeType": "ExpressionStatement", - "src": "25734:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1871, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25816:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 1872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25821:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25816:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1887, - "nodeType": "IfStatement", - "src": "25812:143:0", - "trueBody": { - "id": 1886, - "nodeType": "Block", - "src": "25857:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1874, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25858:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783030383030303030303030303030303030303030303030303030303030303030", - "id": 1875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25865:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_664613997892457936451903530140172288_by_1", - "typeString": "int_const 6646...(28 digits omitted)...2288" - }, - "value": "0x00800000000000000000000000000000" - }, - "src": "25858:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1877, - "nodeType": "ExpressionStatement", - "src": "25858:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1878, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25901:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1879, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25905:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1880, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25909:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25905:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 1882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25919:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25905:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25901:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1885, - "nodeType": "ExpressionStatement", - "src": "25901:52:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1888, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "25980:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1889, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "25984:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1890, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1891, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25988:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25984:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25980:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1895, - "nodeType": "ExpressionStatement", - "src": "25980:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1896, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26009:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1897, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26013:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1898, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26017:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1900, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26021:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26009:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1903, - "nodeType": "ExpressionStatement", - "src": "26009:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1904, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26038:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1905, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26045:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 1906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26050:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1907, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26088:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26050:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1909, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26049:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26045:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26093:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "26045:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26038:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1914, - "nodeType": "ExpressionStatement", - "src": "26038:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1915, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26130:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1916, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26134:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1917, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26138:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1919, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26130:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1922, - "nodeType": "ExpressionStatement", - "src": "26130:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1923, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26188:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1924, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26195:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078306161616161616161616161616161616161616161616161616161616161616161", - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26200:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_226854911280625642308916404954512140970_by_1", - "typeString": "int_const 2268...(31 digits omitted)...0970" - }, - "value": "0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1926, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26238:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26200:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1928, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26199:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26195:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 1930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26243:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "26195:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26188:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1933, - "nodeType": "ExpressionStatement", - "src": "26188:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1934, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26280:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1935, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26284:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1936, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26288:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1938, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26292:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26280:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1941, - "nodeType": "ExpressionStatement", - "src": "26280:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1942, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26338:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1943, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26345:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303939393939393939393939393939393939393939393939393939393939393939", - "id": 1944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26350:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204169420152563078078024764459060926873_by_1", - "typeString": "int_const 2041...(31 digits omitted)...6873" - }, - "value": "0x099999999999999999999999999999999" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1945, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26388:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26350:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1947, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26349:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26345:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078333030303030303030303030303030303030303030303030303030303030303030", - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26393:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1020847100762815390390123822295304634368_by_1", - "typeString": "int_const 1020...(32 digits omitted)...4368" - }, - "value": "0x300000000000000000000000000000000" - }, - "src": "26345:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26338:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1952, - "nodeType": "ExpressionStatement", - "src": "26338:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1953, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26430:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1954, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26434:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1955, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26438:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1957, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26430:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "26430:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1961, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26488:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1962, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26495:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303932343932343932343932343932343932343932343932343932343932343932", - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26500:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_194447066811964836264785489961010406546_by_1", - "typeString": "int_const 1944...(31 digits omitted)...6546" - }, - "value": "0x092492492492492492492492492492492" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1964, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26538:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26500:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1966, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26499:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26495:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26543:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "26495:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26488:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1971, - "nodeType": "ExpressionStatement", - "src": "26488:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1972, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26580:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1973, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26584:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1974, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26588:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1976, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26592:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26580:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1979, - "nodeType": "ExpressionStatement", - "src": "26580:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1980, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26638:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1981, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26645:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303865333865333865333865333865333865333865333865333865333865333865", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26650:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_189045759400521368590763670795426784142_by_1", - "typeString": "int_const 1890...(31 digits omitted)...4142" - }, - "value": "0x08e38e38e38e38e38e38e38e38e38e38e" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1983, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26688:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26650:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26649:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26645:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078353030303030303030303030303030303030303030303030303030303030303030", - "id": 1987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26693:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1701411834604692317316873037158841057280_by_1", - "typeString": "int_const 1701...(32 digits omitted)...7280" - }, - "value": "0x500000000000000000000000000000000" - }, - "src": "26645:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26638:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1990, - "nodeType": "ExpressionStatement", - "src": "26638:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1991, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26730:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1992, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1993, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26738:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1995, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26730:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1998, - "nodeType": "ExpressionStatement", - "src": "26730:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1999, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2000, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26795:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303862613265386261326538626132653862613265386261326538626132653862", - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26800:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185608563775057343707295240417328115339_by_1", - "typeString": "int_const 1856...(31 digits omitted)...5339" - }, - "value": "0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2002, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26838:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26800:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2004, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26799:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26795:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078363030303030303030303030303030303030303030303030303030303030303030", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26843:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2041694201525630780780247644590609268736_by_1", - "typeString": "int_const 2041...(32 digits omitted)...8736" - }, - "value": "0x600000000000000000000000000000000" - }, - "src": "26795:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26788:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2009, - "nodeType": "ExpressionStatement", - "src": "26788:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2010, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26880:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2011, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26884:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2012, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26888:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2014, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26892:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26880:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2017, - "nodeType": "ExpressionStatement", - "src": "26880:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2018, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26938:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2019, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26945:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303839643839643839643839643839643839643839643839643839643839643839", - "id": 2020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_183228966803582249557201711694029036937_by_1", - "typeString": "int_const 1832...(31 digits omitted)...6937" - }, - "value": "0x089d89d89d89d89d89d89d89d89d89d89" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2021, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26950:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2023, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26949:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26945:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078373030303030303030303030303030303030303030303030303030303030303030", - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26993:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2381976568446569244243622252022377480192_by_1", - "typeString": "int_const 2381...(32 digits omitted)...0192" - }, - "value": "0x700000000000000000000000000000000" - }, - "src": "26945:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26938:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2028, - "nodeType": "ExpressionStatement", - "src": "26938:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2029, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27030:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2030, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27034:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2031, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "27038:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2033, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "27042:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27030:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2036, - "nodeType": "ExpressionStatement", - "src": "27030:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2037, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "27088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2038, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27095:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303838383838383838383838383838383838383838383838383838383838383838", - "id": 2039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27100:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181483929024500513847133123963609712776_by_1", - "typeString": "int_const 1814...(31 digits omitted)...2776" - }, - "value": "0x088888888888888888888888888888888" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2040, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "27138:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27100:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2042, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27099:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27095:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27143:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "src": "27095:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27088:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2047, - "nodeType": "ExpressionStatement", - "src": "27088:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2048, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "27246:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1738, - "id": 2049, - "nodeType": "Return", - "src": "27239:10:0" - } - ] - }, - "documentation": "Return log(x / FIXED_1) * FIXED_1\nInput range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalLog.py'\nDetailed description:\n- Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n- The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n- The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n- The natural logarithm of the input is calculated by summing up the intermediate results above\n- For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)", - "id": 2051, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1734, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24506:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24505:11:0" - }, - "payable": false, - "returnParameters": { - "id": 1738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1737, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24540:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24540:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24539:9:0" - }, - "scope": 2461, - "src": "24486:2770:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2459, - "nodeType": "Block", - "src": "27996:3116:0", - "statements": [ - { - "assignments": [ - 2059 - ], - "declarations": [ - { - "constant": false, - "id": 2059, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28006:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28006:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2061, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28020:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28006:15:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2063, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28032:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28032:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2064, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28032:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2066, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28051:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28051:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2067, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28051:9:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2068, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28071:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2069, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28075:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2070, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "28079:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "28079:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28075:42:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28071:46:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2075, - "nodeType": "ExpressionStatement", - "src": "28071:46:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2076, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28158:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2077, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28162:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2078, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28166:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2080, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28170:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28158:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2083, - "nodeType": "ExpressionStatement", - "src": "28158:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2084, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28179:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2085, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28186:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831306531623362653431356130303030", - "id": 2086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28190:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1216451004088320000_by_1", - "typeString": "int_const 1216451004088320000" - }, - "value": "0x10e1b3be415a0000" - }, - "src": "28186:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28179:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2089, - "nodeType": "ExpressionStatement", - "src": "28179:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2090, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28244:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2091, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28248:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2092, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28252:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2094, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28256:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28244:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "nodeType": "ExpressionStatement", - "src": "28244:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2098, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28265:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2099, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28272:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830356130393133663662316530303030", - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28276:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_405483668029440000_by_1", - "typeString": "int_const 405483668029440000" - }, - "value": "0x05a0913f6b1e0000" - }, - "src": "28272:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28265:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "28265:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2104, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28330:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2105, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28334:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2106, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28338:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2108, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28330:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2111, - "nodeType": "ExpressionStatement", - "src": "28330:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2112, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28351:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2113, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28358:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830313638323434666461633738303030", - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28362:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101370917007360000_by_1", - "typeString": "int_const 101370917007360000" - }, - "value": "0x0168244fdac78000" - }, - "src": "28358:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28351:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2117, - "nodeType": "ExpressionStatement", - "src": "28351:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2118, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2119, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28420:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2120, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28424:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2122, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28416:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2125, - "nodeType": "ExpressionStatement", - "src": "28416:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2126, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28437:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2127, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28444:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303438303734333262633138303030", - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28448:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20274183401472000_by_1", - "typeString": "int_const 20274183401472000" - }, - "value": "0x004807432bc18000" - }, - "src": "28444:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28437:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2131, - "nodeType": "ExpressionStatement", - "src": "28437:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2132, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28502:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2133, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28506:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2134, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28510:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2136, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28514:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28502:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "28502:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2140, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28523:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2141, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28530:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303063303133356463613034303030", - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28534:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3379030566912000_by_1", - "typeString": "int_const 3379030566912000" - }, - "value": "0x000c0135dca04000" - }, - "src": "28530:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28523:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2145, - "nodeType": "ExpressionStatement", - "src": "28523:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2146, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28588:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2147, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28592:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2148, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28596:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2150, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28600:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28588:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2153, - "nodeType": "ExpressionStatement", - "src": "28588:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2154, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28609:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2155, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28616:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303031623730376231636463303030", - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28620:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_482718652416000_by_1", - "typeString": "int_const 482718652416000" - }, - "value": "0x0001b707b1cdc000" - }, - "src": "28616:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28609:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2159, - "nodeType": "ExpressionStatement", - "src": "28609:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2160, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28674:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2161, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28678:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2162, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28682:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2164, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28686:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28674:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "nodeType": "ExpressionStatement", - "src": "28674:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2168, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28695:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2169, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28702:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030333665306636333962383030", - "id": 2170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28706:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60339831552000_by_1", - "typeString": "int_const 60339831552000" - }, - "value": "0x000036e0f639b800" - }, - "src": "28702:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28695:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2173, - "nodeType": "ExpressionStatement", - "src": "28695:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2174, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28760:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2175, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28764:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2176, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28768:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2178, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28772:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28760:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2181, - "nodeType": "ExpressionStatement", - "src": "28760:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2182, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28781:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2183, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28788:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303631386665653966383030", - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28792:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6704425728000_by_1", - "typeString": "int_const 6704425728000" - }, - "value": "0x00000618fee9f800" - }, - "src": "28788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28781:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2187, - "nodeType": "ExpressionStatement", - "src": "28781:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2188, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28846:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2189, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28850:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2190, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28854:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2192, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28858:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28846:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2195, - "nodeType": "ExpressionStatement", - "src": "28846:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2196, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28867:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2197, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303039633139376463633030", - "id": 2198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28878:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_670442572800_by_1", - "typeString": "int_const 670442572800" - }, - "value": "0x0000009c197dcc00" - }, - "src": "28874:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28867:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2201, - "nodeType": "ExpressionStatement", - "src": "28867:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2202, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28932:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2203, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28936:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2204, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28940:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2206, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28944:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28932:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2209, - "nodeType": "ExpressionStatement", - "src": "28932:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2210, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28953:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2211, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28960:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030653330646365343030", - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28964:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60949324800_by_1", - "typeString": "int_const 60949324800" - }, - "value": "0x0000000e30dce400" - }, - "src": "28960:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28953:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "nodeType": "ExpressionStatement", - "src": "28953:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2216, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29018:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2217, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29022:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2218, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29026:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2220, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2223, - "nodeType": "ExpressionStatement", - "src": "29018:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2224, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29039:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2225, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29046:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030313265626431333030", - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29050:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5079110400_by_1", - "typeString": "int_const 5079110400" - }, - "value": "0x000000012ebd1300" - }, - "src": "29046:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29039:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2229, - "nodeType": "ExpressionStatement", - "src": "29039:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2230, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29104:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2231, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29108:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2232, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29112:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2234, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29116:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29104:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2237, - "nodeType": "ExpressionStatement", - "src": "29104:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2238, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29125:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2239, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29132:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303137343939663030", - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29136:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_390700800_by_1", - "typeString": "int_const 390700800" - }, - "value": "0x0000000017499f00" - }, - "src": "29132:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29125:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2243, - "nodeType": "ExpressionStatement", - "src": "29125:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2244, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29190:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2245, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29194:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2246, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29198:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2248, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29202:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29190:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2251, - "nodeType": "ExpressionStatement", - "src": "29190:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2252, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29211:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2253, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29218:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303031613964343830", - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29222:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27907200_by_1", - "typeString": "int_const 27907200" - }, - "value": "0x0000000001a9d480" - }, - "src": "29218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29211:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2257, - "nodeType": "ExpressionStatement", - "src": "29211:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2258, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29276:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2259, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29280:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2260, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29284:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2262, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29288:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29276:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2265, - "nodeType": "ExpressionStatement", - "src": "29276:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2266, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29297:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2267, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29304:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030316336333830", - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29308:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1860480_by_1", - "typeString": "int_const 1860480" - }, - "value": "0x00000000001c6380" - }, - "src": "29304:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29297:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2271, - "nodeType": "ExpressionStatement", - "src": "29297:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2272, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29362:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2273, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29366:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2274, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29370:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2276, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29362:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2279, - "nodeType": "ExpressionStatement", - "src": "29362:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2280, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29383:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2281, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29390:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303163363338", - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29394:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116280_by_1", - "typeString": "int_const 116280" - }, - "value": "0x000000000001c638" - }, - "src": "29390:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29383:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2285, - "nodeType": "ExpressionStatement", - "src": "29383:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2286, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29448:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2287, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29452:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2288, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29456:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2290, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29460:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29448:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2293, - "nodeType": "ExpressionStatement", - "src": "29448:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2294, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29469:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2295, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29476:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303031616238", - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29480:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6840_by_1", - "typeString": "int_const 6840" - }, - "value": "0x0000000000001ab8" - }, - "src": "29476:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29469:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2299, - "nodeType": "ExpressionStatement", - "src": "29469:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2300, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29534:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2301, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29538:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2302, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29542:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2304, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29546:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29534:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2307, - "nodeType": "ExpressionStatement", - "src": "29534:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2308, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29555:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2309, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29562:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030313763", - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29566:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_380_by_1", - "typeString": "int_const 380" - }, - "value": "0x000000000000017c" - }, - "src": "29562:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29555:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2313, - "nodeType": "ExpressionStatement", - "src": "29555:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2314, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29620:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2315, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29624:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2316, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29628:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2318, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29632:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29620:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2321, - "nodeType": "ExpressionStatement", - "src": "29620:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2322, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29641:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2323, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29648:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303134", - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29652:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x0000000000000014" - }, - "src": "29648:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29641:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2327, - "nodeType": "ExpressionStatement", - "src": "29641:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2328, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29706:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2329, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29710:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2330, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29714:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2332, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29718:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29706:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2335, - "nodeType": "ExpressionStatement", - "src": "29706:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2336, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29727:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2337, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303031", - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29738:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000001" - }, - "src": "29734:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29727:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "29727:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2342, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29792:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2343, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29798:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307832316333363737633832623430303030", - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29804:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2432902008176640000_by_1", - "typeString": "int_const 2432902008176640000" - }, - "value": "0x21c3677c82b40000" - }, - "src": "29798:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2346, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29825:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2348, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29792:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2351, - "nodeType": "ExpressionStatement", - "src": "29792:44:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2352, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "29902:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030303030303030303030303030303030", - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29906:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x010000000000000000000000000000000" - }, - "src": "29902:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2355, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "29901:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29946:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29901:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2366, - "nodeType": "IfStatement", - "src": "29897:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2358, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29949:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2359, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29955:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078316333643661323465643832323138373837643632346433653565626139356639", - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29961:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_600596269623765960634066700837880239609_by_1", - "typeString": "int_const 6005...(31 digits omitted)...9609" - }, - "value": "0x1c3d6a24ed82218787d624d3e5eba95f9" - }, - "src": "29955:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373736", - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29999:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276726_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6726" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e776" - }, - "src": "29955:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29949:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2365, - "nodeType": "ExpressionStatement", - "src": "29949:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2367, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30073:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303230303030303030303030303030303030303030303030303030303030303030", - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30077:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x020000000000000000000000000000000" - }, - "src": "30073:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2370, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30072:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30117:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30072:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2381, - "nodeType": "IfStatement", - "src": "30068:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2373, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30120:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2374, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373738", - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30132:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276728_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6728" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e778" - }, - "src": "30126:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656434", - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30170:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284564_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4564" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed4" - }, - "src": "30126:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30120:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "30120:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2382, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30244:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303430303030303030303030303030303030303030303030303030303030303030", - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30248:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x040000000000000000000000000000000" - }, - "src": "30244:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2385, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30243:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30288:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30243:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2396, - "nodeType": "IfStatement", - "src": "30239:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2388, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30291:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2389, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30297:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656435", - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30303:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284565_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4565" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed5" - }, - "src": "30297:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323166", - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30341:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656607_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6607" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21f" - }, - "src": "30297:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30291:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2395, - "nodeType": "ExpressionStatement", - "src": "30291:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2397, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30415:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 2398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30419:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "src": "30415:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2400, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30414:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30459:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30414:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2411, - "nodeType": "IfStatement", - "src": "30410:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2403, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30462:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2404, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30468:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323165", - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30474:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656606_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6606" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21e" - }, - "src": "30468:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356339", - "id": 2407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30512:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237641_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7641" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c9" - }, - "src": "30468:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30462:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2410, - "nodeType": "ExpressionStatement", - "src": "30462:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2412, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30586:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30590:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "30586:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2415, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30585:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30630:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30585:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2426, - "nodeType": "IfStatement", - "src": "30581:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2418, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30633:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2419, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30639:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356335", - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30645:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237637_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7637" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c5" - }, - "src": "30639:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316561", - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30683:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307242_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7242" - }, - "value": "0x00960aadc109e7a3bf4578099615711ea" - }, - "src": "30639:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30633:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2425, - "nodeType": "ExpressionStatement", - "src": "30633:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2427, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30757:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 2428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30761:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "30757:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2430, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30756:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30801:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30756:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2441, - "nodeType": "IfStatement", - "src": "30752:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2433, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30804:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2438, - "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, - "id": 2434, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30810:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316437", - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30816:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307223_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7223" - }, - "value": "0x00960aadc109e7a3bf4578099615711d7" - }, - "src": "30810:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463653364", - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30854:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646425149_by_1", - "typeString": "int_const 2283...(28 digits omitted)...5149" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdce3d" - }, - "src": "30810:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30804:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2440, - "nodeType": "ExpressionStatement", - "src": "30804:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2442, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30928:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30932:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "30928:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2445, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30927:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30972:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30927:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2456, - "nodeType": "IfStatement", - "src": "30923:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2448, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30975:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2449, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30981:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463333037", - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30987:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646422279_by_1", - "typeString": "int_const 2283...(28 digits omitted)...2279" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdc307" - }, - "src": "30981:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030303030336336616237373564643062393562346362656537653635643131", - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31025:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76587471230661696290698490699025_by_1", - "typeString": "int_const 76587471230661696290698490699025" - }, - "value": "0x0000003c6ab775dd0b95b4cbee7e65d11" - }, - "src": "30981:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30975:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2455, - "nodeType": "ExpressionStatement", - "src": "30975:85:0" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2457, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "31102:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2057, - "id": 2458, - "nodeType": "Return", - "src": "31095:10:0" - } - ] - }, - "documentation": "Return e ^ (x / FIXED_1) * FIXED_1\nInput range: 0 <= x <= OPT_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalExp.py'\nDetailed description:\n- Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n- The exponentiation of each binary exponent is given (pre-calculated)\n- The exponentiation of r is calculated via Taylor series for e^x, where x = r\n- The exponentiation of the input is calculated by multiplying the intermediate results above\n- For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859", - "id": 2460, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2053, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "27953:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27953:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27952:11:0" - }, - "payable": false, - "returnParameters": { - "id": 2057, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2056, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "27987:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27986:9:0" - }, - "scope": 2461, - "src": "27933:3179:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2462, - "src": "150:30964:0" - } - ], - "src": "0:31114:0" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/BancorFormula.sol", - "exportedSymbols": { - "BancorFormula": [ - 2461 - ] - }, - "id": 2462, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol", - "file": "./interfaces/IBancorFormula.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2506, - "src": "24:41:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2801, - "src": "66:52:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/Utils.sol", - "file": "./utility/Utils.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 2462, - "sourceUnit": 2656, - "src": "119:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2505, - "src": "176:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$2505", - "typeString": "contract IBancorFormula" - } - }, - "id": 6, - "nodeType": "InheritanceSpecifier", - "src": "176:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7, - "name": "Utils", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2655, - "src": "192:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - }, - "id": 8, - "nodeType": "InheritanceSpecifier", - "src": "192:5:0" - } - ], - "contractDependencies": [ - 2505, - 2655 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2461, - "linearizedBaseContracts": [ - 2461, - 2655, - 2505 - ], - "name": "BancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11, - "libraryName": { - "contractScope": null, - "id": 9, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2800, - "src": "210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2800", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "204:27:0", - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 14, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "238:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "238:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "302e33", - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "262:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a25c22aa6f10fa2261b798fea6b4e2f0567ea2644e38ffd2fdadd1108b091261", - "typeString": "literal_string \"0.3\"" - }, - "value": "0.3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17, - "name": "ONE", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "274:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "305:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20, - "name": "MAX_WEIGHT", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "312:44:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 18, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "312:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23, - "name": "MIN_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "362:41:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 21, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3332", - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "401:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26, - "name": "MAX_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "409:42:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 24, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "409:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313237", - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "448:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 29, - "name": "FIXED_1", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "528:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 28, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "563:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 32, - "name": "FIXED_2", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "604:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "639:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 35, - "name": "MAX_NUM", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "680:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "715:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 38, - "name": "LN2_NUMERATOR", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "827:76:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833663830666530336638306665303366383066653033663830666530336638", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5275695611177340518812009417546793976_by_1", - "typeString": "int_const 5275...(29 digits omitted)...3976" - }, - "value": "0x3f80fe03f80fe03f80fe03f80fe03f8" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 41, - "name": "LN2_DENOMINATOR", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "909:76:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 39, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835623964653164313062663431303364363437623039353538393762613830", - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7611219895485218073587121647846406784_by_1", - "typeString": "int_const 7611...(29 digits omitted)...6784" - }, - "value": "0x5b9de1d10bf4103d647b0955897ba80" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 44, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1096:78:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313562663061386231343537363935333535666238616334303465376137396533", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1139:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_462491687273110168575455517921668397539_by_1", - "typeString": "int_const 4624...(31 digits omitted)...7539" - }, - "value": "0x15bf0a8b1457695355fb8ac404e7a79e3" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 47, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1180:78:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 45, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1180:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1223:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 51, - "name": "maxExpArray", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1337:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128]" - }, - "typeName": { - "baseType": { - "id": 48, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 50, - "length": { - "argumentTypes": null, - "hexValue": "313238", - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1345:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "128" - }, - "nodeType": "ArrayTypeName", - "src": "1337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage_ptr", - "typeString": "uint256[128]" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 630, - "nodeType": "Block", - "src": "1396:8327:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 54, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3486:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 56, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3499:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3486:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831633335666564643134666666666666666666666666666666666666666666666666", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3505:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9599678685041259184274752310158947254271_by_1", - "typeString": "int_const 9599...(32 digits omitted)...4271" - }, - "value": "0x1c35fedd14ffffffffffffffffffffffff" - }, - "src": "3486:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "3486:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 60, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3551:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 62, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3333", - "id": 61, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3564:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3551:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831623063653433623332336666666666666666666666666666666666666666666666", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9204759687141885226475603015507577405439_by_1", - "typeString": "int_const 9204...(32 digits omitted)...5439" - }, - "value": "0x1b0ce43b323fffffffffffffffffffffff" - }, - "src": "3551:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 65, - "nodeType": "ExpressionStatement", - "src": "3551:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 66, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3616:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 68, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3334", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3629:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_34_by_1", - "typeString": "int_const 34" - }, - "value": "34" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3616:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831396630303238656331666666666666666666666666666666666666666666666666", - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3635:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8826087172077985712041017634911355404287_by_1", - "typeString": "int_const 8826...(32 digits omitted)...4287" - }, - "value": "0x19f0028ec1ffffffffffffffffffffffff" - }, - "src": "3616:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "3616:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 72, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3681:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 74, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3335", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3694:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35_by_1", - "typeString": "int_const 35" - }, - "value": "35" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3681:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831386465643931663065376666666666666666666666666666666666666666666666", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3700:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8462992779488582574159642900919291478015_by_1", - "typeString": "int_const 8462...(32 digits omitted)...8015" - }, - "value": "0x18ded91f0e7fffffffffffffffffffffff" - }, - "src": "3681:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77, - "nodeType": "ExpressionStatement", - "src": "3681:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 78, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3746:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 80, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3336", - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3759:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3746:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831376438656337663034313766666666666666666666666666666666666666666666", - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3765:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8114835644520100661580084966409403105279_by_1", - "typeString": "int_const 8114...(32 digits omitted)...5279" - }, - "value": "0x17d8ec7f0417ffffffffffffffffffffff" - }, - "src": "3746:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 83, - "nodeType": "ExpressionStatement", - "src": "3746:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 84, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3811:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 86, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3337", - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3824:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_37_by_1", - "typeString": "int_const 37" - }, - "value": "37" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3811:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831366464633635353663646266666666666666666666666666666666666666666666", - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3830:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7781001266736647064069662172832600162303_by_1", - "typeString": "int_const 7781...(32 digits omitted)...2303" - }, - "value": "0x16ddc6556cdbffffffffffffffffffffff" - }, - "src": "3811:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "3811:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 90, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3876:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 92, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3338", - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3889:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_38_by_1", - "typeString": "int_const 38" - }, - "value": "38" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3876:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831356563663532373736613166666666666666666666666666666666666666666666", - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3895:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7460900425488323202194551465008353509375_by_1", - "typeString": "int_const 7460...(32 digits omitted)...9375" - }, - "value": "0x15ecf52776a1ffffffffffffffffffffff" - }, - "src": "3876:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 95, - "nodeType": "ExpressionStatement", - "src": "3876:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 96, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "3941:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 98, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3339", - "id": 97, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39_by_1", - "typeString": "int_const 39" - }, - "value": "39" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3941:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831353036306332353663623266666666666666666666666666666666666666666666", - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3960:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7153968139937914349310206877837545177087_by_1", - "typeString": "int_const 7153...(32 digits omitted)...7087" - }, - "value": "0x15060c256cb2ffffffffffffffffffffff" - }, - "src": "3941:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 101, - "nodeType": "ExpressionStatement", - "src": "3941:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 102, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4006:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 104, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3430", - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4019:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4006:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831343238613266393864373266666666666666666666666666666666666666666666", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4025:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6859662671868001546166128217910528704511_by_1", - "typeString": "int_const 6859...(32 digits omitted)...4511" - }, - "value": "0x1428a2f98d72ffffffffffffffffffffff" - }, - "src": "4006:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "4006:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 108, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4071:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 110, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3431", - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4084:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41_by_1", - "typeString": "int_const 41" - }, - "value": "41" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4071:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831333534353539386535633233666666666666666666666666666666666666666666", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4090:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6577464569506365633454696454958677491711_by_1", - "typeString": "int_const 6577...(32 digits omitted)...1711" - }, - "value": "0x13545598e5c23fffffffffffffffffffff" - }, - "src": "4071:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 113, - "nodeType": "ExpressionStatement", - "src": "4071:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 114, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4136:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3432", - "id": 115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42_by_1", - "typeString": "int_const 42" - }, - "value": "42" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831323838633431363163653164666666666666666666666666666666666666666666", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4155:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6306875750689218484600399768107450630143_by_1", - "typeString": "int_const 6306...(32 digits omitted)...0143" - }, - "value": "0x1288c4161ce1dfffffffffffffffffffff" - }, - "src": "4136:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "4136:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 120, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4201:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3433", - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4214:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43_by_1", - "typeString": "int_const 43" - }, - "value": "43" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4201:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831316335393237363163363636666666666666666666666666666666666666666666", - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4220:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6047418623741353042663269283551730728959_by_1", - "typeString": "int_const 6047...(32 digits omitted)...8959" - }, - "value": "0x11c592761c666fffffffffffffffffffff" - }, - "src": "4201:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 125, - "nodeType": "ExpressionStatement", - "src": "4201:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 126, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4266:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3434", - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4279:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_44_by_1", - "typeString": "int_const 44" - }, - "value": "44" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4266:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831313061363838363830613735376666666666666666666666666666666666666666", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4285:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5798635244522972732941736303310812479487_by_1", - "typeString": "int_const 5798...(32 digits omitted)...9487" - }, - "value": "0x110a688680a757ffffffffffffffffffff" - }, - "src": "4266:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 131, - "nodeType": "ExpressionStatement", - "src": "4266:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 132, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4331:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 134, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3435", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4344:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_45_by_1", - "typeString": "int_const 45" - }, - "value": "45" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4331:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831303536663162356265646637376666666666666666666666666666666666666666", - "id": 135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4350:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5560086508154074440893281558760167309311_by_1", - "typeString": "int_const 5560...(32 digits omitted)...9311" - }, - "value": "0x1056f1b5bedf77ffffffffffffffffffff" - }, - "src": "4331:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 137, - "nodeType": "ExpressionStatement", - "src": "4331:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 138, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4396:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 140, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3436", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4409:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46_by_1", - "typeString": "int_const 46" - }, - "value": "46" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4396:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830666161646365636565666638626666666666666666666666666666666666666666", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5331351373990447379730864460340651884543_by_1", - "typeString": "int_const 5331...(32 digits omitted)...4543" - }, - "value": "0x0faadceceeff8bffffffffffffffffffff" - }, - "src": "4396:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 143, - "nodeType": "ExpressionStatement", - "src": "4396:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 144, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4461:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 146, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3437", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4474:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47_by_1", - "typeString": "int_const 47" - }, - "value": "47" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4461:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830663035646336623237656461646666666666666666666666666666666666666666", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4480:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5112026122483163422598731111238626967551_by_1", - "typeString": "int_const 5112...(32 digits omitted)...7551" - }, - "value": "0x0f05dc6b27edadffffffffffffffffffff" - }, - "src": "4461:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "4461:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 150, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4526:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 152, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4539:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4526:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830653637613561323564613431303766666666666666666666666666666666666666", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4545:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4901723642609993464238960471454494228479_by_1", - "typeString": "int_const 4901...(32 digits omitted)...8479" - }, - "value": "0x0e67a5a25da4107fffffffffffffffffff" - }, - "src": "4526:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 155, - "nodeType": "ExpressionStatement", - "src": "4526:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4591:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3439", - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49_by_1", - "typeString": "int_const 49" - }, - "value": "49" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4591:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830646366663131356231346565646666666666666666666666666666666666666666", - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4610:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4700072748620998500994433661760029327359_by_1", - "typeString": "int_const 4700...(32 digits omitted)...7359" - }, - "value": "0x0dcff115b14eedffffffffffffffffffff" - }, - "src": "4591:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 161, - "nodeType": "ExpressionStatement", - "src": "4591:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 162, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4656:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 164, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3530", - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4669:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4656:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830643365376133393234333132333966666666666666666666666666666666666666", - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4675:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4506717524892375150236886652795301658623_by_1", - "typeString": "int_const 4506...(32 digits omitted)...8623" - }, - "value": "0x0d3e7a392431239fffffffffffffffffff" - }, - "src": "4656:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 167, - "nodeType": "ExpressionStatement", - "src": "4656:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 168, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4721:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 170, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3531", - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51_by_1", - "typeString": "int_const 51" - }, - "value": "51" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4721:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830636232666635323965623731653466666666666666666666666666666666666666", - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4740:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4321316697732212547034601541953113817087_by_1", - "typeString": "int_const 4321...(32 digits omitted)...7087" - }, - "value": "0x0cb2ff529eb71e4fffffffffffffffffff" - }, - "src": "4721:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 173, - "nodeType": "ExpressionStatement", - "src": "4721:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 174, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4786:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 176, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3532", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52_by_1", - "typeString": "int_const 52" - }, - "value": "52" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4786:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830633264343135633364623937346166666666666666666666666666666666666666", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4805:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4143543033029384782309349805264440655871_by_1", - "typeString": "int_const 4143...(32 digits omitted)...5871" - }, - "value": "0x0c2d415c3db974afffffffffffffffffff" - }, - "src": "4786:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "4786:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 180, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4851:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 182, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3533", - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_53_by_1", - "typeString": "int_const 53" - }, - "value": "53" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4851:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830626164303365376438383366363962666666666666666666666666666666666666", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4870:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3973082758682431363936722477132055314431_by_1", - "typeString": "int_const 3973...(32 digits omitted)...4431" - }, - "value": "0x0bad03e7d883f69bffffffffffffffffff" - }, - "src": "4851:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "4851:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 186, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4916:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 188, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3534", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4929:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54_by_1", - "typeString": "int_const 54" - }, - "value": "54" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4916:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830623332306430336232633334336435666666666666666666666666666666666666", - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4935:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3809635010789003168527049097368437784575_by_1", - "typeString": "int_const 3809...(32 digits omitted)...4575" - }, - "value": "0x0b320d03b2c343d5ffffffffffffffffff" - }, - "src": "4916:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "4916:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 192, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "4981:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 194, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3535", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55_by_1", - "typeString": "int_const 55" - }, - "value": "55" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4981:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830616263323532303465303238323864666666666666666666666666666666666666", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5000:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652911302618395401280222488042819026943_by_1", - "typeString": "int_const 3652...(32 digits omitted)...6943" - }, - "value": "0x0abc25204e02828dffffffffffffffffff" - }, - "src": "4981:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "4981:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 198, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5046:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 200, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3536", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5059:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_56_by_1", - "typeString": "int_const 56" - }, - "value": "56" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5046:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830613462313666373465653462623230376666666666666666666666666666666666", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3502635015429898674229017626613836152831_by_1", - "typeString": "int_const 3502...(32 digits omitted)...2831" - }, - "value": "0x0a4b16f74ee4bb207fffffffffffffffff" - }, - "src": "5046:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 203, - "nodeType": "ExpressionStatement", - "src": "5046:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 204, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5111:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3537", - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5124:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57_by_1", - "typeString": "int_const 57" - }, - "value": "57" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5111:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830396465616637333661633166353639666666666666666666666666666666666666", - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5130:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3358540910238258030536300376569398951935_by_1", - "typeString": "int_const 3358...(32 digits omitted)...1935" - }, - "value": "0x09deaf736ac1f569ffffffffffffffffff" - }, - "src": "5111:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 209, - "nodeType": "ExpressionStatement", - "src": "5111:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 210, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5176:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3538", - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5189:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_58_by_1", - "typeString": "int_const 58" - }, - "value": "58" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5176:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393736626439393532633761613935376666666666666666666666666666666666", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5195:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3220374659664501751807634855053158776831_by_1", - "typeString": "int_const 3220...(32 digits omitted)...6831" - }, - "value": "0x0976bd9952c7aa957fffffffffffffffff" - }, - "src": "5176:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "5176:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 216, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5241:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3539", - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5254:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59_by_1", - "typeString": "int_const 59" - }, - "value": "59" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5241:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393133313237313932326561613630366666666666666666666666666666666666", - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5260:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3087892399045852422628542596524428754943_by_1", - "typeString": "int_const 3087...(32 digits omitted)...4943" - }, - "value": "0x09131271922eaa606fffffffffffffffff" - }, - "src": "5241:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 221, - "nodeType": "ExpressionStatement", - "src": "5241:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 222, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5306:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3630", - "id": 223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5319:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "60" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5306:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830386233383066333535383636386334366666666666666666666666666666666666", - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5325:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2960860296012425255212778080756987592703_by_1", - "typeString": "int_const 2960...(32 digits omitted)...2703" - }, - "value": "0x08b380f3558668c46fffffffffffffffff" - }, - "src": "5306:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 227, - "nodeType": "ExpressionStatement", - "src": "5306:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 228, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5371:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3631", - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_61_by_1", - "typeString": "int_const 61" - }, - "value": "61" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5371:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830383537646466303131376566613231356266666666666666666666666666666666", - "id": 231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5390:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2839054137771012724926516325250418868223_by_1", - "typeString": "int_const 2839...(32 digits omitted)...8223" - }, - "value": "0x0857ddf0117efa215bffffffffffffffff" - }, - "src": "5371:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 233, - "nodeType": "ExpressionStatement", - "src": "5371:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 234, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5436:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 236, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3632", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5449:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_62_by_1", - "typeString": "int_const 62" - }, - "value": "62" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5436:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376666666666666666666666666666666666666666666666666666666666666666", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691647_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1647" - }, - "value": "0x07ffffffffffffffffffffffffffffffff" - }, - "src": "5436:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 239, - "nodeType": "ExpressionStatement", - "src": "5436:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 240, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5501:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 242, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3633", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_63_by_1", - "typeString": "int_const 63" - }, - "value": "63" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5501:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376162626636663661626239643038376666666666666666666666666666666666", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5520:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2610268544229484780765045556213696167935_by_1", - "typeString": "int_const 2610...(32 digits omitted)...7935" - }, - "value": "0x07abbf6f6abb9d087fffffffffffffffff" - }, - "src": "5501:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 245, - "nodeType": "ExpressionStatement", - "src": "5501:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 246, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5566:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 248, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3634", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5579:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5566:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373561663632636261633935663764666137666666666666666666666666666666", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5585:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2502885300319193958571922333378000453631_by_1", - "typeString": "int_const 2502...(32 digits omitted)...3631" - }, - "value": "0x075af62cbac95f7dfa7fffffffffffffff" - }, - "src": "5566:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 251, - "nodeType": "ExpressionStatement", - "src": "5566:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 252, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 254, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5644:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5631:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373064376662373435326531383761633133666666666666666666666666666666", - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5650:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2399919671254773659805118819743970623487_by_1", - "typeString": "int_const 2399...(32 digits omitted)...3487" - }, - "value": "0x070d7fb7452e187ac13fffffffffffffff" - }, - "src": "5631:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 257, - "nodeType": "ExpressionStatement", - "src": "5631:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 258, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5696:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 260, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5709:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5696:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830366333333930656363386166333739323935666666666666666666666666666666", - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5715:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2301189921783908737703717501630802821119_by_1", - "typeString": "int_const 2301...(32 digits omitted)...1119" - }, - "value": "0x06c3390ecc8af379295fffffffffffffff" - }, - "src": "5696:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 263, - "nodeType": "ExpressionStatement", - "src": "5696:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 264, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5761:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 266, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3637", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5774:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_67_by_1", - "typeString": "int_const 67" - }, - "value": "67" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5761:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363763303061336230376666633031666436666666666666666666666666666666", - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5780:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2206521793019491601704439134261549727743_by_1", - "typeString": "int_const 2206...(32 digits omitted)...7743" - }, - "value": "0x067c00a3b07ffc01fd6fffffffffffffff" - }, - "src": "5761:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 269, - "nodeType": "ExpressionStatement", - "src": "5761:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 270, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5826:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 272, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3638", - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5839:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_68_by_1", - "typeString": "int_const 68" - }, - "value": "68" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5826:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363337623634376333396362623964336432376666666666666666666666666666", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5845:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2115748194871134515168564783402692116479_by_1", - "typeString": "int_const 2115...(32 digits omitted)...6479" - }, - "value": "0x0637b647c39cbb9d3d27ffffffffffffff" - }, - "src": "5826:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "5826:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 276, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5891:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 278, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3639", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5904:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5891:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356636336231666331303464626433393538376666666666666666666666666666", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2028708911129671949307566740521183346687_by_1", - "typeString": "int_const 2028...(32 digits omitted)...6687" - }, - "value": "0x05f63b1fc104dbd39587ffffffffffffff" - }, - "src": "5891:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 281, - "nodeType": "ExpressionStatement", - "src": "5891:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 282, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "5956:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3730", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5969:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70_by_1", - "typeString": "int_const 70" - }, - "value": "70" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5956:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356237373139353562333665313266373233356666666666666666666666666666", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1945250316684124513375052119057996185599_by_1", - "typeString": "int_const 1945...(32 digits omitted)...5599" - }, - "value": "0x05b771955b36e12f7235ffffffffffffff" - }, - "src": "5956:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 287, - "nodeType": "ExpressionStatement", - "src": "5956:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 288, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6021:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 290, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3731", - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6034:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71_by_1", - "typeString": "int_const 71" - }, - "value": "71" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6021:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353762336434396464613834353536643666366666666666666666666666666666", - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6040:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1865225106372009884014199587421481336831_by_1", - "typeString": "int_const 1865...(32 digits omitted)...6831" - }, - "value": "0x057b3d49dda84556d6f6ffffffffffffff" - }, - "src": "6021:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "6021:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6086:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3732", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6099:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72_by_1", - "typeString": "int_const 72" - }, - "value": "72" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6086:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353431383330393562326338656365636633306666666666666666666666666666", - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6105:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1788492034984419117666073304513300660223_by_1", - "typeString": "int_const 1788...(32 digits omitted)...0223" - }, - "value": "0x054183095b2c8ececf30ffffffffffffff" - }, - "src": "6086:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "6086:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 300, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6151:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 302, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3733", - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6164:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_73_by_1", - "typeString": "int_const 73" - }, - "value": "73" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6151:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353061323862653633356361326238383866373766666666666666666666666666", - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6170:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1714915667966964990208967912165996494847_by_1", - "typeString": "int_const 1714...(32 digits omitted)...4847" - }, - "value": "0x050a28be635ca2b888f77fffffffffffff" - }, - "src": "6151:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "6151:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 306, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 308, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3734", - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6229:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74_by_1", - "typeString": "int_const 74" - }, - "value": "74" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6216:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346435313536363339373038633964623333633366666666666666666666666666", - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6235:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1644366142376587317378242124992063995903_by_1", - "typeString": "int_const 1644...(32 digits omitted)...5903" - }, - "value": "0x04d5156639708c9db33c3fffffffffffff" - }, - "src": "6216:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 311, - "nodeType": "ExpressionStatement", - "src": "6216:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 312, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6281:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 314, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3735", - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6294:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6281:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346132333130353837333837356264353264666466666666666666666666666666", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6300:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1576718937672301888428671268411708276735_by_1", - "typeString": "int_const 1576...(32 digits omitted)...6735" - }, - "value": "0x04a23105873875bd52dfdfffffffffffff" - }, - "src": "6281:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "6281:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 318, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6346:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3736", - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6359:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76_by_1", - "typeString": "int_const 76" - }, - "value": "76" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6346:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343731363439643837313939616139393037353666666666666666666666666666", - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1511854655935336643558907106913628979199_by_1", - "typeString": "int_const 1511...(32 digits omitted)...9199" - }, - "value": "0x0471649d87199aa990756fffffffffffff" - }, - "src": "6346:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "6346:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 324, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6411:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 326, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3737", - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6424:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_77_by_1", - "typeString": "int_const 77" - }, - "value": "77" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6411:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343432396132316130323964346331343537636662666666666666666666666666", - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6430:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1449658811130741678082357454851673161727_by_1", - "typeString": "int_const 1449...(32 digits omitted)...1727" - }, - "value": "0x04429a21a029d4c1457cfbffffffffffff" - }, - "src": "6411:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "6411:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 330, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6476:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 332, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3738", - "id": 331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6489:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_78_by_1", - "typeString": "int_const 78" - }, - "value": "78" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6476:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343135626336643666623764643731616632636233666666666666666666666666", - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1390021627038517938156314751863424548863_by_1", - "typeString": "int_const 1390...(32 digits omitted)...8863" - }, - "value": "0x0415bc6d6fb7dd71af2cb3ffffffffffff" - }, - "src": "6476:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "6476:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 336, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6541:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 338, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3739", - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6554:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_79_by_1", - "typeString": "int_const 79" - }, - "value": "79" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6541:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336561623733623362626665323832323433636531666666666666666666666666", - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6560:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1332837843497611250583009129150422188031_by_1", - "typeString": "int_const 1332...(32 digits omitted)...8031" - }, - "value": "0x03eab73b3bbfe282243ce1ffffffffffff" - }, - "src": "6541:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 341, - "nodeType": "ExpressionStatement", - "src": "6541:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 342, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6606:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 344, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6619:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6606:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336331373731616339666236623463313865323239666666666666666666666666", - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6625:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1278006530620790610545644364558728429567_by_1", - "typeString": "int_const 1278...(32 digits omitted)...9567" - }, - "value": "0x03c1771ac9fb6b4c18e229ffffffffffff" - }, - "src": "6606:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 347, - "nodeType": "ExpressionStatement", - "src": "6606:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 348, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6671:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 350, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3831", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6684:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81_by_1", - "typeString": "int_const 81" - }, - "value": "81" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6671:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333939653936383937363930343138663738353235376666666666666666666666", - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6690:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1225430910652498332846748256431392161791_by_1", - "typeString": "int_const 1225...(32 digits omitted)...1791" - }, - "value": "0x0399e96897690418f785257fffffffffff" - }, - "src": "6671:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "6671:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 354, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 356, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3832", - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6749:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82_by_1", - "typeString": "int_const 82" - }, - "value": "82" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6736:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333733666334353663353362623737396266306561396666666666666666666666", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1175018187155249585623915264673694351359_by_1", - "typeString": "int_const 1175...(32 digits omitted)...1359" - }, - "value": "0x0373fc456c53bb779bf0ea9fffffffffff" - }, - "src": "6736:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "6736:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 360, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6801:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 362, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3833", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6814:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_83_by_1", - "typeString": "int_const 83" - }, - "value": "83" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6801:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333466396538653439306334386536376536616238626666666666666666666666", - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6820:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1126679381223093780446468558216906145791_by_1", - "typeString": "int_const 1126...(32 digits omitted)...5791" - }, - "value": "0x034f9e8e490c48e67e6ab8bfffffffffff" - }, - "src": "6801:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 365, - "nodeType": "ExpressionStatement", - "src": "6801:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 366, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6866:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 368, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3834", - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6879:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_84_by_1", - "typeString": "int_const 84" - }, - "value": "84" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6866:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333263626664346137616463373930353630623333333766666666666666666666", - "id": 369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6885:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1080329174433053119456411494679599644671_by_1", - "typeString": "int_const 1080...(32 digits omitted)...4671" - }, - "value": "0x032cbfd4a7adc790560b3337ffffffffff" - }, - "src": "6866:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 371, - "nodeType": "ExpressionStatement", - "src": "6866:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 372, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6931:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 374, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3835", - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6944:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85_by_1", - "typeString": "int_const 85" - }, - "value": "85" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6931:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333062353035373066366535643261636361393436313366666666666666666666", - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6950:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1035885758257346189907937735244580388863_by_1", - "typeString": "int_const 1035...(32 digits omitted)...8863" - }, - "value": "0x030b50570f6e5d2acca94613ffffffffff" - }, - "src": "6931:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 377, - "nodeType": "ExpressionStatement", - "src": "6931:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 378, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "6996:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 380, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3836", - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86_by_1", - "typeString": "int_const 86" - }, - "value": "86" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6996:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326562343066396636323066646136623536633238363166666666666666666666", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7015:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993270689670607839608468400662101622783_by_1", - "typeString": "int_const 9932...(31 digits omitted)...2783" - }, - "value": "0x02eb40f9f620fda6b56c2861ffffffffff" - }, - "src": "6996:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 383, - "nodeType": "ExpressionStatement", - "src": "6996:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 384, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7061:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 386, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3837", - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7074:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87_by_1", - "typeString": "int_const 87" - }, - "value": "87" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7061:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326363383334306563623064306635323061366166353866666666666666666666", - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7080:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_952408752697250790372885759853747765247_by_1", - "typeString": "int_const 9524...(31 digits omitted)...5247" - }, - "value": "0x02cc8340ecb0d0f520a6af58ffffffffff" - }, - "src": "7061:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 389, - "nodeType": "ExpressionStatement", - "src": "7061:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 390, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7126:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3838", - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7139:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326166303934383133383061306133356366316261303266666666666666666666", - "id": 393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7145:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_913227825654598849673391073164504596479_by_1", - "typeString": "int_const 9132...(31 digits omitted)...6479" - }, - "value": "0x02af09481380a0a35cf1ba02ffffffffff" - }, - "src": "7126:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 395, - "nodeType": "ExpressionStatement", - "src": "7126:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 396, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7191:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 398, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3839", - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89_by_1", - "typeString": "int_const 89" - }, - "value": "89" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7191:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323932633562646433623932656338313032383762316233666666666666666666", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7210:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_875658753857474668265023456619450597375_by_1", - "typeString": "int_const 8756...(31 digits omitted)...7375" - }, - "value": "0x0292c5bdd3b92ec810287b1b3fffffffff" - }, - "src": "7191:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "7191:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 402, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7256:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 404, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3930", - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7269:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_90_by_1", - "typeString": "int_const 90" - }, - "value": "90" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7256:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323737616264636461623037643561373761633664366239666666666666666666", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7275:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_839635227559564507480479102760887779327_by_1", - "typeString": "int_const 8396...(31 digits omitted)...9327" - }, - "value": "0x0277abdcdab07d5a77ac6d6b9fffffffff" - }, - "src": "7256:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 407, - "nodeType": "ExpressionStatement", - "src": "7256:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 408, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 410, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3931", - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7334:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_91_by_1", - "typeString": "int_const 91" - }, - "value": "91" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7321:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323564616636363534623165616135356664363464663565666666666666666666", - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7340:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_805093664916125437948904238798044397567_by_1", - "typeString": "int_const 8050...(31 digits omitted)...7567" - }, - "value": "0x025daf6654b1eaa55fd64df5efffffffff" - }, - "src": "7321:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "7321:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 414, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7386:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 416, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3932", - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7399:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92_by_1", - "typeString": "int_const 92" - }, - "value": "92" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7386:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323434633439633634386261613938313932646365383862376666666666666666", - "id": 417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7405:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_771973099761463105605096142810743046143_by_1", - "typeString": "int_const 7719...(31 digits omitted)...6143" - }, - "value": "0x0244c49c648baa98192dce88b7ffffffff" - }, - "src": "7386:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "7386:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 420, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7451:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 422, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3933", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93_by_1", - "typeString": "int_const 93" - }, - "value": "93" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7451:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323263653033636435363139613331316232343731323638626666666666666666", - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7470:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_740215074003106313787373698556008333311_by_1", - "typeString": "int_const 7402...(31 digits omitted)...3311" - }, - "value": "0x022ce03cd5619a311b2471268bffffffff" - }, - "src": "7451:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 425, - "nodeType": "ExpressionStatement", - "src": "7451:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 426, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7516:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3934", - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7529:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_94_by_1", - "typeString": "int_const 94" - }, - "value": "94" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7516:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323135663737633034356662653838353635346134346130666666666666666666", - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7535:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_709763534442753181219281418466841591807_by_1", - "typeString": "int_const 7097...(31 digits omitted)...1807" - }, - "value": "0x0215f77c045fbe885654a44a0fffffffff" - }, - "src": "7516:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "7516:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 432, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7581:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3935", - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7594:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_95_by_1", - "typeString": "int_const 95" - }, - "value": "95" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316666666666666666666666666666666666666666666666666666666666666666", - "id": 435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7600:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422911_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2911" - }, - "value": "0x01ffffffffffffffffffffffffffffffff" - }, - "src": "7581:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 437, - "nodeType": "ExpressionStatement", - "src": "7581:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 438, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7646:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3936", - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7659:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96_by_1", - "typeString": "int_const 96" - }, - "value": "96" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7646:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316561656664626461616565373432316663346433656465356666666666666666", - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7665:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_652567136057371195186997586203332575231_by_1", - "typeString": "int_const 6525...(31 digits omitted)...5231" - }, - "value": "0x01eaefdbdaaee7421fc4d3ede5ffffffff" - }, - "src": "7646:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 443, - "nodeType": "ExpressionStatement", - "src": "7646:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 444, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7711:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 446, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3937", - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7724:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97_by_1", - "typeString": "int_const 97" - }, - "value": "97" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7711:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316436626438623265623235376466376538636135376230396266666666666666", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7730:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_625721325079798489641586010116704960511_by_1", - "typeString": "int_const 6257...(31 digits omitted)...0511" - }, - "value": "0x01d6bd8b2eb257df7e8ca57b09bfffffff" - }, - "src": "7711:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 449, - "nodeType": "ExpressionStatement", - "src": "7711:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 450, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7776:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 452, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3938", - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7789:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_98_by_1", - "typeString": "int_const 98" - }, - "value": "98" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7776:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316333356665646431346238363165623034343366376631333366666666666666", - "id": 453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7795:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_599979917813693414950432886451725139967_by_1", - "typeString": "int_const 5999...(31 digits omitted)...9967" - }, - "value": "0x01c35fedd14b861eb0443f7f133fffffff" - }, - "src": "7776:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 455, - "nodeType": "ExpressionStatement", - "src": "7776:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 456, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7841:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 458, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3939", - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7854:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7841:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316230636534336233323262636465346135366538616461356166666666666666", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_575297480445977184425850753341355720703_by_1", - "typeString": "int_const 5752...(31 digits omitted)...0703" - }, - "value": "0x01b0ce43b322bcde4a56e8ada5afffffff" - }, - "src": "7841:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "7841:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 462, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7906:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 464, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7906:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313966303032386563316666663030376635613139356133396466666666666666", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7925:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_551630448254872900425972804456347074559_by_1", - "typeString": "int_const 5516...(31 digits omitted)...4559" - }, - "value": "0x019f0028ec1fff007f5a195a39dfffffff" - }, - "src": "7906:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 467, - "nodeType": "ExpressionStatement", - "src": "7906:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 468, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "7971:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 470, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7983:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7971:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313864656439316630653732656537346634396231356261353237666666666666", - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7990:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_528937048717783628792119060092411707391_by_1", - "typeString": "int_const 5289...(31 digits omitted)...7391" - }, - "value": "0x018ded91f0e72ee74f49b15ba527ffffff" - }, - "src": "7971:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "7971:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 474, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8036:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 476, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313032", - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8048:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102_by_1", - "typeString": "int_const 102" - }, - "value": "102" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8036:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313764386563376630343133366634653536313566643431613633666666666666", - "id": 477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8055:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_507177227782417987326846600868857380863_by_1", - "typeString": "int_const 5071...(31 digits omitted)...0863" - }, - "value": "0x017d8ec7f04136f4e5615fd41a63ffffff" - }, - "src": "8036:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 479, - "nodeType": "ExpressionStatement", - "src": "8036:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 480, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8101:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 482, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313033", - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8113:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_103_by_1", - "typeString": "int_const 103" - }, - "value": "103" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8101:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313664646336353536636462383462646338643132643232653666666666666666", - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_486312579171031128343732298613950251007_by_1", - "typeString": "int_const 4863...(31 digits omitted)...1007" - }, - "value": "0x016ddc6556cdb84bdc8d12d22e6fffffff" - }, - "src": "8101:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 485, - "nodeType": "ExpressionStatement", - "src": "8101:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 486, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8166:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 488, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313034", - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8178:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_104_by_1", - "typeString": "int_const 104" - }, - "value": "104" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8166:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313565636635323737366131313535623562643833393538313466376666666666", - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8185:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_466306276593002471003532891264408092671_by_1", - "typeString": "int_const 4663...(31 digits omitted)...2671" - }, - "value": "0x015ecf52776a1155b5bd8395814f7fffff" - }, - "src": "8166:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 491, - "nodeType": "ExpressionStatement", - "src": "8166:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 492, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8231:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 494, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313035", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105_by_1", - "typeString": "int_const 105" - }, - "value": "105" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8231:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313530363063323536636232336233623363633337353463663430666666666666", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8250:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_447123008746104779416515886102660251647_by_1", - "typeString": "int_const 4471...(31 digits omitted)...1647" - }, - "value": "0x015060c256cb23b3b3cc3754cf40ffffff" - }, - "src": "8231:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "nodeType": "ExpressionStatement", - "src": "8231:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 498, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8296:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 500, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313036", - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8308:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - }, - "value": "106" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8296:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313432386132663938643732386165323233646461623731356265336666666666", - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8315:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_428728916991741247552240490495652921343_by_1", - "typeString": "int_const 4287...(31 digits omitted)...1343" - }, - "value": "0x01428a2f98d728ae223ddab715be3fffff" - }, - "src": "8296:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 503, - "nodeType": "ExpressionStatement", - "src": "8296:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 504, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8361:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 506, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313037", - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8373:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_107_by_1", - "typeString": "int_const 107" - }, - "value": "107" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8361:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313335343535393865356332333237366363663065646536383033346666666666", - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8380:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_411091535594146829344560212836376117247_by_1", - "typeString": "int_const 4110...(31 digits omitted)...7247" - }, - "value": "0x013545598e5c23276ccf0ede68034fffff" - }, - "src": "8361:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 509, - "nodeType": "ExpressionStatement", - "src": "8361:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 510, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8426:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 512, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313038", - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8438:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108_by_1", - "typeString": "int_const 108" - }, - "value": "108" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8426:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313238386334313631636531643666353462376636313038313139346666666666", - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8445:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_394179734418075472107167272299635146751_by_1", - "typeString": "int_const 3941...(31 digits omitted)...6751" - }, - "value": "0x01288c4161ce1d6f54b7f61081194fffff" - }, - "src": "8426:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 515, - "nodeType": "ExpressionStatement", - "src": "8426:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 516, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8491:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 518, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8503:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8491:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313163353932373631633636366161363431643561303161343066313766666666", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8510:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_377963663983834160889726215582593318911_by_1", - "typeString": "int_const 3779...(31 digits omitted)...8911" - }, - "value": "0x011c592761c666aa641d5a01a40f17ffff" - }, - "src": "8491:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 521, - "nodeType": "ExpressionStatement", - "src": "8491:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 522, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8556:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 524, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313130", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8568:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_110_by_1", - "typeString": "int_const 110" - }, - "value": "110" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8556:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313130613638383638306137353330353135663365366536636664636466666666", - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8575:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_362414702782685419520589203652335239167_by_1", - "typeString": "int_const 3624...(31 digits omitted)...9167" - }, - "value": "0x0110a688680a7530515f3e6e6cfdcdffff" - }, - "src": "8556:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 527, - "nodeType": "ExpressionStatement", - "src": "8556:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 528, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8621:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 530, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313131", - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8633:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_111_by_1", - "typeString": "int_const 111" - }, - "value": "111" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8621:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313035366631623562656466373563366263623263653861656434323866666666", - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8640:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_347505406759629484539078662328460836863_by_1", - "typeString": "int_const 3475...(31 digits omitted)...6863" - }, - "value": "0x01056f1b5bedf75c6bcb2ce8aed428ffff" - }, - "src": "8621:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 533, - "nodeType": "ExpressionStatement", - "src": "8621:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 534, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8686:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 536, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8698:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8686:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306661616463656365656666386130383930663338373566303038323737666666", - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8705:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_333209460874402812645752271223906598911_by_1", - "typeString": "int_const 3332...(31 digits omitted)...8911" - }, - "value": "0x00faadceceeff8a0890f3875f008277fff" - }, - "src": "8686:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "8686:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 540, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8751:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 542, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313133", - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8763:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_113_by_1", - "typeString": "int_const 113" - }, - "value": "113" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8751:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306630356463366232376564616433303633383861363030663662613062666666", - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8770:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_319501632655197652636411056021540225023_by_1", - "typeString": "int_const 3195...(31 digits omitted)...5023" - }, - "value": "0x00f05dc6b27edad306388a600f6ba0bfff" - }, - "src": "8751:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 545, - "nodeType": "ExpressionStatement", - "src": "8751:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 546, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8816:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 548, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313134", - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8828:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114_by_1", - "typeString": "int_const 114" - }, - "value": "114" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8816:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306536376135613235646134313036336465313439356435623138636462666666", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8835:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_306357727663124583211687061200571318271_by_1", - "typeString": "int_const 3063...(31 digits omitted)...8271" - }, - "value": "0x00e67a5a25da41063de1495d5b18cdbfff" - }, - "src": "8816:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 551, - "nodeType": "ExpressionStatement", - "src": "8816:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 552, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8881:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 554, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313135", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8893:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115_by_1", - "typeString": "int_const 115" - }, - "value": "115" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8881:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306463666631313562313465656464653666633361613533353366326534666666", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_293754546788812396405978813098581970943_by_1", - "typeString": "int_const 2937...(31 digits omitted)...0943" - }, - "value": "0x00dcff115b14eedde6fc3aa5353f2e4fff" - }, - "src": "8881:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 557, - "nodeType": "ExpressionStatement", - "src": "8881:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 558, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "8946:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313136", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116_by_1", - "typeString": "int_const 116" - }, - "value": "116" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306433653761333932343331323339396639616165326530663836386638666666", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8965:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_281669845305773445111617137421885345791_by_1", - "typeString": "int_const 2816...(31 digits omitted)...5791" - }, - "value": "0x00d3e7a3924312399f9aae2e0f868f8fff" - }, - "src": "8946:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 563, - "nodeType": "ExpressionStatement", - "src": "8946:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 564, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9011:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 566, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313137", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9023:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_117_by_1", - "typeString": "int_const 117" - }, - "value": "117" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9011:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306362326666353239656237316534313538326363636435613165653236666666", - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9030:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_270082293608263279864102872957453496319_by_1", - "typeString": "int_const 2700...(31 digits omitted)...6319" - }, - "value": "0x00cb2ff529eb71e41582cccd5a1ee26fff" - }, - "src": "9011:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "9011:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 570, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9076:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 572, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313138", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9088:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_118_by_1", - "typeString": "int_const 118" - }, - "value": "118" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9076:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306332643431356333646239373461623332613531383430633062363765646666", - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9095:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_258971439564336547476984432763364437503_by_1", - "typeString": "int_const 2589...(31 digits omitted)...7503" - }, - "value": "0x00c2d415c3db974ab32a51840c0b67edff" - }, - "src": "9076:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 575, - "nodeType": "ExpressionStatement", - "src": "9076:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 576, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9141:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 578, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313139", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9153:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_119_by_1", - "typeString": "int_const 119" - }, - "value": "119" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9141:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306261643033653764383833663639616435623061313836313834653036626666", - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_248317672417651959902117100034610719743_by_1", - "typeString": "int_const 2483...(31 digits omitted)...9743" - }, - "value": "0x00bad03e7d883f69ad5b0a186184e06bff" - }, - "src": "9141:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 581, - "nodeType": "ExpressionStatement", - "src": "9141:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 582, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9206:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 584, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313230", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9218:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_120_by_1", - "typeString": "int_const 120" - }, - "value": "120" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9206:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306233323064303362326333343364343832396162643630373566306363356666", - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9225:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_238102188174312697593221439720218478079_by_1", - "typeString": "int_const 2381...(31 digits omitted)...8079" - }, - "value": "0x00b320d03b2c343d4829abd6075f0cc5ff" - }, - "src": "9206:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 587, - "nodeType": "ExpressionStatement", - "src": "9206:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 588, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9271:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 590, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313231", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9283:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_121_by_1", - "typeString": "int_const 121" - }, - "value": "121" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9271:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306162633235323034653032383238643733633665383062636462316139356266", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9290:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228306956413649712418347768277622232511_by_1", - "typeString": "int_const 2283...(31 digits omitted)...2511" - }, - "value": "0x00abc25204e02828d73c6e80bcdb1a95bf" - }, - "src": "9271:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 593, - "nodeType": "ExpressionStatement", - "src": "9271:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 594, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9336:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 596, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313232", - "id": 595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9348:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_122_by_1", - "typeString": "int_const 122" - }, - "value": "122" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9336:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306134623136663734656534626232303430613165633663313566626266326466", - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9355:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218914688464368667066255864092044292831_by_1", - "typeString": "int_const 2189...(31 digits omitted)...2831" - }, - "value": "0x00a4b16f74ee4bb2040a1ec6c15fbbf2df" - }, - "src": "9336:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 599, - "nodeType": "ExpressionStatement", - "src": "9336:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 600, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9401:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 602, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313233", - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_123_by_1", - "typeString": "int_const 123" - }, - "value": "123" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303964656166373336616331663536396465623162356165336633366331333066", - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9420:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_209908806889891126870119775672831054607_by_1", - "typeString": "int_const 2099...(31 digits omitted)...4607" - }, - "value": "0x009deaf736ac1f569deb1b5ae3f36c130f" - }, - "src": "9401:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 605, - "nodeType": "ExpressionStatement", - "src": "9401:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 606, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9466:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 608, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313234", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9478:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_124_by_1", - "typeString": "int_const 124" - }, - "value": "124" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9466:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303937366264393935326337616139353766353933376437393065663635303337", - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9485:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201273416229031359487226059686877220919_by_1", - "typeString": "int_const 2012...(31 digits omitted)...0919" - }, - "value": "0x00976bd9952c7aa957f5937d790ef65037" - }, - "src": "9466:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 611, - "nodeType": "ExpressionStatement", - "src": "9466:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 612, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9531:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 614, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313235", - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_125_by_1", - "typeString": "int_const 125" - }, - "value": "125" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9531:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303931333132373139323265616136303634623733613232643062643466326266", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9550:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192993274940365776401274035698589299391_by_1", - "typeString": "int_const 1929...(31 digits omitted)...9391" - }, - "value": "0x009131271922eaa6064b73a22d0bd4f2bf" - }, - "src": "9531:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 617, - "nodeType": "ExpressionStatement", - "src": "9531:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 618, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9596:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 620, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313236", - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9608:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_126_by_1", - "typeString": "int_const 126" - }, - "value": "126" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9596:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303862333830663335353836363863343663393163343961326638653936376239", - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9615:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185053768500776578446843424638883162041_by_1", - "typeString": "int_const 1850...(31 digits omitted)...2041" - }, - "value": "0x008b380f3558668c46c91c49a2f8e967b9" - }, - "src": "9596:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "nodeType": "ExpressionStatement", - "src": "9596:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 624, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "9661:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 626, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313237", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9673:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9661:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303835376464663031313765666132313539353239313238333966363437336536", - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9680:36:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_177440883610688295304820354615089591270_by_1", - "typeString": "int_const 1774...(31 digits omitted)...1270" - }, - "value": "0x00857ddf0117efa215952912839f6473e6" - }, - "src": "9661:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "9661:55:0" - } - ] - }, - "documentation": null, - "id": 631, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "1386:2:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [], - "src": "1396:0:0" - }, - "scope": 2461, - "src": "1375:8348:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 716, - "nodeType": "Block", - "src": "10515:699:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 645, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "10559:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10569:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10559:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "10574:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10594:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10574:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 652, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10599:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10599:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:60:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10623:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 657, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "10643:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10623:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:94:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "10551:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10551:103:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "ExpressionStatement", - "src": "10551:103:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 662, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10714:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10714:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 667, - "nodeType": "IfStatement", - "src": "10710:45:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10754:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 643, - "id": 666, - "nodeType": "Return", - "src": "10747:8:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 668, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10815:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 669, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "10835:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10815:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 678, - "nodeType": "IfStatement", - "src": "10811:102:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10878:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 671, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "10866:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "10866:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10866:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 675, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "10896:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10866:47:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 643, - "id": 677, - "nodeType": "Return", - "src": "10859:54:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 680, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10924:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10924:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 681, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10924:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10948:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 682, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10948:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 684, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10948:15:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10973:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10973:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 691, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "11008:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "10989:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "10989:18:0", - "typeDescriptions": { - "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": "10989:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10973:53:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 692, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "11037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 693, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "11045:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 694, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11036:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 696, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "11064:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 697, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "11071:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 698, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "11090:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 699, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "11108:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 695, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "11058:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11058:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "11036:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 702, - "nodeType": "ExpressionStatement", - "src": "11036:83:0" - }, - { - "assignments": [ - 704 - ], - "declarations": [ - { - "constant": false, - "id": 704, - "name": "temp", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "11129:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11129:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 711, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 707, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "11156:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 705, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "11144:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "11144:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11144:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 709, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "11167:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11144:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11129:47:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 712, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "11193:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 713, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "11200:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11193:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 643, - "id": 715, - "nodeType": "Return", - "src": "11186:21:0" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\ncalculates the return for a given conversion (in the main token)\nFormula:\nReturn = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n@param _supply token total supply\n@param _connectorBalance total connector balance\n@param _connectorWeight connector weight, represented in ppm, 1-1000000\n@param _depositAmount deposit amount, in connector token\n@return purchase return amount", - "id": 717, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 633, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10392:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10392:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 635, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10409:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10409:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 637, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10436:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 636, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "10436:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10461:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10461:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10391:93:0" - }, - "payable": false, - "returnParameters": { - "id": 643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 642, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 717, - "src": "10506:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10505:9:0" - }, - "scope": 2461, - "src": "10359:855:0", - "stateMutability": "view", - "superFunction": 2476, - "visibility": "public" - }, - { - "body": { - "id": 818, - "nodeType": "Block", - "src": "11994:883:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 731, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12038:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12048:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12038:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 734, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12053:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12053:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 738, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12078:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12097:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12078:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:60:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12102:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 743, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12122:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12102:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:94:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 746, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12136:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 747, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12151:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12136:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:120:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 730, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "12030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12030:129:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "12030:129:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 752, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12231:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12216:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 757, - "nodeType": "IfStatement", - "src": "12212:42:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12253:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 729, - "id": 756, - "nodeType": "Return", - "src": "12246:8:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 758, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12323:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 759, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12338:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12323:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 763, - "nodeType": "IfStatement", - "src": "12319:64:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12366:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 762, - "nodeType": "Return", - "src": "12359:24:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 764, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12443:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 765, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12463:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12443:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 774, - "nodeType": "IfStatement", - "src": "12439:99:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 769, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12516:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 767, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12494:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "12494:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12494:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 771, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12531:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12494:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 773, - "nodeType": "Return", - "src": "12487:51:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 776, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12549:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12549:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 777, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12549:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 779, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12573:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 778, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "12573:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 780, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12573:15:0" - }, - { - "assignments": [ - 782 - ], - "declarations": [ - { - "constant": false, - "id": 782, - "name": "baseD", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12598:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12598:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 786, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 783, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12614:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 784, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "12624:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12614:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12598:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 787, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12646:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 788, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12654:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 789, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12645:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "12673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 792, - "name": "baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 782, - "src": "12682:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 793, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "12689:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 794, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "12701:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 790, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "12667:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12667:51:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "12645:73:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "12645:73:0" - }, - { - "assignments": [ - 799 - ], - "declarations": [ - { - "constant": false, - "id": 799, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12728:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12728:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 804, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 802, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12766:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 800, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12744:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "12744:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12744:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12728:45:0" - }, - { - "assignments": [ - 806 - ], - "declarations": [ - { - "constant": false, - "id": 806, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "12783:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12783:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 810, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 807, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "12799:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12820:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12799:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12783:46:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 811, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "12847:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 812, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "12855:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12847:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12846:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 815, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "12864:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12846:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 729, - "id": 817, - "nodeType": "Return", - "src": "12839:31:0" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a sell amount (in the main token),\ncalculates the return for a given conversion (in the connector token)\nFormula:\nReturn = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n@param _supply token total supply\n@param _connectorBalance total connector\n@param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n@param _sellAmount sell amount, in the token itself\n@return sale return amount", - "id": 819, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 719, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11874:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11874:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 721, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11891:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11891:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 723, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11918:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 722, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11918:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 725, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11943:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11873:90:0" - }, - "payable": false, - "returnParameters": { - "id": 729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 728, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 819, - "src": "11985:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11984:9:0" - }, - "scope": 2461, - "src": "11845:1032:0", - "stateMutability": "view", - "superFunction": 2489, - "visibility": "public" - }, - { - "body": { - "id": 918, - "nodeType": "Block", - "src": "13932:796:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 835, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "13976:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14000:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13976:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 838, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14005:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14028:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14005:24:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:53:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 842, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 843, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "14057:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14033:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:91:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 846, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14071:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14093:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14071:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:118:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 850, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14098:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14119:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14098:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:144:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 854, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14124:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 855, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20, - "src": "14146:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14124:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:180:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "13968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13968:189:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "13968:189:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 860, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14214:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 861, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14238:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14214:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 873, - "nodeType": "IfStatement", - "src": "14210:136:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 865, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 863, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14277:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "14277:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14277:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 869, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14338:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 867, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14312:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "14312:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14312:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14277:69:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 833, - "id": 872, - "nodeType": "Return", - "src": "14270:76:0" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 875, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14357:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14357:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 876, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14357:14:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 878, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14381:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 877, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "14381:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 879, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14381:15:0" - }, - { - "assignments": [ - 881 - ], - "declarations": [ - { - "constant": false, - "id": 881, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14406:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14406:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 886, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 884, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14448:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 882, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14422:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2778, - "src": "14422:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14422:34:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14406:50:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 887, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14467:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 888, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 878, - "src": "14475:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 889, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14466:19:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 891, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "14494:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 892, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 821, - "src": "14501:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 893, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "14524:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 894, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14546:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 890, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "14488:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14488:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "14466:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 897, - "nodeType": "ExpressionStatement", - "src": "14466:99:0" - }, - { - "assignments": [ - 899 - ], - "declarations": [ - { - "constant": false, - "id": 899, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14575:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 904, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 902, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14615:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 900, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14591:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 2703, - "src": "14591:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14591:31:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14575:47:0" - }, - { - "assignments": [ - 906 - ], - "declarations": [ - { - "constant": false, - "id": 906, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "14632:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14632:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 910, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 907, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14648:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 908, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 878, - "src": "14671:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14648:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14632:48:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 911, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "14698:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 912, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "14706:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14698:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 914, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14697:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 915, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "14715:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14697:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 833, - "id": 917, - "nodeType": "Return", - "src": "14690:31:0" - } - ] - }, - "documentation": "@dev given two connector balances/weights and a sell amount (in the first connector token),\ncalculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\nFormula:\nReturn = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n@param _fromConnectorBalance input connector balance\n@param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n@param _toConnectorBalance output connector balance\n@param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n@param _amount input connector amount\n@return second connector amount", - "id": 919, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 821, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13769:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 823, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13800:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 822, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13800:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 825, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13829:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 827, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13858:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 826, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13858:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13885:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13885:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:133:0" - }, - "payable": false, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 832, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "13923:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13923:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13922:9:0" - }, - "scope": 2461, - "src": "13730:998:0", - "stateMutability": "view", - "superFunction": 2504, - "visibility": "public" - }, - { - "body": { - "id": 1007, - "nodeType": "Block", - "src": "16257:657:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 935, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "16275:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 936, - "name": "MAX_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "16284:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16275:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "16267:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16267:25:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 939, - "nodeType": "ExpressionStatement", - "src": "16267:25:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 941, - "name": "baseLog", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16303:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16303:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 942, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16303:15:0" - }, - { - "assignments": [ - 944 - ], - "declarations": [ - { - "constant": false, - "id": 944, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16328:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16328:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 950, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 945, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "16343:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 946, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "16352:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 948, - "name": "_baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "16362:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16328:40:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 951, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 952, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "16389:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16382:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 967, - "nodeType": "Block", - "src": "16471:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 961, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16485:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 963, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16506:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 962, - "name": "generalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1093, - "src": "16495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16495:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16485:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 966, - "nodeType": "ExpressionStatement", - "src": "16485:26:0" - } - ] - }, - "id": 968, - "nodeType": "IfStatement", - "src": "16378:144:0", - "trueBody": { - "id": 960, - "nodeType": "Block", - "src": "16406:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 954, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 956, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "16441:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 955, - "name": "optimalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2051, - "src": "16430:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16430:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16420:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 959, - "nodeType": "ExpressionStatement", - "src": "16420:26:0" - } - ] - } - }, - { - "assignments": [ - 970 - ], - "declarations": [ - { - "constant": false, - "id": 970, - "name": "baseLogTimesExp", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16532:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16532:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 976, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 971, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "16558:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 972, - "name": "_expN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "16568:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 974, - "name": "_expD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "16576:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16532:49:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 977, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16595:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 978, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "16613:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16595:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1005, - "nodeType": "Block", - "src": "16720:188:0", - "statements": [ - { - "assignments": [ - 988 - ], - "declarations": [ - { - "constant": false, - "id": 988, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16734:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 987, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16734:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 992, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 990, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16778:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 989, - "name": "findPositionInMaxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1223, - "src": "16752:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16752:42:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16734:60:0" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 994, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16827:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 995, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "16847:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 996, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16863:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16847:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 998, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16846:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16827:46:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1000, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 993, - "name": "generalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1732, - "src": "16816:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8) pure returns (uint256)" - } - }, - "id": 1001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16816:69:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1002, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "16887:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1003, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16815:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 933, - "id": 1004, - "nodeType": "Return", - "src": "16808:89:0" - } - ] - }, - "id": 1006, - "nodeType": "IfStatement", - "src": "16591:317:0", - "trueBody": { - "id": 986, - "nodeType": "Block", - "src": "16630:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 981, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "16663:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 980, - "name": "optimalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2460, - "src": "16652:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16652:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 983, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "16681:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 984, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16651:44:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 933, - "id": 985, - "nodeType": "Return", - "src": "16644:51:0" - } - ] - } - } - ] - }, - "documentation": "General Description:\nDetermine a value of precision.\nCalculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\nReturn the result along with the precision used.\nDetailed Description:\nInstead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\nThe value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\nThe larger \"precision\" is, the more accurately this value represents the real value.\nHowever, the larger \"precision\" is, the more bits are required in order to store this value.\nAnd the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\nThis maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\nHence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\nThis allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\nThis functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".", - "id": 1008, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "power", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 921, - "name": "_baseN", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16158:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16158:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 923, - "name": "_baseD", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16174:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 925, - "name": "_expN", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16190:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 924, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16190:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 927, - "name": "_expD", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16204:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 926, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16204:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16157:60:0" - }, - "payable": false, - "returnParameters": { - "id": 933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16241:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16241:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "16250:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 931, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16250:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16240:16:0" - }, - "scope": 2461, - "src": "16143:771:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1092, - "nodeType": "Block", - "src": "17142:738:0", - "statements": [ - { - "assignments": [ - 1016 - ], - "declarations": [ - { - "constant": false, - "id": 1016, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17152:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1018, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17166:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17152:15:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1019, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17273:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1020, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "17278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17273:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1041, - "nodeType": "IfStatement", - "src": "17269:152:0", - "trueBody": { - "id": 1040, - "nodeType": "Block", - "src": "17287:134:0", - "statements": [ - { - "assignments": [ - 1023 - ], - "declarations": [ - { - "constant": false, - "id": 1023, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17301:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1022, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17301:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1029, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1025, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17325:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1026, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17329:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17325:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1024, - "name": "floorLog2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1155, - "src": "17315:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17315:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17301:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1030, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17351:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 1031, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "17357:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17351:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1033, - "nodeType": "ExpressionStatement", - "src": "17351:11:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1034, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17389:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1035, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "17395:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1036, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17403:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17395:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17389:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1039, - "nodeType": "ExpressionStatement", - "src": "17389:21:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17526:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 1043, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1085, - "nodeType": "IfStatement", - "src": "17522:297:0", - "trueBody": { - "id": 1084, - "nodeType": "Block", - "src": "17539:280:0", - "statements": [ - { - "body": { - "id": 1082, - "nodeType": "Block", - "src": "17595:214:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1055, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17613:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1056, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17618:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1057, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17622:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17618:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1059, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17617:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1060, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "17627:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17617:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17613:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1063, - "nodeType": "ExpressionStatement", - "src": "17613:21:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1064, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17673:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1065, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "17678:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17673:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1081, - "nodeType": "IfStatement", - "src": "17669:126:0", - "trueBody": { - "id": 1080, - "nodeType": "Block", - "src": "17687:108:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1067, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "17709:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17715:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17709:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1070, - "nodeType": "ExpressionStatement", - "src": "17709:7:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1071, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17755:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1072, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "17762:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1073, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17770:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17774:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1076, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17762:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17755:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1079, - "nodeType": "ExpressionStatement", - "src": "17755:21:0" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1049, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17583:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17587:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17583:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1083, - "initializationExpression": { - "assignments": [ - 1046 - ], - "declarations": [ - { - "constant": false, - "id": 1046, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17558:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1045, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17558:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1048, - "initialValue": { - "argumentTypes": null, - "id": 1047, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "17568:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17558:23:0" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "17590:3:0", - "subExpression": { - "argumentTypes": null, - "id": 1052, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "17592:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1054, - "nodeType": "ExpressionStatement", - "src": "17590:3:0" - }, - "nodeType": "ForStatement", - "src": "17553:256:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1086, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "17836:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1087, - "name": "LN2_NUMERATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "17842:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1089, - "name": "LN2_DENOMINATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "17858:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1014, - "id": 1091, - "nodeType": "Return", - "src": "17829:44:0" - } - ] - }, - "documentation": "Compute log(x / FIXED_1) * FIXED_1.\nThis functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.", - "id": 1093, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1010, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17099:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17098:11:0" - }, - "payable": false, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1013, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "17133:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17133:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17132:9:0" - }, - "scope": 2461, - "src": "17079:801:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1154, - "nodeType": "Block", - "src": "18058:460:0", - "statements": [ - { - "assignments": [ - 1101 - ], - "declarations": [ - { - "constant": false, - "id": 1101, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18068:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18068:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1103, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18080:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18068:13:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1104, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18096:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18101:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "18096:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1150, - "nodeType": "Block", - "src": "18262:229:0", - "statements": [ - { - "body": { - "id": 1148, - "nodeType": "Block", - "src": "18348:133:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1132, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18370:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1133, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "18377:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 1134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18384:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1136, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18376:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18370:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1147, - "nodeType": "IfStatement", - "src": "18366:101:0", - "trueBody": { - "id": 1146, - "nodeType": "Block", - "src": "18388:79:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18410:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 1139, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18417:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18410:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1141, - "nodeType": "ExpressionStatement", - "src": "18410:8:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1142, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18440:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "argumentTypes": null, - "id": 1143, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18447:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18440:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "18440:8:0" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1125, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18332:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18336:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18332:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1149, - "initializationExpression": { - "assignments": [ - 1122 - ], - "declarations": [ - { - "constant": false, - "id": 1122, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18317:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1121, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18317:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1124, - "initialValue": { - "argumentTypes": null, - "hexValue": "313238", - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18327:3:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18317:13:0" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1128, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "18339:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18345:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18339:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1131, - "nodeType": "ExpressionStatement", - "src": "18339:7:0" - }, - "nodeType": "ForStatement", - "src": "18312:169:0" - } - ] - }, - "id": 1151, - "nodeType": "IfStatement", - "src": "18092:399:0", - "trueBody": { - "id": 1120, - "nodeType": "Block", - "src": "18106:142:0", - "statements": [ - { - "body": { - "id": 1118, - "nodeType": "Block", - "src": "18171:67:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1110, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18189:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18196:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18189:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "nodeType": "ExpressionStatement", - "src": "18189:8:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1114, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18215:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18222:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18215:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1117, - "nodeType": "ExpressionStatement", - "src": "18215:8:0" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1107, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "18163:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18168:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1119, - "nodeType": "WhileStatement", - "src": "18156:82:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1152, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "18508:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1099, - "id": 1153, - "nodeType": "Return", - "src": "18501:10:0" - } - ] - }, - "documentation": "Compute the largest integer smaller than or equal to the binary logarithm of the input.", - "id": 1155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "floorLog2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1095, - "name": "_n", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18016:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:12:0" - }, - "payable": false, - "returnParameters": { - "id": 1099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1098, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1155, - "src": "18051:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1097, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18051:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18050:7:0" - }, - "scope": 2461, - "src": "17997:521:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1222, - "nodeType": "Block", - "src": "18956:424:0", - "statements": [ - { - "assignments": [ - 1163 - ], - "declarations": [ - { - "constant": false, - "id": 1163, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18966:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1162, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18966:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1165, - "initialValue": { - "argumentTypes": null, - "id": 1164, - "name": "MIN_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "18977:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18966:24:0" - }, - { - "assignments": [ - 1167 - ], - "declarations": [ - { - "constant": false, - "id": 1167, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "19000:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1166, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19000:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1169, - "initialValue": { - "argumentTypes": null, - "id": 1168, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26, - "src": "19011:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19000:24:0" - }, - { - "body": { - "id": 1198, - "nodeType": "Block", - "src": "19055:159:0", - "statements": [ - { - "assignments": [ - 1176 - ], - "declarations": [ - { - "constant": false, - "id": 1176, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "19069:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1175, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19069:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1183, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1177, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19082:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1178, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19087:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19082:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1180, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19081:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19093:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "19081:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19069:25:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1184, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19112:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1186, - "indexExpression": { - "argumentTypes": null, - "id": 1185, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19124:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19112:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1187, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19132:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19112:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1193, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19195:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1194, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19200:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19195:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1196, - "nodeType": "ExpressionStatement", - "src": "19195:8:0" - }, - "id": 1197, - "nodeType": "IfStatement", - "src": "19108:95:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1189, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19152:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1190, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "19157:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19152:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1192, - "nodeType": "ExpressionStatement", - "src": "19152:8:0" - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1170, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19042:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19047:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19042:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1173, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19051:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19042:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1199, - "nodeType": "WhileStatement", - "src": "19035:179:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1200, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19228:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1202, - "indexExpression": { - "argumentTypes": null, - "id": 1201, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19240:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19228:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1203, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19247:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1207, - "nodeType": "IfStatement", - "src": "19224:48:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1205, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "19270:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1161, - "id": 1206, - "nodeType": "Return", - "src": "19263:9:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1208, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "19286:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 1210, - "indexExpression": { - "argumentTypes": null, - "id": 1209, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19298:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19286:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 1211, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "19305:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19286:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1215, - "nodeType": "IfStatement", - "src": "19282:48:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 1213, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "19328:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1161, - "id": 1214, - "nodeType": "Return", - "src": "19321:9:0" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19349:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "19341:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19341:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1219, - "nodeType": "ExpressionStatement", - "src": "19341:14:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19372:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1161, - "id": 1221, - "nodeType": "Return", - "src": "19365:8:0" - } - ] - }, - "documentation": "The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n- This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n- This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]", - "id": 1223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "findPositionInMaxExpArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1157, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18914:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18913:12:0" - }, - "payable": false, - "returnParameters": { - "id": 1161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1160, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18949:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1159, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:7:0" - }, - "scope": 2461, - "src": "18879:501:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1731, - "nodeType": "Block", - "src": "20020:3744:0", - "statements": [ - { - "assignments": [ - 1233 - ], - "declarations": [ - { - "constant": false, - "id": 1233, - "name": "xi", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20030:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1235, - "initialValue": { - "argumentTypes": null, - "id": 1234, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20043:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20030:15:0" - }, - { - "assignments": [ - 1237 - ], - "declarations": [ - { - "constant": false, - "id": 1237, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20055:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20055:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1239, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20069:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20055:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1240, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20081:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1241, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20087:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1242, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20092:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20087:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1244, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20086:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1245, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20099:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20086:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20081:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1248, - "nodeType": "ExpressionStatement", - "src": "20081:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1249, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20111:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1250, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20118:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307833343432633465363037346138326631373937663732616330303030303030", - "id": 1251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20123:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4341658809405943247759097200640000000_by_1", - "typeString": "int_const 4341...(29 digits omitted)...0000" - }, - "value": "0x3442c4e6074a82f1797f72ac0000000" - }, - "src": "20118:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20111:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1254, - "nodeType": "ExpressionStatement", - "src": "20111:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1255, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20192:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1256, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20198:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1257, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20203:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20198:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1259, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20197:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1260, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20210:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20197:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20192:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1263, - "nodeType": "ExpressionStatement", - "src": "20192:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1264, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20222:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1265, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20229:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831313662393666373537633338306662323837666430653430303030303030", - "id": 1266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20234:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1447219603135314415919699066880000000_by_1", - "typeString": "int_const 1447...(29 digits omitted)...0000" - }, - "value": "0x116b96f757c380fb287fd0e40000000" - }, - "src": "20229:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20222:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1269, - "nodeType": "ExpressionStatement", - "src": "20222:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1270, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20303:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1271, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20309:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1272, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20314:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1274, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20308:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1275, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20321:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20308:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20303:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1278, - "nodeType": "ExpressionStatement", - "src": "20303:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1279, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20333:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1280, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20340:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830343561653562646435663065303365636131666634333930303030303030", - "id": 1281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20345:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_361804900783828603979924766720000000_by_1", - "typeString": "int_const 3618...(28 digits omitted)...0000" - }, - "value": "0x045ae5bdd5f0e03eca1ff4390000000" - }, - "src": "20340:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20333:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1284, - "nodeType": "ExpressionStatement", - "src": "20333:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1285, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20414:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1286, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20420:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1287, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20425:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1289, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20419:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1290, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20432:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20419:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20414:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "20414:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1294, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20444:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1295, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20451:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830306465666162663931333032636439356239666664613530303030303030", - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20456:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72360980156765720795984953344000000_by_1", - "typeString": "int_const 7236...(27 digits omitted)...0000" - }, - "value": "0x00defabf91302cd95b9ffda50000000" - }, - "src": "20451:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20444:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1299, - "nodeType": "ExpressionStatement", - "src": "20444:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1300, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20525:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1301, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20531:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1302, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20536:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20531:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20530:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1305, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20543:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20530:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20525:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1308, - "nodeType": "ExpressionStatement", - "src": "20525:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1309, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20555:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1310, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20562:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303235323963613938333262323234333965666666396238303030303030", - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20567:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12060163359460953465997492224000000_by_1", - "typeString": "int_const 1206...(27 digits omitted)...0000" - }, - "value": "0x002529ca9832b22439efff9b8000000" - }, - "src": "20562:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20555:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1314, - "nodeType": "ExpressionStatement", - "src": "20555:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1315, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20636:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1316, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20642:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1317, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20647:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1319, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20641:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1320, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20654:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20641:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20636:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1323, - "nodeType": "ExpressionStatement", - "src": "20636:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1324, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20666:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1325, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20673:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303035346631636631326264303465353136623664613838303030303030", - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20678:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1722880479922993352285356032000000_by_1", - "typeString": "int_const 1722...(26 digits omitted)...0000" - }, - "value": "0x00054f1cf12bd04e516b6da88000000" - }, - "src": "20673:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20666:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1329, - "nodeType": "ExpressionStatement", - "src": "20666:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1330, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20747:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1331, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20753:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1332, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20758:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20753:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20752:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1335, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20765:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20752:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1338, - "nodeType": "ExpressionStatement", - "src": "20747:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1339, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20777:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1340, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20784:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030613965333965323537613039636132643664623531303030303030", - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20789:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_215360059990374169035669504000000_by_1", - "typeString": "int_const 2153...(25 digits omitted)...0000" - }, - "value": "0x0000a9e39e257a09ca2d6db51000000" - }, - "src": "20784:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20777:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1344, - "nodeType": "ExpressionStatement", - "src": "20777:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1345, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20858:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1346, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20864:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1347, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20869:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20864:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1349, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20863:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1350, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20876:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20863:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20858:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1353, - "nodeType": "ExpressionStatement", - "src": "20858:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1354, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20888:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1355, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20895:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030313265303636653762383339666130353063333039303030303030", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20900:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_23928895554486018781741056000000_by_1", - "typeString": "int_const 23928895554486018781741056000000" - }, - "value": "0x000012e066e7b839fa050c309000000" - }, - "src": "20895:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20888:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "20888:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1360, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20969:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1361, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "20975:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1362, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "20980:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1364, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1365, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "20987:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20974:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20969:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "20969:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1369, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "20999:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1370, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21006:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303165333364376439323663333239613161643161383030303030", - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21011:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2392889555448601878174105600000_by_1", - "typeString": "int_const 2392889555448601878174105600000" - }, - "value": "0x000001e33d7d926c329a1ad1a800000" - }, - "src": "21006:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20999:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1374, - "nodeType": "ExpressionStatement", - "src": "20999:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1375, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21080:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1376, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21086:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1377, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21091:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21086:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1379, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21085:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1380, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21098:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21085:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21080:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1383, - "nodeType": "ExpressionStatement", - "src": "21080:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1384, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21110:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1385, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21117:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303032626565353133626462346136623139623566383030303030", - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21122:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_217535414131691079834009600000_by_1", - "typeString": "int_const 217535414131691079834009600000" - }, - "value": "0x0000002bee513bdb4a6b19b5f800000" - }, - "src": "21117:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21110:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1389, - "nodeType": "ExpressionStatement", - "src": "21110:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1390, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21191:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1391, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21197:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1392, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21202:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21197:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1394, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21196:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1395, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21196:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21191:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1398, - "nodeType": "ExpressionStatement", - "src": "21191:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1399, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21221:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1400, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21228:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030336139333136666137396238386563636632613030303030", - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21233:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18127951177640923319500800000_by_1", - "typeString": "int_const 18127951177640923319500800000" - }, - "value": "0x00000003a9316fa79b88eccf2a00000" - }, - "src": "21228:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21221:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1404, - "nodeType": "ExpressionStatement", - "src": "21221:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1405, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21302:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1406, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21308:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1407, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21313:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21308:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1409, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21307:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1410, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21320:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21307:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21302:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1413, - "nodeType": "ExpressionStatement", - "src": "21302:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1414, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21332:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1415, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21339:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303438313737656265316661383132333735323030303030", - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21344:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1394457782895455639961600000_by_1", - "typeString": "int_const 1394457782895455639961600000" - }, - "value": "0x0000000048177ebe1fa812375200000" - }, - "src": "21339:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21332:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1419, - "nodeType": "ExpressionStatement", - "src": "21332:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1420, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21413:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1421, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21419:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1422, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21424:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21419:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1424, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21418:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1425, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21431:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21418:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21413:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1428, - "nodeType": "ExpressionStatement", - "src": "21413:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1429, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21443:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1430, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21450:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303035323633666539303234326463626163663030303030", - "id": 1431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21455:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99604127349675402854400000_by_1", - "typeString": "int_const 99604127349675402854400000" - }, - "value": "0x0000000005263fe90242dcbacf00000" - }, - "src": "21450:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21443:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1434, - "nodeType": "ExpressionStatement", - "src": "21443:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1435, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21524:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1436, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21530:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1437, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21535:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1439, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21529:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1440, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21542:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21529:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21524:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1443, - "nodeType": "ExpressionStatement", - "src": "21524:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1444, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21554:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1445, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21561:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030353765323230393963303330643934313030303030", - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21566:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6640275156645026856960000_by_1", - "typeString": "int_const 6640275156645026856960000" - }, - "value": "0x000000000057e22099c030d94100000" - }, - "src": "21561:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21554:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1449, - "nodeType": "ExpressionStatement", - "src": "21554:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1450, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21635:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1451, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21641:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1452, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21646:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21641:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1454, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21640:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1455, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21653:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21640:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21635:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1458, - "nodeType": "ExpressionStatement", - "src": "21635:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1459, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21665:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1460, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21672:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303537653232303939633033306439343130303030", - "id": 1461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21677:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_415017197290314178560000_by_1", - "typeString": "int_const 415017197290314178560000" - }, - "value": "0x0000000000057e22099c030d9410000" - }, - "src": "21672:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21665:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1464, - "nodeType": "ExpressionStatement", - "src": "21665:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1465, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21746:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1466, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21752:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1467, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21757:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21752:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1469, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21751:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1470, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21764:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21751:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21746:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1473, - "nodeType": "ExpressionStatement", - "src": "21746:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1474, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21776:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1475, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21783:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303035326236623534353639393736333130303030", - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24412776311194951680000_by_1", - "typeString": "int_const 24412776311194951680000" - }, - "value": "0x00000000000052b6b54569976310000" - }, - "src": "21783:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21776:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1479, - "nodeType": "ExpressionStatement", - "src": "21776:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1480, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21857:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1481, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21863:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1482, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21868:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21863:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21862:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1485, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21875:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21862:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21857:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1488, - "nodeType": "ExpressionStatement", - "src": "21857:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1489, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21887:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1490, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21894:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030343938356636373639366266373438303030", - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21899:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1356265350621941760000_by_1", - "typeString": "int_const 1356265350621941760000" - }, - "value": "0x00000000000004985f67696bf748000" - }, - "src": "21894:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21887:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1494, - "nodeType": "ExpressionStatement", - "src": "21887:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1495, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21968:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1496, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "21974:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1497, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "21979:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21974:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1499, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21973:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1500, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "21986:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21973:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21968:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "21968:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1504, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "21998:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1505, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22005:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303364656131326561393965343938303030", - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22010:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71382386874839040000_by_1", - "typeString": "int_const 71382386874839040000" - }, - "value": "0x000000000000003dea12ea99e498000" - }, - "src": "22005:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21998:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1509, - "nodeType": "ExpressionStatement", - "src": "21998:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1510, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22079:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1511, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22085:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1512, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22090:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22084:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1515, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22097:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22084:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22079:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1518, - "nodeType": "ExpressionStatement", - "src": "22079:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1519, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22109:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1520, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22116:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303033313838306632323134623665303030", - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22121:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3569119343741952000_by_1", - "typeString": "int_const 3569119343741952000" - }, - "value": "0x00000000000000031880f2214b6e000" - }, - "src": "22116:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22109:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1524, - "nodeType": "ExpressionStatement", - "src": "22109:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1525, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22190:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1526, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22196:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1527, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22201:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22196:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1529, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22195:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1530, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22208:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22195:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22190:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1533, - "nodeType": "ExpressionStatement", - "src": "22190:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1534, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22220:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1535, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22227:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030323562636666353665623336303030", - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22232:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_169958063987712000_by_1", - "typeString": "int_const 169958063987712000" - }, - "value": "0x000000000000000025bcff56eb36000" - }, - "src": "22227:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22220:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1539, - "nodeType": "ExpressionStatement", - "src": "22220:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1540, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22301:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1541, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22307:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1542, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22312:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22307:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1544, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22306:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1545, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22319:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22306:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22301:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "22301:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1549, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1550, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22338:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303162373232653130616231303030", - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22343:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7725366544896000_by_1", - "typeString": "int_const 7725366544896000" - }, - "value": "0x000000000000000001b722e10ab1000" - }, - "src": "22338:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22331:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1554, - "nodeType": "ExpressionStatement", - "src": "22331:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1555, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22412:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1556, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22418:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1557, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22423:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22418:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22417:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1560, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22430:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22417:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22412:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1563, - "nodeType": "ExpressionStatement", - "src": "22412:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1564, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22442:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1565, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22449:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303031333137633730303737303030", - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22454:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_335885501952000_by_1", - "typeString": "int_const 335885501952000" - }, - "value": "0x0000000000000000001317c70077000" - }, - "src": "22449:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22442:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1569, - "nodeType": "ExpressionStatement", - "src": "22442:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1570, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22523:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1571, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22529:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1572, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22534:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22529:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1574, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22528:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1575, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22541:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22528:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22523:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1578, - "nodeType": "ExpressionStatement", - "src": "22523:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1579, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22553:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1580, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22560:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030306362613834616166613030", - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22565:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13995229248000_by_1", - "typeString": "int_const 13995229248000" - }, - "value": "0x00000000000000000000cba84aafa00" - }, - "src": "22560:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22553:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1584, - "nodeType": "ExpressionStatement", - "src": "22553:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1585, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22634:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1586, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22640:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1587, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22645:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22640:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1589, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22639:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1590, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22652:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22639:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22634:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1593, - "nodeType": "ExpressionStatement", - "src": "22634:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1594, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22664:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1595, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22671:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303038323537336130613030", - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22676:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_559809169920_by_1", - "typeString": "int_const 559809169920" - }, - "value": "0x00000000000000000000082573a0a00" - }, - "src": "22671:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22664:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1599, - "nodeType": "ExpressionStatement", - "src": "22664:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1600, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22745:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1601, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22751:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1602, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22756:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22751:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1604, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1605, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22763:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22750:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22745:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1608, - "nodeType": "ExpressionStatement", - "src": "22745:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1609, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22775:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1610, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22782:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030353033356164393030", - "id": 1611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22787:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21531121920_by_1", - "typeString": "int_const 21531121920" - }, - "value": "0x00000000000000000000005035ad900" - }, - "src": "22782:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22775:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "22775:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1615, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22856:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1616, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22862:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1617, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22867:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22862:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1619, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22861:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1620, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22874:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22861:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22856:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1623, - "nodeType": "ExpressionStatement", - "src": "22856:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22886:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1625, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22893:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303266383831623030", - "id": 1626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22898:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_797448960_by_1", - "typeString": "int_const 797448960" - }, - "value": "0x000000000000000000000002f881b00" - }, - "src": "22893:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22886:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1629, - "nodeType": "ExpressionStatement", - "src": "22886:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1630, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1631, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "22973:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1632, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "22978:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22973:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1634, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22972:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1635, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "22985:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22972:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22967:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1638, - "nodeType": "ExpressionStatement", - "src": "22967:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1639, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "22997:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1640, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23004:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303031623239333430", - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23009:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28480320_by_1", - "typeString": "int_const 28480320" - }, - "value": "0x0000000000000000000000001b29340" - }, - "src": "23004:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22997:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1644, - "nodeType": "ExpressionStatement", - "src": "22997:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1645, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23078:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1646, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23084:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1647, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23089:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1649, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23083:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1650, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23096:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23083:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23078:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1653, - "nodeType": "ExpressionStatement", - "src": "23078:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1654, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23108:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1655, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23115:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030306566633430", - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23120:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_982080_by_1", - "typeString": "int_const 982080" - }, - "value": "0x00000000000000000000000000efc40" - }, - "src": "23115:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23108:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1659, - "nodeType": "ExpressionStatement", - "src": "23108:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1660, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23189:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1661, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23195:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1662, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23200:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23195:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1664, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23194:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1665, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23207:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23194:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23189:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1668, - "nodeType": "ExpressionStatement", - "src": "23189:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1669, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23219:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1670, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23226:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303037666530", - "id": 1671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23231:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32736_by_1", - "typeString": "int_const 32736" - }, - "value": "0x0000000000000000000000000007fe0" - }, - "src": "23226:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23219:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "23219:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1675, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23300:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1676, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23306:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1677, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23311:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23306:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1679, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23305:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1680, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23318:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23305:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23300:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1683, - "nodeType": "ExpressionStatement", - "src": "23300:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1684, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23330:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1685, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23337:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030343230", - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23342:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1056_by_1", - "typeString": "int_const 1056" - }, - "value": "0x0000000000000000000000000000420" - }, - "src": "23337:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23330:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1689, - "nodeType": "ExpressionStatement", - "src": "23330:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1690, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23411:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1691, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23417:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1692, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23422:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23417:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23416:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1695, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23416:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23411:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1698, - "nodeType": "ExpressionStatement", - "src": "23411:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1699, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23441:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1700, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23448:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303231", - "id": 1701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23453:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "0x0000000000000000000000000000021" - }, - "src": "23448:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23441:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1704, - "nodeType": "ExpressionStatement", - "src": "23441:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1705, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23522:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1706, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23528:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1707, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23533:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23528:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1709, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23527:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 1710, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23540:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23527:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23522:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "23522:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1714, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23552:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1715, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "23559:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303031", - "id": 1716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23564:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000000000000000000001" - }, - "src": "23559:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23552:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1719, - "nodeType": "ExpressionStatement", - "src": "23552:45:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1720, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "23641:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307836383835383963633065393530356532663266656535353830303030303030", - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23647:33:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8683317618811886495518194401280000000_by_1", - "typeString": "int_const 8683...(29 digits omitted)...0000" - }, - "value": "0x688589cc0e9505e2f2fee5580000000" - }, - "src": "23641:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1723, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "23683:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1725, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "23689:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 1726, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "23696:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23689:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1728, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23688:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:66:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1231, - "id": 1730, - "nodeType": "Return", - "src": "23634:73:0" - } - ] - }, - "documentation": "This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\nIt approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\nIt returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\nThe global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\nThe maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".", - "id": 1732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1225, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "19958:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19958:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1227, - "name": "_precision", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "19970:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1226, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19970:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19957:30:0" - }, - "payable": false, - "returnParameters": { - "id": 1231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1732, - "src": "20011:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20011:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20010:9:0" - }, - "scope": 2461, - "src": "19938:3826:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2050, - "nodeType": "Block", - "src": "24549:2707:0", - "statements": [ - { - "assignments": [ - 1740 - ], - "declarations": [ - { - "constant": false, - "id": 1740, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24559:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24559:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1742, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24573:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24559:15:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1744, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24585:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24585:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1745, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24585:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1747, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24604:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1748, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24604:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1750, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24623:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24623:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1751, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24623:9:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1752, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24647:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 1753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24652:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24647:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1768, - "nodeType": "IfStatement", - "src": "24643:143:0", - "trueBody": { - "id": 1767, - "nodeType": "Block", - "src": "24688:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1755, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "24689:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783430303030303030303030303030303030303030303030303030303030303030", - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24696:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x40000000000000000000000000000000" - }, - "src": "24689:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1758, - "nodeType": "ExpressionStatement", - "src": "24689:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1759, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24732:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1760, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24736:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1761, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "24740:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 1763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24750:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24736:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24732:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "24732:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1769, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24814:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24819:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24814:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1785, - "nodeType": "IfStatement", - "src": "24810:143:0", - "trueBody": { - "id": 1784, - "nodeType": "Block", - "src": "24855:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1772, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "24856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783230303030303030303030303030303030303030303030303030303030303030", - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24863:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x20000000000000000000000000000000" - }, - "src": "24856:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1775, - "nodeType": "ExpressionStatement", - "src": "24856:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1776, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24899:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1777, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24903:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1778, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "24907:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24903:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24917:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24903:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24899:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1783, - "nodeType": "ExpressionStatement", - "src": "24899:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1786, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "24981:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 1787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24986:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "24981:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1802, - "nodeType": "IfStatement", - "src": "24977:143:0", - "trueBody": { - "id": 1801, - "nodeType": "Block", - "src": "25022:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1789, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25023:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 1790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25030:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "25023:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1792, - "nodeType": "ExpressionStatement", - "src": "25023:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1793, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25066:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1794, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25070:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1795, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25074:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25070:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 1797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "25070:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25066:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1800, - "nodeType": "ExpressionStatement", - "src": "25066:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1803, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25148:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 1804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25153:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25148:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1819, - "nodeType": "IfStatement", - "src": "25144:143:0", - "trueBody": { - "id": 1818, - "nodeType": "Block", - "src": "25189:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1806, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783038303030303030303030303030303030303030303030303030303030303030", - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25197:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10633823966279326983230456482242756608_by_1", - "typeString": "int_const 1063...(30 digits omitted)...6608" - }, - "value": "0x08000000000000000000000000000000" - }, - "src": "25190:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1809, - "nodeType": "ExpressionStatement", - "src": "25190:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1810, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25233:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1811, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25237:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1812, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25241:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25237:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25251:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25237:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25233:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1817, - "nodeType": "ExpressionStatement", - "src": "25233:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1820, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25315:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 1821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25320:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25315:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1836, - "nodeType": "IfStatement", - "src": "25311:143:0", - "trueBody": { - "id": 1835, - "nodeType": "Block", - "src": "25356:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1823, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25357:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783034303030303030303030303030303030303030303030303030303030303030", - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25364:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5316911983139663491615228241121378304_by_1", - "typeString": "int_const 5316...(29 digits omitted)...8304" - }, - "value": "0x04000000000000000000000000000000" - }, - "src": "25357:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1826, - "nodeType": "ExpressionStatement", - "src": "25357:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1827, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25400:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1828, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25404:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1829, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25408:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25404:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25418:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25404:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25400:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1834, - "nodeType": "ExpressionStatement", - "src": "25400:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1837, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25482:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25487:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25482:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1853, - "nodeType": "IfStatement", - "src": "25478:143:0", - "trueBody": { - "id": 1852, - "nodeType": "Block", - "src": "25523:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1840, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25524:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783032303030303030303030303030303030303030303030303030303030303030", - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25531:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2658455991569831745807614120560689152_by_1", - "typeString": "int_const 2658...(29 digits omitted)...9152" - }, - "value": "0x02000000000000000000000000000000" - }, - "src": "25524:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1843, - "nodeType": "ExpressionStatement", - "src": "25524:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1844, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25567:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1845, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25571:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1846, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25571:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25585:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25571:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25567:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1851, - "nodeType": "ExpressionStatement", - "src": "25567:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1854, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25649:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25654:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25649:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1870, - "nodeType": "IfStatement", - "src": "25645:143:0", - "trueBody": { - "id": 1869, - "nodeType": "Block", - "src": "25690:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1857, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25691:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783031303030303030303030303030303030303030303030303030303030303030", - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25698:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1329227995784915872903807060280344576_by_1", - "typeString": "int_const 1329...(29 digits omitted)...4576" - }, - "value": "0x01000000000000000000000000000000" - }, - "src": "25691:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1860, - "nodeType": "ExpressionStatement", - "src": "25691:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1861, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1862, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25738:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1863, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25738:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 1865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25752:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25738:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25734:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1868, - "nodeType": "ExpressionStatement", - "src": "25734:52:0" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1871, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25816:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 1872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25821:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25816:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1887, - "nodeType": "IfStatement", - "src": "25812:143:0", - "trueBody": { - "id": 1886, - "nodeType": "Block", - "src": "25857:98:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1874, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "25858:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783030383030303030303030303030303030303030303030303030303030303030", - "id": 1875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25865:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_664613997892457936451903530140172288_by_1", - "typeString": "int_const 6646...(28 digits omitted)...2288" - }, - "value": "0x00800000000000000000000000000000" - }, - "src": "25858:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1877, - "nodeType": "ExpressionStatement", - "src": "25858:41:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1878, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25901:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1879, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25905:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1880, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25909:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25905:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 1882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25919:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25905:48:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25901:52:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1885, - "nodeType": "ExpressionStatement", - "src": "25901:52:0" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1888, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "25980:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1889, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "25984:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1890, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "25988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1891, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "25992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25988:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25984:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25980:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1895, - "nodeType": "ExpressionStatement", - "src": "25980:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1896, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26009:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1897, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26013:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1898, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26017:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1900, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26021:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26009:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1903, - "nodeType": "ExpressionStatement", - "src": "26009:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1904, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26038:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1905, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26045:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 1906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26050:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1907, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26088:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26050:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1909, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26049:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26045:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26093:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "26045:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26038:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1914, - "nodeType": "ExpressionStatement", - "src": "26038:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1915, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26130:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1916, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26134:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1917, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26138:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1919, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26130:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1922, - "nodeType": "ExpressionStatement", - "src": "26130:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1923, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26188:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1924, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26195:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078306161616161616161616161616161616161616161616161616161616161616161", - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26200:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_226854911280625642308916404954512140970_by_1", - "typeString": "int_const 2268...(31 digits omitted)...0970" - }, - "value": "0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1926, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26238:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26200:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1928, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26199:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26195:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 1930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26243:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "26195:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26188:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1933, - "nodeType": "ExpressionStatement", - "src": "26188:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1934, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26280:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1935, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26284:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1936, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26288:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1938, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26292:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26280:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1941, - "nodeType": "ExpressionStatement", - "src": "26280:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1942, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26338:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1943, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26345:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303939393939393939393939393939393939393939393939393939393939393939", - "id": 1944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26350:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204169420152563078078024764459060926873_by_1", - "typeString": "int_const 2041...(31 digits omitted)...6873" - }, - "value": "0x099999999999999999999999999999999" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1945, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26388:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26350:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1947, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26349:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26345:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078333030303030303030303030303030303030303030303030303030303030303030", - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26393:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1020847100762815390390123822295304634368_by_1", - "typeString": "int_const 1020...(32 digits omitted)...4368" - }, - "value": "0x300000000000000000000000000000000" - }, - "src": "26345:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26338:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1952, - "nodeType": "ExpressionStatement", - "src": "26338:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1953, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26430:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1954, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26434:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1955, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26438:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1957, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26430:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "26430:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1961, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26488:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1962, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26495:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303932343932343932343932343932343932343932343932343932343932343932", - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26500:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_194447066811964836264785489961010406546_by_1", - "typeString": "int_const 1944...(31 digits omitted)...6546" - }, - "value": "0x092492492492492492492492492492492" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1964, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26538:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26500:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1966, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26499:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26495:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26543:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "26495:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26488:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1971, - "nodeType": "ExpressionStatement", - "src": "26488:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1972, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26580:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1973, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26584:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1974, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26588:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1976, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26592:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26580:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1979, - "nodeType": "ExpressionStatement", - "src": "26580:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1980, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26638:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1981, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26645:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303865333865333865333865333865333865333865333865333865333865333865", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26650:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_189045759400521368590763670795426784142_by_1", - "typeString": "int_const 1890...(31 digits omitted)...4142" - }, - "value": "0x08e38e38e38e38e38e38e38e38e38e38e" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1983, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26688:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26650:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26649:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26645:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078353030303030303030303030303030303030303030303030303030303030303030", - "id": 1987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26693:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1701411834604692317316873037158841057280_by_1", - "typeString": "int_const 1701...(32 digits omitted)...7280" - }, - "value": "0x500000000000000000000000000000000" - }, - "src": "26645:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26638:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1990, - "nodeType": "ExpressionStatement", - "src": "26638:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1991, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26730:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1992, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1993, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26738:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1995, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26730:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1998, - "nodeType": "ExpressionStatement", - "src": "26730:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1999, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2000, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26795:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303862613265386261326538626132653862613265386261326538626132653862", - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26800:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185608563775057343707295240417328115339_by_1", - "typeString": "int_const 1856...(31 digits omitted)...5339" - }, - "value": "0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2002, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26838:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26800:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2004, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26799:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26795:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078363030303030303030303030303030303030303030303030303030303030303030", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26843:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2041694201525630780780247644590609268736_by_1", - "typeString": "int_const 2041...(32 digits omitted)...8736" - }, - "value": "0x600000000000000000000000000000000" - }, - "src": "26795:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26788:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2009, - "nodeType": "ExpressionStatement", - "src": "26788:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2010, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26880:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2011, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26884:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2012, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "26888:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2014, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "26892:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26880:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2017, - "nodeType": "ExpressionStatement", - "src": "26880:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2018, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "26938:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2019, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "26945:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303839643839643839643839643839643839643839643839643839643839643839", - "id": 2020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_183228966803582249557201711694029036937_by_1", - "typeString": "int_const 1832...(31 digits omitted)...6937" - }, - "value": "0x089d89d89d89d89d89d89d89d89d89d89" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2021, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "26988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26950:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2023, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26949:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26945:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078373030303030303030303030303030303030303030303030303030303030303030", - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26993:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2381976568446569244243622252022377480192_by_1", - "typeString": "int_const 2381...(32 digits omitted)...0192" - }, - "value": "0x700000000000000000000000000000000" - }, - "src": "26945:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26938:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2028, - "nodeType": "ExpressionStatement", - "src": "26938:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2029, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27030:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2030, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27034:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2031, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "27038:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2033, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "27042:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27030:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2036, - "nodeType": "ExpressionStatement", - "src": "27030:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2037, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "27088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2038, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "27095:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303838383838383838383838383838383838383838383838383838383838383838", - "id": 2039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27100:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181483929024500513847133123963609712776_by_1", - "typeString": "int_const 1814...(31 digits omitted)...2776" - }, - "value": "0x088888888888888888888888888888888" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 2040, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "27138:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27100:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2042, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27099:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27095:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27143:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "src": "27095:83:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27088:90:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2047, - "nodeType": "ExpressionStatement", - "src": "27088:90:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2048, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "27246:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1738, - "id": 2049, - "nodeType": "Return", - "src": "27239:10:0" - } - ] - }, - "documentation": "Return log(x / FIXED_1) * FIXED_1\nInput range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalLog.py'\nDetailed description:\n- Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n- The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n- The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n- The natural logarithm of the input is calculated by summing up the intermediate results above\n- For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)", - "id": 2051, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1734, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24506:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24505:11:0" - }, - "payable": false, - "returnParameters": { - "id": 1738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1737, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "24540:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24540:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24539:9:0" - }, - "scope": 2461, - "src": "24486:2770:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2459, - "nodeType": "Block", - "src": "27996:3116:0", - "statements": [ - { - "assignments": [ - 2059 - ], - "declarations": [ - { - "constant": false, - "id": 2059, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28006:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28006:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2061, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28020:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28006:15:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2063, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28032:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28032:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2064, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28032:9:0" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2066, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "28051:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28051:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2067, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28051:9:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2068, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28071:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2069, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28075:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2070, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "28079:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:34:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "28079:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28075:42:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28071:46:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2075, - "nodeType": "ExpressionStatement", - "src": "28071:46:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2076, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28158:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2077, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28162:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2078, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28166:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2080, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28170:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28158:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2083, - "nodeType": "ExpressionStatement", - "src": "28158:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2084, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28179:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2085, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28186:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831306531623362653431356130303030", - "id": 2086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28190:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1216451004088320000_by_1", - "typeString": "int_const 1216451004088320000" - }, - "value": "0x10e1b3be415a0000" - }, - "src": "28186:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28179:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2089, - "nodeType": "ExpressionStatement", - "src": "28179:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2090, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28244:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2091, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28248:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2092, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28252:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2094, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28256:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28244:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "nodeType": "ExpressionStatement", - "src": "28244:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2098, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28265:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2099, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28272:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830356130393133663662316530303030", - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28276:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_405483668029440000_by_1", - "typeString": "int_const 405483668029440000" - }, - "value": "0x05a0913f6b1e0000" - }, - "src": "28272:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28265:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "28265:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2104, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28330:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2105, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28334:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2106, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28338:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2108, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28330:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2111, - "nodeType": "ExpressionStatement", - "src": "28330:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2112, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28351:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2113, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28358:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830313638323434666461633738303030", - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28362:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101370917007360000_by_1", - "typeString": "int_const 101370917007360000" - }, - "value": "0x0168244fdac78000" - }, - "src": "28358:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28351:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2117, - "nodeType": "ExpressionStatement", - "src": "28351:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2118, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2119, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28420:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2120, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28424:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2122, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28416:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2125, - "nodeType": "ExpressionStatement", - "src": "28416:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2126, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28437:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2127, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28444:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303438303734333262633138303030", - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28448:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20274183401472000_by_1", - "typeString": "int_const 20274183401472000" - }, - "value": "0x004807432bc18000" - }, - "src": "28444:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28437:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2131, - "nodeType": "ExpressionStatement", - "src": "28437:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2132, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28502:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2133, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28506:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2134, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28510:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2136, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28514:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28502:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "28502:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2140, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28523:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2141, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28530:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303063303133356463613034303030", - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28534:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3379030566912000_by_1", - "typeString": "int_const 3379030566912000" - }, - "value": "0x000c0135dca04000" - }, - "src": "28530:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28523:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2145, - "nodeType": "ExpressionStatement", - "src": "28523:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2146, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28588:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2147, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28592:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2148, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28596:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2150, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28600:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28588:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2153, - "nodeType": "ExpressionStatement", - "src": "28588:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2154, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28609:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2155, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28616:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303031623730376231636463303030", - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28620:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_482718652416000_by_1", - "typeString": "int_const 482718652416000" - }, - "value": "0x0001b707b1cdc000" - }, - "src": "28616:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28609:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2159, - "nodeType": "ExpressionStatement", - "src": "28609:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2160, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28674:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2161, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28678:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2162, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28682:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2164, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28686:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28674:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "nodeType": "ExpressionStatement", - "src": "28674:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2168, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28695:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2169, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28702:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030333665306636333962383030", - "id": 2170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28706:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60339831552000_by_1", - "typeString": "int_const 60339831552000" - }, - "value": "0x000036e0f639b800" - }, - "src": "28702:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28695:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2173, - "nodeType": "ExpressionStatement", - "src": "28695:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2174, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28760:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2175, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28764:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2176, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28768:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2178, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28772:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28760:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2181, - "nodeType": "ExpressionStatement", - "src": "28760:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2182, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28781:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2183, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28788:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303631386665653966383030", - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28792:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6704425728000_by_1", - "typeString": "int_const 6704425728000" - }, - "value": "0x00000618fee9f800" - }, - "src": "28788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28781:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2187, - "nodeType": "ExpressionStatement", - "src": "28781:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2188, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28846:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2189, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28850:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2190, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28854:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2192, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28858:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28846:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2195, - "nodeType": "ExpressionStatement", - "src": "28846:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2196, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28867:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2197, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303039633139376463633030", - "id": 2198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28878:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_670442572800_by_1", - "typeString": "int_const 670442572800" - }, - "value": "0x0000009c197dcc00" - }, - "src": "28874:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28867:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2201, - "nodeType": "ExpressionStatement", - "src": "28867:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2202, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28932:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2203, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28936:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2204, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "28940:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2206, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "28944:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28932:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2209, - "nodeType": "ExpressionStatement", - "src": "28932:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2210, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "28953:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2211, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "28960:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030653330646365343030", - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28964:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60949324800_by_1", - "typeString": "int_const 60949324800" - }, - "value": "0x0000000e30dce400" - }, - "src": "28960:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28953:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "nodeType": "ExpressionStatement", - "src": "28953:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2216, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29018:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2217, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29022:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2218, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29026:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2220, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29030:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2223, - "nodeType": "ExpressionStatement", - "src": "29018:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2224, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29039:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2225, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29046:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030313265626431333030", - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29050:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5079110400_by_1", - "typeString": "int_const 5079110400" - }, - "value": "0x000000012ebd1300" - }, - "src": "29046:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29039:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2229, - "nodeType": "ExpressionStatement", - "src": "29039:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2230, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29104:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2231, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29108:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2232, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29112:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2234, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29116:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29104:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2237, - "nodeType": "ExpressionStatement", - "src": "29104:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2238, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29125:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2239, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29132:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303137343939663030", - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29136:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_390700800_by_1", - "typeString": "int_const 390700800" - }, - "value": "0x0000000017499f00" - }, - "src": "29132:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29125:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2243, - "nodeType": "ExpressionStatement", - "src": "29125:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2244, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29190:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2245, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29194:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2246, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29198:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2248, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29202:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29190:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2251, - "nodeType": "ExpressionStatement", - "src": "29190:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2252, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29211:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2253, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29218:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303031613964343830", - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29222:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27907200_by_1", - "typeString": "int_const 27907200" - }, - "value": "0x0000000001a9d480" - }, - "src": "29218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29211:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2257, - "nodeType": "ExpressionStatement", - "src": "29211:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2258, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29276:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2259, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29280:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2260, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29284:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2262, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29288:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29276:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2265, - "nodeType": "ExpressionStatement", - "src": "29276:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2266, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29297:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2267, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29304:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030316336333830", - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29308:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1860480_by_1", - "typeString": "int_const 1860480" - }, - "value": "0x00000000001c6380" - }, - "src": "29304:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29297:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2271, - "nodeType": "ExpressionStatement", - "src": "29297:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2272, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29362:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2273, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29366:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2274, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29370:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2276, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29362:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2279, - "nodeType": "ExpressionStatement", - "src": "29362:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2280, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29383:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2281, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29390:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303163363338", - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29394:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116280_by_1", - "typeString": "int_const 116280" - }, - "value": "0x000000000001c638" - }, - "src": "29390:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29383:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2285, - "nodeType": "ExpressionStatement", - "src": "29383:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2286, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29448:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2287, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29452:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2288, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29456:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2290, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29460:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29448:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2293, - "nodeType": "ExpressionStatement", - "src": "29448:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2294, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29469:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2295, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29476:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303031616238", - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29480:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6840_by_1", - "typeString": "int_const 6840" - }, - "value": "0x0000000000001ab8" - }, - "src": "29476:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29469:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2299, - "nodeType": "ExpressionStatement", - "src": "29469:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2300, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29534:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2301, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29538:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2302, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29542:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2304, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29546:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29534:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2307, - "nodeType": "ExpressionStatement", - "src": "29534:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2308, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29555:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2309, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29562:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030313763", - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29566:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_380_by_1", - "typeString": "int_const 380" - }, - "value": "0x000000000000017c" - }, - "src": "29562:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29555:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2313, - "nodeType": "ExpressionStatement", - "src": "29555:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2314, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29620:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2315, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29624:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2316, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29628:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2318, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29632:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29620:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2321, - "nodeType": "ExpressionStatement", - "src": "29620:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2322, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29641:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2323, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29648:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303134", - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29652:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x0000000000000014" - }, - "src": "29648:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29641:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2327, - "nodeType": "ExpressionStatement", - "src": "29641:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2328, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29706:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2329, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29710:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2330, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29714:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 2332, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29718:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29706:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2335, - "nodeType": "ExpressionStatement", - "src": "29706:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2336, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29727:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2337, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "29734:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303031", - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29738:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000001" - }, - "src": "29734:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29727:29:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "29727:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2342, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29792:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2343, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29798:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307832316333363737633832623430303030", - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29804:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2432902008176640000_by_1", - "typeString": "int_const 2432902008176640000" - }, - "value": "0x21c3677c82b40000" - }, - "src": "29798:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2346, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "29825:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2348, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "29829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29792:44:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2351, - "nodeType": "ExpressionStatement", - "src": "29792:44:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2352, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "29902:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030303030303030303030303030303030", - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29906:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x010000000000000000000000000000000" - }, - "src": "29902:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2355, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "29901:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29946:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29901:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2366, - "nodeType": "IfStatement", - "src": "29897:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2358, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29949:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2359, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "29955:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078316333643661323465643832323138373837643632346433653565626139356639", - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29961:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_600596269623765960634066700837880239609_by_1", - "typeString": "int_const 6005...(31 digits omitted)...9609" - }, - "value": "0x1c3d6a24ed82218787d624d3e5eba95f9" - }, - "src": "29955:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373736", - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29999:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276726_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6726" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e776" - }, - "src": "29955:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29949:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2365, - "nodeType": "ExpressionStatement", - "src": "29949:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2367, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30073:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303230303030303030303030303030303030303030303030303030303030303030", - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30077:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x020000000000000000000000000000000" - }, - "src": "30073:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2370, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30072:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30117:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30072:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2381, - "nodeType": "IfStatement", - "src": "30068:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2373, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30120:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2374, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373738", - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30132:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276728_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6728" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e778" - }, - "src": "30126:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656434", - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30170:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284564_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4564" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed4" - }, - "src": "30126:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30120:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "30120:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2382, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30244:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303430303030303030303030303030303030303030303030303030303030303030", - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30248:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x040000000000000000000000000000000" - }, - "src": "30244:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2385, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30243:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30288:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30243:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2396, - "nodeType": "IfStatement", - "src": "30239:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2388, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30291:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2389, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30297:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656435", - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30303:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284565_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4565" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed5" - }, - "src": "30297:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323166", - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30341:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656607_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6607" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21f" - }, - "src": "30297:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30291:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2395, - "nodeType": "ExpressionStatement", - "src": "30291:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2397, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30415:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 2398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30419:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "src": "30415:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2400, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30414:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30459:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30414:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2411, - "nodeType": "IfStatement", - "src": "30410:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2403, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30462:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2404, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30468:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323165", - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30474:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656606_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6606" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21e" - }, - "src": "30468:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356339", - "id": 2407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30512:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237641_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7641" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c9" - }, - "src": "30468:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30462:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2410, - "nodeType": "ExpressionStatement", - "src": "30462:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2412, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30586:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30590:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "30586:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2415, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30585:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30630:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30585:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2426, - "nodeType": "IfStatement", - "src": "30581:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2418, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30633:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2419, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30639:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356335", - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30645:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237637_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7637" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c5" - }, - "src": "30639:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316561", - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30683:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307242_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7242" - }, - "value": "0x00960aadc109e7a3bf4578099615711ea" - }, - "src": "30639:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30633:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2425, - "nodeType": "ExpressionStatement", - "src": "30633:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2427, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30757:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 2428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30761:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "30757:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2430, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30756:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30801:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30756:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2441, - "nodeType": "IfStatement", - "src": "30752:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2433, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30804:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2438, - "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, - "id": 2434, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30810:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316437", - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30816:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307223_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7223" - }, - "value": "0x00960aadc109e7a3bf4578099615711d7" - }, - "src": "30810:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463653364", - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30854:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646425149_by_1", - "typeString": "int_const 2283...(28 digits omitted)...5149" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdce3d" - }, - "src": "30810:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30804:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2440, - "nodeType": "ExpressionStatement", - "src": "30804:85:0" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2442, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "30928:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30932:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "30928:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2445, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30927:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30972:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30927:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2456, - "nodeType": "IfStatement", - "src": "30923:137:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2448, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30975:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2449, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "30981:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463333037", - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30987:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646422279_by_1", - "typeString": "int_const 2283...(28 digits omitted)...2279" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdc307" - }, - "src": "30981:41:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030303030336336616237373564643062393562346362656537653635643131", - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31025:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76587471230661696290698490699025_by_1", - "typeString": "int_const 76587471230661696290698490699025" - }, - "value": "0x0000003c6ab775dd0b95b4cbee7e65d11" - }, - "src": "30981:79:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30975:85:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2455, - "nodeType": "ExpressionStatement", - "src": "30975:85:0" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2457, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "31102:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2057, - "id": 2458, - "nodeType": "Return", - "src": "31095:10:0" - } - ] - }, - "documentation": "Return e ^ (x / FIXED_1) * FIXED_1\nInput range: 0 <= x <= OPT_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalExp.py'\nDetailed description:\n- Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n- The exponentiation of each binary exponent is given (pre-calculated)\n- The exponentiation of r is calculated via Taylor series for e^x, where x = r\n- The exponentiation of the input is calculated by multiplying the intermediate results above\n- For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859", - "id": 2460, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2053, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "27953:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27953:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27952:11:0" - }, - "payable": false, - "returnParameters": { - "id": 2057, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2056, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "27987:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27986:9:0" - }, - "scope": 2461, - "src": "27933:3179:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2462, - "src": "150:30964:0" - } - ], - "src": "0:31114:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-07T14:13:43.296Z" -} \ No newline at end of file diff --git a/apps/bancor-formula/build/contracts/IBancorFormula.json b/apps/bancor-formula/build/contracts/IBancorFormula.json deleted file mode 100644 index 2afb3c7..0000000 --- a/apps/bancor-formula/build/contracts/IBancorFormula.json +++ /dev/null @@ -1,1213 +0,0 @@ -{ - "contractName": "IBancorFormula", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_depositAmount", - "type": "uint256" - } - ], - "name": "calculatePurchaseReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_sellAmount", - "type": "uint256" - } - ], - "name": "calculateSaleReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_fromConnectorBalance", - "type": "uint256" - }, - { - "name": "_fromConnectorWeight", - "type": "uint32" - }, - { - "name": "_toConnectorBalance", - "type": "uint256" - }, - { - "name": "_toConnectorWeight", - "type": "uint32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "calculateCrossConnectorReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n/*\n Bancor Formula interface\n*/\ncontract IBancorFormula {\n function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256);\n function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256);\n function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256);\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol", - "exportedSymbols": { - "IBancorFormula": [ - 2505 - ] - }, - "id": 2506, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2463, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 2505, - "linearizedBaseContracts": [ - 2505 - ], - "name": "IBancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 2476, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2465, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "123:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "123:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2467, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "140:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "140:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2469, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "167:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2468, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "167:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2471, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "192:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:93:1" - }, - "payable": false, - "returnParameters": { - "id": 2475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2474, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "237:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:9:1" - }, - "scope": 2505, - "src": "90:156:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2489, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2478, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "280:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2480, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "297:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2482, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "324:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2481, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "324:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "349:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "279:90:1" - }, - "payable": false, - "returnParameters": { - "id": 2488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2487, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "391:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "391:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "390:9:1" - }, - "scope": 2505, - "src": "251:149:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2504, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2491, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "444:29:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "444:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2493, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "475:27:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2492, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "475:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2495, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "504:27:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2497, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "533:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2496, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "533:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2499, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "560:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:133:1" - }, - "payable": false, - "returnParameters": { - "id": 2503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2502, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "598:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "598:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "597:9:1" - }, - "scope": 2505, - "src": "405:202:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2506, - "src": "60:549:1" - } - ], - "src": "0:609:1" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol", - "exportedSymbols": { - "IBancorFormula": [ - 2505 - ] - }, - "id": 2506, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2463, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 2505, - "linearizedBaseContracts": [ - 2505 - ], - "name": "IBancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 2476, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2465, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "123:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "123:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2467, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "140:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "140:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2469, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "167:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2468, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "167:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2471, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "192:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:93:1" - }, - "payable": false, - "returnParameters": { - "id": 2475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2474, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "237:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:9:1" - }, - "scope": 2505, - "src": "90:156:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2489, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2478, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "280:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2480, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "297:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2482, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "324:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2481, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "324:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "349:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "279:90:1" - }, - "payable": false, - "returnParameters": { - "id": 2488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2487, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "391:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "391:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "390:9:1" - }, - "scope": 2505, - "src": "251:149:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2504, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2491, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "444:29:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "444:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2493, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "475:27:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2492, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "475:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2495, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "504:27:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2497, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "533:25:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2496, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "533:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2499, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "560:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:133:1" - }, - "payable": false, - "returnParameters": { - "id": 2503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2502, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2504, - "src": "598:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "598:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "597:9:1" - }, - "scope": 2505, - "src": "405:202:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2506, - "src": "60:549:1" - } - ], - "src": "0:609:1" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-07T14:13:43.251Z" -} \ No newline at end of file diff --git a/apps/bancor-formula/build/contracts/SafeMath.json b/apps/bancor-formula/build/contracts/SafeMath.json deleted file mode 100644 index 60a0f10..0000000 --- a/apps/bancor-formula/build/contracts/SafeMath.json +++ /dev/null @@ -1,2665 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208af2d57ef04b242c173a58f1e92075d96266510fb28d403b4ff894b31a681f6c0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208af2d57ef04b242c173a58f1e92075d96266510fb28d403b4ff894b31a681f6c0029", - "sourceMap": "104:1454:0:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "104:1454:0:-;;;;;;;;", - "source": "pragma solidity 0.4.24;\n\n/*\n Library for basic math operations with overflow/underflow protection\n*/\nlibrary SafeMath {\n /**\n @dev returns the sum of _x and _y, reverts if the calculation overflows\n\n @param _x value 1\n @param _y value 2\n\n @return sum\n */\n function add(uint256 _x, uint256 _y) internal pure returns (uint256) {\n uint256 z = _x + _y;\n require(z >= _x);\n return z;\n }\n\n /**\n @dev returns the difference of _x minus _y, reverts if the calculation underflows\n\n @param _x minuend\n @param _y subtrahend\n\n @return difference\n */\n function sub(uint256 _x, uint256 _y) internal pure returns (uint256) {\n require(_x >= _y);\n return _x - _y;\n }\n\n /**\n @dev returns the product of multiplying _x by _y, reverts if the calculation overflows\n\n @param _x factor 1\n @param _y factor 2\n\n @return product\n */\n function mul(uint256 _x, uint256 _y) internal pure returns (uint256) {\n // gas optimization\n if (_x == 0)\n return 0;\n\n uint256 z = _x * _y;\n require(z / _x == _y);\n return z;\n }\n\n /**\n @dev Integer division of two numbers truncating the quotient, reverts on division by zero.\n\n @param _x dividend\n @param _y divisor\n\n @return quotient\n */\n function div(uint256 _x, uint256 _y) internal pure returns (uint256) {\n require(_y > 0);\n uint256 c = _x / _y;\n\n return c;\n }\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/SafeMath.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 102 - ] - }, - "id": 103, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 102, - "linearizedBaseContracts": [ - 102 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 24, - "nodeType": "Block", - "src": "369:80:0", - "statements": [ - { - "assignments": [ - 11 - ], - "declarations": [ - { - "constant": false, - "id": 11, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "379:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "379:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "391:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 13, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "396:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "391:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "379:19:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "421:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "408:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "408:16:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "408:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 22, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "441:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9, - "id": 23, - "nodeType": "Return", - "src": "434:8:0" - } - ] - }, - "documentation": "@dev returns the sum of _x and _y, reverts if the calculation overflows\n@param _x value 1\n@param _y value 2\n@return sum", - "id": 25, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "313:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "325:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "325:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "312:24:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "360:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "360:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "359:9:0" - }, - "scope": 102, - "src": "300:149:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "717:58:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 35, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "735:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 36, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "741:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "735:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 34, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "727:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "727:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 39, - "nodeType": "ExpressionStatement", - "src": "727:17:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 40, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "761:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 41, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "766:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 33, - "id": 43, - "nodeType": "Return", - "src": "754:14:0" - } - ] - }, - "documentation": "@dev returns the difference of _x minus _y, reverts if the calculation underflows\n@param _x minuend\n@param _y subtrahend\n@return difference", - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 30, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "661:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "673:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "660:24:0" - }, - "payable": false, - "returnParameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 32, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "708:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 31, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "707:9:0" - }, - "scope": 102, - "src": "648:127:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 76, - "nodeType": "Block", - "src": "1044:157:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 54, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1086:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1092:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1086:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 59, - "nodeType": "IfStatement", - "src": "1082:33:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1114:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 53, - "id": 58, - "nodeType": "Return", - "src": "1107:8:0" - } - }, - { - "assignments": [ - 61 - ], - "declarations": [ - { - "constant": false, - "id": 61, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1126:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 60, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 65, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 62, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1138:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 63, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1143:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1126:19:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 67, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1163:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 68, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1167:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 70, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1173:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 66, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "1155:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1155:21:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73, - "nodeType": "ExpressionStatement", - "src": "1155:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 74, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1193:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 53, - "id": 75, - "nodeType": "Return", - "src": "1186:8:0" - } - ] - }, - "documentation": "@dev returns the product of multiplying _x by _y, reverts if the calculation overflows\n@param _x factor 1\n@param _y factor 2\n@return product", - "id": 77, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "988:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1000:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1000:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "987:24:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1035:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1034:9:0" - }, - "scope": 102, - "src": "975:226:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 100, - "nodeType": "Block", - "src": "1476:80:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 87, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "1494:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1494:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 86, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "1486:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1486:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 91, - "nodeType": "ExpressionStatement", - "src": "1486:15:0" - }, - { - "assignments": [ - 93 - ], - "declarations": [ - { - "constant": false, - "id": 93, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1511:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 92, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 97, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 94, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "1523:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 95, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "1528:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1523:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1511:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 98, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1548:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 85, - "id": 99, - "nodeType": "Return", - "src": "1541:8:0" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.\n@param _x dividend\n@param _y divisor\n@return quotient", - "id": 101, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 82, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1420:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1432:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1432:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1419:24:0" - }, - "payable": false, - "returnParameters": { - "id": 85, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 84, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1467:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 83, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1466:9:0" - }, - "scope": 102, - "src": "1407:149:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 103, - "src": "104:1454:0" - } - ], - "src": "0:1558:0" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 102 - ] - }, - "id": 103, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 102, - "linearizedBaseContracts": [ - 102 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 24, - "nodeType": "Block", - "src": "369:80:0", - "statements": [ - { - "assignments": [ - 11 - ], - "declarations": [ - { - "constant": false, - "id": 11, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "379:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "379:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "391:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 13, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "396:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "391:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "379:19:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "421:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "408:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "408:16:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "408:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 22, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "441:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9, - "id": 23, - "nodeType": "Return", - "src": "434:8:0" - } - ] - }, - "documentation": "@dev returns the sum of _x and _y, reverts if the calculation overflows\n@param _x value 1\n@param _y value 2\n@return sum", - "id": 25, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "313:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "325:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "325:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "312:24:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25, - "src": "360:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "360:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "359:9:0" - }, - "scope": 102, - "src": "300:149:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "717:58:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 35, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "735:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 36, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "741:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "735:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 34, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "727:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "727:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 39, - "nodeType": "ExpressionStatement", - "src": "727:17:0" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 40, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "761:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 41, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "766:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 33, - "id": 43, - "nodeType": "Return", - "src": "754:14:0" - } - ] - }, - "documentation": "@dev returns the difference of _x minus _y, reverts if the calculation underflows\n@param _x minuend\n@param _y subtrahend\n@return difference", - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 30, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "661:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "673:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "660:24:0" - }, - "payable": false, - "returnParameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 32, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "708:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 31, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "707:9:0" - }, - "scope": 102, - "src": "648:127:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 76, - "nodeType": "Block", - "src": "1044:157:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 54, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1086:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1092:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1086:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 59, - "nodeType": "IfStatement", - "src": "1082:33:0", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1114:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 53, - "id": 58, - "nodeType": "Return", - "src": "1107:8:0" - } - }, - { - "assignments": [ - 61 - ], - "declarations": [ - { - "constant": false, - "id": 61, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1126:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 60, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 65, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 62, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1138:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 63, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1143:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1126:19:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 67, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1163:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 68, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1167:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 70, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1173:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 66, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "1155:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1155:21:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73, - "nodeType": "ExpressionStatement", - "src": "1155:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 74, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1193:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 53, - "id": 75, - "nodeType": "Return", - "src": "1186:8:0" - } - ] - }, - "documentation": "@dev returns the product of multiplying _x by _y, reverts if the calculation overflows\n@param _x factor 1\n@param _y factor 2\n@return product", - "id": 77, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "988:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1000:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1000:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "987:24:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 77, - "src": "1035:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1034:9:0" - }, - "scope": 102, - "src": "975:226:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 100, - "nodeType": "Block", - "src": "1476:80:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 87, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "1494:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1494:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 86, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 120, - 121 - ], - "referencedDeclaration": 120, - "src": "1486:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1486:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 91, - "nodeType": "ExpressionStatement", - "src": "1486:15:0" - }, - { - "assignments": [ - 93 - ], - "declarations": [ - { - "constant": false, - "id": 93, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1511:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 92, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 97, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 94, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "1523:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 95, - "name": "_y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "1528:2:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1523:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1511:19:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 98, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1548:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 85, - "id": 99, - "nodeType": "Return", - "src": "1541:8:0" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.\n@param _x dividend\n@param _y divisor\n@return quotient", - "id": 101, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 82, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1420:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "name": "_y", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1432:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1432:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1419:24:0" - }, - "payable": false, - "returnParameters": { - "id": 85, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 84, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1467:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 83, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1466:9:0" - }, - "scope": 102, - "src": "1407:149:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 103, - "src": "104:1454:0" - } - ], - "src": "0:1558:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-07T14:13:56.063Z" -} \ No newline at end of file diff --git a/apps/bancor-formula/build/contracts/Utils.json b/apps/bancor-formula/build/contracts/Utils.json deleted file mode 100644 index 5a70de8..0000000 --- a/apps/bancor-formula/build/contracts/Utils.json +++ /dev/null @@ -1,1196 +0,0 @@ -{ - "contractName": "Utils", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582073e320ae3aeec83121f12dfe66f2bde4d74792320617e304217495624510445f0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582073e320ae3aeec83121f12dfe66f2bde4d74792320617e304217495624510445f0029", - "sourceMap": "64:587:3:-;;;120:28;8:9:-1;5:2;;;30:1;27;20:12;5:2;120:28:3;64:587;;;;;;", - "deployedSourceMap": "64:587:3:-;;;;;", - "source": "pragma solidity 0.4.24;\n\n/*\n Utilities & Common Modifiers\n*/\ncontract Utils {\n /**\n constructor\n */\n constructor() public {\n }\n\n // verifies that an amount is greater than zero\n modifier greaterThanZero(uint256 _amount) {\n require(_amount > 0);\n _;\n }\n\n // validates an address - currently only checks that it isn't null\n modifier validAddress(address _address) {\n require(_address != address(0));\n _;\n }\n\n // verifies that the address is different than this contract address\n modifier notThis(address _address) {\n require(_address != address(this));\n _;\n }\n\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/Utils.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/Utils.sol", - "exportedSymbols": { - "Utils": [ - 2655 - ] - }, - "id": 2656, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2610, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2655, - "linearizedBaseContracts": [ - 2655 - ], - "name": "Utils", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2613, - "nodeType": "Block", - "src": "141:7:3", - "statements": [] - }, - "documentation": "constructor", - "id": 2614, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2611, - "nodeType": "ParameterList", - "parameters": [], - "src": "131:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2612, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:0:3" - }, - "scope": 2655, - "src": "120:28:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2625, - "nodeType": "Block", - "src": "248:48:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2619, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "266:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "266:11:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2618, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "258:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:20:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2623, - "nodeType": "ExpressionStatement", - "src": "258:20:3" - }, - { - "id": 2624, - "nodeType": "PlaceholderStatement", - "src": "288:1:3" - } - ] - }, - "documentation": null, - "id": 2626, - "name": "greaterThanZero", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2616, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2626, - "src": "231:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:17:3" - }, - "src": "206:90:3", - "visibility": "internal" - }, - { - "body": { - "id": 2639, - "nodeType": "Block", - "src": "413:59:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2631, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "431:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451: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": 2632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "443:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "443:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "431:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2630, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "423:31:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2637, - "nodeType": "ExpressionStatement", - "src": "423:31:3" - }, - { - "id": 2638, - "nodeType": "PlaceholderStatement", - "src": "464:1:3" - } - ] - }, - "documentation": null, - "id": 2640, - "name": "validAddress", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2628, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 2640, - "src": "395:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2627, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "395:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "394:18:3" - }, - "src": "373:99:3", - "visibility": "internal" - }, - { - "body": { - "id": 2653, - "nodeType": "Block", - "src": "586:62:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2645, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2642, - "src": "604:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2647, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "624:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - ], - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "616:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "604:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "596:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "596:34:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2651, - "nodeType": "ExpressionStatement", - "src": "596:34:3" - }, - { - "id": 2652, - "nodeType": "PlaceholderStatement", - "src": "640:1:3" - } - ] - }, - "documentation": null, - "id": 2654, - "name": "notThis", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2642, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 2654, - "src": "568:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "568:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:18:3" - }, - "src": "551:97:3", - "visibility": "internal" - } - ], - "scope": 2656, - "src": "64:587:3" - } - ], - "src": "0:651:3" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/apps/bancor-formula/contracts/utility/Utils.sol", - "exportedSymbols": { - "Utils": [ - 2655 - ] - }, - "id": 2656, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2610, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2655, - "linearizedBaseContracts": [ - 2655 - ], - "name": "Utils", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2613, - "nodeType": "Block", - "src": "141:7:3", - "statements": [] - }, - "documentation": "constructor", - "id": 2614, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2611, - "nodeType": "ParameterList", - "parameters": [], - "src": "131:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2612, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:0:3" - }, - "scope": 2655, - "src": "120:28:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2625, - "nodeType": "Block", - "src": "248:48:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2619, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "266:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "266:11:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2618, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "258:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:20:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2623, - "nodeType": "ExpressionStatement", - "src": "258:20:3" - }, - { - "id": 2624, - "nodeType": "PlaceholderStatement", - "src": "288:1:3" - } - ] - }, - "documentation": null, - "id": 2626, - "name": "greaterThanZero", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2616, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2626, - "src": "231:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:17:3" - }, - "src": "206:90:3", - "visibility": "internal" - }, - { - "body": { - "id": 2639, - "nodeType": "Block", - "src": "413:59:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2631, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "431:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451: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": 2632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "443:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "443:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "431:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2630, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "423:31:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2637, - "nodeType": "ExpressionStatement", - "src": "423:31:3" - }, - { - "id": 2638, - "nodeType": "PlaceholderStatement", - "src": "464:1:3" - } - ] - }, - "documentation": null, - "id": 2640, - "name": "validAddress", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2628, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 2640, - "src": "395:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2627, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "395:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "394:18:3" - }, - "src": "373:99:3", - "visibility": "internal" - }, - { - "body": { - "id": 2653, - "nodeType": "Block", - "src": "586:62:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2645, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2642, - "src": "604:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2647, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "624:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Utils_$2655", - "typeString": "contract Utils" - } - ], - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "616:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "604:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2818, - 2819 - ], - "referencedDeclaration": 2818, - "src": "596:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "596:34:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2651, - "nodeType": "ExpressionStatement", - "src": "596:34:3" - }, - { - "id": 2652, - "nodeType": "PlaceholderStatement", - "src": "640:1:3" - } - ] - }, - "documentation": null, - "id": 2654, - "name": "notThis", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2642, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 2654, - "src": "568:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "568:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:18:3" - }, - "src": "551:97:3", - "visibility": "internal" - } - ], - "scope": 2656, - "src": "64:587:3" - } - ], - "src": "0:651:3" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-07T14:13:43.253Z" -} \ No newline at end of file diff --git a/apps/bancor-formula/contracts/BancorFormula.sol b/apps/bancor-formula/contracts/BancorFormula.sol index b6ad142..deb8b6d 100644 --- a/apps/bancor-formula/contracts/BancorFormula.sol +++ b/apps/bancor-formula/contracts/BancorFormula.sol @@ -1,13 +1,14 @@ pragma solidity 0.4.24; -import './interfaces/IBancorFormula.sol'; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IBancorFormula.sol"; import "@aragon/os/contracts/lib/math/SafeMath.sol"; -import './utility/Utils.sol'; +import "./utility/Utils.sol"; + contract BancorFormula is IBancorFormula, Utils { using SafeMath for uint256; - string public version = '0.3'; + string public version = "0.3"; uint256 private constant ONE = 1; uint32 private constant MAX_WEIGHT = 1000000; @@ -38,6 +39,7 @@ contract BancorFormula is IBancorFormula, Utils { */ uint256[128] private maxExpArray; constructor() public { + // solium-disable whitespace // maxExpArray[ 0] = 0x6bffffffffffffffffffffffffffffffff; // maxExpArray[ 1] = 0x67ffffffffffffffffffffffffffffffff; // maxExpArray[ 2] = 0x637fffffffffffffffffffffffffffffff; @@ -166,6 +168,7 @@ contract BancorFormula is IBancorFormula, Utils { maxExpArray[125] = 0x009131271922eaa6064b73a22d0bd4f2bf; maxExpArray[126] = 0x008b380f3558668c46c91c49a2f8e967b9; maxExpArray[127] = 0x00857ddf0117efa215952912839f6473e6; + // solium-enable whitespace } /** @@ -182,7 +185,14 @@ contract BancorFormula is IBancorFormula, Utils { @return purchase return amount */ - function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256) { + function calculatePurchaseReturn( + uint256 _supply, + uint256 _connectorBalance, + uint32 _connectorWeight, + uint256 _depositAmount + ) + public view returns (uint256) + { // validate input require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT); @@ -216,7 +226,14 @@ contract BancorFormula is IBancorFormula, Utils { @return sale return amount */ - function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256) { + function calculateSaleReturn( + uint256 _supply, + uint256 _connectorBalance, + uint32 _connectorWeight, + uint256 _sellAmount + ) + public view returns (uint256) + { // validate input require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT && _sellAmount <= _supply); @@ -256,13 +273,28 @@ contract BancorFormula is IBancorFormula, Utils { @return second connector amount */ - function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256) { + function calculateCrossConnectorReturn( + uint256 _fromConnectorBalance, + uint32 _fromConnectorWeight, + uint256 _toConnectorBalance, + uint32 _toConnectorWeight, + uint256 _amount + ) + public view returns (uint256) + { // validate input - require(_fromConnectorBalance > 0 && _fromConnectorWeight > 0 && _fromConnectorWeight <= MAX_WEIGHT && _toConnectorBalance > 0 && _toConnectorWeight > 0 && _toConnectorWeight <= MAX_WEIGHT); + require( + _fromConnectorBalance > 0 && + _fromConnectorWeight > 0 && + _fromConnectorWeight <= MAX_WEIGHT && + _toConnectorBalance > 0 && + _toConnectorWeight > 0 && + _toConnectorWeight <= MAX_WEIGHT); // special case for equal weights - if (_fromConnectorWeight == _toConnectorWeight) + if (_fromConnectorWeight == _toConnectorWeight) { return _toConnectorBalance.mul(_amount) / _fromConnectorBalance.add(_amount); + } uint256 result; uint8 precision; @@ -297,16 +329,14 @@ contract BancorFormula is IBancorFormula, Utils { uint256 base = _baseN * FIXED_1 / _baseD; if (base < OPT_LOG_MAX_VAL) { baseLog = optimalLog(base); - } - else { + } else { baseLog = generalLog(base); } uint256 baseLogTimesExp = baseLog * _expN / _expD; if (baseLogTimesExp < OPT_EXP_MAX_VAL) { return (optimalExp(baseLogTimesExp), MAX_PRECISION); - } - else { + } else { uint8 precision = findPositionInMaxExpArray(baseLogTimesExp); return (generalExp(baseLogTimesExp >> (MAX_PRECISION - precision), precision), precision); } @@ -352,8 +382,7 @@ contract BancorFormula is IBancorFormula, Utils { _n >>= 1; res += 1; } - } - else { + } else { // Exactly 8 iterations for (uint8 s = 128; s > 0; s >>= 1) { if (_n >= (ONE << s)) { @@ -377,16 +406,19 @@ contract BancorFormula is IBancorFormula, Utils { while (lo + 1 < hi) { uint8 mid = (lo + hi) / 2; - if (maxExpArray[mid] >= _x) + if (maxExpArray[mid] >= _x) { lo = mid; - else + } else { hi = mid; + } } - if (maxExpArray[hi] >= _x) + if (maxExpArray[hi] >= _x) { return hi; - if (maxExpArray[lo] >= _x) + } + if (maxExpArray[lo] >= _x) { return lo; + } require(false); return 0; @@ -457,6 +489,7 @@ contract BancorFormula is IBancorFormula, Utils { uint256 z; uint256 w; + // solium-disable max-len if (x >= 0xd3094c70f034de4b96ff7d5b6f99fcd8) {res += 0x40000000000000000000000000000000; x = x * FIXED_1 / 0xd3094c70f034de4b96ff7d5b6f99fcd8;} // add 1 / 2^1 if (x >= 0xa45af1e1f40c333b3de1db4dd55f29a7) {res += 0x20000000000000000000000000000000; x = x * FIXED_1 / 0xa45af1e1f40c333b3de1db4dd55f29a7;} // add 1 / 2^2 if (x >= 0x910b022db7ae67ce76b441c27035c6a1) {res += 0x10000000000000000000000000000000; x = x * FIXED_1 / 0x910b022db7ae67ce76b441c27035c6a1;} // add 1 / 2^3 @@ -476,6 +509,7 @@ contract BancorFormula is IBancorFormula, Utils { res += z * (0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b - y) / 0x600000000000000000000000000000000; z = z * w / FIXED_1; // add y^11 / 11 - y^12 / 12 res += z * (0x089d89d89d89d89d89d89d89d89d89d89 - y) / 0x700000000000000000000000000000000; z = z * w / FIXED_1; // add y^13 / 13 - y^14 / 14 res += z * (0x088888888888888888888888888888888 - y) / 0x800000000000000000000000000000000; // add y^15 / 15 - y^16 / 16 + // solium-enable max-len return res; } @@ -519,13 +553,15 @@ contract BancorFormula is IBancorFormula, Utils { z = z * y / FIXED_1; res += z * 0x0000000000000001; // add y^20 * (20! / 20!) res = res / 0x21c3677c82b40000 + y + FIXED_1; // divide by 20! and then add y^1 / 1! + y^0 / 0! - if ((x & 0x010000000000000000000000000000000) != 0) res = res * 0x1c3d6a24ed82218787d624d3e5eba95f9 / 0x18ebef9eac820ae8682b9793ac6d1e776; // multiply by e^2^(-3) - if ((x & 0x020000000000000000000000000000000) != 0) res = res * 0x18ebef9eac820ae8682b9793ac6d1e778 / 0x1368b2fc6f9609fe7aceb46aa619baed4; // multiply by e^2^(-2) - if ((x & 0x040000000000000000000000000000000) != 0) res = res * 0x1368b2fc6f9609fe7aceb46aa619baed5 / 0x0bc5ab1b16779be3575bd8f0520a9f21f; // multiply by e^2^(-1) - if ((x & 0x080000000000000000000000000000000) != 0) res = res * 0x0bc5ab1b16779be3575bd8f0520a9f21e / 0x0454aaa8efe072e7f6ddbab84b40a55c9; // multiply by e^2^(+0) - if ((x & 0x100000000000000000000000000000000) != 0) res = res * 0x0454aaa8efe072e7f6ddbab84b40a55c5 / 0x00960aadc109e7a3bf4578099615711ea; // multiply by e^2^(+1) - if ((x & 0x200000000000000000000000000000000) != 0) res = res * 0x00960aadc109e7a3bf4578099615711d7 / 0x0002bf84208204f5977f9a8cf01fdce3d; // multiply by e^2^(+2) - if ((x & 0x400000000000000000000000000000000) != 0) res = res * 0x0002bf84208204f5977f9a8cf01fdc307 / 0x0000003c6ab775dd0b95b4cbee7e65d11; // multiply by e^2^(+3) + // solium-disable max-len + if ((x & 0x010000000000000000000000000000000) != 0) {res = res * 0x1c3d6a24ed82218787d624d3e5eba95f9 / 0x18ebef9eac820ae8682b9793ac6d1e776;} // multiply by e^2^(-3) + if ((x & 0x020000000000000000000000000000000) != 0) {res = res * 0x18ebef9eac820ae8682b9793ac6d1e778 / 0x1368b2fc6f9609fe7aceb46aa619baed4;} // multiply by e^2^(-2) + if ((x & 0x040000000000000000000000000000000) != 0) {res = res * 0x1368b2fc6f9609fe7aceb46aa619baed5 / 0x0bc5ab1b16779be3575bd8f0520a9f21f;} // multiply by e^2^(-1) + if ((x & 0x080000000000000000000000000000000) != 0) {res = res * 0x0bc5ab1b16779be3575bd8f0520a9f21e / 0x0454aaa8efe072e7f6ddbab84b40a55c9;} // multiply by e^2^(+0) + if ((x & 0x100000000000000000000000000000000) != 0) {res = res * 0x0454aaa8efe072e7f6ddbab84b40a55c5 / 0x00960aadc109e7a3bf4578099615711ea;} // multiply by e^2^(+1) + if ((x & 0x200000000000000000000000000000000) != 0) {res = res * 0x00960aadc109e7a3bf4578099615711d7 / 0x0002bf84208204f5977f9a8cf01fdce3d;} // multiply by e^2^(+2) + if ((x & 0x400000000000000000000000000000000) != 0) {res = res * 0x0002bf84208204f5977f9a8cf01fdc307 / 0x0000003c6ab775dd0b95b4cbee7e65d11;} // multiply by e^2^(+3) + // solium-enable max-len return res; } diff --git a/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol b/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol deleted file mode 100644 index 1ec7813..0000000 --- a/apps/bancor-formula/contracts/interfaces/IBancorFormula.sol +++ /dev/null @@ -1,10 +0,0 @@ -pragma solidity 0.4.24; - -/* - Bancor Formula interface -*/ -contract IBancorFormula { - function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256); - function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256); - function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256); -} \ No newline at end of file diff --git a/apps/bancor-formula/contracts/utility/SafeMath.sol b/apps/bancor-formula/contracts/utility/SafeMath.sol index b85ecab..5977322 100644 --- a/apps/bancor-formula/contracts/utility/SafeMath.sol +++ b/apps/bancor-formula/contracts/utility/SafeMath.sol @@ -1,5 +1,6 @@ pragma solidity 0.4.24; + /* Library for basic math operations with overflow/underflow protection */ diff --git a/apps/bancor-formula/contracts/utility/Utils.sol b/apps/bancor-formula/contracts/utility/Utils.sol index db564d0..0dfea8b 100644 --- a/apps/bancor-formula/contracts/utility/Utils.sol +++ b/apps/bancor-formula/contracts/utility/Utils.sol @@ -1,13 +1,15 @@ pragma solidity 0.4.24; + /* Utilities & Common Modifiers */ contract Utils { /** - constructor - */ + * constructor + */ constructor() public { + // solium-disable-previous-line no-empty-blocks } // verifies that an amount is greater than zero diff --git a/apps/bancor-formula/package.json b/apps/bancor-formula/package.json index cac35ad..e1e0569 100644 --- a/apps/bancor-formula/package.json +++ b/apps/bancor-formula/package.json @@ -1,5 +1,5 @@ { - "name": "@ablack/fundraising-bancor-formula", + "name": "@1hive/apps-marketplace-bancor-formula", "version": "1.0.0", "author": "Aragon Assocation ", "contributors": [ @@ -9,15 +9,10 @@ "license": "(GPL-3.0-or-later OR AGPL-3.0-or-later)", "homepage": "https://github.com/AragonBlack/fundraising", "scripts": { - "compile": "truffle compile", - "prepublishOnly": "truffle compile --all && npm run abi:extract -- --no-compile", - "abi:extract": "truffle-extract --output abi/ --keys abi", - "apm:prepublish": "npm run compile", - "apm:publish:rpc:major": "aragon apm publish major --environment default --skip-confirmation true --propagate-content false", - "apm:publish:hatch:major": "aragon apm publish major --environment hatch --use-frame", - "apm:publish:rinkeby:major": "aragon apm publish major --environment rinkeby --use-frame", - "apm:publish:mainnet:major": "aragon apm publish major --environment mainnet --use-frame", - "publish": "npm run apm:publish:rpc:major" + "lint": "solium --dir ./contracts --config ../../.soliumrc.json --no-soliumignore", + "compile": "buidler compile --force", + "abi:extract": "buidler-extract --output abi/ --keys abi", + "publish": "buidler publish major" }, "files": [ "/abi", @@ -26,9 +21,16 @@ "/contracts" ], "devDependencies": { - "@aragon/cli": "^6.2.5", + "@aragon/buidler-aragon": "^0.2.9", "@aragon/os": "4.2.1", - "truffle": "4.1.14", - "truffle-extract": "^1.2.1" + "@nomiclabs/buidler": "^1.4.3", + "@nomiclabs/buidler-etherscan": "^1.3.3", + "@nomiclabs/buidler-ganache": "^1.3.3", + "@nomiclabs/buidler-solhint": "^1.3.3", + "@nomiclabs/buidler-truffle5": "^1.3.4", + "@nomiclabs/buidler-web3": "^1.3.4", + "solium": "^1.2.3", + "buidler-extract": "^1.0.0", + "buidler-gas-reporter": "^0.1.3" } } diff --git a/apps/bancor-formula/truffle.js b/apps/bancor-formula/truffle.js deleted file mode 100644 index 2968b82..0000000 --- a/apps/bancor-formula/truffle.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@aragon/os/truffle-config') diff --git a/apps/bancor-market-maker/.solcover.js b/apps/bancor-market-maker/.solcover.js index 4b9fc52..af9e0ee 100644 --- a/apps/bancor-market-maker/.solcover.js +++ b/apps/bancor-market-maker/.solcover.js @@ -2,27 +2,25 @@ module.exports = { norpc: true, copyPackages: [ '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-agent', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-bancor-formula', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-bancor-formula', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], skipFiles: [ 'test', '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-agent', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-bancor-formula', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-bancor-formula', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], } diff --git a/apps/bancor-market-maker/arapp.json b/apps/bancor-market-maker/arapp.json index d784403..dd2bd95 100644 --- a/apps/bancor-market-maker/arapp.json +++ b/apps/bancor-market-maker/arapp.json @@ -1,28 +1,18 @@ { "environments": { - "default": { + "localhost": { "registry": "0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1", - "appName": "bancor-market-maker.open.aragonpm.eth", + "appName": "marketplace-bancor-market-maker.aragonpm.eth", "network": "rpc" }, "mainnet": { "registry": "0x314159265dd8dbb310642f98f50c066173c1259b", - "appName": "bancor-market-maker.open.aragonpm.eth", + "appName": "marketplace-bancor-market-maker.open.aragonpm.eth", "network": "mainnet" }, "rinkeby": { "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "bancor-market-maker.open.aragonpm.eth", - "network": "rinkeby" - }, - "hatch": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "bancor-market-maker.hatch.aragonpm.eth", - "network": "rinkeby" - }, - "staging": { - "registry": "0xfe03625ea880a8cba336f9b5ad6e15b0a3b5a939", - "appName": "bancor-market-maker.aragonpm.eth", + "appName": "marketplace-bancor-market-maker.open.aragonpm.eth", "network": "rinkeby" } }, diff --git a/apps/bancor-market-maker/buidler.config.js b/apps/bancor-market-maker/buidler.config.js new file mode 100644 index 0000000..f3b238a --- /dev/null +++ b/apps/bancor-market-maker/buidler.config.js @@ -0,0 +1,56 @@ +const { usePlugin } = require('@nomiclabs/buidler/config') + +usePlugin('@aragon/buidler-aragon') +usePlugin('@nomiclabs/buidler-solhint') +usePlugin('buidler-gas-reporter') +usePlugin('solidity-coverage') + +const ACCOUNTS = (process.env.ETH_KEYS ? process.env.ETH_KEYS.split(',') : []) + .map(key => key.trim()) + +module.exports = { + defaultNetwork: 'localhost', + networks: { + localhost: { + url: 'http://localhost:8545', + accounts: { + mnemonic: "explain tackle mirror kit van hammer degree position ginger unfair soup bonus" + } + }, + mainnet: { + url: 'https://mainnet.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Rinkeby network configured with Aragon node. + rinkeby: { + url: 'https://rinkeby.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Network configured to interact with Frame wallet. Requires + // to have Frame running on your machine. Download it from: + // https://frame.sh + frame: { + httpHeaders: { origin: 'buidler' }, + url: 'http://localhost:1248', + }, + xdai:{ + url: 'https://xdai.poanetwork.dev', + accounts: ACCOUNTS, + gasPrice: 20, + gas: 12000000, + }, + coverage: { + url: 'http://localhost:8555', + }, + }, + solc: { + version: '0.4.24', + optimizer: { + enabled: true, + runs: 10000, + }, + }, + gasReporter: { + enabled: process.env.GAS_REPORTER ? true : false, + }, +} diff --git a/apps/bancor-market-maker/contracts/BancorMarketMaker.sol b/apps/bancor-market-maker/contracts/BancorMarketMaker.sol index 4ca8f17..81fbdcf 100644 --- a/apps/bancor-market-maker/contracts/BancorMarketMaker.sol +++ b/apps/bancor-market-maker/contracts/BancorMarketMaker.sol @@ -8,8 +8,9 @@ import "@aragon/os/contracts/lib/math/SafeMath.sol"; import "@aragon/os/contracts/lib/token/ERC20.sol"; import "@aragon/apps-token-manager/contracts/TokenManager.sol"; import "@aragon/apps-vault/contracts/Vault.sol"; -import "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol"; -import "../../marketplace-controller/contracts/IMarketplaceController.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IBancorFormula.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IMarketplaceController.sol"; + contract BancorMarketMaker is EtherTokenConstant, IsContract, AragonApp { using SafeERC20 for ERC20; @@ -285,45 +286,6 @@ contract BancorMarketMaker is EtherTokenConstant, IsContract, AragonApp { _makeBuyOrder(buyerAddress, collateralTokenAddress, depositAmount, minReturnAmountAfterFee, true); } - /** - * @dev Make a buy order - * @param _buyer The address of the buyer - * @param _collateral The address of the collateral token to be deposited - * @param _depositAmount The amount of collateral token to be deposited - * @param _minReturnAmountAfterFee The minimum amount of the returned bonded tokens - * @param _noPreApproval Whether or not funds should have already been transferred - */ - function _makeBuyOrder(address _buyer, address _collateral, uint256 _depositAmount, uint256 _minReturnAmountAfterFee, bool _noPreApproval) - internal nonReentrant - { - require(isOpen, ERROR_NOT_OPEN); - require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED); - require(_collateralValueIsValid(_buyer, _collateral, _depositAmount, msg.value, _noPreApproval), ERROR_INVALID_COLLATERAL_VALUE); - - // deduct fee - uint256 fee = _depositAmount.mul(buyFeePct).div(PCT_BASE); - uint256 depositAmountLessFee = _depositAmount.sub(fee); - - // collect fee and collateral - if (fee > 0) { - _transfer(_buyer, beneficiary, _collateral, fee, _noPreApproval); - } - _transfer(_buyer, address(reserve), _collateral, depositAmountLessFee, _noPreApproval); - - uint256 collateralSupply = token.totalSupply().add(collaterals[_collateral].virtualSupply); - uint256 collateralBalanceOfReserve = controller.balanceOf(address(reserve), _collateral).add(collaterals[_collateral].virtualBalance); - uint32 reserveRatio = collaterals[_collateral].reserveRatio; - uint256 returnAmount = formula.calculatePurchaseReturn(collateralSupply, collateralBalanceOfReserve, reserveRatio, depositAmountLessFee); - - require(returnAmount >= _minReturnAmountAfterFee, ERROR_SLIPPAGE_EXCEEDS_LIMIT); - - if (returnAmount > 0) { - tokenManager.mint(_buyer, returnAmount); - } - - emit MakeBuyOrder(_buyer, _collateral, fee, depositAmountLessFee, returnAmount, buyFeePct); - } - /** * @notice Make a sell order worth `@tokenAmount(self.token(): address, _sellAmount)` for atleast `@tokenAmount(_collateral, _minReturnAmountAfterFee)` * @param _seller The address of the seller @@ -405,9 +367,9 @@ contract BancorMarketMaker is EtherTokenConstant, IsContract, AragonApp { return _msgValue == _value; } - bool buyerAllowanceAvailable = !_noPreApproval - && controller.balanceOf(_buyer, _collateral) >= _value - && ERC20(_collateral).allowance(_buyer, address(this)) >= _value; + bool buyerAllowanceAvailable = !_noPreApproval && + controller.balanceOf(_buyer, _collateral) >= _value && + ERC20(_collateral).allowance(_buyer, address(this)) >= _value; bool fundsAlreadyDeposited = _noPreApproval && controller.balanceOf(address(this), _collateral) >= _value; @@ -424,6 +386,45 @@ contract BancorMarketMaker is EtherTokenConstant, IsContract, AragonApp { /* initialization functions */ + /** + * @dev Make a buy order + * @param _buyer The address of the buyer + * @param _collateral The address of the collateral token to be deposited + * @param _depositAmount The amount of collateral token to be deposited + * @param _minReturnAmountAfterFee The minimum amount of the returned bonded tokens + * @param _noPreApproval Whether or not funds should have already been transferred + */ + function _makeBuyOrder(address _buyer, address _collateral, uint256 _depositAmount, uint256 _minReturnAmountAfterFee, bool _noPreApproval) + internal nonReentrant + { + require(isOpen, ERROR_NOT_OPEN); + require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED); + require(_collateralValueIsValid(_buyer, _collateral, _depositAmount, msg.value, _noPreApproval), ERROR_INVALID_COLLATERAL_VALUE); + + // deduct fee + uint256 fee = _depositAmount.mul(buyFeePct).div(PCT_BASE); + uint256 depositAmountLessFee = _depositAmount.sub(fee); + + // collect fee and collateral + if (fee > 0) { + _transfer(_buyer, beneficiary, _collateral, fee, _noPreApproval); + } + _transfer(_buyer, address(reserve), _collateral, depositAmountLessFee, _noPreApproval); + + uint256 collateralSupply = token.totalSupply().add(collaterals[_collateral].virtualSupply); + uint256 collateralBalanceOfReserve = controller.balanceOf(address(reserve), _collateral).add(collaterals[_collateral].virtualBalance); + uint32 reserveRatio = collaterals[_collateral].reserveRatio; + uint256 returnAmount = formula.calculatePurchaseReturn(collateralSupply, collateralBalanceOfReserve, reserveRatio, depositAmountLessFee); + + require(returnAmount >= _minReturnAmountAfterFee, ERROR_SLIPPAGE_EXCEEDS_LIMIT); + + if (returnAmount > 0) { + tokenManager.mint(_buyer, returnAmount); + } + + emit MakeBuyOrder(_buyer, _collateral, fee, depositAmountLessFee, returnAmount, buyFeePct); + } + /* state modifiying functions */ function _open() internal { diff --git a/apps/bancor-market-maker/contracts/test/TestImports.sol b/apps/bancor-market-maker/contracts/test/TestImports.sol index 0c316af..5ffe90b 100755 --- a/apps/bancor-market-maker/contracts/test/TestImports.sol +++ b/apps/bancor-market-maker/contracts/test/TestImports.sol @@ -5,11 +5,10 @@ import "@aragon/os/contracts/factory/DAOFactory.sol"; import "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol"; import "@aragon/os/contracts/kernel/Kernel.sol"; import "@aragon/apps-agent/contracts/Agent.sol"; -import "@aragon/apps-shared-migrations/contracts/Migrations.sol"; -import "@aragon/apps-shared-minime/contracts/MiniMeToken.sol"; -import "@aragon/test-helpers/contracts/TokenMock.sol"; -import "@ablack/fundraising-shared-test-helpers/contracts/AragonFundraisingControllerMock.sol"; - +import "@aragon/minime/contracts/MiniMeToken.sol"; +import "@aragon/contract-helpers-test/contracts/0.4/token/TokenMock.sol"; +import "@1hive/apps-marketplace-shared-test-helpers/contracts/MarketplaceControllerMock.sol"; +import "@1hive/apps-marketplace-bancor-formula/contracts/BancorFormula.sol"; // HACK to workaround truffle artifact loading on dependencies contract TestImports { diff --git a/apps/bancor-market-maker/migrations/.keep b/apps/bancor-market-maker/migrations/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/bancor-market-maker/package.json b/apps/bancor-market-maker/package.json index b62fc69..971ba76 100644 --- a/apps/bancor-market-maker/package.json +++ b/apps/bancor-market-maker/package.json @@ -10,19 +10,15 @@ "homepage": "https://github.com/1Hive/marketplace-app", "scripts": { "lint": "solium --dir ./contracts --config ../../.soliumrc.json", - "compile": "truffle compile", - "test": "TRUFFLE_TEST=true npm run test:ganache", - "test:gas": "GAS_REPORTER=true npm test", - "test:coverage": "SOLIDITY_COVERAGE=true npm run test:ganache", - "test:ganache": "./node_modules/@aragon/test-helpers/ganache-cli.sh", - "prepublishOnly": "truffle compile --all && npm run abi:extract -- --no-compile", - "abi:extract": "truffle-extract --output abi/ --keys abi", - "apm:prepublish": "npm run compile", - "apm:publish:rpc:major": "aragon apm publish major --environment default --skip-confirmation true --propagate-content false", - "apm:publish:hatch:major": "aragon apm publish major --environment hatch --use-frame", - "apm:publish:rinkeby:major": "aragon apm publish major --environment rinkeby --use-frame", - "apm:publish:mainnet:major": "aragon apm publish major --environment mainnet --use-frame", - "publish": "npm run apm:publish:rpc:major" + "compile": "buidler compile --force", + "test": "buidler test --network buidlerevm", + "test:gas": "REPORT_GAS=true buidler test --network localhost", + "coverage": "buidler coverage --network coverage", + "abi:extract": "buidler-extract --output abi/ --keys abi", + "publish:major": "buidler publish major", + "publish:minor": "buidler publish minor", + "publish:patch": "buidler publish patch", + "publish": "yarn publish:major" }, "files": [ "/abi", @@ -32,27 +28,29 @@ "/test" ], "dependencies": { - "@ablack/fundraising-bancor-formula": "^1.0.0", - "@ablack/fundraising-shared-interfaces": "^1.0.0", + "@1hive/apps-marketplace-bancor-formula": "^1.0.0", + "@1hive/apps-marketplace-shared-interfaces": "^1.0.0", "@aragon/apps-token-manager": "^2.1.0", "@aragon/apps-vault": "^4.1.0", "@aragon/os": "4.4.0" }, "devDependencies": { - "@ablack/fundraising-shared-test-helpers": "^1.0.0", + "@1hive/apps-marketplace-shared-test-helpers": "^1.0.0", "@aragon/apps-agent": "^2.0.0-rc.1", - "@aragon/apps-shared-migrations": "^1.0.0", - "@aragon/apps-shared-minime": "^1.0.0", - "@aragon/cli": "^6.2.5", - "@aragon/test-helpers": "^2.0.0", + "@aragon/minime": "^1.0.0", + "@aragon/buidler-aragon": "^0.2.9", + "@aragon/contract-helpers-test": "^0.1.0", + "@nomiclabs/buidler": "^1.4.3", + "@nomiclabs/buidler-etherscan": "^1.3.3", + "@nomiclabs/buidler-ganache": "^1.3.3", + "@nomiclabs/buidler-solhint": "^1.3.3", + "@nomiclabs/buidler-truffle5": "^1.3.4", + "@nomiclabs/buidler-web3": "^1.3.4", + "buidler-extract": "^1.0.0", + "buidler-gas-reporter": "^0.1.3", "eth-ens-namehash": "^2.0.8", - "eth-gas-reporter": "^0.2.0", - "ethereumjs-testrpc-sc": "^6.5.1-sc.0", - "ganache-cli": "^6.4.3", "mocha-each": "^1.2.0", - "solidity-coverage": "0.6.2", - "solium": "^1.2.3", - "truffle": "4.1.14", - "truffle-extract": "^1.2.1" + "solidity-coverage": "^0.7.11", + "solium": "^1.2.3" } } diff --git a/apps/bancor-market-maker/test/bancor-market-maker.js b/apps/bancor-market-maker/test/bancor-market-maker.js index bb1965f..956cb6f 100644 --- a/apps/bancor-market-maker/test/bancor-market-maker.js +++ b/apps/bancor-market-maker/test/bancor-market-maker.js @@ -1,21 +1,20 @@ -const Kernel = artifacts.require('Kernel') -const ACL = artifacts.require('ACL') -const EVMScriptRegistryFactory = artifacts.require('EVMScriptRegistryFactory') -const DAOFactory = artifacts.require('DAOFactory') const MiniMeToken = artifacts.require('MiniMeToken') -const Controller = artifacts.require('AragonFundraisingControllerMock') +const Controller = artifacts.require('MarketplaceControllerMock') const TokenManager = artifacts.require('TokenManager') const Agent = artifacts.require('Agent') const Formula = artifacts.require('BancorFormula') const BancorMarketMaker = artifacts.require('BancorMarketMaker') const TokenMock = artifacts.require('TokenMock') -const assertEvent = require('@aragon/test-helpers/assertEvent') -const { assertRevert } = require('@aragon/test-helpers/assertThrow') -const getBalance = require('@ablack/fundraising-shared-test-helpers/getBalance')(web3, TokenMock) -const { ZERO_ADDRESS } = require('@ablack/fundraising-shared-test-helpers/constants') -const { getEvent } = require('@ablack/fundraising-shared-test-helpers/events') -const random = require('@ablack/fundraising-shared-test-helpers/random') +const { assertEvent, assertRevert, assertBn } = require('@aragon/contract-helpers-test/src/asserts') +const getBalance = require('@1hive/apps-marketplace-shared-test-helpers/getBalance')(web3, TokenMock) +const random = require('@1hive/apps-marketplace-shared-test-helpers/random') +const { bn, bigExp } = require('@aragon/contract-helpers-test/src/numbers') +const { injectWeb3, injectArtifacts, ZERO_ADDRESS } = require('@aragon/contract-helpers-test') +const { newDao, installNewApp } = require('@aragon/contract-helpers-test/src/aragon-os') + +injectWeb3(web3) +injectArtifacts(artifacts) const { hash } = require('eth-ens-namehash') const forEach = require('mocha-each') @@ -25,24 +24,23 @@ const TOKEN_MANAGER_ID = hash('token-manager.aragonpm.eth') const CONTROLLER_ID = hash('marketplace-controller.aragonpm.eth') const MARKET_MAKER_ID = hash('bancor-market-maker.aragonpm.eth') -const INITIAL_TOKEN_BALANCE = 10000 * Math.pow(10, 18) // 10000 DAIs or ANTs +const INITIAL_TOKEN_BALANCE = bigExp(10000, 18) // 10000 DAIs or ANTs const PPM = 1000000 -const PCT_BASE = 1000000000000000000 +const PCT_BASE = bn('1000000000000000000') -const BUY_FEE_PERCENT = 100000000000000000 // 1% -const SELL_FEE_PERCENT = 100000000000000000 +const BUY_FEE_PERCENT = bn('100000000000000000') // 1% +const SELL_FEE_PERCENT = bn('100000000000000000') -const VIRTUAL_SUPPLIES = [new web3.BigNumber(Math.pow(10, 23)), new web3.BigNumber(Math.pow(10, 22))] -const VIRTUAL_BALANCES = [new web3.BigNumber(Math.pow(10, 22)), new web3.BigNumber(Math.pow(10, 20))] +const VIRTUAL_SUPPLIES = [bigExp(1, 23), bigExp(1, 22)] +const VIRTUAL_BALANCES = [bigExp(1, 22), bigExp(1, 20)] const RESERVE_RATIOS = [(PPM * 10) / 100, (PPM * 1) / 100] -const { ETH } = require('@ablack/fundraising-shared-test-helpers/constants') +const { ETH } = require('@1hive/apps-marketplace-shared-test-helpers/constants') contract('BancorMarketMaker app', accounts => { - let factory, dao, acl, cBase, tBase, rBase, mBase, token, tokenManager, controller, reserve, formula, marketMaker, + let dao, acl, cBase, tBase, rBase, mBase, token, tokenManager, controller, reserve, formula, marketMaker, collateral, collaterals - let APP_MANAGER_ROLE, - MINT_ROLE, + let MINT_ROLE, BURN_ROLE, CONTROLLER_ROLE, TRANSFER_ROLE @@ -55,24 +53,19 @@ contract('BancorMarketMaker app', accounts => { const initialize = async open => { // DAO - const dReceipt = await factory.newDAO(root) - dao = await Kernel.at(getEvent(dReceipt, 'DeployDAO', 'dao')) - acl = await ACL.at(await dao.acl()) - await acl.createPermission(root, dao.address, APP_MANAGER_ROLE, root, { from: root }) + const { dao: _dao, acl: _acl } = await newDao(root) + dao = _dao + acl = _acl // token token = await MiniMeToken.new(ZERO_ADDRESS, ZERO_ADDRESS, 0, 'Bond', 18, 'BON', false) // market maker controller - const cReceipt = await dao.newAppInstance(CONTROLLER_ID, cBase.address, '0x', false) - controller = await Controller.at(getEvent(cReceipt, 'NewAppProxy', 'proxy')) + controller = await Controller.at(await installNewApp(dao, CONTROLLER_ID, cBase.address, root)) // token manager - const tReceipt = await dao.newAppInstance(TOKEN_MANAGER_ID, tBase.address, '0x', false) - tokenManager = await TokenManager.at(getEvent(tReceipt, 'NewAppProxy', 'proxy')) + tokenManager = await TokenManager.at(await installNewApp(dao, TOKEN_MANAGER_ID, tBase.address, root)) // pool - const pReceipt = await dao.newAppInstance(RESERVE_ID, rBase.address, '0x', false) - reserve = await Agent.at(getEvent(pReceipt, 'NewAppProxy', 'proxy')) + reserve = await Agent.at(await installNewApp(dao, RESERVE_ID, rBase.address, root)) // bancor-curve - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - marketMaker = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) + marketMaker = await BancorMarketMaker.at(await installNewApp(dao, MARKET_MAKER_ID, mBase.address, root)) // permissions await acl.createPermission(marketMaker.address, tokenManager.address, MINT_ROLE, root, { from: root }) await acl.createPermission(marketMaker.address, tokenManager.address, BURN_ROLE, root, { from: root }) @@ -80,7 +73,7 @@ contract('BancorMarketMaker app', accounts => { await acl.createPermission(authorized, marketMaker.address, CONTROLLER_ROLE, root, { from: root }) await acl.grantPermission(authorized2, marketMaker.address, CONTROLLER_ROLE, { from: root }) // collaterals - collateral = await TokenMock.new(authorized, INITIAL_TOKEN_BALANCE * 2) + collateral = await TokenMock.new(authorized, INITIAL_TOKEN_BALANCE.mul(bn(2))) await collateral.transfer(authorized2, INITIAL_TOKEN_BALANCE, { from: authorized }) collaterals = [ETH, collateral.address] // allowances @@ -112,21 +105,17 @@ contract('BancorMarketMaker app', accounts => { } - const BN = amount => { - return new web3.BigNumber(amount) - } - const purchaseReturn = async (index, supply, balance, amount) => { - supply = new web3.BigNumber(supply.toString(10)) - balance = new web3.BigNumber(balance.toString(10)) - amount = new web3.BigNumber(amount.toString(10)) + supply = bn(supply) + balance = bn(balance) + amount = bn(amount) return formula.calculatePurchaseReturn(VIRTUAL_SUPPLIES[index].add(supply), VIRTUAL_BALANCES[index].add(balance), RESERVE_RATIOS[index], amount) } const expectedPurchaseReturnForAmount = async (index, amount) => { const fee = computeBuyFee(amount) - const amountNoFee = amount.minus(fee) + const amountNoFee = amount.sub(fee) const supply = await token.totalSupply() const balanceOfReserve = (await controller.balanceOf(reserve.address, collaterals[index])).add(amountNoFee) @@ -134,24 +123,24 @@ contract('BancorMarketMaker app', accounts => { } const saleReturn = async (index, supply, balance, amount) => { - supply = new web3.BigNumber(supply.toString(10)) - balance = new web3.BigNumber(balance.toString(10)) - amount = new web3.BigNumber(amount.toString(10)) + supply = bn(supply) + balance = bn(balance) + amount = bn(amount) return formula.calculateSaleReturn(VIRTUAL_SUPPLIES[index].add(supply), VIRTUAL_BALANCES[index].add(balance), RESERVE_RATIOS[index], amount) } const expectedSaleReturnForAmount = async (index, amount) => { - const supply = (await token.totalSupply()).minus(amount) + const supply = (await token.totalSupply()).sub(amount) const balanceOfReserve = (await controller.balanceOf(reserve.address, collaterals[index])) const saleReturnAmount = await saleReturn(index, supply, balanceOfReserve, amount) const fee = await sellFeeAfterExchange(index, amount) - return saleReturnAmount.minus(fee) + return saleReturnAmount.sub(fee) } const sellFeeAfterExchange = async (index, amount) => { - const supply = (await token.totalSupply()).minus(amount) + const supply = (await token.totalSupply()).sub(amount) const balanceOfReserve = (await controller.balanceOf(reserve.address, collaterals[index])) const saleReturnAmount = await saleReturn(index, supply, balanceOfReserve, amount) @@ -159,23 +148,26 @@ contract('BancorMarketMaker app', accounts => { } const computeBuyFee = amount => { - amount = new web3.BigNumber(amount.toString(10)) + amount = bn(amount) return amount - .times(BUY_FEE_PERCENT) + .mul(BUY_FEE_PERCENT) .div(PCT_BASE) - .round(0) } const computeSellFee = amount => { - amount = new web3.BigNumber(amount.toString(10)) + amount = bn(amount) return amount - .times(SELL_FEE_PERCENT) + .mul(SELL_FEE_PERCENT) .div(PCT_BASE) - .round(0) } const getCollateralToken = async collateral => { - const [whitelisted, virtualSupply, virtualBalance, reserveRatio] = await marketMaker.getCollateralToken(collateral) + const { + '0': whitelisted, + '1': virtualSupply, + '2': virtualBalance, + '3': reserveRatio + } = await marketMaker.getCollateralToken(collateral) return { whitelisted, virtualSupply, virtualBalance, reserveRatio } } @@ -192,11 +184,6 @@ contract('BancorMarketMaker app', accounts => { } before(async () => { - // factory - const kBase = await Kernel.new(true) // petrify immediately - const aBase = await ACL.new() - const rFact = await EVMScriptRegistryFactory.new() - factory = await DAOFactory.new(kBase.address, aBase.address, rFact.address) // formula formula = await Formula.new() // base contracts @@ -205,7 +192,6 @@ contract('BancorMarketMaker app', accounts => { rBase = await Agent.new() mBase = await BancorMarketMaker.new() // constants - APP_MANAGER_ROLE = await kBase.APP_MANAGER_ROLE() TRANSFER_ROLE = await rBase.TRANSFER_ROLE() MINT_ROLE = await tBase.MINT_ROLE() BURN_ROLE = await tBase.BURN_ROLE() @@ -223,23 +209,26 @@ contract('BancorMarketMaker app', accounts => { context('> #initialize', () => { context('> initialization parameters are correct', () => { - it('it should initialize batched bancor market maker', async () => { + it('it should initialize bancor market maker', async () => { assert.equal(await marketMaker.controller(), controller.address) assert.equal(await marketMaker.tokenManager(), tokenManager.address) assert.equal(await marketMaker.token(), token.address) assert.equal(await marketMaker.reserve(), reserve.address) assert.equal(await marketMaker.beneficiary(), beneficiary) assert.equal(await marketMaker.formula(), formula.address) - assert.equal(await marketMaker.buyFeePct(), BUY_FEE_PERCENT) - assert.equal(await marketMaker.sellFeePct(), SELL_FEE_PERCENT) + assertBn(await marketMaker.buyFeePct(), BUY_FEE_PERCENT) + assertBn(await marketMaker.sellFeePct(), SELL_FEE_PERCENT) }) }) context('> initialization parameters are not correct', () => { - it('it should revert [controller is not a contract]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) + let uninitialized + beforeEach(async() => { + uninitialized = await BancorMarketMaker.at(await installNewApp(dao, MARKET_MAKER_ID, mBase.address, root)) + }) + + it('it should revert [controller is not a contract]', async () => { await assertRevert(() => uninitialized.initialize( authorized, @@ -255,9 +244,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [token manager is not a contract]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -273,12 +259,8 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [token manager setting is invalid]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - const token_ = await MiniMeToken.new(ZERO_ADDRESS, ZERO_ADDRESS, 0, 'Bond', 18, 'BON', false) - const tReceipt_ = await dao.newAppInstance(TOKEN_MANAGER_ID, tBase.address, '0x', false) - const tokenManager_ = await TokenManager.at(getEvent(tReceipt_, 'NewAppProxy', 'proxy')) + const tokenManager_ = await TokenManager.at(await installNewApp(dao, TOKEN_MANAGER_ID, tBase.address, root)) await token_.changeController(tokenManager_.address) await tokenManager_.initialize(token_.address, true, 1) @@ -298,9 +280,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [reserve is not a contract]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -318,9 +297,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [formula is not a contract]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -338,9 +314,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [beneficiary is null address]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -358,9 +331,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [buy fee is not a percentage]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -378,9 +348,6 @@ contract('BancorMarketMaker app', accounts => { }) it('it should revert [sell fee is not a percentage]', async () => { - const bReceipt = await dao.newAppInstance(MARKET_MAKER_ID, mBase.address, '0x', false) - const uninitialized = await BancorMarketMaker.at(getEvent(bReceipt, 'NewAppProxy', 'proxy')) - await assertRevert(() => uninitialized.initialize( controller.address, @@ -467,8 +434,8 @@ contract('BancorMarketMaker app', accounts => { assertEvent(receipt, 'AddCollateralToken') assert.equal(collateral.whitelisted, true) - assert.equal(collateral.virtualSupply.toNumber(), virtualSupply) - assert.equal(collateral.virtualBalance.toNumber(), virtualBalance) + assertBn(collateral.virtualSupply, virtualSupply) + assertBn(collateral.virtualBalance, virtualBalance) assert.equal(collateral.reserveRatio.toNumber(), reserveRatio) }) }) @@ -528,8 +495,8 @@ contract('BancorMarketMaker app', accounts => { assertEvent(receipt, 'RemoveCollateralToken') assert.equal(collateral_.whitelisted, false) - assert.equal(collateral_.virtualSupply.toNumber(), 0) - assert.equal(collateral_.virtualBalance.toNumber(), 0) + assertBn(collateral_.virtualSupply, 0) + assertBn(collateral_.virtualBalance, 0) assert.equal(collateral_.reserveRatio.toNumber(), 0) }) @@ -567,8 +534,8 @@ contract('BancorMarketMaker app', accounts => { assertEvent(receipt, 'UpdateCollateralToken') assert.equal(collateral_.whitelisted, true) - assert.equal(collateral_.virtualSupply.toNumber(), virtualSupply) - assert.equal(collateral_.virtualBalance.toNumber(), virtualBalance) + assertBn(collateral_.virtualSupply, virtualSupply) + assertBn(collateral_.virtualBalance, virtualBalance) assert.equal(collateral_.reserveRatio.toNumber(), reserveRatio) }) }) @@ -675,11 +642,11 @@ contract('BancorMarketMaker app', accounts => { context('> but new fees are not valid', () => { it('it should revert [buy fee is not valid]', async () => { - await assertRevert(() => marketMaker.updateFees(PCT_BASE + 1, 50, { from: authorized })) + await assertRevert(() => marketMaker.updateFees(PCT_BASE.add(bn(1)), 50, { from: authorized })) }) it('it should revert [sell fee is not valid]', async () => { - await assertRevert(() => marketMaker.updateFees(40, PCT_BASE + 1, { from: authorized })) + await assertRevert(() => marketMaker.updateFees(40, PCT_BASE.add(bn(1)), { from: authorized })) }) }) }) @@ -711,39 +678,39 @@ contract('BancorMarketMaker app', accounts => { const senderBalanceAfter = await token.balanceOf(authorized) assertEvent(receipt, 'MakeBuyOrder') - assert.equal(senderBalanceAfter.minus(senderBalanceBefore).toString(), expectedReturnAmount.toString()) + assert.equal(senderBalanceAfter.sub(senderBalanceBefore).toString(), expectedReturnAmount.toString()) }) it('it should deduct fee', async () => { - const beneficiaryBalanceBefore = await getBalance(collaterals[index], beneficiary) + const beneficiaryBalanceBefore = bn(await getBalance(collaterals[index], beneficiary)) const amount = random.amount() const fee = computeBuyFee(amount) await makeBuyOrder(authorized, collaterals[index], amount, 0, { from: authorized }) - const beneficiaryBalanceAfter = await getBalance(collaterals[index], beneficiary) - assert.equal(beneficiaryBalanceAfter.minus(beneficiaryBalanceBefore).toNumber(), fee.toNumber()) + const beneficiaryBalanceAfter = bn(await getBalance(collaterals[index], beneficiary)) + assertBn(beneficiaryBalanceAfter.sub(beneficiaryBalanceBefore), fee) }) it('it should collect collateral', async () => { - const reserveBalanceBefore = await getBalance(collaterals[index], reserve.address) + const reserveBalanceBefore = bn(await getBalance(collaterals[index], reserve.address)) const amount = random.amount() const fee = computeBuyFee(amount) - const amountAfterFee = amount.minus(fee) + const amountAfterFee = amount.sub(fee) await makeBuyOrder(authorized, collaterals[index], amount, 0, { from: authorized }) - const reserveBalanceAfter = await getBalance(collaterals[index], reserve.address) - assert.equal(reserveBalanceAfter.minus(reserveBalanceBefore).toNumber(), amountAfterFee.toNumber()) + const reserveBalanceAfter = bn(await getBalance(collaterals[index], reserve.address)) + assertBn(reserveBalanceAfter.sub(reserveBalanceBefore), amountAfterFee) }) context('> but order returns less than min return amount', () => { it('it should revert', async () => { const amount = random.amount() - const expectedReturnAmount = await expectedPurchaseReturnForAmount(index, amount) + const expectedReturnAmount = bn(await expectedPurchaseReturnForAmount(index, amount)) await assertRevert(() => - makeBuyOrder(authorized, collaterals[index], amount, expectedReturnAmount.add(1), + makeBuyOrder(authorized, collaterals[index], amount, expectedReturnAmount.add(bn(1)), { from: authorized }), 'MM_SLIPPAGE_EXCEEDS_LIMIT') }) }) @@ -755,7 +722,7 @@ contract('BancorMarketMaker app', accounts => { await assertRevert(() => makeBuyOrder(authorized, collaterals[index], amount, 0, - { from: authorized, value: amount.add(1) }), 'MM_INVALID_COLLATERAL_VALUE') // should revert both for ETH and ERC20 + { from: authorized, value: amount.add(bn(1)) }), 'MM_INVALID_COLLATERAL_VALUE') // should revert both for ETH and ERC20 }) }) }) @@ -764,11 +731,11 @@ contract('BancorMarketMaker app', accounts => { it('it should revert', async () => { const amount = random.amount() // let's burn the extra tokens to end up with a small balance - await collateral.transfer(unauthorized, INITIAL_TOKEN_BALANCE - amount, { from: authorized }) + await collateral.transfer(unauthorized, INITIAL_TOKEN_BALANCE.sub(amount), { from: authorized }) await assertRevert(() => - makeBuyOrder(authorized, collaterals[index], amount.add(1), 0, - { from: authorized, value: amount.minus(1) }), 'MM_INVALID_COLLATERAL_VALUE') // should revert both for ETH and ERC20 + makeBuyOrder(authorized, collaterals[index], amount.add(bn(1)), 0, + { from: authorized, value: amount.sub(bn(1)) }), 'MM_INVALID_COLLATERAL_VALUE') // should revert both for ETH and ERC20 }) }) }) @@ -832,32 +799,32 @@ contract('BancorMarketMaker app', accounts => { it('it should make sell order', async () => { await makeBuyOrder(authorized, collaterals[index], random.amount(), 0, { from: authorized }) - const collateralBalanceBefore = index === 0 ? web3.eth.getBalance(authorized) : await collateral.balanceOf(authorized) + const collateralBalanceBefore = index === 0 ? bn(await web3.eth.getBalance(authorized)) : bn(await collateral.balanceOf(authorized)) const tokenBalanceBefore = await token.balanceOf(authorized) const expectedSaleReturn = await expectedSaleReturnForAmount(index, tokenBalanceBefore) const sellReceipt = await makeSellOrder(authorized, collaterals[index], tokenBalanceBefore, expectedSaleReturn, { from: authorized2 }) const tokenBalanceAfter = await token.balanceOf(authorized) - const collateralBalanceAfter = index === 0 ? web3.eth.getBalance(authorized) : await collateral.balanceOf(authorized) - const collateralReturned = collateralBalanceAfter.minus(collateralBalanceBefore) + const collateralBalanceAfter = index === 0 ? bn(await web3.eth.getBalance(authorized)) : bn(await collateral.balanceOf(authorized)) + const collateralReturned = collateralBalanceAfter.sub(collateralBalanceBefore) - assertEvent(sellReceipt, 'OpenSellOrder') - assert.equal(tokenBalanceAfter.toString(), 0) - assert.equal((await token.totalSupply()).toNumber(), 0) - assert.equal(collateralReturned.toString(), expectedSaleReturn.toString()) + assertEvent(sellReceipt, 'MakeSellOrder') + assertBn(tokenBalanceAfter, 0) + assertBn(await token.totalSupply(), 0) + assertBn(collateralReturned, expectedSaleReturn) }) it('it should collect fees', async () => { await makeBuyOrder(authorized, collaterals[index], random.amount(), 0, { from: authorized }) const senderBalance = await token.balanceOf(authorized) - const beneficiaryBalanceBefore = index === 0 ? web3.eth.getBalance(beneficiary) : await collateral.balanceOf(beneficiary) + const beneficiaryBalanceBefore = index === 0 ? bn(await web3.eth.getBalance(beneficiary)) : bn(await collateral.balanceOf(beneficiary)) const fee = await sellFeeAfterExchange(index, senderBalance) await makeSellOrder(authorized, collaterals[index], senderBalance, 0, { from: authorized }) - const beneficiaryBalanceAfter = index === 0 ? web3.eth.getBalance(beneficiary) : await collateral.balanceOf(beneficiary) - assert.equal(beneficiaryBalanceAfter.minus(beneficiaryBalanceBefore).toString(), fee.toString()) + const beneficiaryBalanceAfter = index === 0 ? bn(await web3.eth.getBalance(beneficiary)) : bn(await collateral.balanceOf(beneficiary)) + assertBn(beneficiaryBalanceAfter.sub(beneficiaryBalanceBefore), fee) }) }) @@ -887,7 +854,7 @@ contract('BancorMarketMaker app', accounts => { const expectedSaleReturn = await expectedSaleReturnForAmount(index, senderBalance) await assertRevert(() => makeSellOrder(authorized, collaterals[index], senderBalance, - expectedSaleReturn.add(1), { from: authorized }), "MM_SLIPPAGE_EXCEEDS_LIMIT") + expectedSaleReturn.add(bn(1)), { from: authorized }), "MM_SLIPPAGE_EXCEEDS_LIMIT") }) }) }) @@ -897,7 +864,7 @@ contract('BancorMarketMaker app', accounts => { await makeBuyOrder(authorized, collaterals[index], random.amount(), 0, { from: authorized }) const senderBalance = await token.balanceOf(authorized) - await assertRevert(() => makeSellOrder(authorized, collaterals[index], senderBalance.add(1), + await assertRevert(() => makeSellOrder(authorized, collaterals[index], senderBalance.add(bn(1)), 0, { from: authorized }), "MM_INVALID_BOND_AMOUNT") }) }) @@ -958,15 +925,15 @@ contract('BancorMarketMaker app', accounts => { }) it('successfully calls makeBuyOrderRaw()', async () => { - const makeBuyOrderData = marketMaker.contract.makeBuyOrder.getData(authorized, collaterals[1], amount, 0) + const makeBuyOrderData = marketMaker.contract.methods.makeBuyOrder(authorized, collaterals[1], amount, 0).encodeABI() const receipt = await marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }) - assertEvent(receipt, 'MakeBuyOrder(address,address,uint256,uint256,uint256,uint256)') + assertEvent(receipt, 'MakeBuyOrder') }) it('reverts when does not have CONTROLLER_ROLE', async () => { - const makeBuyOrderData = marketMaker.contract.makeBuyOrder.getData(authorized, collaterals[1], amount, 0) + const makeBuyOrderData = marketMaker.contract.methods.makeBuyOrder(authorized, collaterals[1], amount, 0).encodeABI() await acl.revokePermission(authorized, marketMaker.address, CONTROLLER_ROLE, { from: root }) await assertRevert(marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }), @@ -974,28 +941,28 @@ contract('BancorMarketMaker app', accounts => { }) it('reverts when data is for function other than makeBuyOrder', async () => { - const makeBuyOrderData = marketMaker.contract.makeSellOrder.getData(authorized, collaterals[1], amount, 0) + const makeBuyOrderData = marketMaker.contract.methods.makeSellOrder(authorized, collaterals[1], amount, 0).encodeABI() await assertRevert(marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }), "MM_NOT_BUY_FUNCTION") }) it('reverts when buyer in data is not equal to from address', async () => { - const makeBuyOrderData = marketMaker.contract.makeBuyOrder.getData(authorized2, collaterals[1], amount, 0) + const makeBuyOrderData = marketMaker.contract.methods.makeBuyOrder(authorized2, collaterals[1], amount, 0).encodeABI() await assertRevert(marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }), "MM_BUYER_NOT_FROM") }) it('reverts when collateral in data is not equal to token address', async () => { - const makeBuyOrderData = marketMaker.contract.makeBuyOrder.getData(authorized, authorized, amount, 0) + const makeBuyOrderData = marketMaker.contract.methods.makeBuyOrder(authorized, authorized, amount, 0).encodeABI() await assertRevert(marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }), "MM_COLLATERAL_NOT_SENDER") }) it('reverts when deposit amount in data is not equal to token amount', async () => { - const makeBuyOrderData = marketMaker.contract.makeBuyOrder.getData(authorized, collaterals[1], amount.add(1), 0) + const makeBuyOrderData = marketMaker.contract.methods.makeBuyOrder(authorized, collaterals[1], amount.add(bn(1)), 0).encodeABI() await assertRevert(marketMaker.makeBuyOrderRaw(authorized, collaterals[1], amount, makeBuyOrderData, { from: authorized }), "MM_DEPOSIT_NOT_AMOUNT") diff --git a/apps/bancor-market-maker/truffle.js b/apps/bancor-market-maker/truffle.js deleted file mode 100644 index cf4def5..0000000 --- a/apps/bancor-market-maker/truffle.js +++ /dev/null @@ -1,3 +0,0 @@ -const truffle = require('@aragon/os/truffle-config') -truffle.solc.optimizer.runs = 800 -module.exports = truffle diff --git a/apps/marketplace-controller/.solcover.js b/apps/marketplace-controller/.solcover.js index bd0d072..91da9d6 100644 --- a/apps/marketplace-controller/.solcover.js +++ b/apps/marketplace-controller/.solcover.js @@ -2,33 +2,35 @@ module.exports = { norpc: true, copyPackages: [ '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-agent', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-bancor-formula', - '@ablack/fundraising-batched-bancor-market-maker', - '@ablack/fundraising-presale', - '@ablack/fundraising-tap', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-bancor-formula', + '@1hive/apps-marketplace-bancor-market-maker', + '@1hive/apps-marketplace-presale', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], skipFiles: [ 'test', '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-agent', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-bancor-formula', - '@ablack/fundraising-batched-bancor-market-maker', - '@ablack/fundraising-presale', - '@ablack/fundraising-tap', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-bancor-formula', + '@1hive/apps-marketplace-bancor-market-maker', + '@1hive/apps-marketplace-presale', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], + // https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#skipping-tests + mocha: { + timeout: 200000, + grep: "@skip-on-coverage", // Find everything with this tag + invert: true // Run the grep's inverse set. + }, } diff --git a/apps/marketplace-controller/app/package.json b/apps/marketplace-controller/app/package.json index 383435a..c049184 100644 --- a/apps/marketplace-controller/app/package.json +++ b/apps/marketplace-controller/app/package.json @@ -14,12 +14,14 @@ "bugs": "https://github.com/1Hive/marketplace-app/issues", "license": "(GPL-3.0-or-later OR MIT)", "scripts": { - "lint": "eslint ./src", - "sync-assets": "copy-aragon-ui-assets -n aragon-ui ./build && copyfiles -u 1 './public/**/*' ./build", - "start": "npm run sync-assets && npm run build:script -- --no-minify && parcel serve index.html -p 3001 --out-dir build/", - "build": "npm run sync-assets && npm run build:script:nosourcemap && parcel build index.html --out-dir build/ --public-url '.' --no-source-maps", - "build:script": "parcel build src/script.js --out-dir build/", - "build:script:nosourcemap": "cross-env NODE_ENV=production parcel build src/script.js --out-dir build/ --no-source-maps" + "build": "npm run sync-assets && npm run build:app && npm run build:script", + "build:app": "parcel build index.html -d ../dist/ --public-url \".\" --no-cache", + "build:script": "parcel build src/script.js --out-dir ../dist/ --no-cache", + "watch:script": "parcel watch src/script.js --out-dir ../dist/ --no-hmr", + "serve": "parcel serve index.html --out-dir ../dist/ --no-cache", + "watch": "npm run watch:script", + "sync-assets": "copy-aragon-ui-assets ../dist && copyfiles -u 1 './public/**/*' ../dist", + "start": "npm run sync-assets && npm run watch:script & npm run serve" }, "dependencies": { "@aragon/api": "^2.0.0-beta.9", diff --git a/apps/marketplace-controller/arapp.json b/apps/marketplace-controller/arapp.json index f4b79f3..f611c24 100755 --- a/apps/marketplace-controller/arapp.json +++ b/apps/marketplace-controller/arapp.json @@ -1,8 +1,8 @@ { "environments": { - "default": { + "localhost": { "registry": "0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1", - "appName": "marketplace-controller.open.aragonpm.eth", + "appName": "marketplace-controller.aragonpm.eth", "network": "rpc" }, "mainnet": { @@ -15,15 +15,10 @@ "appName": "marketplace-controller.open.aragonpm.eth", "network": "rinkeby" }, - "hatch": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "marketplace-controller.hatch.aragonpm.eth", - "network": "rinkeby" - }, - "staging": { - "registry": "0xfe03625ea880a8cba336f9b5ad6e15b0a3b5a939", + "xdai": { + "registry": "0xaafca6b0c89521752e559650206d7c925fd0e530", "appName": "marketplace-controller.open.aragonpm.eth", - "network": "rinkeby" + "network": "xdai" } }, "roles": [ @@ -78,12 +73,12 @@ { "name": "Make buy orders", "id": "MAKE_BUY_ORDER_ROLE", - "params": [] + "params": ["Buyer"] }, { "name": "Make sell orders", "id": "MAKE_SELL_ORDER_ROLE", - "params": [] + "params": ["Seller"] } ], "path": "contracts/MarketplaceController.sol" diff --git a/apps/marketplace-controller/buidler.config.js b/apps/marketplace-controller/buidler.config.js new file mode 100644 index 0000000..e03503d --- /dev/null +++ b/apps/marketplace-controller/buidler.config.js @@ -0,0 +1,67 @@ +const { usePlugin } = require('@nomiclabs/buidler/config') + +usePlugin('@aragon/buidler-aragon') +usePlugin('@nomiclabs/buidler-solhint') +usePlugin('buidler-gas-reporter') +usePlugin('solidity-coverage') + +const ACCOUNTS = (process.env.ETH_KEYS ? process.env.ETH_KEYS.split(',') : []) + .map(key => key.trim()) + +module.exports = { + defaultNetwork: 'localhost', + networks: { + localhost: { + url: 'http://localhost:8545', + accounts: { + mnemonic: "explain tackle mirror kit van hammer degree position ginger unfair soup bonus" + } + }, + buidlerevm: { + accounts: [ + { privateKey: "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", balance: "100000000000000000000000" }, + { privateKey: "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d", balance: "100000000000000000000000" }, + { privateKey: "0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a", balance: "100000000000000000000000" }, + { privateKey: "0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6", balance: "100000000000000000000000" }, + { privateKey: "0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a", balance: "100000000000000000000000" }, + { privateKey: "0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba", balance: "100000000000000000000000" }, + { privateKey: "0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e", balance: "100000000000000000000000" }, + ] + }, + mainnet: { + url: 'https://mainnet.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Rinkeby network configured with Aragon node. + rinkeby: { + url: 'https://rinkeby.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Network configured to interact with Frame wallet. Requires + // to have Frame running on your machine. Download it from: + // https://frame.sh + frame: { + httpHeaders: { origin: 'buidler' }, + url: 'http://localhost:1248', + }, + xdai:{ + url: 'https://xdai.poanetwork.dev', + accounts: ACCOUNTS, + gasPrice: 20, + gas: 12000000, + }, + coverage: { + url: 'http://localhost:8555', + }, + }, + solc: { + version: '0.4.24', + optimizer: { + enabled: true, + runs: 10000, + }, + }, + gasReporter: { + enabled: process.env.GAS_REPORTER ? true : false, + }, +} diff --git a/apps/marketplace-controller/contracts/MarketplaceController.sol b/apps/marketplace-controller/contracts/MarketplaceController.sol index 1be67f2..bdb7d6d 100644 --- a/apps/marketplace-controller/contracts/MarketplaceController.sol +++ b/apps/marketplace-controller/contracts/MarketplaceController.sol @@ -7,10 +7,10 @@ import "@aragon/os/contracts/common/SafeERC20.sol"; import "@aragon/os/contracts/lib/math/SafeMath.sol"; import "@aragon/os/contracts/lib/token/ERC20.sol"; import "@aragon/apps-vault/contracts/Vault.sol"; -import {ApproveAndCallFallBack} from "@aragon/apps-shared-minime/contracts/MiniMeToken.sol"; -import "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol"; -import "../../bancor-market-maker/contracts/BancorMarketMaker.sol"; -import "./IMarketplaceController.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IPresale.sol"; +import "@1hive/apps-marketplace-bancor-market-maker/contracts/BancorMarketMaker.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IMarketplaceController.sol"; + contract MarketplaceController is EtherTokenConstant, IsContract, ApproveAndCallFallBack, IMarketplaceController, AragonApp { using SafeERC20 for ERC20; @@ -170,21 +170,6 @@ contract MarketplaceController is EtherTokenConstant, IsContract, ApproveAndCall marketMaker.makeSellOrder(msg.sender, _collateral, _sellAmount, _minReturnAmountAfterFee); } - /** - * @dev ApproveAndCallFallBack interface conformance - * @param _from Token sender - * @param _amount Token amount - * @param _token Token that received approval - * @param _buyOrderData Data for the below function call - * makeBuyOrder(address _buyer, address _collateral, uint256 _depositAmount, uint256 _minReturnAmountAfterFee) - */ - function receiveApproval(address _from, uint256 _amount, address _token, bytes _buyOrderData) public { - require(canPerform(_from, MAKE_BUY_ORDER_ROLE, new uint256[](0)), ERROR_NO_PERMISSION); - require(ERC20(msg.sender).transferFrom(_from, address(marketMaker), _amount), ERROR_TRANSFER_FAILED); - - marketMaker.makeBuyOrderRaw(_from, msg.sender, _amount, _buyOrderData); - } - /* collateral tokens related functions */ /** @@ -252,7 +237,22 @@ contract MarketplaceController is EtherTokenConstant, IsContract, ApproveAndCall marketMaker.updateCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio); } - /***** public view functions *****/ + /***** public functions *****/ + + /** + * @dev ApproveAndCallFallBack interface conformance + * @param _from Token sender + * @param _amount Token amount + * @param _token Token that received approval + * @param _buyOrderData Data for the below function call + * makeBuyOrder(address _buyer, address _collateral, uint256 _depositAmount, uint256 _minReturnAmountAfterFee) + */ + function receiveApproval(address _from, uint256 _amount, address _token, bytes _buyOrderData) public { + require(canPerform(_from, MAKE_BUY_ORDER_ROLE, new uint256[](0)), ERROR_NO_PERMISSION); + require(ERC20(msg.sender).transferFrom(_from, address(marketMaker), _amount), ERROR_TRANSFER_FAILED); + + marketMaker.makeBuyOrderRaw(_from, msg.sender, _amount, _buyOrderData); + } function token() public view isInitialized returns (address) { return marketMaker.token(); diff --git a/apps/marketplace-controller/contracts/test/TestImports.sol b/apps/marketplace-controller/contracts/test/TestImports.sol index 7ecb7f0..379f68e 100755 --- a/apps/marketplace-controller/contracts/test/TestImports.sol +++ b/apps/marketplace-controller/contracts/test/TestImports.sol @@ -3,14 +3,11 @@ pragma solidity 0.4.24; import "@aragon/os/contracts/acl/ACL.sol"; import "@aragon/os/contracts/factory/DAOFactory.sol"; import "@aragon/os/contracts/kernel/Kernel.sol"; -import "@aragon/apps-shared-migrations/contracts/Migrations.sol"; -import "@aragon/apps-shared-minime/contracts/MiniMeToken.sol"; -import "@aragon/apps-token-manager/contracts/TokenManager.sol"; +import "@aragon/minime/contracts/MiniMeToken.sol"; import "@aragon/apps-agent/contracts/Agent.sol"; -import "@aragon/test-helpers/contracts/TokenMock.sol"; -import "@ablack/fundraising-tap/contracts/Tap.sol"; -import "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol"; -import "@ablack/fundraising-shared-test-helpers/contracts/ForceSendETH.sol"; +import "@aragon/contract-helpers-test/contracts/0.4/token/TokenMock.sol"; +import "@1hive/apps-marketplace-bancor-formula/contracts/BancorFormula.sol"; +import "@1hive/apps-marketplace-shared-test-helpers/contracts/ForceSendETH.sol"; // HACK to workaround truffle artifact loading on dependencies diff --git a/apps/marketplace-controller/contracts/test/mocks/PresaleMock.sol b/apps/marketplace-controller/contracts/test/mocks/PresaleMock.sol index 8ad1b25..7c9427d 100644 --- a/apps/marketplace-controller/contracts/test/mocks/PresaleMock.sol +++ b/apps/marketplace-controller/contracts/test/mocks/PresaleMock.sol @@ -1,7 +1,7 @@ pragma solidity 0.4.24; -import "@aragon/test-helpers/contracts/TimeHelpersMock.sol"; -import "@ablack/fundraising-presale/contracts/Presale.sol"; +import "@aragon/contract-helpers-test/contracts/0.4/aragonOS/TimeHelpersMock.sol"; +import "@1hive/apps-marketplace-presale/contracts/Presale.sol"; contract PresaleMock is Presale, TimeHelpersMock {} diff --git a/apps/marketplace-controller/migrations/.keep b/apps/marketplace-controller/migrations/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/marketplace-controller/package.json b/apps/marketplace-controller/package.json index 94f541f..dde978f 100755 --- a/apps/marketplace-controller/package.json +++ b/apps/marketplace-controller/package.json @@ -1,5 +1,5 @@ { - "name": "@1hive/apps-marketplace", + "name": "@1hive/apps-marketplace-controller", "version": "1.0.0", "author": "Aragon Assocation ", "contributors": [ @@ -11,29 +11,18 @@ "license": "(GPL-3.0-or-later OR AGPL-3.0-or-later)", "homepage": "https://github.com/1Hive/marketplace-app", "scripts": { - "install": "npm run install:frontend", - "install:frontend": "cd app && npm install", - "lint": "solium --dir ./contracts --config ../../.soliumrc.json", - "compile": "truffle compile", - "build": "cd app && npm run build", - "test": "TRUFFLE_TEST=true npm run test:ganache", - "test:gas": "GAS_REPORTER=true npm test", - "test:coverage": "SOLIDITY_COVERAGE=true npm run test:ganache", - "test:ganache": "./node_modules/@aragon/test-helpers/ganache-cli.sh", - "prepublishOnly": "truffle compile --all && npm run abi:extract -- --no-compile", - "abi:extract": "truffle-extract --output abi/ --keys abi", - "apm:prepublish": "npm run compile", - "apm:publish:rpc:patch": "aragon apm publish patch --files app/build --environment default --prepublish false --skip-confirmation true --propagate-content false", - "apm:publish:rpc:minor": "aragon apm publish minor --files app/build --environment default --prepublish false --skip-confirmation true --propagate-content false", - "apm:publish:rpc:major": "aragon apm publish major --files app/build --environment default --skip-confirmation true --propagate-content false", - "apm:publish:hatch:patch": "aragon apm publish patch --files app/build --environment hatch --use-frame --prepublish false", - "apm:publish:hatch:minor": "aragon apm publish minor --files app/build --environment hatch --use-frame --prepublish false", - "apm:publish:hatch:major": "aragon apm publish major --files app/build --environment hatch --use-frame", - "apm:publish:rinkeby:patch": "aragon apm publish patch --files app/build --environment rinkeby --use-frame --prepublish false", - "apm:publish:rinkeby:minor": "aragon apm publish minor --files app/build --environment rinkeby --debug", - "apm:publish:rinkeby:major": "aragon apm publish major --files app/build --environment rinkeby --debug", - "apm:publish:mainnet:major": "aragon apm publish major --files app/build --environment mainnet --use-frame", - "publish": "npm run apm:publish:rpc:major" + "postinstall": "yarn compile && yarn build-app", + "build-app": "cd app && yarn && cd ..", + "lint": "solium --dir ./contracts --config ../../.soliumrc.json", + "compile": "buidler compile --force", + "test": "buidler test --network buidlerevm", + "test:gas": "REPORT_GAS=true buidler test --network localhost", + "coverage": "buidler coverage --network coverage", + "abi:extract": "buidler-extract --output abi/ --keys abi", + "publish:major": "buidler publish major", + "publish:minor": "buidler publish minor", + "publish:patch": "buidler publish patch", + "publish": "yarn publish:major" }, "files": [ "/abi", @@ -44,30 +33,31 @@ "/test" ], "dependencies": { - "@ablack/fundraising-batched-bancor-market-maker": "^1.0.0", - "@ablack/fundraising-presale": "^1.0.0", - "@ablack/fundraising-shared-interfaces": "^1.0.0", - "@ablack/fundraising-tap": "^1.0.0", + "@1hive/apps-marketplace-bancor-market-maker": "^1.0.0", + "@1hive/apps-marketplace-presale": "^1.0.0", + "@1hive/apps-marketplace-shared-interfaces": "^1.0.0", "@aragon/apps-agent": "^2.0.0-rc.1", "@aragon/os": "4.4.0" }, "devDependencies": { - "@ablack/fundraising-bancor-formula": "^1.0.0", - "@ablack/fundraising-shared-test-helpers": "^1.0.0", - "@aragon/apps-shared-migrations": "^1.0.0", - "@aragon/apps-shared-minime": "^1.0.0", + "@1hive/apps-marketplace-bancor-formula": "^1.0.0", + "@1hive/apps-marketplace-shared-test-helpers": "^1.0.0", + "@aragon/minime": "^1.0.0", "@aragon/apps-token-manager": "^2.1.0", "@aragon/apps-vault": "^4.1.0", - "@aragon/cli": "7.0.3", - "@aragon/test-helpers": "^2.0.0", + "@aragon/contract-helpers-test": "^0.1.0", "eth-ens-namehash": "^2.0.8", - "eth-gas-reporter": "^0.2.0", - "ethereumjs-testrpc-sc": "^6.5.1-sc.0", - "ganache-cli": "^6.4.3", - "ganache-core": "^2.10.1", "solidity-coverage": "0.6.2", "solium": "^1.2.3", - "truffle": "4.1.14", - "truffle-extract": "^1.2.1" + "@aragon/buidler-aragon": "^0.2.9", + "@nomiclabs/buidler": "^1.4.3", + "@nomiclabs/buidler-etherscan": "^1.3.3", + "@nomiclabs/buidler-solhint": "^1.3.3", + "@nomiclabs/buidler-truffle5": "^1.3.4", + "@nomiclabs/buidler-web3": "^1.3.4", + "buidler-extract": "^1.0.0", + "@nomiclabs/buidler-ganache": "^1.3.3", + "buidler-gas-reporter": "^0.1.3", + "web3": "^1.2.11" } } diff --git a/apps/marketplace-controller/test/helpers/setup.js b/apps/marketplace-controller/test/helpers/setup.js index ae18ea5..cac3a8e 100644 --- a/apps/marketplace-controller/test/helpers/setup.js +++ b/apps/marketplace-controller/test/helpers/setup.js @@ -1,7 +1,3 @@ -const EVMScriptRegistryFactory = artifacts.require('EVMScriptRegistryFactory') -const DAOFactory = artifacts.require('DAOFactory') -const Kernel = artifacts.require('Kernel') -const ACL = artifacts.require('ACL') const TokenManager = artifacts.require('TokenManager') const MiniMeToken = artifacts.require('MiniMeToken') const Controller = artifacts.require('MarketplaceController') @@ -10,7 +6,6 @@ const MarketMaker = artifacts.require('BancorMarketMaker') const Formula = artifacts.require('BancorFormula') const Agent = artifacts.require('Agent') const Vault = artifacts.require('Vault') -const Tap = artifacts.require('Tap') const TokenMock = artifacts.require('TokenMock') const { @@ -27,18 +22,13 @@ const { VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, RESERVE_RATIOS, - SLIPPAGES, BUY_FEE_PCT, SELL_FEE_PCT, - RATES, - FLOORS, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, -} = require('@ablack/fundraising-shared-test-helpers/constants') +} = require('@1hive/apps-marketplace-shared-test-helpers/constants') + +const { newDao, installNewApp } = require('@aragon/contract-helpers-test/src/aragon-os') const { hash } = require('eth-ens-namehash') -const getProxyAddress = require('@ablack/fundraising-shared-test-helpers/getProxyAddress') const setup = { ids: { @@ -48,17 +38,8 @@ const setup = { marketMaker: hash('bancor-market-maker.aragonpm.eth'), agent: hash('agent.aragonpm.eth'), vault: hash('vault.aragonpm.eth'), - tap: hash('tap.aragonpm.eth'), }, deploy: { - factory: async ctx => { - const kBase = await Kernel.new(true) // petrify immediately - const aBase = await ACL.new() - const rFact = await EVMScriptRegistryFactory.new() - - ctx.factory = await DAOFactory.new(kBase.address, aBase.address, rFact.address) - ctx.roles.APP_MANAGER_ROLE = await kBase.APP_MANAGER_ROLE() - }, base: async ctx => { ctx.base = ctx.base || {} @@ -68,7 +49,6 @@ const setup = { ctx.base.marketMaker = await MarketMaker.new() ctx.base.reserve = await Agent.new() ctx.base.vault = await Vault.new() - ctx.base.tap = await Tap.new() }, formula: async ctx => { ctx.formula = await Formula.new() @@ -83,17 +63,14 @@ const setup = { ctx.collaterals.ant = await TokenMock.new(user, INITIAL_COLLATERAL_BALANCE) }, dao: async (ctx, root) => { - const receipt = await ctx.factory.newDAO(root) + const { dao, acl } = await newDao(root) - ctx.dao = Kernel.at(receipt.logs.filter(l => l.event === 'DeployDAO')[0].args.dao) - ctx.acl = ACL.at(await ctx.dao.acl()) - - await ctx.acl.createPermission(root, ctx.dao.address, ctx.roles.APP_MANAGER_ROLE, root, { from: root }) + ctx.dao = dao + ctx.acl = acl }, infrastructure: async ctx => { ctx.roles = ctx.roles || {} - await setup.deploy.factory(ctx) await setup.deploy.base(ctx) await setup.deploy.formula(ctx) }, @@ -109,39 +86,22 @@ const setup = { }, install: { controller: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.controller, ctx.base.controller.address, '0x', false, { from: root }) - - ctx.controller = await Controller.at(getProxyAddress(receipt)) + ctx.controller = await Controller.at(await installNewApp(ctx.dao, setup.ids.controller, ctx.base.controller.address, root)) }, tokenManager: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.tokenManager, ctx.base.tokenManager.address, '0x', false, { from: root }) - - ctx.tokenManager = await TokenManager.at(getProxyAddress(receipt)) + ctx.tokenManager = await TokenManager.at(await installNewApp(ctx.dao, setup.ids.tokenManager, ctx.base.tokenManager.address, root)) }, presale: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.presale, ctx.base.presale.address, '0x', false, { from: root }) - - ctx.presale = await Presale.at(getProxyAddress(receipt)) + ctx.presale = await Presale.at(await installNewApp(ctx.dao, setup.ids.presale, ctx.base.presale.address, root)) }, marketMaker: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.marketMaker, ctx.base.marketMaker.address, '0x', false, { from: root }) - - ctx.marketMaker = await MarketMaker.at(getProxyAddress(receipt)) + ctx.marketMaker = await MarketMaker.at(await installNewApp(ctx.dao, setup.ids.marketMaker, ctx.base.marketMaker.address, root)) }, reserve: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.agent, ctx.base.reserve.address, '0x', false, { from: root }) - - ctx.reserve = await Agent.at(getProxyAddress(receipt)) + ctx.reserve = await Agent.at(await installNewApp(ctx.dao, setup.ids.agent, ctx.base.reserve.address, root)) }, vault: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.vault, ctx.base.vault.address, '0x', false, { from: root }) - - ctx.vault = await Vault.at(getProxyAddress(receipt)) - }, - tap: async (ctx, root) => { - const receipt = await ctx.dao.newAppInstance(setup.ids.tap, ctx.base.tap.address, '0x', false, { from: root }) - - ctx.tap = await Tap.at(getProxyAddress(receipt)) + ctx.vault = await Vault.at(await installNewApp(ctx.dao, setup.ids.vault, ctx.base.vault.address, root)) }, all: async (ctx, root) => { @@ -151,7 +111,6 @@ const setup = { await setup.install.marketMaker(ctx, root) await setup.install.reserve(ctx, root) await setup.install.vault(ctx, root) - await setup.install.tap(ctx, root) }, }, initialize: { @@ -200,24 +159,12 @@ const setup = { vault: async (ctx, root) => { await ctx.vault.initialize({ from: root }) }, - tap: async (ctx, root) => { - await ctx.tap.initialize( - ctx.controller.address, - ctx.reserve.address, - ctx.vault.address, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, - { from: root } - ) - }, all: async (ctx, root, user) => { await setup.initialize.tokenManager(ctx, root) await setup.initialize.vault(ctx, root) await setup.initialize.reserve(ctx, root) await setup.initialize.presale(ctx, root) await setup.initialize.marketMaker(ctx, root) - await setup.initialize.tap(ctx, root) await setup.initialize.controller(ctx, root) }, }, @@ -286,32 +233,9 @@ const setup = { ctx.roles.reserve.TRANSFER_ROLE = await ctx.base.reserve.TRANSFER_ROLE() await ctx.acl.createPermission(ctx.marketMaker.address, ctx.reserve.address, ctx.roles.reserve.TRANSFER_ROLE, root, { from: root }) - await ctx.acl.grantPermission(ctx.tap.address, ctx.reserve.address, ctx.roles.reserve.TRANSFER_ROLE, { from: root }) await ctx.acl.createPermission(ctx.controller.address, ctx.reserve.address, ctx.roles.reserve.ADD_PROTECTED_TOKEN_ROLE, root, { from: root }) }, vault: async (ctx, root) => {}, - tap: async (ctx, root) => { - ctx.roles.tap = ctx.roles.tap || {} - ctx.roles.tap.UPDATE_BENEFICIARY_ROLE = await ctx.base.tap.UPDATE_BENEFICIARY_ROLE() - ctx.roles.tap.ADD_TAPPED_TOKEN_ROLE = await ctx.base.tap.ADD_TAPPED_TOKEN_ROLE() - ctx.roles.tap.UPDATE_TAPPED_TOKEN_ROLE = await ctx.base.tap.UPDATE_TAPPED_TOKEN_ROLE() - ctx.roles.tap.RESET_TAPPED_TOKEN_ROLE = await ctx.base.tap.RESET_TAPPED_TOKEN_ROLE() - ctx.roles.tap.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE = await ctx.base.tap.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE() - ctx.roles.tap.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE = await ctx.base.tap.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE() - ctx.roles.tap.WITHDRAW_ROLE = await ctx.base.tap.WITHDRAW_ROLE() - - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.UPDATE_BENEFICIARY_ROLE, root, { from: root }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.ADD_TAPPED_TOKEN_ROLE, root, { from: root }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.RESET_TAPPED_TOKEN_ROLE, root, { from: root }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.UPDATE_TAPPED_TOKEN_ROLE, root, { from: root }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE, root, { - from: root, - }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE, root, { - from: root, - }) - await ctx.acl.createPermission(ctx.controller.address, ctx.tap.address, ctx.roles.tap.WITHDRAW_ROLE, root, { from: root }) - }, all: async (ctx, root, user) => { await setup.setPermissions.controller(ctx, root, user) await setup.setPermissions.tokenManager(ctx, root) @@ -319,7 +243,6 @@ const setup = { await setup.setPermissions.marketMaker(ctx, root) await setup.setPermissions.reserve(ctx, root) await setup.setPermissions.vault(ctx, root) - await setup.setPermissions.tap(ctx, root) }, }, setCollaterals: async (ctx, root, user) => { diff --git a/apps/marketplace-controller/test/helpers/utils.js b/apps/marketplace-controller/test/helpers/utils.js index 0297bbc..696fa6c 100644 --- a/apps/marketplace-controller/test/helpers/utils.js +++ b/apps/marketplace-controller/test/helpers/utils.js @@ -1,54 +1,7 @@ -const { ETH } = require('@ablack/fundraising-shared-test-helpers/constants') -const allEvents = require('web3/lib/web3/allevents') - const now = () => { return Math.floor(new Date().getTime() / 1000) } -const decodeEventsForContract = (contract, receipt) => { - const ae = new allEvents(contract._web3, contract.abi, contract.address) - - return JSON.parse(JSON.stringify(receipt)) - .logs.filter(l => l.address === contract.address) - .map(l => ae.decode(l)) -} - -const getBuyOrderBatchId = (ctx, tx) => { - const events = decodeEventsForContract(ctx.marketMaker, tx.receipt) - const event = events.filter(l => { - return l.event === 'OpenBuyOrder' - })[0] - - return event.args.batchId -} - -const getSellOrderBatchId = (ctx, tx) => { - const events = decodeEventsForContract(ctx.marketMaker, tx.receipt) - const event = events.filter(l => { - return l.event === 'OpenSellOrder' - })[0] - - return event.args.batchId -} - -const openAndClaimBuyOrder = (web3, BATCH_BLOCKS) => async (ctx, collateral, amount, { from } = {}) => { - const progressToNextBatch = require('@ablack/fundraising-shared-test-helpers/progressToNextBatch')(web3, BATCH_BLOCKS) - // create buy order - const receipt = await ctx.controller.openBuyOrder(collateral, amount, { from, value: collateral === ETH ? amount : 0 }) - const batchId = getBuyOrderBatchId(ctx, receipt) - // move to next batch - await progressToNextBatch() - // claim bonds - await ctx.controller.claimBuyOrder(from, batchId, collateral, { from }) - // return balance - const balance = await ctx.token.balanceOf(from) - - return balance -} - module.exports = { - now, - getBuyOrderBatchId, - getSellOrderBatchId, - openAndClaimBuyOrder, + now } diff --git a/apps/marketplace-controller/test/marketplace-controller-test.js b/apps/marketplace-controller/test/marketplace-controller-test.js index 4f9e38c..95a2e63 100755 --- a/apps/marketplace-controller/test/marketplace-controller-test.js +++ b/apps/marketplace-controller/test/marketplace-controller-test.js @@ -1,29 +1,26 @@ +const { injectWeb3, injectArtifacts } = require('@aragon/contract-helpers-test') +injectWeb3(web3) +injectArtifacts(artifacts) + const Controller = artifacts.require('MarketplaceController') const BancorFormula = artifacts.require('BancorFormula') -const TokenMock = artifacts.require('TokenMock') const { ETH, INITIAL_COLLATERAL_BALANCE, PRESALE_GOAL, PRESALE_PERIOD, PRESALE_STATE, - BATCH_BLOCKS, - RATES, - FLOORS, -} = require('@ablack/fundraising-shared-test-helpers/constants') +} = require('@1hive/apps-marketplace-shared-test-helpers/constants') const setup = require('./helpers/setup') -const { now, getBuyOrderBatchId, getSellOrderBatchId } = require('./helpers/utils') -const openAndClaimBuyOrder = require('./helpers/utils').openAndClaimBuyOrder(web3, BATCH_BLOCKS) -const assertExternalEvent = require('@ablack/fundraising-shared-test-helpers/assertExternalEvent') -const forceSendETH = require('@ablack/fundraising-shared-test-helpers/forceSendETH') -const getProxyAddress = require('@ablack/fundraising-shared-test-helpers/getProxyAddress') -const random = require('@ablack/fundraising-shared-test-helpers/random') -const increaseBlocks = require('@ablack/fundraising-shared-test-helpers/increaseBlocks')(web3) -const progressToNextBatch = require('@ablack/fundraising-shared-test-helpers/progressToNextBatch')(web3, BATCH_BLOCKS) -const timeTravel = require('@aragon/test-helpers/timeTravel')(web3) -const { assertRevert } = require('@aragon/test-helpers/assertThrow') - -contract('AragonFundraisingController app', ([root, authorized, unauthorized]) => { +const { now } = require('./helpers/utils') +const assertExternalEvent = require('@1hive/apps-marketplace-shared-test-helpers/assertExternalEvent') +const forceSendETH = require('@1hive/apps-marketplace-shared-test-helpers/forceSendETH') +const random = require('@1hive/apps-marketplace-shared-test-helpers/random') +const { assertRevert, assertBn } = require('@aragon/contract-helpers-test/src/asserts') +const { installNewApp } = require('@aragon/contract-helpers-test/src/aragon-os') +const { bn } = require('@aragon/contract-helpers-test/src/numbers') + +contract('MarketplaceController app', ([root, authorized, unauthorized]) => { before(async () => { await setup.deploy.infrastructure(this) }) @@ -45,8 +42,7 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = let uninitialized beforeEach(async () => { - const receipt = await this.dao.newAppInstance(setup.ids.controller, this.base.controller.address, '0x', false) - uninitialized = await Controller.at(getProxyAddress(receipt)) + uninitialized = await Controller.at(await installNewApp(this.dao, setup.ids.controller, this.base.controller.address, root)) }) it('it should revert [presale is not a contract]', async () => { @@ -165,7 +161,7 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = context('> sender has CONTRIBUTE_ROLE', () => { it('it should forward contribution', async () => { - const receipt = await this.controller.contribute(PRESALE_GOAL / 2, { from: authorized }) + const receipt = await this.controller.contribute(PRESALE_GOAL.div(bn(2)), { from: authorized }) assertExternalEvent(receipt, 'Contribute(address,uint256,uint256,uint256)') }) @@ -173,16 +169,17 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = context('> sender does not have CONTRIBUTE_ROLE', () => { it('it should revert', async () => { - await assertRevert(() => this.controller.contribute(PRESALE_GOAL / 2, { from: unauthorized })) + await assertRevert(() => this.controller.contribute(PRESALE_GOAL.div(bn(2)), { from: unauthorized })) }) }) }) context('> #refund', () => { beforeEach(async () => { + this.presale.mockSetTimestamp(now()) await this.controller.openPresale({ from: authorized }) - await this.controller.contribute(PRESALE_GOAL / 2, { from: authorized }) - await this.presale.mockSetTimestamp(now() + PRESALE_PERIOD) + await this.controller.contribute(PRESALE_GOAL.div(bn(2)), { from: authorized }) + this.presale.mockSetTimestamp(now() + PRESALE_PERIOD) }) it('it should refund buyer', async () => { @@ -296,7 +293,7 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = it('should make buy order [ERC20]', async () => { const amount = random.amount() - const makeBuyOrderData = this.marketMaker.contract.makeBuyOrder.getData(authorized, this.collaterals.dai.address, amount, 0) + const makeBuyOrderData = this.marketMaker.contract.methods.makeBuyOrder(authorized, this.collaterals.dai.address, amount, 0).encodeABI() await this.collaterals.dai.approve(this.marketMaker.address, 0, { from: authorized }) const receipt = await this.collaterals.dai.approveAndCall(this.controller.address, amount, makeBuyOrderData, { from: authorized }) @@ -308,7 +305,7 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = await this.acl.revokePermission(authorized, this.controller.address, this.roles.controller.MAKE_BUY_ORDER_ROLE) const amount = random.amount() - const makeBuyOrderData = this.marketMaker.contract.makeBuyOrder.getData(authorized, this.collaterals.dai.address, amount, 0) + const makeBuyOrderData = this.marketMaker.contract.methods.makeBuyOrder(authorized, this.collaterals.dai.address, amount, 0).encodeABI() await assertRevert(this.collaterals.dai.approveAndCall(this.controller.address, amount, makeBuyOrderData, { from: authorized }), "MARKETPLACE_NO_PERMISSION") }) @@ -464,32 +461,29 @@ contract('AragonFundraisingController app', ([root, authorized, unauthorized]) = context('> #balanceOf', () => { context('> reserve', () => { - it('it should return available reserve balance [ETH]', async () => { + it('it should return available reserve balance [ETH] [@skip-on-coverage]', async () => { // note requires running devchain/testrpc with account values more than INITIAL_COLLATERAL_BALANCE / 2 // using -e - await forceSendETH(this.reserve.address, INITIAL_COLLATERAL_BALANCE / 2) + await forceSendETH(this.reserve.address, INITIAL_COLLATERAL_BALANCE.div(bn(2))) - assert.equal((await this.controller.balanceOf(this.reserve.address, ETH)).toNumber(), INITIAL_COLLATERAL_BALANCE / 2 - RATES[0] * 3 * BATCH_BLOCKS) + assertBn(await this.controller.balanceOf(this.reserve.address, ETH), INITIAL_COLLATERAL_BALANCE.div(bn(2))) }) it('it should return available reserve balance [ERC20]', async () => { await this.collaterals.dai.transfer(this.reserve.address, INITIAL_COLLATERAL_BALANCE, { from: authorized }) - assert.equal( - (await this.controller.balanceOf(this.reserve.address, this.collaterals.dai.address)).toNumber(), - INITIAL_COLLATERAL_BALANCE - RATES[1] * 3 * BATCH_BLOCKS - ) + assertBn(await this.controller.balanceOf(this.reserve.address, this.collaterals.dai.address), INITIAL_COLLATERAL_BALANCE) }) }) context('> others', () => { it('it should return balance [ETH]', async () => { - assert.equal((await this.controller.balanceOf(authorized, ETH)).toNumber(), (await web3.eth.getBalance(authorized)).toNumber()) + assertBn(await this.controller.balanceOf(authorized, ETH), await web3.eth.getBalance(authorized)) }) it('it should return balance [ETH]', async () => { - assert.equal( - (await this.controller.balanceOf(authorized, this.collaterals.dai.address)).toNumber(), - (await this.collaterals.dai.balanceOf(authorized)).toNumber() + assertBn( + await this.controller.balanceOf(authorized, this.collaterals.dai.address), + await this.collaterals.dai.balanceOf(authorized) ) }) }) diff --git a/apps/presale/.solcover.js b/apps/presale/.solcover.js index ef1e20a..245f6fa 100644 --- a/apps/presale/.solcover.js +++ b/apps/presale/.solcover.js @@ -2,23 +2,26 @@ module.exports = { norpc: true, copyPackages: [ '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], skipFiles: [ 'test', '@aragon/os', - '@aragon/test-helpers', - '@aragon/apps-shared-migrations', - '@aragon/apps-shared-minime', + '@aragon/contract-helpers-test', + '@aragon/minime', '@aragon/apps-token-manager', '@aragon/apps-vault', - '@ablack/fundraising-shared-interfaces', - '@ablack/fundraising-shared-test-helpers', + '@1hive/apps-marketplace-shared-interfaces', + '@1hive/apps-marketplace-shared-test-helpers', ], + // https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#skipping-tests + mocha: { + grep: "@skip-on-coverage", // Find everything with this tag + invert: true // Run the grep's inverse set. + } } diff --git a/apps/presale/arapp.json b/apps/presale/arapp.json index 85b627d..a962484 100644 --- a/apps/presale/arapp.json +++ b/apps/presale/arapp.json @@ -1,24 +1,24 @@ { "environments": { - "default": { + "localhost": { "registry": "0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1", - "appName": "presale.aragonpm.eth", + "appName": "marketplace-presale.aragonpm.eth", "network": "rpc" }, "mainnet": { - "registry": "0x314159265dd8dbb310642f98f50c066173c1259b", - "appName": "presale.aragonpm.eth", + "registry": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", + "appName": "marketplace-presale.open.aragonpm.eth", "network": "mainnet" }, "rinkeby": { "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "presale.aragonpm.eth", + "appName": "marketplace-presale.open.aragonpm.eth", "network": "rinkeby" }, - "hatch": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "presale.hatch.aragonpm.eth", - "network": "rinkeby" + "xdai": { + "registry": "0xaafca6b0c89521752e559650206d7c925fd0e530", + "appName": "marketplace-presale.open.aragonpm.eth", + "network": "xdai" } }, "roles": [ diff --git a/apps/presale/buidler.config.js b/apps/presale/buidler.config.js new file mode 100644 index 0000000..1f130cb --- /dev/null +++ b/apps/presale/buidler.config.js @@ -0,0 +1,56 @@ +const { usePlugin } = require('@nomiclabs/buidler/config') + +usePlugin('@aragon/buidler-aragon') +usePlugin('@nomiclabs/buidler-solhint') +usePlugin('buidler-gas-reporter') +usePlugin('solidity-coverage') + +const ACCOUNTS = (process.env.ETH_KEYS ? process.env.ETH_KEYS.split(',') : []) + .map(key => key.trim()) + +module.exports = { + defaultNetwork: 'localhost', + networks: { + localhost: { + url: 'http://localhost:8545', + accounts: { + mnemonic: "explain tackle mirror kit van hammer degree position ginger unfair soup bonus" + } + }, + mainnet: { + url: 'https://mainnet.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Rinkeby network configured with Aragon node. + rinkeby: { + url: 'https://rinkeby.eth.aragon.network', + accounts: ACCOUNTS, + }, + // Network configured to interact with Frame wallet. Requires + // to have Frame running on your machine. Download it from: + // https://frame.sh + frame: { + httpHeaders: { origin: 'buidler' }, + url: 'http://localhost:1248', + }, + xdai:{ + url: 'https://xdai.poanetwork.dev', + accounts: ACCOUNTS, + gasPrice: 200, + gas: 12000000, + }, + coverage: { + url: 'http://localhost:8555', + }, + }, + solc: { + version: '0.4.24', + optimizer: { + enabled: true, + runs: 10000, + }, + }, + gasReporter: { + enabled: process.env.GAS_REPORTER ? true : false, + }, +} diff --git a/apps/presale/contracts/Presale.sol b/apps/presale/contracts/Presale.sol index 0749bf6..100a9a2 100644 --- a/apps/presale/contracts/Presale.sol +++ b/apps/presale/contracts/Presale.sol @@ -8,8 +8,8 @@ import "@aragon/os/contracts/lib/math/SafeMath.sol"; import "@aragon/os/contracts/lib/math/SafeMath64.sol"; import "@aragon/os/contracts/lib/token/ERC20.sol"; import "@aragon/apps-token-manager/contracts/TokenManager.sol"; -import "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol"; -import "../../marketplace-controller/contracts/IMarketplaceController.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IPresale.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IMarketplaceController.sol"; contract Presale is IPresale, EtherTokenConstant, IsContract, AragonApp { diff --git a/apps/presale/contracts/test/TestImports.sol b/apps/presale/contracts/test/TestImports.sol index fdcab4b..92e4aef 100644 --- a/apps/presale/contracts/test/TestImports.sol +++ b/apps/presale/contracts/test/TestImports.sol @@ -4,10 +4,9 @@ import "@aragon/os/contracts/acl/ACL.sol"; import "@aragon/os/contracts/factory/DAOFactory.sol"; import "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol"; import "@aragon/os/contracts/kernel/Kernel.sol"; -import "@aragon/apps-shared-migrations/contracts/Migrations.sol"; -import "@aragon/apps-shared-minime/contracts/MiniMeToken.sol"; +import "@aragon/minime/contracts/MiniMeToken.sol"; import "@aragon/apps-vault/contracts/Vault.sol"; -import "@ablack/fundraising-shared-test-helpers/contracts/AragonFundraisingControllerMock.sol"; +import "@1hive/apps-marketplace-shared-test-helpers/contracts/MarketplaceControllerMock.sol"; // HACK to workaround truffle artifact loading on dependencies diff --git a/apps/presale/contracts/test/mocks/PresaleMock.sol b/apps/presale/contracts/test/mocks/PresaleMock.sol index e158c46..cf980c7 100644 --- a/apps/presale/contracts/test/mocks/PresaleMock.sol +++ b/apps/presale/contracts/test/mocks/PresaleMock.sol @@ -2,7 +2,7 @@ pragma solidity ^0.4.24; import "../../Presale.sol"; -import "@aragon/test-helpers/contracts/TimeHelpersMock.sol"; +import "@aragon/contract-helpers-test/contracts/0.4/aragonOS/TimeHelpersMock.sol"; contract PresaleMock is Presale, TimeHelpersMock {} diff --git a/apps/presale/migrations/.keep b/apps/presale/migrations/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/presale/package.json b/apps/presale/package.json index 4fbfb7d..72a960c 100644 --- a/apps/presale/package.json +++ b/apps/presale/package.json @@ -10,19 +10,16 @@ "homepage": "https://github.com/1Hive/marketplace-app", "scripts": { "lint": "solium --dir ./contracts --config ../../.soliumrc.json", - "compile": "truffle compile", - "test": "TRUFFLE_TEST=true npm run test:ganache", - "test:gas": "GAS_REPORTER=true npm test", - "test:coverage": "SOLIDITY_COVERAGE=true npm run test:ganache", - "test:ganache": "./node_modules/@aragon/test-helpers/ganache-cli.sh", - "prepublishOnly": "truffle compile --all && npm run abi:extract -- --no-compile", - "abi:extract": "truffle-extract --output abi/ --keys abi", - "apm:prepublish": "npm run compile", - "apm:publish:rpc:major": "aragon apm publish major --environment default --skip-confirmation true --propagate-content false", - "apm:publish:hatch:major": "aragon apm publish major --environment hatch --use-frame", - "apm:publish:rinkeby:major": "aragon apm publish major --environment rinkeby --use-frame", - "apm:publish:mainnet:major": "aragon apm publish major --environment mainnet --use-frame", - "publish": "npm run apm:publish:rpc:major" + "compile": "buidler compile --force", + "devchain": "buidler node", + "test": "buidler test --network buidlerevm", + "test:gas": "REPORT_GAS=true buidler test --network localhost", + "coverage": "buidler coverage --network coverage", + "abi:extract": "buidler-extract --output abi/ --keys abi", + "publish:patch": "buidler publish patch", + "publish:minor": "buidler publish minor", + "publish:major": "buidler publish major", + "publish": "yarn publish:major" }, "files": [ "/abi", @@ -32,27 +29,27 @@ "/test" ], "dependencies": { - "@ablack/fundraising-shared-interfaces": "^1.0.0", + "@1hive/apps-marketplace-shared-interfaces": "^1.0.0", "@aragon/apps-token-manager": "^2.1.0", - "@aragon/os": "4.2.1", - "@ablack/fundraising-shared-test-helpers": "^1.0.0" + "@aragon/os": "4.2.1" }, "devDependencies": { - "@ablack/fundraising-shared-test-helpers": "^1.0.0", - "@aragon/apps-shared-migrations": "^1.0.0", - "@aragon/apps-shared-minime": "^1.0.0", + "@1hive/apps-marketplace-shared-test-helpers": "^1.0.0", + "@aragon/minime": "^1.0.0", "@aragon/apps-vault": "^4.1.0", - "@aragon/cli": "^7.0.3", - "@aragon/test-helpers": "^2.0.0", - "chai": "^4.2.0", - "chai-bignumber": "^3.0.0", + "@aragon/buidler-aragon": "^0.2.9", + "@aragon/contract-helpers-test": "^0.1.0", + "@nomiclabs/buidler": "^1.4.3", + "@nomiclabs/buidler-etherscan": "^1.3.3", + "@nomiclabs/buidler-ganache": "^1.3.3", + "@nomiclabs/buidler-solhint": "^1.3.3", + "@nomiclabs/buidler-truffle5": "^1.3.4", + "@nomiclabs/buidler-web3": "^1.3.4", + "buidler-extract": "^1.0.0", + "buidler-gas-reporter": "^0.1.3", "eth-ens-namehash": "^2.0.8", - "eth-gas-reporter": "^0.2.0", - "ethereumjs-testrpc-sc": "^6.5.1-sc.0", - "ganache-cli": "^6.4.3", - "solidity-coverage": "0.6.2", + "solidity-coverage": "^0.7.9", "solium": "^1.2.3", - "truffle": "4.1.14", - "truffle-extract": "^1.2.1" + "web3": "^1.2.11" } } diff --git a/apps/presale/test/Close.test.js b/apps/presale/test/Close.test.js index 90f6094..9fa4a6e 100644 --- a/apps/presale/test/Close.test.js +++ b/apps/presale/test/Close.test.js @@ -4,12 +4,12 @@ const { PERCENT_FUNDING_FOR_BENEFICIARY, PERCENT_SUPPLY_OFFERED, PPM, -} = require('@ablack/fundraising-shared-test-helpers/constants') +} = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { prepareDefaultSetup, defaultDeployParams, initializePresale } = require('./common/deploy') const { getEvent, now } = require('./common/utils') -const { assertRevert } = require('@aragon/test-helpers/assertThrow') +const { assertRevert } = require('@aragon/contract-helpers-test/src/asserts') -const assertExternalEvent = require('@ablack/fundraising-shared-test-helpers/assertExternalEvent') +const assertExternalEvent = require('@1hive/apps-marketplace-shared-test-helpers/assertExternalEvent') const BUYER_BALANCE = 2 * PRESALE_GOAL @@ -27,14 +27,14 @@ contract('Presale, close() functionality', ([anyone, appManager, buyer1]) => { startDate = now() await this.presale.open({ from: appManager }) } - await this.presale.mockSetTimestamp(startDate + 1) + this.presale.mockSetTimestamp(startDate + 1) // Make a single purchase that reaches the funding goal await this.presale.contribute(buyer1, PRESALE_GOAL) }) it('Sale state is GoalReached', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.GOAL_REACHED) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.GOAL_REACHED) }) describe('When the sale is closed', () => { @@ -45,25 +45,25 @@ contract('Presale, close() functionality', ([anyone, appManager, buyer1]) => { }) it('Sale state is Closed', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.CLOSED) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.CLOSED) }) it('Raised funds are transferred to the fundraising reserve and the beneficiary address', async () => { - expect((await this.contributionToken.balanceOf(this.presale.address)).toNumber()).to.equal(0) + assert.equal((await this.contributionToken.balanceOf(this.presale.address)).toNumber(), 0) const totalRaised = (await this.presale.totalRaised()).toNumber() const tokensForBeneficiary = Math.floor((totalRaised * PERCENT_FUNDING_FOR_BENEFICIARY) / PPM) const tokensForReserve = totalRaised - tokensForBeneficiary const reserve = await this.presale.reserve() - expect((await this.contributionToken.balanceOf(appManager)).toNumber()).to.equal(tokensForBeneficiary) - expect((await this.contributionToken.balanceOf(reserve)).toNumber()).to.equal(tokensForReserve) + assert.equal((await this.contributionToken.balanceOf(appManager)).toNumber(), tokensForBeneficiary) + assert.equal((await this.contributionToken.balanceOf(reserve)).toNumber(), tokensForReserve) }) it('Tokens are minted to the beneficiary address', async () => { const supply = await this.projectToken.totalSupply() const balanceOfBeneficiary = await this.projectToken.balanceOf(appManager) - expect(parseInt(balanceOfBeneficiary.toNumber())).to.equal(parseInt(Math.floor(supply.toNumber() * (1 - PERCENT_SUPPLY_OFFERED / PPM)))) + assert.equal(parseInt(balanceOfBeneficiary.toNumber()), parseInt(Math.floor(supply.toNumber() * (1 - PERCENT_SUPPLY_OFFERED / PPM)))) }) it('Continuous fundraising campaign is started', async () => { @@ -75,7 +75,7 @@ contract('Presale, close() functionality', ([anyone, appManager, buyer1]) => { }) it('Emitted a Close event', async () => { - expect(getEvent(closeReceipt, 'Close')).to.exist + assert.isTrue(!!getEvent(closeReceipt, 'Close')) }) }) }) diff --git a/apps/presale/test/Contribute.test.js b/apps/presale/test/Contribute.test.js index 4e7baca..588410b 100644 --- a/apps/presale/test/Contribute.test.js +++ b/apps/presale/test/Contribute.test.js @@ -1,18 +1,15 @@ -const { PRESALE_STATE, PRESALE_PERIOD, PRESALE_GOAL, ZERO_ADDRESS } = require('@ablack/fundraising-shared-test-helpers/constants') +const { PRESALE_STATE, PRESALE_PERIOD, PRESALE_GOAL, ZERO_ADDRESS } = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { sendTransaction, contributionToProjectTokens, getEvent, now } = require('./common/utils') const { prepareDefaultSetup, defaultDeployParams, initializePresale, deployDefaultSetup } = require('./common/deploy') -const { assertRevert } = require('@aragon/test-helpers/assertThrow') - -const chai = require('chai') - .use(require('chai-bignumber')(web3.BigNumber)) - .should() +const { assertRevert, assertBn } = require('@aragon/contract-helpers-test/src/asserts') +const { bn } = require('@aragon/contract-helpers-test/src/numbers') contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, buyer2]) => { const initializePresaleWithERC20 = async startDate => { - await this.contributionToken.generateTokens(buyer1, '100e18') - await this.contributionToken.generateTokens(buyer2, '100000e18') - await this.contributionToken.approve(this.presale.address, '100e18', { from: buyer1 }) - await this.contributionToken.approve(this.presale.address, '100000e18', { from: buyer2 }) + await this.contributionToken.generateTokens(buyer1, bn('100e18')) + await this.contributionToken.generateTokens(buyer2, bn('100000e18')) + await this.contributionToken.approve(this.presale.address, bn('100e18'), { from: buyer1 }) + await this.contributionToken.approve(this.presale.address, bn('100000e18'), { from: buyer2 }) await initializePresale(this, { ...defaultDeployParams(this, appManager), startDate }) } @@ -47,25 +44,25 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu }) describe('When the sale has started', () => { - const contributionAmount = '100e18' - const acceptableGasDiff = web3.toWei(0.01, 'ether') + const contributionAmount = bn('100e18') + const acceptableGasDiff = bn(web3.utils.toWei('0.01', 'ether')) before('Open the sale if necessary, and set the date to the open date', async () => { if (startDate == 0) { startDate = now() await this.presale.open({ from: appManager }) } - await this.presale.mockSetTimestamp(startDate + 1) + this.presale.mockSetTimestamp(startDate + 1) }) it('App state should be Funding', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.FUNDING) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.FUNDING) }) it('A user can query how many project tokens would be obtained for a given amount of contribution tokens', async () => { const reportedAmount = await this.presale.contributionToTokens(contributionAmount) const expectedAmount = contributionToProjectTokens(contributionAmount) - reportedAmount.should.be.bignumber.equal(expectedAmount) + assertBn(reportedAmount, expectedAmount) }) describe('When a user buys project tokens', () => { @@ -73,7 +70,7 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu let buyer1_initialBalance before('Record initial token balances and make a contribution', async () => { - buyer1_initialBalance = await this.contributionToken.balanceOf(buyer1) + buyer1_initialBalance = bn(await this.contributionToken.balanceOf(buyer1)) purchaseTx = await contribute(buyer1, contributionAmount, useETH) }) @@ -81,35 +78,34 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu it('Mints the correct amount of project tokens', async () => { const totalSupply = await this.projectToken.totalSupply() const expectedAmount = contributionToProjectTokens(contributionAmount) - totalSupply.should.be.bignumber.equal(expectedAmount) + assertBn(totalSupply, expectedAmount) }) it('Reduces user contribution token balance', async () => { - const userBalance = await this.contributionToken.balanceOf(buyer1) - const expectedBalance = buyer1_initialBalance.minus(web3.toBigNumber(contributionAmount)) - const balanceDiff = userBalance.minus(expectedBalance) - balanceDiff.absoluteValue().should.be.bignumber.lessThan(acceptableGasDiff) + const userBalance = bn(await this.contributionToken.balanceOf(buyer1)) + const expectedBalance = buyer1_initialBalance.sub(contributionAmount) + assert.isTrue(userBalance.lt(expectedBalance.add(acceptableGasDiff))) }) it('Increases presale contribution token balance', async () => { const appBalance = await this.contributionToken.balanceOf(this.presale.address) - appBalance.should.be.bignumber.equal(contributionAmount) + assertBn(appBalance, contributionAmount) }) it('Vested tokens are assigned to the buyer', async () => { const userBalance = await this.projectToken.balanceOf(buyer1) const expectedAmount = contributionToProjectTokens(contributionAmount) - userBalance.should.be.bignumber.equal(expectedAmount) + assertBn(userBalance, expectedAmount) }) it('A Contribute event is emitted', async () => { const expectedAmount = contributionToProjectTokens(contributionAmount) const event = getEvent(purchaseTx, 'Contribute') - expect(event).to.exist - expect(event.args.contributor).to.equal(buyer1) - web3.toBigNumber(event.args.value).should.be.bignumber.equal(contributionAmount) - web3.toBigNumber(event.args.amount).should.be.bignumber.equal(expectedAmount) - expect(event.args.vestedPurchaseId.toNumber()).to.equal(0) + assert.isTrue(!!event) + assert.equal(event.args.contributor, buyer1) + assertBn(bn(event.args.value), contributionAmount) + assertBn(bn(event.args.amount), expectedAmount) + assert.equal(event.args.vestedPurchaseId.toNumber(), 0) }) it('The purchase produces a valid purchase id for the buyer', async () => { @@ -117,24 +113,24 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu await contribute(buyer2, 2, useETH) const tx = await contribute(buyer2, 3, useETH) const event = getEvent(tx, 'Contribute') - expect(event.args.vestedPurchaseId.toNumber()).to.equal(2) + assert.equal(event.args.vestedPurchaseId.toNumber(), 2) }) it('Keeps track of total tokens raised', async () => { const raised = await this.presale.totalRaised() - raised.should.be.bignumber.equal(web3.toBigNumber(contributionAmount).plus(6)) + assertBn(raised, contributionAmount.add(bn(6))) }) it('Keeps track of independent purchases', async () => { - ;(await this.presale.contributions(buyer1, 0)).should.be.bignumber.equal(contributionAmount) - expect((await this.presale.contributions(buyer2, 0)).toNumber()).to.equal(1) - expect((await this.presale.contributions(buyer2, 1)).toNumber()).to.equal(2) - expect((await this.presale.contributions(buyer2, 2)).toNumber()).to.equal(3) + assertBn(await this.presale.contributions(buyer1, 0), contributionAmount) + assert.equal((await this.presale.contributions(buyer2, 0)).toNumber(), 1) + assert.equal((await this.presale.contributions(buyer2, 1)).toNumber(), 2) + assert.equal((await this.presale.contributions(buyer2, 2)).toNumber(), 3) }) if (!useETH) { it("Reverts when sending ETH in a contribution that's supposed to use ERC20 tokens", async () => { - await assertRevert(contribute(buyer1, '10e18', true), 'PRESALE_INVALID_CONTRIBUTE_VALUE') + await assertRevert(contribute(buyer1, bn('10e18'), true), 'PRESALE_INVALID_CONTRIBUTE_VALUE') }) } else { it('Reverts if the ETH amount sent does not match the specified amount', async () => { @@ -146,11 +142,11 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu describe('When the sale is Refunding', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) }) it('Sale state is Refunding', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.REFUNDING) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.REFUNDING) }) it('Reverts if a user attempts to buy tokens', async () => { @@ -160,27 +156,25 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu describe('When the sale state is GoalReached', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) }) it('A purchase cannot cause totalRaised to be greater than the presaleGoal', async () => { - const raised = await this.presale.totalRaised() - const remainingToFundingGoal = web3.toBigNumber(PRESALE_GOAL).minus(raised) - const userBalanceBeforePurchase = await this.contributionToken.balanceOf(buyer2) + const raised = bn(await this.presale.totalRaised()) + const remainingToFundingGoal = PRESALE_GOAL.sub(raised) + const userBalanceBeforePurchase = bn(await this.contributionToken.balanceOf(buyer2)) const amount = PRESALE_GOAL * 2 - const tx = await contribute(buyer2, amount, useETH) - const userBalanceAfterPurchase = await this.contributionToken.balanceOf(buyer2) - - const tokensUsedInPurchase = userBalanceBeforePurchase.minus(userBalanceAfterPurchase) + await contribute(buyer2, amount, useETH) + const userBalanceAfterPurchase = bn(await this.contributionToken.balanceOf(buyer2)) - const tokensDiff = tokensUsedInPurchase.minus(remainingToFundingGoal) + const tokensUsedInPurchase = userBalanceBeforePurchase.sub(userBalanceAfterPurchase) - tokensDiff.absoluteValue().should.be.bignumber.lessThan(acceptableGasDiff) + assert.isTrue(tokensUsedInPurchase.lt(remainingToFundingGoal.add(acceptableGasDiff))) }) it('Sale state is GoalReached', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.GOAL_REACHED) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.GOAL_REACHED) }) it('Reverts if a user attempts to buy tokens', async () => { @@ -196,8 +190,8 @@ contract('Presale, contribute() functionality', ([anyone, appManager, buyer1, bu await deployDefaultSetup(this, appManager) }) - it('Reverts', async () => { - await assertRevert(sendTransaction({ from: anyone, to: this.presale.address, value: web3.toWei(1, 'ether') })) + it('Reverts [@skip-on-coverage]', async () => { + await assertRevert(sendTransaction({ from: anyone, to: this.presale.address, value: web3.utils.toWei('1', 'ether') })) }) }) diff --git a/apps/presale/test/Refund.test.js b/apps/presale/test/Refund.test.js index 6795f75..8f31dc8 100644 --- a/apps/presale/test/Refund.test.js +++ b/apps/presale/test/Refund.test.js @@ -1,7 +1,8 @@ -const { PRESALE_PERIOD, PRESALE_STATE, PRESALE_GOAL } = require('@ablack/fundraising-shared-test-helpers/constants') +const { PRESALE_PERIOD, PRESALE_STATE, PRESALE_GOAL } = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { contributionToProjectTokens, getEvent, now } = require('./common/utils') const { prepareDefaultSetup, defaultDeployParams, initializePresale } = require('./common/deploy') -const { assertRevert } = require('@aragon/test-helpers/assertThrow') +const { assertRevert, assertBn } = require('@aragon/contract-helpers-test/src/asserts') +const { bn } = require('@aragon/contract-helpers-test/src/numbers') const BUYER_BALANCE = 1000 @@ -25,7 +26,7 @@ contract('Presale, refund() functionality', ([anyone, appManager, buyer1, buyer2 startDate = now() await this.presale.open({ from: appManager }) } - await this.presale.mockSetTimestamp(startDate + 1) + this.presale.mockSetTimestamp(startDate + 1) }) describe('When purchases have been made and the sale is Refunding', () => { @@ -38,51 +39,50 @@ contract('Presale, refund() functionality', ([anyone, appManager, buyer1, buyer2 await this.presale.contribute(buyer5, 1, { from: buyer5 }) // Spends a miserable amount xD await this.presale.contribute(buyer5, 1, { from: buyer5 }) // And again - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) }) it('Sale state is Refunding', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.REFUNDING) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.REFUNDING) }) it('Buyers obtained project tokens for their contribution tokens', async () => { - expect((await this.contributionToken.balanceOf(buyer1)).toNumber()).to.equal(0) - expect((await this.contributionToken.balanceOf(buyer2)).toNumber()).to.equal(0) - expect((await this.contributionToken.balanceOf(buyer3)).toNumber()).to.equal(BUYER_BALANCE / 2) + assertBn(await this.contributionToken.balanceOf(buyer1), bn(0)) + assertBn(await this.contributionToken.balanceOf(buyer2), bn(0)) + assertBn(await this.contributionToken.balanceOf(buyer3), bn(BUYER_BALANCE / 2)) - expect((await this.projectToken.balanceOf(buyer1)).toNumber()).to.equal(contributionToProjectTokens(BUYER_BALANCE)) - expect((await this.projectToken.balanceOf(buyer2)).toNumber()).to.equal(contributionToProjectTokens(BUYER_BALANCE)) - expect((await this.projectToken.balanceOf(buyer3)).toNumber()).to.equal(contributionToProjectTokens(BUYER_BALANCE / 2)) + assertBn(await this.projectToken.balanceOf(buyer1), contributionToProjectTokens(bn(BUYER_BALANCE))) + assertBn(await this.projectToken.balanceOf(buyer2), contributionToProjectTokens(bn(BUYER_BALANCE))) + assertBn(await this.projectToken.balanceOf(buyer3), contributionToProjectTokens(bn(BUYER_BALANCE / 2))) }) it('Allows a buyer who made a single purchase to get refunded', async () => { await this.presale.refund(buyer1, 0) - expect((await this.contributionToken.balanceOf(buyer1)).toNumber()).to.equal(BUYER_BALANCE) - expect((await this.projectToken.balanceOf(buyer1)).toNumber()).to.equal(0) + assertBn(await this.contributionToken.balanceOf(buyer1), bn(BUYER_BALANCE)) + assertBn(await this.projectToken.balanceOf(buyer1), bn(0)) }) it('Allows a buyer who made multiple purchases to get refunded', async () => { await this.presale.refund(buyer2, 0) await this.presale.refund(buyer2, 1) - expect((await this.contributionToken.balanceOf(buyer2)).toNumber()).to.equal(BUYER_BALANCE) + assertBn(await this.contributionToken.balanceOf(buyer2), bn(BUYER_BALANCE)) }) it('A Refund event is emitted', async () => { const refundTx = await this.presale.refund(buyer5, 0) - const expectedAmount = contributionToProjectTokens(1) + const expectedAmount = contributionToProjectTokens(bn(1)) const event = getEvent(refundTx, 'Refund') - expect(event).to.exist - expect(event.args.contributor).to.equal(buyer5) - expect(event.args.value.toNumber()).to.equal(1) - expect(event.args.amount.toNumber()).to.equal(expectedAmount) - expect(event.args.vestedPurchaseId.toNumber()).to.equal(0) + assert.equal(event.args.contributor, buyer5) + assert.equal(event.args.value.toNumber(), 1) + assertBn(event.args.amount, expectedAmount) + assert.equal(event.args.vestedPurchaseId.toNumber(), 0) }) it('Project tokens are burnt once refunded', async () => { - const expectedAmount = contributionToProjectTokens(1) - const initialProjectTokenSupply = (await this.projectToken.totalSupply()).toNumber() + const expectedAmount = contributionToProjectTokens(bn(1)) + const initialProjectTokenSupply = bn(await this.projectToken.totalSupply()) await this.presale.refund(buyer5, 1) - expect((await this.projectToken.totalSupply()).toNumber()).to.equal(initialProjectTokenSupply - expectedAmount) + assertBn(await this.projectToken.totalSupply(), initialProjectTokenSupply.sub(expectedAmount)) }) it("Should deny anyone to get a refund for a purchase that wasn't made", async () => { @@ -96,11 +96,11 @@ contract('Presale, refund() functionality', ([anyone, appManager, buyer1, buyer2 describe('When purchases have been made and the sale is Funding', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate) + this.presale.mockSetTimestamp(startDate) }) it('Sale state is Funding', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.FUNDING) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.FUNDING) }) it('Should revert if a buyer attempts to get a refund', async () => { @@ -110,7 +110,7 @@ contract('Presale, refund() functionality', ([anyone, appManager, buyer1, buyer2 describe('When purchases have been made and the sale is ready to be closed', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate) + this.presale.mockSetTimestamp(startDate) await this.contributionToken.generateTokens(buyer4, PRESALE_GOAL) await this.contributionToken.approve(this.presale.address, PRESALE_GOAL, { from: buyer4 }) @@ -119,7 +119,7 @@ contract('Presale, refund() functionality', ([anyone, appManager, buyer1, buyer2 }) it('Sale state is GoalReached', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.GOAL_REACHED) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.GOAL_REACHED) }) it('Should revert if a buyer attempts to get a refund', async () => { diff --git a/apps/presale/test/Setup.test.js b/apps/presale/test/Setup.test.js index 0854fde..d7e4a3d 100644 --- a/apps/presale/test/Setup.test.js +++ b/apps/presale/test/Setup.test.js @@ -4,15 +4,13 @@ const { VESTING_CLIFF_PERIOD, VESTING_COMPLETE_PERIOD, PRESALE_STATE, - CONNECTOR_WEIGHT, - TAP_RATE, PRESALE_PERIOD, ZERO_ADDRESS, PERCENT_FUNDING_FOR_BENEFICIARY, -} = require('@ablack/fundraising-shared-test-helpers/constants') +} = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { prepareDefaultSetup, initializePresale, defaultDeployParams } = require('./common/deploy') const { tokenExchangeRate, now } = require('./common/utils') -const { assertRevert } = require('@aragon/test-helpers/assertThrow') +const { assertRevert, assertBn } = require('@aragon/contract-helpers-test/src/asserts') contract('Presale, setup', ([anyone, appManager, someEOA]) => { describe('When deploying the app with valid parameters', () => { @@ -25,68 +23,68 @@ contract('Presale, setup', ([anyone, appManager, someEOA]) => { }) it('App gets deployed', async () => { - expect(web3.isAddress(this.presale.address)).to.equal(true) + assert.isTrue(web3.utils.isAddress(this.presale.address)) }) it('Gas used is ~3.38e6', async () => { const gasUsed = presaleInitializationTx.receipt.gasUsed - expect(gasUsed).to.be.below(3.38e6) + assert.isTrue(gasUsed < 3.38e6) }) it('Deploys fundraising related apps', async () => { - expect(web3.isAddress(this.reserve.address)).to.equal(true) + assert.isTrue(web3.utils.isAddress(this.reserve.address)) }) it('Controller is set', async () => { - expect(await this.presale.controller()).to.equal(this.fundraising.address) + assert.equal(await this.presale.controller(), this.fundraising.address) }) it('startDate is set correctly', async () => { - expect((await this.presale.openDate()).toNumber()).to.equal(startDate) + assert.equal((await this.presale.openDate()).toNumber(), startDate) }) it('Funding goal and percentage offered are set', async () => { - expect((await this.presale.goal()).toNumber()).to.equal(Number(PRESALE_GOAL)) - expect((await this.presale.supplyOfferedPct()).toNumber()).to.equal(PERCENT_SUPPLY_OFFERED) + assert.equal((await this.presale.goal()).toNumber(), Number(PRESALE_GOAL)) + assert.equal((await this.presale.supplyOfferedPct()).toNumber(), PERCENT_SUPPLY_OFFERED) }) it('Dates and time periods are set', async () => { - expect((await this.presale.vestingCliffPeriod()).toNumber()).to.equal(VESTING_CLIFF_PERIOD) - expect((await this.presale.vestingCompletePeriod()).toNumber()).to.equal(VESTING_COMPLETE_PERIOD) - expect((await this.presale.period()).toNumber()).to.equal(PRESALE_PERIOD) + assert.equal((await this.presale.vestingCliffPeriod()).toNumber(), VESTING_CLIFF_PERIOD) + assert.equal((await this.presale.vestingCompletePeriod()).toNumber(), VESTING_COMPLETE_PERIOD) + assert.equal((await this.presale.period()).toNumber(), PRESALE_PERIOD) }) it('Initial state is Pending', async () => { - expect((await this.presale.state()).toNumber()).to.equal(PRESALE_STATE.PENDING) + assert.equal((await this.presale.state()).toNumber(), PRESALE_STATE.PENDING) }) it('Project token is deployed and set in the app', async () => { - expect(web3.isAddress(this.projectToken.address)).to.equal(true) - expect(await this.presale.token()).to.equal(this.projectToken.address) + assert.equal(web3.utils.isAddress(this.projectToken.address), true) + assert.equal(await this.presale.token(), this.projectToken.address) }) it('Contribution token is deployed and set in the app', async () => { - expect(web3.isAddress(this.contributionToken.address)).to.equal(true) - expect(await this.presale.contributionToken()).to.equal(this.contributionToken.address) + assert.equal(web3.utils.isAddress(this.contributionToken.address), true) + assert.equal(await this.presale.contributionToken(), this.contributionToken.address) }) it('TokenManager is deployed, set in the app, and controls the project token', async () => { - expect(web3.isAddress(this.tokenManager.address)).to.equal(true) - expect(await this.presale.tokenManager()).to.equal(this.tokenManager.address) + assert.equal(web3.utils.isAddress(this.tokenManager.address), true) + assert.equal(await this.presale.tokenManager(), this.tokenManager.address) }) it('Exchange rate is calculated to the expected value', async () => { - const receivedValue = (await this.presale.exchangeRate()).toNumber() + const receivedValue = await this.presale.exchangeRate() const expectedValue = tokenExchangeRate() - expect(receivedValue).to.equal(expectedValue) + assertBn(receivedValue, expectedValue) }) it('Beneficiary address is set', async () => { - expect(await this.presale.beneficiary()).to.equal(appManager) + assert.equal(await this.presale.beneficiary(), appManager) }) it('Percent funding for beneficiary is set', async () => { - expect((await this.presale.fundingForBeneficiaryPct()).toNumber()).to.equal(PERCENT_FUNDING_FOR_BENEFICIARY) + assert.equal((await this.presale.fundingForBeneficiaryPct()).toNumber(), PERCENT_FUNDING_FOR_BENEFICIARY) }) } diff --git a/apps/presale/test/States.test.js b/apps/presale/test/States.test.js index 19c9473..a83ec8f 100644 --- a/apps/presale/test/States.test.js +++ b/apps/presale/test/States.test.js @@ -1,4 +1,4 @@ -const { PRESALE_PERIOD, PRESALE_GOAL, PRESALE_STATE } = require('@ablack/fundraising-shared-test-helpers/constants') +const { PRESALE_PERIOD, PRESALE_GOAL, PRESALE_STATE } = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { prepareDefaultSetup, defaultDeployParams, initializePresale } = require('./common/deploy') const { getEvent, now } = require('./common/utils') @@ -18,7 +18,7 @@ contract('Presale, states validation', ([anyone, appManager, buyer]) => { }) it('Initial state is Pending', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.PENDING) + assert.equal(await getState(this), PRESALE_STATE.PENDING) }) describe('When the sale is started', () => { @@ -27,20 +27,20 @@ contract('Presale, states validation', ([anyone, appManager, buyer]) => { startDate = now() await this.presale.open({ from: appManager }) } - await this.presale.mockSetTimestamp(startDate + 1) + this.presale.mockSetTimestamp(startDate + 1) }) it('The state is Funding', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.FUNDING) + assert.equal(await getState(this), PRESALE_STATE.FUNDING) }) describe('When the funding period is still running', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) }) it('The state is still Funding', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.FUNDING) + assert.equal(await getState(this), PRESALE_STATE.FUNDING) }) describe('When purchases are made, not reaching the funding goal', () => { @@ -49,37 +49,37 @@ contract('Presale, states validation', ([anyone, appManager, buyer]) => { }) it('The state is still Funding', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.FUNDING) + assert.equal(await getState(this), PRESALE_STATE.FUNDING) }) describe('When the funding period elapses without having reached the funding goal', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) }) it('The state is Refunding', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.REFUNDING) + assert.equal(await getState(this), PRESALE_STATE.REFUNDING) }) }) }) describe('When purchases are made, reaching the funding goal before the funding period elapsed', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD / 2) await this.presale.contribute(buyer, PRESALE_GOAL / 2, { from: buyer }) }) it('The state is GoalReached', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.GOAL_REACHED) + assert.equal(await getState(this), PRESALE_STATE.GOAL_REACHED) }) describe('When the funding period elapses having reached the funding goal', () => { before(async () => { - await this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) + this.presale.mockSetTimestamp(startDate + PRESALE_PERIOD) }) it('The state is still GoalReached', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.GOAL_REACHED) + assert.equal(await getState(this), PRESALE_STATE.GOAL_REACHED) }) }) @@ -89,7 +89,7 @@ contract('Presale, states validation', ([anyone, appManager, buyer]) => { }) it('The state is Closed', async () => { - expect(await getState(this)).to.equal(PRESALE_STATE.CLOSED) + assert.equal(await getState(this), PRESALE_STATE.CLOSED) }) }) }) diff --git a/apps/presale/test/Vesting.test.js b/apps/presale/test/Vesting.test.js index b6dc870..db307a6 100644 --- a/apps/presale/test/Vesting.test.js +++ b/apps/presale/test/Vesting.test.js @@ -1,6 +1,8 @@ -const { VESTING_CLIFF_PERIOD, VESTING_COMPLETE_PERIOD } = require('@ablack/fundraising-shared-test-helpers/constants') +const { VESTING_CLIFF_PERIOD, VESTING_COMPLETE_PERIOD } = require('@1hive/apps-marketplace-shared-test-helpers/constants') const { prepareDefaultSetup, defaultDeployParams, initializePresale } = require('./common/deploy') const { contributionToProjectTokens, now } = require('./common/utils') +const { assertBn } = require('@aragon/contract-helpers-test/src/asserts') +const { bn } = require('@aragon/contract-helpers-test/src/numbers') const BUYER_BALANCE = 20000 @@ -11,16 +13,17 @@ contract('Presale, vesting functionality', ([anyone, appManager, buyer]) => { before(async () => { await prepareDefaultSetup(this, appManager) + const _now = now() await initializePresale(this, { ...defaultDeployParams(this, appManager), startDate }) await this.contributionToken.generateTokens(buyer, BUYER_BALANCE) await this.contributionToken.approve(this.presale.address, BUYER_BALANCE, { from: buyer }) if (startDate == 0) { - startDate = now() + startDate = _now await this.presale.open({ from: appManager }) } - await this.presale.mockSetTimestamp(startDate + 1) + this.presale.mockSetTimestamp(startDate + 1) await this.presale.contribute(buyer, BUYER_BALANCE, { from: buyer }) @@ -33,26 +36,26 @@ contract('Presale, vesting functionality', ([anyone, appManager, buyer]) => { }) it('Token manager registers the correct vested amount', async () => { - const expectedAmount = contributionToProjectTokens(BUYER_BALANCE) - expect(vestedAmount.toNumber()).to.equal(expectedAmount) + const expectedAmount = contributionToProjectTokens(bn(BUYER_BALANCE)) + assertBn(vestedAmount, expectedAmount) }) it('Token manager registers the correct vesting start date', async () => { - expect(vestingStartDate.toNumber()).to.equal(startDate) + assert.equal(vestingStartDate.toNumber(), startDate) }) it('Token manager registers the correct vesting cliff date', async () => { const cliffDate = startDate + VESTING_CLIFF_PERIOD - expect(vestingCliffDate.toNumber()).to.equal(cliffDate) + assert.equal(vestingCliffDate.toNumber(), cliffDate) }) it('Token manager registers the correct vesting complete date', async () => { const completeDate = startDate + VESTING_COMPLETE_PERIOD - expect(vestingCompleteDate.toNumber()).to.equal(completeDate) + assert.equal(vestingCompleteDate.toNumber(), completeDate) }) it('Token manager registers the vestings as revokable', async () => { - expect(vestingRevokable).to.equal(true) + assert.isTrue(vestingRevokable) }) }) } diff --git a/apps/presale/test/common/deploy.js b/apps/presale/test/common/deploy.js index 95d9ccf..b6e9a4d 100644 --- a/apps/presale/test/common/deploy.js +++ b/apps/presale/test/common/deploy.js @@ -5,14 +5,14 @@ const DAOFactory = artifacts.require('@aragon/core/contracts/factory/DAOFactory' const EVMScriptRegistryFactory = artifacts.require('@aragon/core/contracts/factory/EVMScriptRegistryFactory') const ACL = artifacts.require('@aragon/core/contracts/acl/ACL') const Kernel = artifacts.require('@aragon/core/contracts/kernel/Kernel') -const MiniMeToken = artifacts.require('@aragon/apps-shared-minime/contracts/MiniMeToken') -const ERC20 = artifacts.require('@aragon/core/contracts/lib/token/ERC20') +const MiniMeToken = artifacts.require('@aragon/minime/contracts/MiniMeToken') const TokenManager = artifacts.require('TokenManager.sol') const Vault = artifacts.require('Vault.sol') -const FundraisingController = artifacts.require('AragonFundraisingControllerMock.sol') +const FundraisingController = artifacts.require('MarketplaceControllerMock.sol') const Presale = artifacts.require('PresaleMock.sol') + const { ANY_ADDRESS, ZERO_ADDRESS, @@ -23,10 +23,10 @@ const { VESTING_COMPLETE_PERIOD, PERCENT_SUPPLY_OFFERED, PERCENT_FUNDING_FOR_BENEFICIARY, - RESERVE_RATIOS, - BUY_FEE_PCT, - SELL_FEE_PCT, -} = require('@ablack/fundraising-shared-test-helpers/constants') +} = require('@1hive/apps-marketplace-shared-test-helpers/constants') + + +const { now } = require('./utils') const deploy = { getProxyAddress: receipt => receipt.logs.filter(l => l.event === 'NewAppProxy')[0].args.proxy, @@ -38,8 +38,8 @@ const deploy = { const regFact = await EVMScriptRegistryFactory.new() const daoFact = await DAOFactory.new(kernelBase.address, aclBase.address, regFact.address) const daoReceipt = await daoFact.newDAO(daoManager) - test.dao = Kernel.at(daoReceipt.logs.filter(l => l.event === 'DeployDAO')[0].args.dao) - test.acl = ACL.at(await test.dao.acl()) + test.dao = await Kernel.at(daoReceipt.logs.filter(l => l.event === 'DeployDAO')[0].args.dao) + test.acl = await ACL.at(await test.dao.acl()) test.APP_MANAGER_ROLE = await kernelBase.APP_MANAGER_ROLE() }, setDAOPermissions: async (test, daoManager) => { @@ -50,7 +50,7 @@ const deploy = { deployReserve: async (test, appManager) => { const appBase = await Vault.new() const receipt = await test.dao.newAppInstance(hash('pool.aragonpm.eth'), appBase.address, '0x', false, { from: appManager }) - test.reserve = Vault.at(deploy.getProxyAddress(receipt)) + test.reserve = await Vault.at(deploy.getProxyAddress(receipt)) test.RESERVE_TRANSFER_ROLE = await appBase.TRANSFER_ROLE() // test.RESERVE_ADD_PROTECTED_TOKEN_ROLE = await appBase.ADD_PROTECTED_TOKEN_ROLE() }, @@ -66,7 +66,7 @@ const deploy = { deployFundraising: async (test, appManager) => { const appBase = await FundraisingController.new() const receipt = await test.dao.newAppInstance(hash('fundraising-controller.aragonpm.eth'), appBase.address, '0x', false, { from: appManager }) - test.fundraising = FundraisingController.at(deploy.getProxyAddress(receipt)) + test.fundraising = await FundraisingController.at(deploy.getProxyAddress(receipt)) }, setFundraisingPermissions: async (test, appManager) => {}, initializeFundraising: async test => { @@ -77,7 +77,7 @@ const deploy = { deployVault: async (test, appManager) => { const appBase = await Vault.new() const receipt = await test.dao.newAppInstance(hash('vault.aragonpm.eth'), appBase.address, '0x', false, { from: appManager }) - test.vault = Vault.at(deploy.getProxyAddress(receipt)) + test.vault = await Vault.at(deploy.getProxyAddress(receipt)) }, setVaultPermissions: async (test, appManager) => { // No permissions @@ -90,7 +90,7 @@ const deploy = { deployTokenManager: async (test, appManager) => { const appBase = await TokenManager.new() const receipt = await test.dao.newAppInstance(hash('token-manager.aragonpm.eth'), appBase.address, '0x', false, { from: appManager }) - test.tokenManager = TokenManager.at(deploy.getProxyAddress(receipt)) + test.tokenManager = await TokenManager.at(deploy.getProxyAddress(receipt)) test.TOKEN_MANAGER_MINT_ROLE = await appBase.MINT_ROLE() test.TOKEN_MANAGER_ISSUE_ROLE = await appBase.ISSUE_ROLE() test.TOKEN_MANAGER_ASSIGN_ROLE = await appBase.ASSIGN_ROLE() @@ -113,7 +113,7 @@ const deploy = { deployPresale: async (test, appManager) => { const appBase = await Presale.new() const receipt = await test.dao.newAppInstance(hash('presale.aragonpm.eth'), appBase.address, '0x', false, { from: appManager }) - test.presale = Presale.at(deploy.getProxyAddress(receipt)) + test.presale = await Presale.at(deploy.getProxyAddress(receipt)) test.PRESALE_OPEN_ROLE = await appBase.OPEN_ROLE() test.PRESALE_CONTRIBUTE_ROLE = await appBase.CONTRIBUTE_ROLE() }, @@ -137,6 +137,7 @@ const deploy = { params.percentFundingForBeneficiary, params.startDate, ] + test.presale.mockSetTimestamp(now()) return test.presale.initialize(...paramsArr) }, defaultDeployParams: (test, beneficiary) => { diff --git a/apps/presale/test/common/utils.js b/apps/presale/test/common/utils.js index 5a246a2..9702fe8 100644 --- a/apps/presale/test/common/utils.js +++ b/apps/presale/test/common/utils.js @@ -1,24 +1,21 @@ -const { PRESALE_GOAL, PRESALE_EXCHANGE_RATE, RESERVE_RATIOS, PERCENT_SUPPLY_OFFERED, PPM } = require('@ablack/fundraising-shared-test-helpers/constants') +const { PRESALE_EXCHANGE_RATE, PPM } = require('@1hive/apps-marketplace-shared-test-helpers/constants') +const { bn } = require('@aragon/contract-helpers-test/src/numbers') const utils = { getEvent: (tx, eventName) => tx.logs.filter(log => log.event.includes(eventName))[0], - contributionToProjectTokens: value => { - return Math.floor( - web3 - .toBigNumber(value) - .mul(utils.tokenExchangeRate()) - .div(PPM) - .toNumber() - ) - }, + contributionToProjectTokens: value => + value + .mul(bn(PRESALE_EXCHANGE_RATE)) + .div(bn(PPM)) + , now: () => { return Math.floor(new Date().getTime() / 1000) }, tokenExchangeRate: () => { - return PRESALE_EXCHANGE_RATE + return bn(PRESALE_EXCHANGE_RATE) }, sendTransaction: data => { diff --git a/apps/presale/truffle.js b/apps/presale/truffle.js deleted file mode 100644 index 2968b82..0000000 --- a/apps/presale/truffle.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@aragon/os/truffle-config') diff --git a/lerna.json b/lerna.json index e20a365..8b8f2c9 100644 --- a/lerna.json +++ b/lerna.json @@ -1,4 +1,6 @@ { - "packages": ["apps/*", "shared/*", "templates/*"], - "version": "independent" + "packages": ["apps/*", "shared/*"], + "version": "independent", + "npmClient": "yarn", + "useWorkspaces": true } diff --git a/package.json b/package.json index 83fe605..220117b 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,20 @@ { - "name": "@1hive/marketplace", + "name": "@1hive/suite-marketplace", "version": "1.0.0", "private": true, + "workspaces": { + "packages": [ + "apps/*", + "shared/*" + ], + "nohoist": [ + "@aragon/os", + "@aragon/apps-*", + "@aragon/ppf-contracts", + "@aragon/contract-helpers-test", + "@1hive/apps-marketplace-*" + ] + }, "author": "Aragon Assocation ", "contributors": [ "Olivier Sarrouy ", @@ -14,26 +27,23 @@ "homepage": "https://github.com/1Hive/marketplace-app", "scripts": { "install": "npm run bootstrap", - "bootstrap": "lerna bootstrap --concurrency 1 --hoist --nohoist=@aragon/os --nohoist=@aragon/apps-* --nohoist=@aragon/ppf-contracts --nohoist=@aragon/test-helpers --nohoist=@aragon/templates-shared --nohoist=@ablack/fundraising-*", + "bootstrap": "lerna bootstrap --concurrency 1", "fix": "rm -rfv **/websocket/.git", "update": "lernaupdate", "clean": "lerna clean", - "lint": "lerna run --scope=@ablack/fundraising-* lint", + "lint": "lerna run --scope=@1hive/apps-marketplace-* lint", "test": "npm run test:all", - "test:all": "lerna run --scope=@ablack/fundraising-* --concurrency=1 --stream test", - "test:all:gas": "lerna run --scope=@ablack/fundraising-* --concurrency=1 --stream test:gas", - "test:aragon-fundraising": "lerna run --scope=@ablack/fundraising-aragon-fundraising --stream test", - "test:batched-bancor-market-maker": "lerna run --scope=@ablack/fundraising-batched-bancor-market-maker --stream test", - "test:presale": "lerna run --scope=@ablack/fundraising-presale --stream test", - "test:tap": "lerna run --scope=@ablack/fundraising-tap --stream test", - "test:multisig-template": "lerna run --scope=@ablack/fundraising-templates-multisig --stream test", + "test:all": "lerna run --scope=@1hive/apps-marketplace-* --concurrency=1 --stream test", + "test:all:gas": "lerna run --scope=@1hive/apps-marketplace-* --concurrency=1 --stream test:gas", + "test:controller": "lerna run --scope=@1hive/apps-marketplace-controller --stream test", + "test:bancor-market-maker": "lerna run --scope=@1hive/apps-marketplace-bancor-market-maker --stream test", + "test:presale": "lerna run --scope=@1hive/apps-marketplace-presale --stream test", "coverage": "npm run coverage:all", - "coverage:all": "lerna run --scope=@ablack/fundraising-* --concurrency=1 --stream test:coverage", - "coverage:aragon-fundraising": "lerna run --scope=@ablack/fundraising-aragon-fundraising --stream test:coverage", - "coverage:batched-bancor-market-maker": "lerna run --scope=@ablack/fundraising-batched-bancor-market-maker --stream test:coverage", - "coverage:presale": "lerna run --scope=@ablack/fundraising-presale --stream test:coverage", - "coverage:tap": "lerna run --scope=@ablack/fundraising-tap --stream test:coverage", - "publish": "lerna run --scope=@ablack/fundraising-* --concurrency=1 --stream publish" + "coverage:all": "lerna run --scope=@1hive/apps-marketplace-* --concurrency=1 --stream coverage", + "coverage:controller": "lerna run --scope=@1hive/apps-marketplace-controller --stream coverage", + "coverage:bancor-market-maker": "lerna run --scope=@1hive/apps-marketplace-bancor-market-maker --stream coverage", + "coverage:presale": "lerna run --scope=@1hive/apps-marketplace-presale --stream coverage", + "publish": "lerna run --scope=@1hive/apps-marketplace-* --concurrency=1 --stream publish" }, "devDependencies": { "coveralls": "^3.0.1", diff --git a/shared/interfaces/contracts/IAragonFundraisingController.sol b/shared/interfaces/contracts/IAragonFundraisingController.sol deleted file mode 100644 index 8878420..0000000 --- a/shared/interfaces/contracts/IAragonFundraisingController.sol +++ /dev/null @@ -1,9 +0,0 @@ -pragma solidity 0.4.24; - - -contract IAragonFundraisingController { - function openTrading() external; - function updateTappedAmount(address _token) external; - function collateralsToBeClaimed(address _collateral) public view returns (uint256); - function balanceOf(address _who, address _token) public view returns (uint256); -} diff --git a/shared/interfaces/contracts/IBancorFormula.sol b/shared/interfaces/contracts/IBancorFormula.sol new file mode 100644 index 0000000..2be6d36 --- /dev/null +++ b/shared/interfaces/contracts/IBancorFormula.sol @@ -0,0 +1,29 @@ +pragma solidity 0.4.24; + + +/* + Bancor Formula interface +*/ +contract IBancorFormula { + function calculatePurchaseReturn ( + uint256 _supply, + uint256 _connectorBalance, + uint32 _connectorWeight, + uint256 _depositAmount + ) public view returns (uint256); + + function calculateSaleReturn ( + uint256 _supply, + uint256 _connectorBalance, + uint32 _connectorWeight, + uint256 _sellAmount + ) public view returns (uint256); + + function calculateCrossConnectorReturn ( + uint256 _fromConnectorBalance, + uint32 _fromConnectorWeight, + uint256 _toConnectorBalance, + uint32 _toConnectorWeight, + uint256 _amount + ) public view returns (uint256); +} \ No newline at end of file diff --git a/apps/marketplace-controller/contracts/IMarketplaceController.sol b/shared/interfaces/contracts/IMarketplaceController.sol similarity index 99% rename from apps/marketplace-controller/contracts/IMarketplaceController.sol rename to shared/interfaces/contracts/IMarketplaceController.sol index 48b9394..9e722d1 100644 --- a/apps/marketplace-controller/contracts/IMarketplaceController.sol +++ b/shared/interfaces/contracts/IMarketplaceController.sol @@ -1,5 +1,6 @@ pragma solidity 0.4.24; + contract IMarketplaceController { function openTrading() external; function balanceOf(address _who, address _token) public view returns (uint256); diff --git a/shared/interfaces/contracts/ITap.sol b/shared/interfaces/contracts/ITap.sol deleted file mode 100644 index cf580bb..0000000 --- a/shared/interfaces/contracts/ITap.sol +++ /dev/null @@ -1,15 +0,0 @@ -pragma solidity 0.4.24; - - -contract ITap { - function updateBeneficiary(address _beneficiary) external; - function updateMaximumTapRateIncreasePct(uint256 _maximumTapRateIncreasePct) external; - function updateMaximumTapFloorDecreasePct(uint256 _maximumTapFloorDecreasePct) external; - function addTappedToken(address _token, uint256 _rate, uint256 _floor) external; - function updateTappedToken(address _token, uint256 _rate, uint256 _floor) external; - function resetTappedToken(address _token) external; - function updateTappedAmount(address _token) external; - function withdraw(address _token) external; - function getMaximumWithdrawal(address _token) public view returns (uint256); - function rates(address _token) public view returns (uint256); - } \ No newline at end of file diff --git a/shared/interfaces/package.json b/shared/interfaces/package.json index fec2f83..5a333e6 100644 --- a/shared/interfaces/package.json +++ b/shared/interfaces/package.json @@ -1,22 +1,20 @@ { - "name": "@ablack/fundraising-shared-interfaces", + "name": "@1hive/apps-marketplace-shared-interfaces", "version": "1.0.0", "author": "Aragon Assocation ", "contributors": [ "Olivier Sarrouy " ], "license": "(GPL-3.0-or-later OR AGPL-3.0-or-later)", - "homepage": "https://github.com/AragonBlack/fundraising", + "homepage": "https://github.com/1hive/marketplace-app", "scripts": { - "lint": "solium --dir ./contracts --config ../../.soliumrc.json", - "compile": "truffle compile" + "lint": "solium --dir ./contracts --config ../../.soliumrc.json" }, "files": [ "/build", "/contracts" ], "devDependencies": { - "solium": "^1.2.3", - "truffle": "4.1.14" + "solium": "^1.2.3" } } diff --git a/shared/interfaces/truffle.js b/shared/interfaces/truffle.js deleted file mode 100644 index 2968b82..0000000 --- a/shared/interfaces/truffle.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@aragon/os/truffle-config') diff --git a/shared/test-helpers/assertExternalEvent.js b/shared/test-helpers/assertExternalEvent.js index 1417d2d..cd56907 100644 --- a/shared/test-helpers/assertExternalEvent.js +++ b/shared/test-helpers/assertExternalEvent.js @@ -1,7 +1,8 @@ const sha3 = require('js-sha3').keccak_256 -module.exports = assertExternalEvent = (tx, eventName, instances = 1) => { - const events = tx.receipt.logs.filter(l => { +module.exports = assertExternalEvent = (receipt, eventName, instances = 1) => { + const logs = (receipt.receipt && receipt.receipt.rawLogs) || [] + const events = logs.filter(l => { return l.topics[0] === '0x' + sha3(eventName) }) assert.equal(events.length, instances, `'${eventName}' event should have been fired ${instances} times`) diff --git a/shared/test-helpers/constants.js b/shared/test-helpers/constants.js index 4162757..f5ff245 100644 --- a/shared/test-helpers/constants.js +++ b/shared/test-helpers/constants.js @@ -1,7 +1,7 @@ +const { bn, bigExp } = require('@aragon/contract-helpers-test/src/numbers') + /* time */ const DAYS = 24 * 3600 -const WEEKS = 7 * DAYS -const MONTHS = 30 * DAYS /* constants */ const PPM = 1e6 @@ -13,7 +13,7 @@ const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' const ETH = '0x0000000000000000000000000000000000000000' /* balances */ -const INITIAL_COLLATERAL_BALANCE = Math.pow(10, 23) +const INITIAL_COLLATERAL_BALANCE = bigExp(1, 23) /* presale */ const PRESALE_STATE = { @@ -23,34 +23,22 @@ const PRESALE_STATE = { GOAL_REACHED: 3, CLOSED: 4, } -const PRESALE_GOAL = '20000e18' +const PRESALE_GOAL = bn('20000e18') const PRESALE_PERIOD = 14 * DAYS const PRESALE_EXCHANGE_RATE = 1 * PPM const VESTING_CLIFF_PERIOD = 90 * DAYS const VESTING_COMPLETE_PERIOD = 360 * DAYS const PERCENT_SUPPLY_OFFERED = 0.9 * PPM // 90% const PERCENT_FUNDING_FOR_BENEFICIARY = 0.25 * PPM // 25% -const CONNECTOR_WEIGHT = 0.1 * PPM // 10% /* market maker */ -const VIRTUAL_SUPPLIES = [new web3.BigNumber(Math.pow(10, 23)), new web3.BigNumber(Math.pow(10, 22))] -const VIRTUAL_BALANCES = [new web3.BigNumber(Math.pow(10, 22)), new web3.BigNumber(Math.pow(10, 20))] +const VIRTUAL_SUPPLIES = [bigExp(1, 23), bigExp(1, 22)] +const VIRTUAL_BALANCES = [bigExp(1, 22), bigExp(1, 20)] const RESERVE_RATIOS = [(PPM * 10) / 100, (PPM * 1) / 100] -const SLIPPAGES = [10 * PCT_BASE, 15 * PCT_BASE] -const BUY_FEE_PCT = 100000000000000000 // 1% -const SELL_FEE_PCT = 100000000000000000 - -/* tap */ -const RATES = [10, 15] -const FLOORS = [1000, 5000] -const BATCH_BLOCKS = 10 -const MAXIMUM_TAP_RATE_INCREASE_PCT = 50e16 -const MAXIMUM_TAP_FLOOR_DECREASE_PCT = 60e16 +const BUY_FEE_PCT = bn('100000000000000000') // 1% +const SELL_FEE_PCT = bn('100000000000000000') module.exports = { - DAYS, - WEEKS, - MONTHS, PPM, PCT_BASE, ANY_ADDRESS, @@ -65,16 +53,9 @@ module.exports = { VESTING_COMPLETE_PERIOD, PERCENT_SUPPLY_OFFERED, PERCENT_FUNDING_FOR_BENEFICIARY, - CONNECTOR_WEIGHT, VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, RESERVE_RATIOS, - SLIPPAGES, - RATES, - FLOORS, BUY_FEE_PCT, SELL_FEE_PCT, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, } diff --git a/shared/test-helpers/contracts/AragonFundraisingControllerMock.sol b/shared/test-helpers/contracts/MarketplaceControllerMock.sol similarity index 53% rename from shared/test-helpers/contracts/AragonFundraisingControllerMock.sol rename to shared/test-helpers/contracts/MarketplaceControllerMock.sol index 266da8d..3ca0cdf 100644 --- a/shared/test-helpers/contracts/AragonFundraisingControllerMock.sol +++ b/shared/test-helpers/contracts/MarketplaceControllerMock.sol @@ -3,10 +3,10 @@ pragma solidity 0.4.24; import "@aragon/os/contracts/apps/AragonApp.sol"; import "@aragon/os/contracts/common/SafeERC20.sol"; import "@aragon/os/contracts/lib/token/ERC20.sol"; -import "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol"; +import "@1hive/apps-marketplace-shared-interfaces/contracts/IMarketplaceController.sol"; -contract AragonFundraisingControllerMock is IAragonFundraisingController, AragonApp { +contract MarketplaceControllerMock is IMarketplaceController, AragonApp { using SafeERC20 for ERC20; event OpenTrading(); @@ -21,22 +21,6 @@ contract AragonFundraisingControllerMock is IAragonFundraisingController, Aragon emit OpenTrading(); } - function resetTokenTap(address _token) external { - emit ResetTokenTap(); - } - - function updateTappedAmount(address _token) external { - emit UpdateTappedAmount(); - } - - function collateralsToBeClaimed(address _collateral) public view returns (uint256) { - if (_collateral == ETH) { - return uint256(5); - } else { - return uint256(10); - } - } - function balanceOf(address _who, address _token) public view returns (uint256) { if (_token == ETH) { return _who.balance; diff --git a/shared/test-helpers/getProxyAddress.js b/shared/test-helpers/getProxyAddress.js deleted file mode 100644 index ece1451..0000000 --- a/shared/test-helpers/getProxyAddress.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = receipt => { - return receipt.logs.filter(l => l.event === 'NewAppProxy')[0].args.proxy -} diff --git a/shared/test-helpers/increaseBlocks.js b/shared/test-helpers/increaseBlocks.js deleted file mode 100644 index c64b4fe..0000000 --- a/shared/test-helpers/increaseBlocks.js +++ /dev/null @@ -1,33 +0,0 @@ -const increaseBlock = web3 => { - return new Promise((resolve, reject) => { - web3.currentProvider.sendAsync( - { - jsonrpc: '2.0', - method: 'evm_mine', - id: 12345, - }, - (err, result) => { - if (err) reject(err) - resolve(result) - } - ) - }) -} - -const increaseBlocks = web3 => blocks => { - if (typeof blocks === 'object') { - blocks = blocks.toNumber(10) - } - return new Promise((resolve, reject) => { - increaseBlock(web3).then(() => { - blocks -= 1 - if (blocks === 0) { - resolve() - } else { - increaseBlocks(web3)(blocks).then(resolve) - } - }) - }) -} - -module.exports = increaseBlocks diff --git a/shared/test-helpers/package.json b/shared/test-helpers/package.json index c24d3f1..9e0ded6 100644 --- a/shared/test-helpers/package.json +++ b/shared/test-helpers/package.json @@ -1,5 +1,5 @@ { - "name": "@ablack/fundraising-shared-test-helpers", + "name": "@1hive/apps-marketplace-shared-test-helpers", "version": "1.0.0", "author": "Aragon Assocation ", "contributors": [ @@ -13,9 +13,9 @@ "*.js" ], "dependencies": { - "@ablack/fundraising-shared-interfaces": "^1.0.0", + "@1hive/apps-marketplace-shared-interfaces": "^1.0.0", "@aragon/os": "4.2.1", - "@aragon/test-helpers": "^2.0.0", + "@aragon/contract-helpers-test": "^0.1.0", "js-sha3": "^0.8.0" } } diff --git a/shared/test-helpers/progressToNextBatch.js b/shared/test-helpers/progressToNextBatch.js deleted file mode 100644 index abf0a90..0000000 --- a/shared/test-helpers/progressToNextBatch.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = (web3, BATCH_BLOCKS) => async () => { - const blockNumber = require('@aragon/test-helpers/blockNumber')(web3) - const increaseBlocks = require('./increaseBlocks')(web3) - const currentBlock = await blockNumber() - const currentBatch = Math.floor(currentBlock / BATCH_BLOCKS) * BATCH_BLOCKS - const blocksUntilNextBatch = currentBatch + BATCH_BLOCKS - currentBlock - await increaseBlocks(blocksUntilNextBatch) -} diff --git a/shared/test-helpers/random.js b/shared/test-helpers/random.js index 6ff3e21..be9118e 100644 --- a/shared/test-helpers/random.js +++ b/shared/test-helpers/random.js @@ -1,35 +1,25 @@ const { PCT_BASE } = require('./constants') +const { bn, bigExp } = require('@aragon/contract-helpers-test/src/numbers') + module.exports = { amount: () => { - return new web3.BigNumber(Math.floor(Math.random() * 10 + 1) * Math.pow(10, 18)) + return bn(Math.floor(Math.random() * 10 + 1) * Math.pow(10, 18)) }, virtualSupply: () => { - return Math.floor(Math.random() * Math.pow(10, 18)) + 1 + return bigExp(Math.floor(Math.random() * Math.pow(10, 9)) + 1, 9) }, virtualBalance: () => { - return Math.floor(Math.random() * Math.pow(10, 18)) + 1 + return bigExp(Math.floor(Math.random() * Math.pow(10, 9)) + 1, 9) }, reserveRatio: () => { return Math.floor(Math.random() * 999999) + 1 }, - slippage: () => { - return Math.floor(Math.random() * PCT_BASE) + 1 - }, - - rate: () => { - return Math.floor(Math.random() * 999) + 1 - }, - - floor: () => { - return Math.floor(Math.random() * 999999) + 1 - }, - fee: () => { - return Math.floor(Math.random() * Math.pow(10, 17)) + 1 + return bigExp(Math.floor(Math.random() * Math.pow(10, 8)) + 1, 9) }, } diff --git a/templates/multisig/.soliumignore b/templates/multisig/.soliumignore deleted file mode 100755 index 57a8c75..0000000 --- a/templates/multisig/.soliumignore +++ /dev/null @@ -1 +0,0 @@ -contracts/test \ No newline at end of file diff --git a/templates/multisig/README.md b/templates/multisig/README.md deleted file mode 100644 index 8fe9513..0000000 --- a/templates/multisig/README.md +++ /dev/null @@ -1,261 +0,0 @@ -# Aragon 0.8 Fundraising Multisig Template - -## Description -Aragon Fundraising Multisig Template differenciate two set actors: the **board** and the **shareholders**. - -### Board - -The board are the ones being funded by the fundraising campaign. They are represented through a custom `BOARD` token and a dedicated voting app set to be used as a multisig. Their privileges are intentionnaly limited to protect shareholders. Thus, they only have the following rights. - -#### Handling board members - -The board decides on who is to be included / excluded from the board [through its `TokenManager`]. - -#### Opening presale - -The board decides on when the presale [and thus the fundraising campaign] is to be open. - -#### Handling fundraising proceeds - -The board decides on what use is to be made of the fundraising proceeds which are periodically transferred to their discretionnary `Vault` / `Finance` app. - -#### Opening votes - -The board decides on when new votes should be open for shareholders to enforce decisions over the organization. - - -### Shareholders - -The shareholders are the one contributing to the fundraising campaign. They are represented through a `SHARE` bonded-token [they can buy and redeem through the Aragon Fundraising interface] and a voting app. They hold most of the rights over the organization. - -#### Handling system - -Shareholders decide on which apps are to be installed, which apps are to to upgraded and how permissions are to be set. - -#### Handling fundraising parameters - -Shareholders decide on whether / how beneficiary, fees, collateralization settings and collaterals taps should be updated. - -### Rationale - -This architecture grants [most of] the governance rights to shareholders [to protect their investment]. There is thus a need to mitigate situations where a shareholder owning more than 50% of the shares would own the whole organization. This is why `SHARE` based votes [_i.e._ most of the organization decisions] can only be open and initiated by the board. - - -## Usage - -### Prepare instance -> Deploy a DAO and install all board related apps - -``` -template.prepareInstance(boardTokenName, boardTokenSymbol, boardMembers, boardVotingsSettings, financePeriod) -``` - -- **boardTokenName** Name for the token used by the board -- **boardTokenSymbol** Symbol for the token used by the board -- **boardMembers** Array of board members addresses -- **boardVotingSettings:** Array of [supportRequired, minAcceptanceQuorum, voteDuration] to set up the board voting app [multisig] -- **financePeriod** Initial duration for accounting periods of the boards discretionnary vault [it can be set to zero in order to use the default of 30 days] - -### Install share apps - -``` -template.installShareApps(id, shareTokenName, shareTokenSymbol, shareVotingsSettings) -``` - -- **id** Id for org, will assign [id].aragonid.eth -- **shareTokenName** Name for the token used by the shareholders [the bonded token] -- **shareTokenSymbol** Symbol for the token used by shareholders [the bonded token] -- **shareVotingSettings:** Array of [supportRequired, minAcceptanceQuorum, voteDuration] to set up the shareholders voting app [multisig] - -### Install fundraising apps - -``` -template.installFundraisingApps( - goal, - period, - exchangeRate, - vestingCliffPeriod, - vestingCompletePeriod, - supplyOfferedPct, - fundingForBeneficiaryPct, - openDate, - batchBlocks, - maximumTapRateIncreasePct, - maximumTapFloorDecreasePct -) -``` - -- **goal** The presale goal -- **period** The presale period -- **exchangeRate** The presale exchange rate [in PPM] -- **vestingCliffPeriod** The cliff period for vested shares purchased during presale -- **vestingCompletePeriod** The complete period for vested shares purchased during presale -- **supplyOfferedPct** The percentage of the initial token supply offered to presale's contributors -- **fundingForBeneficiaryPct** The percentage of the presale raised funds which are to be transferred to the board's discretionnary vault -- **openDate** The date upon which the presale will be open [if 0, the presale can be open manually later] -- **batchBlocks** The number of blocks trading batches will last -- **maximumTapRateIncreasePct** The maximum percentage tap rates can be increased at once -- **maximumTapFloorDecreasePct** The maximum percentage tap floors can be decreased at once - -### Finalize instance -> Set collateralization settings - -``` -template.finalizeInstance(virtualSupplies, virtualBalances, slippages, daiRate, daiFloor) -``` - -- **virtualSupplies** Array of [daiVirtualSupply, antVirtualSupply] to set up the market maker -- **virtualBalances** Array of [daiVirtualBalance, antVirtualBalance] to set up the market maker -- **slippages** Array of [daiMaxSlippage, antMaxSlippage] to set up the maximum per-batch price slippage in the market maker -- **daiRate** The rate at which DAIs are to be tapped -- **daiFloor** The floor above which the DAI reserve pool is to be kept - -## Permissions - -### System -_Handle apps and permissions_ - -| App | Permission | Grantee | Manager | -| ----------------- | --------------------- | ---------------- | ---------------- | -| Kernel | APP_MANAGER | Voting `[SHARE]` | Voting `[SHARE]` | -| ACL | CREATE_PERMISSIONS | Voting `[SHARE]` | Voting `[SHARE]` | -| EVMScriptRegistry | REGISTRY_MANAGER | Voting `[SHARE]` | Voting `[SHARE]` | -| EVMScriptRegistry | REGISTRY_ADD_EXECUTOR | Voting `[SHARE]` | Voting `[SHARE]` | - - -### Board - -#### TokenManager -_Represents board's membership_ - -| App | Permission | Grantee | Manager | -| ----------------------- | --------------- | ---------------- | ---------------- | -| Token Manager `[BOARD]` | MINT | Voting `[BOARD]` | Voting `[SHARE]` | -| Token Manager `[BOARD]` | BURN | Voting `[BOARD]` | Voting `[SHARE]` | -| Token Manager `[BOARD]` | ISSUE | NULL | NULL | -| Token Manager `[BOARD]` | ASSIGN | NULL | NULL | -| Token Manager `[BOARD]` | REVOKE_VESTINGS | NULL | NULL | - -#### Voting -_Enforces board's decisions_ - -| App | Permission | Grantee | Manager | -| ---------------- | -------------- | ----------------------- | ---------------- | -| Voting `[BOARD]` | CREATE_VOTES | Token Manager `[BOARD]` | Voting `[SHARE]` | -| Voting `[BOARD]` | MODIFY_QUORUM | Voting `[BOARD]` | Voting `[SHARE]` | -| Voting `[BOARD]` | MODIFY_SUPPORT | Voting `[BOARD]` | Voting `[SHARE]` | - -#### Vault and Finance -_Handle board's funds_ - -| App | Permission | Grantee | Manager | -| ------- | ------------------- | ---------------- | ---------------- | -| Vault | TRANSFER | Finance | Voting `[SHARE]` | -| Finance | CREATE_PAYMENTS | Voting `[BOARD]` | Voting `[SHARE]` | -| Finance | EXECUTE_PAYMENTS | Voting `[BOARD]` | Voting `[SHARE]` | -| Finance | MANAGE_PAYMENTS | Voting `[BOARD]` | Voting `[SHARE]` | -| Finance | CHANGE_PERIOD | NULL | NULL | -| Finance | CHANGE_BUDGETS_ROLE | NULL | NULL | - -### Share Holders - -#### TokenManager -_Handle shares / bonds minting and burning_ - -| App | Permission | Grantee | Manager | -| ----------------------- | --------------- | -------------------- | ---------------- | -| Token Manager `[SHARE]` | MINT | MarketMaker | Voting `[SHARE]` | -| Token Manager `[SHARE]` | BURN | MarketMaker, Presale | Voting `[SHARE]` | -| Token Manager `[SHARE]` | ISSUE | Presale | Voting `[SHARE]` | -| Token Manager `[SHARE]` | ASSIGN | Presale | Voting `[SHARE]` | -| Token Manager `[SHARE]` | REVOKE_VESTINGS | Presale | Voting `[SHARE]` | - - -#### Voting -_Enforces share holders decisions_ - - -| App | Permission | Grantee | Manager | -| ---------------- | -------------- | ----------------------- | ---------------- | -| Voting `[SHARE]` | CREATE_VOTES | Token Manager `[BOARD]` | Voting `[SHARE]` | -| Voting `[SHARE]` | MODIFY_QUORUM | Voting `[SHARE]` | Voting `[SHARE]` | -| Voting `[SHARE]` | MODIFY_SUPPORT | Voting `[SHARE]` | Voting `[SHARE]` | - - -### Fundraising apps - -#### Agent / Reserve -_Handle market maker funds_ - -| App | Permission | Grantee | Manager | -| ---- | ---------------------- | ---------------- | ---------------- | -| Pool | SAFE_EXECUTE | Voting `[SHARE]` | Voting `[SHARE]` | -| Pool | ADD_PROTECTED_TOKEN | Controller | Voting `[SHARE]` | -| Pool | REMOVE_PROTECTED_TOKEN | NULL | NULL | -| Pool | EXECUTE | NULL | NULL | -| Pool | DESIGNATE_SIGNER | NULL | NULL | -| Pool | ADD_PRESIGNED_HASH | NULL | NULL | -| Pool | RUN_SCRIPT | NULL | NULL | -| Pool | TRANSFER | Tap, MarketMaker | Voting `[SHARE]` | - - -#### Presale -_Handle preliminary sale_ - -| App | Permission | Grantee | Manager | -| ------- | ---------- | ---------- | ---------------- | -| Presale | OPEN | Controller | Voting `[SHARE]` | -| Presale | CONTRIBUTE | Controller | Voting `[SHARE]` | - - -#### MarketMaker -_Handle buy and sell orders_ - -| App | Permission | Grantee | Manager | -| ----------- | ----------------------- | ---------- | ---------------- | -| MarketMaker | OPEN | Controller | Voting `[SHARE]` | -| MarketMaker | UPDATE_FORMULA | NULL | NULL | -| MarketMaker | UPDATE_BENEFICIARY | Controller | Voting `[SHARE]` | -| MarketMaker | UPDATE_FEES | Controller | Voting `[SHARE]` | -| MarketMaker | ADD_COLLATERAL_TOKEN | Controller | Voting `[SHARE]` | -| MarketMaker | REMOVE_COLLATERAL_TOKEN | Controller | Voting `[SHARE]` | -| MarketMaker | UPDATE_COLLATERAL_TOKEN | Controller | Voting `[SHARE]` | -| MarketMaker | OPEN_BUY_ORDER | Controller | Voting `[SHARE]` | -| MarketMaker | OPEN_SELL_ORDER | Controller | Voting `[SHARE]` | - -#### Tap -_Control the flow of funds from reserve to board_ - -| App | Permission | Grantee | Manager | -| --- | ------------------------------------- | ---------- | ---------------- | -| Tap | UPDATE_CONTROLLER | NULL | NULL | -| Tap | UPDATE_RESERVE | NULL | NULL | -| Tap | UPDATE_BENEFICIARY | Controller | Voting `[SHARE]` | -| Tap | UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT | Controller | Voting `[SHARE]` | -| Tap | UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT | Controller | Voting `[SHARE]` | -| Tap | ADD_TAPPED_TOKEN | Controller | Voting `[SHARE]` | -| Tap | REMOVE_TAPPED_TOKEN | NULL | NULL | -| Tap | UPDATE_TAPPED_TOKEN | Controller | Voting `[SHARE]` | -| Tap | RESET_TAPPED_TOKEN | Controller | Voting `[SHARE]` | -| Tap | WITHDRAW | Controller | Voting `[SHARE]` | - -#### Controller -_API contract forwarding transactions to relevant contracts_ - -| App | Permission | Grantee | Manager | -| ---------- | ------------------------------------- | ---------------- | ---------------- | -| Controller | UPDATE_BENEFICIARY | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | UPDATE_FEES | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | ADD_COLLATERAL_TOKEN | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | REMOVE_COLLATERAL_TOKEN | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | UPDATE_COLLATERAL_TOKEN | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | ADD_TOKEN_TAP | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | UPDATE_TOKEN_TAP | Voting `[SHARE]` | Voting `[SHARE]` | -| Controller | OPEN_PRESALE | Voting `[BOARD]` | Voting `[SHARE]` | -| Controller | OPEN_TRADING | Presale | Voting `[SHARE]` | -| Controller | CONTRIBUTE | Any | Voting `[SHARE]` | -| Controller | OPEN_BUY_ORDER | Any | Voting `[SHARE]` | -| Controller | OPEN_SELL_ORDER | Any | Voting `[SHARE]` | -| Controller | WITHDRAW | Any | Voting `[SHARE]` | diff --git a/templates/multisig/arapp.json b/templates/multisig/arapp.json deleted file mode 100755 index 584a205..0000000 --- a/templates/multisig/arapp.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "environments": { - "default": { - "registry": "0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1", - "appName": "fundraising-multisig-template.aragonpm.eth", - "network": "rpc" - }, - "mainnet": { - "registry": "0x314159265dd8dbb310642f98f50c066173c1259b", - "appName": "fundraising-multisig-template.aragonpm.eth", - "network": "mainnet" - }, - "rinkeby": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "curv-fundraising-template.open.aragonpm.eth", - "network": "rinkeby" - }, - "hatch": { - "registry": "0x98Df287B6C145399Aaa709692c8D308357bC085D", - "appName": "fundraising-multisig-template.hatch.aragonpm.eth", - "network": "rinkeby" - } - }, - "roles": [], - "path": "contracts/FundraisingMultisigTemplate.sol" -} diff --git a/templates/multisig/build/contracts/ACL.json b/templates/multisig/build/contracts/ACL.json deleted file mode 100644 index 3e0b8c2..0000000 --- a/templates/multisig/build/contracts/ACL.json +++ /dev/null @@ -1,35251 +0,0 @@ -{ - "contractName": "ACL", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "NO_PERMISSION", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_PERMISSIONS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ANY_ENTITY", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "EMPTY_PARAM_HASH", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "BURN_ENTITY", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "entity", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": true, - "name": "role", - "type": "bytes32" - }, - { - "indexed": false, - "name": "allowed", - "type": "bool" - } - ], - "name": "SetPermission", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "entity", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": true, - "name": "role", - "type": "bytes32" - }, - { - "indexed": false, - "name": "paramsHash", - "type": "bytes32" - } - ], - "name": "SetPermissionParams", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": true, - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "name": "manager", - "type": "address" - } - ], - "name": "ChangePermissionManager", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_permissionsCreator", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_manager", - "type": "address" - } - ], - "name": "createPermission", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "grantPermission", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "grantPermissionP", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "revokePermission", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newManager", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "setPermissionManager", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "removePermissionManager", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "createBurnedPermission", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "burnPermissionManager", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "getPermissionParamsLength", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_entity", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getPermissionParam", - "outputs": [ - { - "name": "", - "type": "uint8" - }, - { - "name": "", - "type": "uint8" - }, - { - "name": "", - "type": "uint240" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_app", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - } - ], - "name": "getPermissionManager", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_where", - "type": "address" - }, - { - "name": "_what", - "type": "bytes32" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_where", - "type": "address" - }, - { - "name": "_what", - "type": "bytes32" - }, - { - "name": "_how", - "type": "uint256[]" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_where", - "type": "address" - }, - { - "name": "_what", - "type": "bytes32" - }, - { - "name": "_how", - "type": "bytes" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_paramsHash", - "type": "bytes32" - }, - { - "name": "_who", - "type": "address" - }, - { - "name": "_where", - "type": "address" - }, - { - "name": "_what", - "type": "bytes32" - }, - { - "name": "_how", - "type": "uint256[]" - } - ], - "name": "evalParams", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620029a183398151915264010000000062001e156200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620029a1833981519152826401000000006200268d6200023782021704565b50565b5490565b9055565b612756806200024b6000396000f30060806040526004361061017c5763ffffffff60e060020a6000350416630803fac081146101815780630808343e146101aa57806309699ff5146101d05780630a8ed3db146101f457806315949ed71461021e5780631b5e75be1461025a5780631d63ff2b146102cf5780632914b9bd146102e457806332f0a3b5146103595780633d6ab68f1461036e5780636815c992146103835780636d6712d8146103f75780637e7db6e11461042157806380afdea8146104425780638b3dd749146104575780639d0effdb1461046c5780639d4941d814610496578063a03c5832146104b7578063a1658fad14610511578063a479e50814610578578063a5ed8bf81461058d578063a885508a146105a2578063afd925df146105c6578063b1905727146105f0578063be03847814610614578063c4d66de814610645578063c513f66e14610666578063d4aae0c41461067b578063de4796ed14610690578063f516bc0e146106a5578063f520b58d146106ba578063fdef91061461072e575b600080fd5b34801561018d57600080fd5b5061019661079d565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101ce600160a060020a03600435166024356107c6565b005b3480156101dc57600080fd5b506101ce600160a060020a036004351660243561096d565b34801561020057600080fd5b506101ce600160a060020a0360043581169060243516604435610a09565b34801561022a57600080fd5b50610248600160a060020a0360043581169060243516604435610a45565b60408051918252519081900360200190f35b34801561026657600080fd5b5060408051602060046084358181013583810280860185019096528085526101969583359560248035600160a060020a039081169760443590911696606435963696919560a495949091019282919085019084908082843750949750610a879650505050505050565b3480156102db57600080fd5b50610248610ac2565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261033d943694929360249392840191908190840183828082843750949750610ac79650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561036557600080fd5b5061033d610bad565b34801561037a57600080fd5b50610248610c25565b34801561038f57600080fd5b5060408051606435600481810135602081810285810182019096528185526101ce95600160a060020a0384358116966024803590921696604435963696909560849593949290920192909182919085019084908082843750949750610c379650505050505050565b34801561040357600080fd5b50610196600160a060020a0360043581169060243516604435610d00565b34801561042d57600080fd5b50610196600160a060020a0360043516610d27565b34801561044e57600080fd5b50610248610d2d565b34801561046357600080fd5b50610248610d5d565b34801561047857600080fd5b506101ce600160a060020a0360043581169060243516604435610d88565b3480156104a257600080fd5b506101ce600160a060020a0360043516610e1f565b3480156104c357600080fd5b506104e4600160a060020a03600435811690602435166044356064356110ae565b6040805160ff9485168152929093166020830152600160f060020a03168183015290519081900360600190f35b34801561051d57600080fd5b506040805160206004604435818101358381028086018501909652808552610196958335600160a060020a031695602480359636969560649593949201929182918501908490808284375094975061112c9650505050505050565b34801561058457600080fd5b5061033d61127a565b34801561059957600080fd5b5061033d61132f565b3480156105ae57600080fd5b506101ce600160a060020a0360043516602435611335565b3480156105d257600080fd5b506101ce600160a060020a03600435811690602435166044356113cb565b3480156105fc57600080fd5b5061033d600160a060020a0360043516602435611460565b34801561062057600080fd5b506101ce600160a060020a036004358116906024358116906044359060643516611491565b34801561065157600080fd5b506101ce600160a060020a03600435166115f3565b34801561067257600080fd5b5061024861173e565b34801561068757600080fd5b5061033d611750565b34801561069c57600080fd5b5061019661177b565b3480156106b157600080fd5b5061033d61178e565b3480156106c657600080fd5b50604080516064356004818101356020818102858101820190965281855261019695600160a060020a03843581169660248035909216966044359636969095608495939492909201929091829190850190849080828437509497506117939650505050505050565b34801561073a57600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261019694600160a060020a0381358116956024803590921695604435953695608494019181908401838280828437509497506118379650505050505050565b6000806107a8610d5d565b905080158015906107c05750806107bd61184d565b10155b91505090565b604080516000808252602082019092526000805160206126eb833981519152916107f69133918491905b5061112c565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156108b85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578181015183820152602001610865565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50828260006108c78383611460565b600160a060020a0316146040805190810160405280601481526020017f41434c5f4558495354454e545f4d414e414745520000000000000000000000008152509015156109595760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061096660018686611851565b5050505050565b81816109798282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146109f65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610a0360018585611851565b50505050565b610a408383836000604051908082528060200260200182016040528015610a3a578160200160208202803883390190505b50610c37565b505050565b600060016000806000610a598888886118d0565b81526020808201929092526040908101600090812054845291830193909352910190205490505b9392505050565b60006000805160206126cb833981519152861415610aa757506001610ab9565b610ab6866000878787876119a4565b90505b95945050505050565b600081565b6000610ad161127a565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b2f578181015183820152602001610b17565b50505050905090810190601f168015610b5c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b505192915050565b6000610bb7611750565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610bf457600080fd5b505af1158015610c08573d6000803e3d6000fd5b505050506040513d6020811015610c1e57600080fd5b5051905090565b6000805160206126eb83398151915281565b60008383610c458282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a03163314610cc25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506000845111610ce0576000805160206126cb833981519152610ce9565b610ce984611b91565b9250610cf787878786611d33565b50505050505050565b60408051600080825260208201909252610d1c85858584611793565b91505b509392505050565b50600190565b6000610d587fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611e15565b905090565b6000610d587febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611e15565b8181610d948282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a03163314610e115760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506109668585856000611d33565b6000806000610e2d84610d27565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610eb35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610ebc610bad565b9250610ec783611e1d565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610f4d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50600160a060020a0384161515610f9e5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610f98573d6000803e3d6000fd5b5061105d565b5082610fb9600160a060020a0382163063ffffffff611e4a16565b9150610fd5600160a060020a038216848463ffffffff611f4a16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561105b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080600080600160008060006110c68c8c8c6118d0565b81526020808201929092526040908101600090812054845291830193909352910190208054869081106110f557fe5b60009182526020909120015460ff8082169a6101008304909116995062010000909104600160f060020a0316975095505050505050565b60008061113761079d565b15156111465760009150610d1f565b61114e611750565b9050600160a060020a03811615156111695760009150610d1f565b80600160a060020a031663fdef910686308761118488611fb7565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156111f65781810151838201526020016111de565b50505050905090810190601f1680156112235780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561124557600080fd5b505af1158015611259573d6000803e3d6000fd5b505050506040513d602081101561126f57600080fd5b505195945050505050565b600080611285611750565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610b7b57600080fd5b60001981565b81816113418282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146113be5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610a0360008585611851565b81816113d78282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146114545760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610966858585611851565b6000600260006114708585611fc1565b8152602081019190915260400160002054600160a060020a03169392505050565b604080516000808252602082019092526000805160206126eb833981519152916114bf9133918491906107f0565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156115455760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50838360006115548383611460565b600160a060020a0316146040805190810160405280601481526020017f41434c5f4558495354454e545f4d414e414745520000000000000000000000008152509015156115e65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610cf78787878761208a565b6115fb610d5d565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116805760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506116896120af565b611691611750565b60408051808201909152601481527f41434c5f415554485f494e49545f4b45524e454c000000000000000000000000602082015290600160a060020a031633146117205760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061173b81306000805160206126eb8339815191528261208a565b50565b6000805160206126cb83398151915281565b6000610d587f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611e15565b6000600019611788610d5d565b14905090565b600181565b60008060008060006117a68989896118d0565b8152602081019190915260400160002054915081158015906117d057506117d08288888888610a87565b156117de576001925061182d565b6000806117ee60001989896118d0565b81526020810191909152604001600020549050801580159061181a575061181a81600019888888610a87565b15611828576001925061182d565b600092505b5050949350505050565b6000610ab985858561184886612177565b611793565b4390565b82600260006118608585611fc1565b8152602081019190915260409081016000908120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039485161790559051858316928492908616917ff3addc8b8e25ee11528a61b0e65092cae0666ef0ec0c64cb303993c88d689b4d9190a4505050565b604080517f5045524d495353494f4e000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a038088168202602a850152861602603e8301526052808301859052835180840390910181526072909201928390528151600093918291908401908083835b602083106119705780518252601f199092019160209182019101611951565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120979650505050505050565b60006119ae6126aa565b600088815260016020526040812054819063ffffffff8a16106119d45760009350611b84565b60008a8152600160205260409020805463ffffffff8b169081106119f457fe5b600091825260209182902060408051606081018252929091015460ff808216808552610100830490911694840194909452620100009004600160f060020a031690820152935060cc1415611a5757611a50838b8a8a8a8a612221565b9350611b84565b5060408201518251600160f060020a039091169060ff1660cb1415611aa357611a878360400151898989896123c6565b611a92576000611a95565b60015b60ff16915060019050611b33565b825160ff1660c81415611abf57611ab861184d565b9150611b33565b825160ff1660c91415611ad457611ab8612502565b825160ff1660cd1415611af6578260400151600160f060020a03169150611b33565b8451835160ff1610611b0b5760009350611b84565b82518551869160ff16908110611b1d57fe5b90602001906020020151600160f060020a031691505b6007836020015160ff16600c811115611b4857fe5b600c811115611b5357fe5b1415611b6457600082119350611b84565b611b8182846020015160ff16600c811115611b7b57fe5b83612506565b93505b5050509695505050505050565b6000806000806000611ba16126aa565b8660405160200180828051906020019060200280838360005b83811015611bd2578181015183820152602001611bba565b505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611c1a5780518252601f199092019160209182019101611bfb565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526001909252929020805492995097505015159150611d28905057600092505b8651831015611d28578683815181101515611c7d57fe5b906020019060200201519150606060405190810160405280611c9e846125c3565b60ff168152602001611caf846125e9565b60ff9081168252600160f060020a03858116602093840152875460018082018a5560008a815285902086519201805495870151604088015160ff199097169386169390931761ff00191661010093909516929092029390931761ffff166201000094909216939093021790915593909301929050611c66565b509295945050505050565b60008082600080611d458989896118d0565b81526020810191909152604001600020558215801592508290611d7657506000805160206126cb8339815191528314155b60408051841515815290519192508591600160a060020a0380891692908a16917f759b9a74d5354b5801710a0c1b283cc9f0d32b607ac8ced10c83ac8e75c77d529181900360200190a48015611e0d576040805184815290518591600160a060020a0380891692908a16917f8dfee25d92d73b8c9b868f9fa3e215cc1981033f426e53803e3da4f09a2cfc30919081900360200190a45b505050505050565b5490565b5490565b600080600160a060020a0383161515611e395760009150611e44565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180611eb5868461260e565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515611f405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090610d1c858261263f565b8051602002815290565b604080517f524f4c45000000000000000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a0386160260248301526038808301859052835180840390910181526058909201928390528151600093918291908401908083835b602083106120575780518252601f199092019160209182019101612038565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b6120a48484846000805160206126cb833981519152611d33565b610a03818484611851565b6120b7610d5d565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561213c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061217561214861184d565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61268d16565b565b606060006020835181151561218857fe5b049050806020028351146040805190810160405280601a81526020017f434f4e56455253494f4e5f494d50524f5045525f4c454e47544800000000000081525090151561221a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5082525090565b60008080808080808080600c8f6020015160ff16600c81111561224057fe5b600c81111561224b57fe5b141561229f576122678f60400151600160f060020a0316612691565b9199509750955061227c8e898f8f8f8f6119a4565b94506122988e8661228d578761228f565b885b8f8f8f8f6119a4565b98506123b4565b6122b58f60400151600160f060020a0316612691565b5090945092506122c98e858f8f8f8f6119a4565b915060088f6020015160ff16600c8111156122e057fe5b600c8111156122eb57fe5b14156122fa57811598506123b4565b8180156123245750600a8f6020015160ff16600c81111561231757fe5b600c81111561232257fe5b145b1561233257600198506123b4565b8115801561235d575060098f6020015160ff16600c81111561235057fe5b600c81111561235b57fe5b145b1561236b57600098506123b4565b6123798e848f8f8f8f6119a4565b9050600b8f6020015160ff16600c81111561239057fe5b600c81111561239b57fe5b14156123b057801515821515141598506123b4565b8098505b50505050505050509695505050505050565b604051600160a060020a0385811660248301908152908516604483015260648201849052608060848301908152835160a484015283516000937f2a1510900000000000000000000000000000000000000000000000000000000093606093869384938493849389938f938f938f938f939192909160c490910190602080860191028083838d5b8381101561246457818101518382015260200161244c565b505050509050019550505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a038381831617835250505050945061753093506000808651602088018f88fa92508215156124ca57600096506124f3565b3d9150602082146124de57600096506124f3565b604051826000823e8051915060008152508096505b50505050505095945050505050565b4290565b6000600183600c81111561251657fe5b14156125255750828114610a80565b600283600c81111561253357fe5b1415612543575082811415610a80565b600383600c81111561255157fe5b14156125605750808311610a80565b600483600c81111561256e57fe5b141561257d5750808310610a80565b600583600c81111561258b57fe5b141561259b575080831015610a80565b600683600c8111156125a957fe5b14156125b9575080831115610a80565b5060009392505050565b7f0100000000000000000000000000000000000000000000000000000000000000900490565b7e01000000000000000000000000000000000000000000000000000000000000900490565b6000806000806040516020818751602089018a5afa9250600083111561263357805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612683573d8015612670576020811461267957612681565b60019350612681565b600183511493505b505b5090949350505050565b9055565b9064010000000082049068010000000000000000830490565b6040805160608101825260008082526020820181905291810191909152905600290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a41434c5f415554485f4e4f5f4d414e4147455200000000000000000000000000a165627a7a7230582078a1867cc2228a1c290d0784423852bc2d244d81b6b0dfcd75515945e00dc4b80029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x60806040526004361061017c5763ffffffff60e060020a6000350416630803fac081146101815780630808343e146101aa57806309699ff5146101d05780630a8ed3db146101f457806315949ed71461021e5780631b5e75be1461025a5780631d63ff2b146102cf5780632914b9bd146102e457806332f0a3b5146103595780633d6ab68f1461036e5780636815c992146103835780636d6712d8146103f75780637e7db6e11461042157806380afdea8146104425780638b3dd749146104575780639d0effdb1461046c5780639d4941d814610496578063a03c5832146104b7578063a1658fad14610511578063a479e50814610578578063a5ed8bf81461058d578063a885508a146105a2578063afd925df146105c6578063b1905727146105f0578063be03847814610614578063c4d66de814610645578063c513f66e14610666578063d4aae0c41461067b578063de4796ed14610690578063f516bc0e146106a5578063f520b58d146106ba578063fdef91061461072e575b600080fd5b34801561018d57600080fd5b5061019661079d565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101ce600160a060020a03600435166024356107c6565b005b3480156101dc57600080fd5b506101ce600160a060020a036004351660243561096d565b34801561020057600080fd5b506101ce600160a060020a0360043581169060243516604435610a09565b34801561022a57600080fd5b50610248600160a060020a0360043581169060243516604435610a45565b60408051918252519081900360200190f35b34801561026657600080fd5b5060408051602060046084358181013583810280860185019096528085526101969583359560248035600160a060020a039081169760443590911696606435963696919560a495949091019282919085019084908082843750949750610a879650505050505050565b3480156102db57600080fd5b50610248610ac2565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261033d943694929360249392840191908190840183828082843750949750610ac79650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561036557600080fd5b5061033d610bad565b34801561037a57600080fd5b50610248610c25565b34801561038f57600080fd5b5060408051606435600481810135602081810285810182019096528185526101ce95600160a060020a0384358116966024803590921696604435963696909560849593949290920192909182919085019084908082843750949750610c379650505050505050565b34801561040357600080fd5b50610196600160a060020a0360043581169060243516604435610d00565b34801561042d57600080fd5b50610196600160a060020a0360043516610d27565b34801561044e57600080fd5b50610248610d2d565b34801561046357600080fd5b50610248610d5d565b34801561047857600080fd5b506101ce600160a060020a0360043581169060243516604435610d88565b3480156104a257600080fd5b506101ce600160a060020a0360043516610e1f565b3480156104c357600080fd5b506104e4600160a060020a03600435811690602435166044356064356110ae565b6040805160ff9485168152929093166020830152600160f060020a03168183015290519081900360600190f35b34801561051d57600080fd5b506040805160206004604435818101358381028086018501909652808552610196958335600160a060020a031695602480359636969560649593949201929182918501908490808284375094975061112c9650505050505050565b34801561058457600080fd5b5061033d61127a565b34801561059957600080fd5b5061033d61132f565b3480156105ae57600080fd5b506101ce600160a060020a0360043516602435611335565b3480156105d257600080fd5b506101ce600160a060020a03600435811690602435166044356113cb565b3480156105fc57600080fd5b5061033d600160a060020a0360043516602435611460565b34801561062057600080fd5b506101ce600160a060020a036004358116906024358116906044359060643516611491565b34801561065157600080fd5b506101ce600160a060020a03600435166115f3565b34801561067257600080fd5b5061024861173e565b34801561068757600080fd5b5061033d611750565b34801561069c57600080fd5b5061019661177b565b3480156106b157600080fd5b5061033d61178e565b3480156106c657600080fd5b50604080516064356004818101356020818102858101820190965281855261019695600160a060020a03843581169660248035909216966044359636969095608495939492909201929091829190850190849080828437509497506117939650505050505050565b34801561073a57600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261019694600160a060020a0381358116956024803590921695604435953695608494019181908401838280828437509497506118379650505050505050565b6000806107a8610d5d565b905080158015906107c05750806107bd61184d565b10155b91505090565b604080516000808252602082019092526000805160206126eb833981519152916107f69133918491905b5061112c565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156108b85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578181015183820152602001610865565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50828260006108c78383611460565b600160a060020a0316146040805190810160405280601481526020017f41434c5f4558495354454e545f4d414e414745520000000000000000000000008152509015156109595760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061096660018686611851565b5050505050565b81816109798282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146109f65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610a0360018585611851565b50505050565b610a408383836000604051908082528060200260200182016040528015610a3a578160200160208202803883390190505b50610c37565b505050565b600060016000806000610a598888886118d0565b81526020808201929092526040908101600090812054845291830193909352910190205490505b9392505050565b60006000805160206126cb833981519152861415610aa757506001610ab9565b610ab6866000878787876119a4565b90505b95945050505050565b600081565b6000610ad161127a565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b2f578181015183820152602001610b17565b50505050905090810190601f168015610b5c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b505192915050565b6000610bb7611750565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610bf457600080fd5b505af1158015610c08573d6000803e3d6000fd5b505050506040513d6020811015610c1e57600080fd5b5051905090565b6000805160206126eb83398151915281565b60008383610c458282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a03163314610cc25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506000845111610ce0576000805160206126cb833981519152610ce9565b610ce984611b91565b9250610cf787878786611d33565b50505050505050565b60408051600080825260208201909252610d1c85858584611793565b91505b509392505050565b50600190565b6000610d587fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611e15565b905090565b6000610d587febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611e15565b8181610d948282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a03163314610e115760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506109668585856000611d33565b6000806000610e2d84610d27565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610eb35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610ebc610bad565b9250610ec783611e1d565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610f4d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50600160a060020a0384161515610f9e5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610f98573d6000803e3d6000fd5b5061105d565b5082610fb9600160a060020a0382163063ffffffff611e4a16565b9150610fd5600160a060020a038216848463ffffffff611f4a16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561105b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080600080600160008060006110c68c8c8c6118d0565b81526020808201929092526040908101600090812054845291830193909352910190208054869081106110f557fe5b60009182526020909120015460ff8082169a6101008304909116995062010000909104600160f060020a0316975095505050505050565b60008061113761079d565b15156111465760009150610d1f565b61114e611750565b9050600160a060020a03811615156111695760009150610d1f565b80600160a060020a031663fdef910686308761118488611fb7565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156111f65781810151838201526020016111de565b50505050905090810190601f1680156112235780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561124557600080fd5b505af1158015611259573d6000803e3d6000fd5b505050506040513d602081101561126f57600080fd5b505195945050505050565b600080611285611750565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610b7b57600080fd5b60001981565b81816113418282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146113be5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610a0360008585611851565b81816113d78282611460565b604080518082019091526013815260008051602061270b833981519152602082015290600160a060020a031633146114545760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610966858585611851565b6000600260006114708585611fc1565b8152602081019190915260400160002054600160a060020a03169392505050565b604080516000808252602082019092526000805160206126eb833981519152916114bf9133918491906107f0565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156115455760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50838360006115548383611460565b600160a060020a0316146040805190810160405280601481526020017f41434c5f4558495354454e545f4d414e414745520000000000000000000000008152509015156115e65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b50610cf78787878761208a565b6115fb610d5d565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116805760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b506116896120af565b611691611750565b60408051808201909152601481527f41434c5f415554485f494e49545f4b45524e454c000000000000000000000000602082015290600160a060020a031633146117205760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061173b81306000805160206126eb8339815191528261208a565b50565b6000805160206126cb83398151915281565b6000610d587f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611e15565b6000600019611788610d5d565b14905090565b600181565b60008060008060006117a68989896118d0565b8152602081019190915260400160002054915081158015906117d057506117d08288888888610a87565b156117de576001925061182d565b6000806117ee60001989896118d0565b81526020810191909152604001600020549050801580159061181a575061181a81600019888888610a87565b15611828576001925061182d565b600092505b5050949350505050565b6000610ab985858561184886612177565b611793565b4390565b82600260006118608585611fc1565b8152602081019190915260409081016000908120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039485161790559051858316928492908616917ff3addc8b8e25ee11528a61b0e65092cae0666ef0ec0c64cb303993c88d689b4d9190a4505050565b604080517f5045524d495353494f4e000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a038088168202602a850152861602603e8301526052808301859052835180840390910181526072909201928390528151600093918291908401908083835b602083106119705780518252601f199092019160209182019101611951565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120979650505050505050565b60006119ae6126aa565b600088815260016020526040812054819063ffffffff8a16106119d45760009350611b84565b60008a8152600160205260409020805463ffffffff8b169081106119f457fe5b600091825260209182902060408051606081018252929091015460ff808216808552610100830490911694840194909452620100009004600160f060020a031690820152935060cc1415611a5757611a50838b8a8a8a8a612221565b9350611b84565b5060408201518251600160f060020a039091169060ff1660cb1415611aa357611a878360400151898989896123c6565b611a92576000611a95565b60015b60ff16915060019050611b33565b825160ff1660c81415611abf57611ab861184d565b9150611b33565b825160ff1660c91415611ad457611ab8612502565b825160ff1660cd1415611af6578260400151600160f060020a03169150611b33565b8451835160ff1610611b0b5760009350611b84565b82518551869160ff16908110611b1d57fe5b90602001906020020151600160f060020a031691505b6007836020015160ff16600c811115611b4857fe5b600c811115611b5357fe5b1415611b6457600082119350611b84565b611b8182846020015160ff16600c811115611b7b57fe5b83612506565b93505b5050509695505050505050565b6000806000806000611ba16126aa565b8660405160200180828051906020019060200280838360005b83811015611bd2578181015183820152602001611bba565b505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611c1a5780518252601f199092019160209182019101611bfb565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526001909252929020805492995097505015159150611d28905057600092505b8651831015611d28578683815181101515611c7d57fe5b906020019060200201519150606060405190810160405280611c9e846125c3565b60ff168152602001611caf846125e9565b60ff9081168252600160f060020a03858116602093840152875460018082018a5560008a815285902086519201805495870151604088015160ff199097169386169390931761ff00191661010093909516929092029390931761ffff166201000094909216939093021790915593909301929050611c66565b509295945050505050565b60008082600080611d458989896118d0565b81526020810191909152604001600020558215801592508290611d7657506000805160206126cb8339815191528314155b60408051841515815290519192508591600160a060020a0380891692908a16917f759b9a74d5354b5801710a0c1b283cc9f0d32b607ac8ced10c83ac8e75c77d529181900360200190a48015611e0d576040805184815290518591600160a060020a0380891692908a16917f8dfee25d92d73b8c9b868f9fa3e215cc1981033f426e53803e3da4f09a2cfc30919081900360200190a45b505050505050565b5490565b5490565b600080600160a060020a0383161515611e395760009150611e44565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180611eb5868461260e565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515611f405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090610d1c858261263f565b8051602002815290565b604080517f524f4c45000000000000000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a0386160260248301526038808301859052835180840390910181526058909201928390528151600093918291908401908083835b602083106120575780518252601f199092019160209182019101612038565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b6120a48484846000805160206126cb833981519152611d33565b610a03818484611851565b6120b7610d5d565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561213c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5061217561214861184d565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61268d16565b565b606060006020835181151561218857fe5b049050806020028351146040805190810160405280601a81526020017f434f4e56455253494f4e5f494d50524f5045525f4c454e47544800000000000081525090151561221a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561087d578181015183820152602001610865565b5082525090565b60008080808080808080600c8f6020015160ff16600c81111561224057fe5b600c81111561224b57fe5b141561229f576122678f60400151600160f060020a0316612691565b9199509750955061227c8e898f8f8f8f6119a4565b94506122988e8661228d578761228f565b885b8f8f8f8f6119a4565b98506123b4565b6122b58f60400151600160f060020a0316612691565b5090945092506122c98e858f8f8f8f6119a4565b915060088f6020015160ff16600c8111156122e057fe5b600c8111156122eb57fe5b14156122fa57811598506123b4565b8180156123245750600a8f6020015160ff16600c81111561231757fe5b600c81111561232257fe5b145b1561233257600198506123b4565b8115801561235d575060098f6020015160ff16600c81111561235057fe5b600c81111561235b57fe5b145b1561236b57600098506123b4565b6123798e848f8f8f8f6119a4565b9050600b8f6020015160ff16600c81111561239057fe5b600c81111561239b57fe5b14156123b057801515821515141598506123b4565b8098505b50505050505050509695505050505050565b604051600160a060020a0385811660248301908152908516604483015260648201849052608060848301908152835160a484015283516000937f2a1510900000000000000000000000000000000000000000000000000000000093606093869384938493849389938f938f938f938f939192909160c490910190602080860191028083838d5b8381101561246457818101518382015260200161244c565b505050509050019550505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a038381831617835250505050945061753093506000808651602088018f88fa92508215156124ca57600096506124f3565b3d9150602082146124de57600096506124f3565b604051826000823e8051915060008152508096505b50505050505095945050505050565b4290565b6000600183600c81111561251657fe5b14156125255750828114610a80565b600283600c81111561253357fe5b1415612543575082811415610a80565b600383600c81111561255157fe5b14156125605750808311610a80565b600483600c81111561256e57fe5b141561257d5750808310610a80565b600583600c81111561258b57fe5b141561259b575080831015610a80565b600683600c8111156125a957fe5b14156125b9575080831115610a80565b5060009392505050565b7f0100000000000000000000000000000000000000000000000000000000000000900490565b7e01000000000000000000000000000000000000000000000000000000000000900490565b6000806000806040516020818751602089018a5afa9250600083111561263357805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612683573d8015612670576020811461267957612681565b60019350612681565b600183511493505b505b5090949350505050565b9055565b9064010000000082049068010000000000000000830490565b6040805160608101825260008082526020820181905291810191909152905600290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a41434c5f415554485f4e4f5f4d414e4147455200000000000000000000000000a165627a7a7230582078a1867cc2228a1c290d0784423852bc2d244d81b6b0dfcd75515945e00dc4b80029", - "sourceMap": "293:19076:28:-;;;344:9:40;:7;;;;:9;:::i;:::-;293:19076:28;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;293:19076:28:-;;;;;;;", - "deployedSourceMap": "293:19076:28:-;;;;;;;;;-1:-1:-1;;;293:19076:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;8512:225:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8512:225:28;-1:-1:-1;;;;;8512:225:28;;;;;;;;;9014:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9014:188:28;-1:-1:-1;;;;;9014:188:28;;;;;;;5610:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5610:165:28;-1:-1:-1;;;;;5610:165:28;;;;;;;;;;;;9510:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9510:208:28;-1:-1:-1;;;;;9510:208:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;12153:339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12153:339:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12153:339:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12153:339:28;;-1:-1:-1;12153:339:28;;-1:-1:-1;;;;;;;12153:339:28;1598:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1598:50:28;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;494:116:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;494:116:28;;;;6336:309;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6336:309:28;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6336:309:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6336:309:28;;-1:-1:-1;6336:309:28;;-1:-1:-1;;;;;;;6336:309:28;11936:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11936:211:28;-1:-1:-1;;;;;11936:211:28;;;;;;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;7087:204:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7087:204:28;-1:-1:-1;;;;;7087:204:28;;;;;;;;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;10064:325:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10064:325:28;-1:-1:-1;;;;;10064:325:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10064:325:28;;;;;;;;;;;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;1654:48:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1654:48:28;;;;8033:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8033:189:28;-1:-1:-1;;;;;8033:189:28;;;;;;;7599:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7599:208:28;-1:-1:-1;;;;;7599:208:28;;;;;;;;;;;;10601:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10601:153:28;-1:-1:-1;;;;;10601:153:28;;;;;;;4854:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4854:256:28;-1:-1:-1;;;;;4854:256:28;;;;;;;;;;;;;;;;;;3512:270;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3512:270:28;-1:-1:-1;;;;;3512:270:28;;;;;1483:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1483:109:28;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1708:48:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:48:28;;;;11355:575;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11355:575:28;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11355:575:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11355:575:28;;-1:-1:-1;11355:575:28;;-1:-1:-1;;;;;;;11355:575:28;11120:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11120:229:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11120:229:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11120:229:28;;-1:-1:-1;11120:229:28;;-1:-1:-1;;;;;;;11120:229:28;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;8512:225:28:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;-1:-1:-1;;;;;;;;;;;544:66:28;990:47:39;;1001:10;;544:66:28;;1020:16:39;;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8656:4:28;8662:5;3133:1;3088:33;8656:4;8662:5;3088:20;:33::i;:::-;-1:-1:-1;;;;;3088:47:28;;3137:22;;;;;;;;;;;;;;;;;;3080:80;;;;;;;-1:-1:-1;;;;;3080:80:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3080:80:28;;8683:47;1754:1;8718:4;8724:5;8683:21;:47::i;:::-;1067:1:39;;8512:225:28;;;:::o;9014:188::-;9121:4;9127:5;2847:33;2868:4;2874:5;2847:20;:33::i;:::-;2882:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2882:21:28;;;;;-1:-1:-1;;;;;2833:47:28;:10;:47;2825:79;;;;-1:-1:-1;;;;;2825:79:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2825:79:28;;9148:47;1754:1;9183:4;9189:5;9148:21;:47::i;:::-;9014:188;;;;:::o;5610:165::-;5712:56;5729:7;5738:4;5744:5;5765:1;5751:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;5751:16:28;;5712;:56::i;:::-;5610:165;;;:::o;9510:208::-;9614:4;9637:16;:67;9654:11;:49;9666:36;9681:7;9690:4;9696:5;9666:14;:36::i;:::-;9654:49;;;;;;;;;;;;;;;;;;;9637:67;;;;;;;;;;;;;:74;;-1:-1:-1;9510:208:28;;;;;;:::o;12153:339::-;12322:4;-1:-1:-1;;;;;;;;;;;12346:31:28;;12342:73;;;-1:-1:-1;12400:4:28;12393:11;;12342:73;12432:53;12443:11;12456:1;12459:4;12465:6;12473:5;12480:4;12432:10;:53::i;:::-;12425:60;;12153:339;;;;;;;;:::o;1598:50::-;1646:1;1598:50;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;494:116:28:-;-1:-1:-1;;;;;;;;;;;494:116:28;:::o;6336:309::-;6499:18;6472:4;6478:5;2847:33;2868:4;2874:5;2847:20;:33::i;:::-;2882:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2882:21:28;;;;;-1:-1:-1;;;;;2833:47:28;:10;:47;2825:79;;;;-1:-1:-1;;;;;2825:79:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2825:79:28;;6537:1;6520:7;:14;:18;:60;;-1:-1:-1;;;;;;;;;;;6520:60:28;;;6541:20;6553:7;6541:11;:20::i;:::-;6499:81;;6590:48;6605:7;6614:4;6620:5;6627:10;6590:14;:48::i;:::-;6336:309;;;;;;;:::o;11936:211::-;12066:16;;;12025:4;12066:16;;;;;;;;;12099:41;12113:4;12119:6;12127:5;12134;12099:13;:41::i;:::-;12092:48;;11936:211;;;;;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;7087:204:28:-;7206:4;7212:5;2847:33;2868:4;2874:5;2847:20;:33::i;:::-;2882:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2882:21:28;;;;;-1:-1:-1;;;;;2833:47:28;:10;:47;2825:79;;;;-1:-1:-1;;;;;2825:79:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2825:79:28;-1:-1:-1;7233:51:28;7248:7;7257:4;7263:5;1646:1;7233:14;:51::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;10064:325:28:-;10198:5;10205;10212:7;10235:19;10257:16;:67;10274:11;:49;10286:36;10301:7;10310:4;10316:5;10286:14;:36::i;:::-;10274:49;;;;;;;;;;;;;;;;;;;10257:67;;;;;;;;;;;;;:75;;10325:6;;10257:75;;;;;;;;;;;;;;;10350:8;;;;;;;10360;;;;;;-1:-1:-1;10370:11:28;;;;-1:-1:-1;;;;;10370:11:28;;-1:-1:-1;10064:325:28;-1:-1:-1;;;;;;10064:325:28:o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;1641:496;-1:-1:-1;;;;;1641:496:39:o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;1654:48:28;-1:-1:-1;;1654:48:28;:::o;8033:189::-;8142:4;8148:5;2847:33;2868:4;2874:5;2847:20;:33::i;:::-;2882:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2882:21:28;;;;;-1:-1:-1;;;;;2833:47:28;:10;:47;2825:79;;;;-1:-1:-1;;;;;2825:79:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2825:79:28;;8169:46;8199:1;8203:4;8209:5;8169:21;:46::i;7599:208::-;7726:4;7732:5;2847:33;2868:4;2874:5;2847:20;:33::i;:::-;2882:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2882:21:28;;;;;-1:-1:-1;;;;;2833:47:28;:10;:47;2825:79;;;;-1:-1:-1;;;;;2825:79:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2825:79:28;;7753:47;7775:11;7788:4;7794:5;7753:21;:47::i;10601:153::-;10681:7;10707:17;:40;10725:21;10734:4;10740:5;10725:8;:21::i;:::-;10707:40;;;;;;;;;;;-1:-1:-1;10707:40:28;;-1:-1:-1;;;;;10707:40:28;;10601:153;-1:-1:-1;;;10601:153:28:o;4854:256::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;-1:-1:-1;;;;;;;;;;;544:66:28;990:47:39;;1001:10;;544:66:28;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;5027:4:28;5033:5;3133:1;3088:33;5027:4;5033:5;3088:20;:33::i;:::-;-1:-1:-1;;;;;3088:47:28;;3137:22;;;;;;;;;;;;;;;;;;3080:80;;;;;;;-1:-1:-1;;;;;3080:80:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3080:80:28;;5054:49;5072:7;5081:4;5087:5;5094:8;5054:17;:49::i;3512:270::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;3587:13:28;:11;:13::i;:::-;3640:8;:6;:8::i;:::-;3651:22;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3618:31:28;:10;:31;3610:64;;;;-1:-1:-1;;;;;3610:64:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3610:64:28;-1:-1:-1;3685:90:28;3703:19;3724:4;-1:-1:-1;;;;;;;;;;;3703:19:28;3685:17;:90::i;:::-;3512:270;:::o;1483:109::-;-1:-1:-1;;;;;;;;;;;1483:109:28;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;1708:48:28:-;1754:1;1708:48;:::o;11355:575::-;11467:4;11483:17;11691;11503:11;:48;11515:35;11530:4;11536:6;11544:5;11515:14;:35::i;:::-;11503:48;;;;;;;;;;;;;;;-1:-1:-1;11565:26:28;;;;;:78;;;11595:48;11606:9;11617:4;11623:6;11631:5;11638:4;11595:10;:48::i;:::-;11561:120;;;11666:4;11659:11;;;;11561:120;11711:11;:54;11723:41;-1:-1:-1;;11750:6:28;11758:5;11723:14;:41::i;:::-;11711:54;;;;;;;;;;;;;;;-1:-1:-1;11779:26:28;;;;;:84;;;11809:54;11820:9;-1:-1:-1;;11843:6:28;11851:5;11858:4;11809:10;:54::i;:::-;11775:126;;;11886:4;11879:11;;;;11775:126;11918:5;11911:12;;11355:575;;;;;;;;;:::o;11120:229::-;11228:4;11251:91;11265:4;11271:6;11279:5;11286:55;11336:4;11286:49;:55::i;:::-;11251:13;:91::i;347:94:53:-;422:12;347:94;:::o;18788:225:28:-;18931:11;18888:17;:40;18906:21;18915:4;18921:5;18906:8;:21::i;:::-;18888:40;;;;;;;;;;;;;-1:-1:-1;18888:40:28;;;:54;;-1:-1:-1;;18888:54:28;-1:-1:-1;;;;;18888:54:28;;;;;;18957:49;;;;;;18987:5;;18957:49;;;;;;-1:-1:-1;18957:49:28;18788:225;;;:::o;19180:187::-;19308:51;;;;;;;;;;;;;-1:-1:-1;;;;;19308:51:28;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19308:51:28;;;;;;;;19298:62;;19272:7;;19308:51;;;19298:62;;;;;19308:51;19298:62;36:153:-1;66:2;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;;19298:62:28;;;;;;;;;;;;-1:-1:-1;;;;;;;19180:187:28:o;14064:1414::-;14260:4;14398:18;;:::i;:::-;14603:13;14296:29;;;:16;:29;;;;;:36;14603:13;;14284:48;;;;14280:108;;14355:5;14348:12;;;;14280:108;14419:29;;;;:16;:29;;;;;:39;;;;;;;;;;;;;;;;;;;;;14398:60;;;;;;;;14419:39;;;;14398:60;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14398:60:28;;;;;;-1:-1:-1;1256:3:28;14473:29;14469:124;;;14525:57;14536:5;14543:11;14556:4;14562:6;14570:5;14577:4;14525:10;:57::i;:::-;14518:64;;;;14469:124;-1:-1:-1;14655:11:28;;;;14703:8;;-1:-1:-1;;;;;14647:20:28;;;;14703:27;;1199:3;14703:27;14699:627;;;14754:63;14777:5;:11;;;14791:4;14797:6;14805:5;14812:4;14754:11;:63::i;:::-;:71;;14824:1;14754:71;;;14820:1;14754:71;14746:79;;;;14852:1;14839:14;;14699:627;;;14874:8;;:33;;1064:3;14874:33;14870:456;;;14931:16;:14;:16::i;:::-;14923:24;;14870:456;;;14968:8;;:30;;1121:3;14968:30;14964:362;;;15022:14;:12;:14::i;14964:362::-;15057:8;;:32;;1313:3;15057:32;15053:273;;;15121:5;:11;;;-1:-1:-1;;;;;15113:20:28;15105:28;;15053:273;;;15180:11;;15168:8;;:23;;;15164:74;;15218:5;15211:12;;;;15164:74;15280:8;;15275:14;;:4;;:14;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15259:32:28;15251:40;;15053:273;15356:6;15343:5;:8;;;15340:12;;;;;;;;;;:22;;;;;;;;;15336:78;;;15402:1;15393:5;15385:18;15378:25;;;;15336:78;15431:40;15439:5;15449;:8;;;15446:12;;;;;;;;;;15460:10;15431:7;:40::i;:::-;15424:47;;14064:1414;;;;;;;;;;;;:::o;13444:614::-;13509:7;13528:17;13601:22;13734:9;13799:20;13857:18;;:::i;:::-;13575:14;13558:32;;;;;;;;;;;;;;;;;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;13558:32:28;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13558:32:28;;;13548:43;;;;;;;;;;;;;36:153:-1;66:2;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;;13548:43:28;;;;;;;;;;;;;-1:-1:-1;13626:27:28;;;274:1:-1;13626:27:28;;;;;;13668:13;;13548:43;;-1:-1:-1;13626:27:28;-1:-1:-1;;13668:18:28;13664:361;;-1:-1:-1;13664:361:28;;-1:-1:-1;13664:361:28;13746:1;13734:13;;13729:286;13753:14;:21;13749:1;:25;13729:286;;;13822:14;13837:1;13822:17;;;;;;;;;;;;;;;;;;13799:40;;13878:86;;;;;;;;;13884:27;13898:12;13884:13;:27::i;:::-;13878:86;;;;;;13913:27;13927:12;13913:13;:27::i;:::-;13878:86;;;;;;-1:-1:-1;;;;;13878:86:28;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;13982:18:28;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13982:18:28;;;;;;;;;;-1:-1:-1;;13982:18:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13776:3;;;;;13982:18;-1:-1:-1;13729:286:28;;;-1:-1:-1;14042:9:28;;13444:614;-1:-1:-1;;;;;13444:614:28:o;12912:526::-;13095:24;13160;13074:11;13022;:49;13034:36;13049:7;13058:4;13064:5;13034:14;:36::i;:::-;13022:49;;;;;;;;;;;;;:63;13122:28;;;;;-1:-1:-1;13122:28:28;;13187:54;;-1:-1:-1;;;;;;;;;;;;13210:31:28;;;13187:54;13257:56;;;;;;;;;;13160:81;;-1:-1:-1;13286:5:28;;-1:-1:-1;;;;;13257:56:28;;;;;;;;;;;;;;;;;13327:19;13323:109;;;13367:54;;;;;;;;13402:5;;-1:-1:-1;;;;;13367:54:28;;;;;;;;;;;;;;;;;;13323:109;12912:526;;;;;;:::o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;19019:155:28:-;19127:39;;;;;;;;;;;;;-1:-1:-1;;;;;19127:39:28;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19127:39:28;;;;;;;;19117:50;;19091:7;;19127:39;;;19117:50;;;;;19127:39;19117:50;36:153:-1;66:2;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;;19117:50:28;;;;;;;;;;;;-1:-1:-1;;;;;;19019:155:28:o;12598:225::-;12708:54;12723:7;12732:4;12738:5;-1:-1:-1;;;;;;;;;;;12708:14:28;:54::i;:::-;12772:44;12794:8;12804:4;12810:5;12772:21;:44::i;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;687:612:41:-;772:23;1081:18;1118:2;1102:6;:13;:18;;;;;;;;1081:39;;1155:10;1168:2;1155:15;1138:6;:13;:32;1172:21;;;;;;;;;;;;;;;;;;1130:64;;;;;;;-1:-1:-1;;;;;1130:64:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1130:64:41;-1:-1:-1;1257:26:41;;-1:-1:-1;1238:6:41;1214:79::o;15484:1304:28:-;15647:4;;;;;;;;;15688:10;15674:6;:9;;;15671:13;;;;;;;;;;:27;;;;;;;;;15667:450;;;15863:39;15888:6;:12;;;-1:-1:-1;;;;;15880:21:28;15863:16;:39::i;:::-;15816:86;;-1:-1:-1;15816:86:28;-1:-1:-1;15816:86:28;-1:-1:-1;15930:66:28;15941:11;15816:86;15970:4;15976:6;15984:5;15991:4;15930:10;:66::i;:::-;15916:80;;16018:88;16029:11;16042:6;:36;;16066:12;16042:36;;;16051:12;16042:36;16080:4;16086:6;16094:5;16101:4;16018:10;:88::i;:::-;16011:95;;;;15667:450;16194:39;16219:6;:12;;;-1:-1:-1;;;;;16211:21:28;16194:16;:39::i;:::-;-1:-1:-1;16174:59:28;;-1:-1:-1;16174:59:28;-1:-1:-1;16253:58:28;16264:11;16174:59;16285:4;16291:6;16299:5;16306:4;16253:10;:58::i;:::-;16243:68;-1:-1:-1;16343:6:28;16329;:9;;;16326:13;;;;;;;;;;:23;;;;;;;;;16322:64;;;16373:2;16372:3;16365:10;;;;16322:64;16400:2;:28;;;;-1:-1:-1;16423:5:28;16409:6;:9;;;16406:13;;;;;;;;;;:22;;;;;;;;;16400:28;16396:70;;;16451:4;16444:11;;;;16396:70;16481:2;16480:3;:30;;;;-1:-1:-1;16504:6:28;16490;:9;;;16487:13;;;;;;;;;;:23;;;;;;;;;16480:30;16476:73;;;16533:5;16526:12;;;;16476:73;16569:58;16580:11;16593:6;16601:4;16607:6;16615:5;16622:4;16569:10;:58::i;:::-;16559:68;-1:-1:-1;16659:6:28;16645;:9;;;16642:13;;;;;;;;;;:23;;;;;;;;;16638:69;;;16694:2;16688:8;;:2;:8;;;;16681:15;;;;16638:69;16724:2;16717:9;;15484:1304;;;;;;;;;;;;;;;;;:::o;17525:1192::-;17854:54;;-1:-1:-1;;;;;17854:54:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17654:4;;17683:31;;17825:26;;17654:4;;;;;;;;17683:31;;17882:4;;17888:6;;17896:5;;17903:4;;17854:54;;;;;;;;;;;;;;;;;;17654:4;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;17854:54:28;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17854:54:28;;;;-1:-1:-1;;;;;17854:54:28;;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;;;17854:54:28;17825:83;;1865:5;17918:41;;18107:1;18104;18088:13;18082:20;18075:4;18060:13;18056:24;18043:11;18027:14;18016:93;18010:99;;18134:2;18133:3;18129:46;;;18159:5;18152:12;;;;18129:46;18226:14;;-1:-1:-1;18263:2:28;18255:10;;18251:53;;18288:5;18281:12;;;;18251:53;18375:4;18369:11;18450:4;18447:1;18442:3;18427:28;18523:3;18517:10;18507:20;;18601:1;18596:3;18589:14;18344:343;18704:6;18697:13;;17525:1192;;;;;;;;;;;;;;:::o;926:144:53:-;999:15;926:144;:::o;16794:725:28:-;16866:4;16893:5;16886:3;:12;;;;;;;;;16882:34;;;-1:-1:-1;16908:8:28;;;16901:15;;16882:34;16996:6;16989:3;:13;;;;;;;;;16985:34;;;-1:-1:-1;17011:8:28;;;;17004:15;;16985:34;17099:5;17092:3;:12;;;;;;;;;17088:33;;;-1:-1:-1;17114:7:28;;;17107:14;;17088:33;17202:5;17195:3;:12;;;;;;;;;17191:33;;;-1:-1:-1;17217:7:28;;;17210:14;;17191:33;17305:6;17298:3;:13;;;;;;;;;17294:34;;;-1:-1:-1;17320:8:28;;;;17313:15;;17294:34;17408:6;17401:3;:13;;;;;;;;;17397:34;;;-1:-1:-1;17423:8:28;;;;17416:15;;17397:34;-1:-1:-1;17507:5:28;16794:725;;;;;:::o;2662:112:29:-;2752:14;;;;2662:112::o;2544:::-;2634:14;;;;2544:112::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o;2780:192:29:-;2892:2;2916:13;;;;2951;;;;2780:192::o;293:19076:28:-;;;;;;;;;-1:-1:-1;293:19076:28;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../apps/AragonApp.sol\";\nimport \"../common/ConversionHelpers.sol\";\nimport \"../common/TimeHelpers.sol\";\nimport \"./ACLSyntaxSugar.sol\";\nimport \"./IACL.sol\";\nimport \"./IACLOracle.sol\";\n\n\n/* solium-disable function-order */\n// Allow public initialize() to be first\ncontract ACL is IACL, TimeHelpers, AragonApp, ACLHelpers {\n /* Hardcoded constants to save gas\n bytes32 public constant CREATE_PERMISSIONS_ROLE = keccak256(\"CREATE_PERMISSIONS_ROLE\");\n */\n bytes32 public constant CREATE_PERMISSIONS_ROLE = 0x0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a;\n\n enum Op { NONE, EQ, NEQ, GT, LT, GTE, LTE, RET, NOT, AND, OR, XOR, IF_ELSE } // op types\n\n struct Param {\n uint8 id;\n uint8 op;\n uint240 value; // even though value is an uint240 it can store addresses\n // in the case of 32 byte hashes losing 2 bytes precision isn't a huge deal\n // op and id take less than 1 byte each so it can be kept in 1 sstore\n }\n\n uint8 internal constant BLOCK_NUMBER_PARAM_ID = 200;\n uint8 internal constant TIMESTAMP_PARAM_ID = 201;\n // 202 is unused\n uint8 internal constant ORACLE_PARAM_ID = 203;\n uint8 internal constant LOGIC_OP_PARAM_ID = 204;\n uint8 internal constant PARAM_VALUE_PARAM_ID = 205;\n // TODO: Add execution times param type?\n\n /* Hardcoded constant to save gas\n bytes32 public constant EMPTY_PARAM_HASH = keccak256(uint256(0));\n */\n bytes32 public constant EMPTY_PARAM_HASH = 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563;\n bytes32 public constant NO_PERMISSION = bytes32(0);\n address public constant ANY_ENTITY = address(-1);\n address public constant BURN_ENTITY = address(1); // address(0) is already used as \"no permission manager\"\n\n uint256 internal constant ORACLE_CHECK_GAS = 30000;\n\n string private constant ERROR_AUTH_INIT_KERNEL = \"ACL_AUTH_INIT_KERNEL\";\n string private constant ERROR_AUTH_NO_MANAGER = \"ACL_AUTH_NO_MANAGER\";\n string private constant ERROR_EXISTENT_MANAGER = \"ACL_EXISTENT_MANAGER\";\n\n // Whether someone has a permission\n mapping (bytes32 => bytes32) internal permissions; // permissions hash => params hash\n mapping (bytes32 => Param[]) internal permissionParams; // params hash => params\n\n // Who is the manager of a permission\n mapping (bytes32 => address) internal permissionManager;\n\n event SetPermission(address indexed entity, address indexed app, bytes32 indexed role, bool allowed);\n event SetPermissionParams(address indexed entity, address indexed app, bytes32 indexed role, bytes32 paramsHash);\n event ChangePermissionManager(address indexed app, bytes32 indexed role, address indexed manager);\n\n modifier onlyPermissionManager(address _app, bytes32 _role) {\n require(msg.sender == getPermissionManager(_app, _role), ERROR_AUTH_NO_MANAGER);\n _;\n }\n\n modifier noPermissionManager(address _app, bytes32 _role) {\n // only allow permission creation (or re-creation) when there is no manager\n require(getPermissionManager(_app, _role) == address(0), ERROR_EXISTENT_MANAGER);\n _;\n }\n\n /**\n * @dev Initialize can only be called once. It saves the block number in which it was initialized.\n * @notice Initialize an ACL instance and set `_permissionsCreator` as the entity that can create other permissions\n * @param _permissionsCreator Entity that will be given permission over createPermission\n */\n function initialize(address _permissionsCreator) public onlyInit {\n initialized();\n require(msg.sender == address(kernel()), ERROR_AUTH_INIT_KERNEL);\n\n _createPermission(_permissionsCreator, this, CREATE_PERMISSIONS_ROLE, _permissionsCreator);\n }\n\n /**\n * @dev Creates a permission that wasn't previously set and managed.\n * If a created permission is removed it is possible to reset it with createPermission.\n * This is the **ONLY** way to create permissions and set managers to permissions that don't\n * have a manager.\n * In terms of the ACL being initialized, this function implicitly protects all the other\n * state-changing external functions, as they all require the sender to be a manager.\n * @notice Create a new permission granting `_entity` the ability to perform actions requiring `_role` on `_app`, setting `_manager` as the permission's manager\n * @param _entity Address of the whitelisted entity that will be able to perform the role\n * @param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n * @param _role Identifier for the group of actions in app given access to perform\n * @param _manager Address of the entity that will be able to grant and revoke the permission further.\n */\n function createPermission(address _entity, address _app, bytes32 _role, address _manager)\n external\n auth(CREATE_PERMISSIONS_ROLE)\n noPermissionManager(_app, _role)\n {\n _createPermission(_entity, _app, _role, _manager);\n }\n\n /**\n * @dev Grants permission if allowed. This requires `msg.sender` to be the permission manager\n * @notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n * @param _entity Address of the whitelisted entity that will be able to perform the role\n * @param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n * @param _role Identifier for the group of actions in app given access to perform\n */\n function grantPermission(address _entity, address _app, bytes32 _role)\n external\n {\n grantPermissionP(_entity, _app, _role, new uint256[](0));\n }\n\n /**\n * @dev Grants a permission with parameters if allowed. This requires `msg.sender` to be the permission manager\n * @notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n * @param _entity Address of the whitelisted entity that will be able to perform the role\n * @param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n * @param _role Identifier for the group of actions in app given access to perform\n * @param _params Permission parameters\n */\n function grantPermissionP(address _entity, address _app, bytes32 _role, uint256[] _params)\n public\n onlyPermissionManager(_app, _role)\n {\n bytes32 paramsHash = _params.length > 0 ? _saveParams(_params) : EMPTY_PARAM_HASH;\n _setPermission(_entity, _app, _role, paramsHash);\n }\n\n /**\n * @dev Revokes permission if allowed. This requires `msg.sender` to be the the permission manager\n * @notice Revoke from `_entity` the ability to perform actions requiring `_role` on `_app`\n * @param _entity Address of the whitelisted entity to revoke access from\n * @param _app Address of the app in which the role will be revoked\n * @param _role Identifier for the group of actions in app being revoked\n */\n function revokePermission(address _entity, address _app, bytes32 _role)\n external\n onlyPermissionManager(_app, _role)\n {\n _setPermission(_entity, _app, _role, NO_PERMISSION);\n }\n\n /**\n * @notice Set `_newManager` as the manager of `_role` in `_app`\n * @param _newManager Address for the new manager\n * @param _app Address of the app in which the permission management is being transferred\n * @param _role Identifier for the group of actions being transferred\n */\n function setPermissionManager(address _newManager, address _app, bytes32 _role)\n external\n onlyPermissionManager(_app, _role)\n {\n _setPermissionManager(_newManager, _app, _role);\n }\n\n /**\n * @notice Remove the manager of `_role` in `_app`\n * @param _app Address of the app in which the permission is being unmanaged\n * @param _role Identifier for the group of actions being unmanaged\n */\n function removePermissionManager(address _app, bytes32 _role)\n external\n onlyPermissionManager(_app, _role)\n {\n _setPermissionManager(address(0), _app, _role);\n }\n\n /**\n * @notice Burn non-existent `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n * @param _app Address of the app in which the permission is being burned\n * @param _role Identifier for the group of actions being burned\n */\n function createBurnedPermission(address _app, bytes32 _role)\n external\n auth(CREATE_PERMISSIONS_ROLE)\n noPermissionManager(_app, _role)\n {\n _setPermissionManager(BURN_ENTITY, _app, _role);\n }\n\n /**\n * @notice Burn `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n * @param _app Address of the app in which the permission is being burned\n * @param _role Identifier for the group of actions being burned\n */\n function burnPermissionManager(address _app, bytes32 _role)\n external\n onlyPermissionManager(_app, _role)\n {\n _setPermissionManager(BURN_ENTITY, _app, _role);\n }\n\n /**\n * @notice Get parameters for permission array length\n * @param _entity Address of the whitelisted entity that will be able to perform the role\n * @param _app Address of the app\n * @param _role Identifier for a group of actions in app\n * @return Length of the array\n */\n function getPermissionParamsLength(address _entity, address _app, bytes32 _role) external view returns (uint) {\n return permissionParams[permissions[permissionHash(_entity, _app, _role)]].length;\n }\n\n /**\n * @notice Get parameter for permission\n * @param _entity Address of the whitelisted entity that will be able to perform the role\n * @param _app Address of the app\n * @param _role Identifier for a group of actions in app\n * @param _index Index of parameter in the array\n * @return Parameter (id, op, value)\n */\n function getPermissionParam(address _entity, address _app, bytes32 _role, uint _index)\n external\n view\n returns (uint8, uint8, uint240)\n {\n Param storage param = permissionParams[permissions[permissionHash(_entity, _app, _role)]][_index];\n return (param.id, param.op, param.value);\n }\n\n /**\n * @dev Get manager for permission\n * @param _app Address of the app\n * @param _role Identifier for a group of actions in app\n * @return address of the manager for the permission\n */\n function getPermissionManager(address _app, bytes32 _role) public view returns (address) {\n return permissionManager[roleHash(_app, _role)];\n }\n\n /**\n * @dev Function called by apps to check ACL on kernel or to check permission statu\n * @param _who Sender of the original call\n * @param _where Address of the app\n * @param _where Identifier for a group of actions in app\n * @param _how Permission parameters\n * @return boolean indicating whether the ACL allows the role or not\n */\n function hasPermission(address _who, address _where, bytes32 _what, bytes memory _how) public view returns (bool) {\n return hasPermission(_who, _where, _what, ConversionHelpers.dangerouslyCastBytesToUintArray(_how));\n }\n\n function hasPermission(address _who, address _where, bytes32 _what, uint256[] memory _how) public view returns (bool) {\n bytes32 whoParams = permissions[permissionHash(_who, _where, _what)];\n if (whoParams != NO_PERMISSION && evalParams(whoParams, _who, _where, _what, _how)) {\n return true;\n }\n\n bytes32 anyParams = permissions[permissionHash(ANY_ENTITY, _where, _what)];\n if (anyParams != NO_PERMISSION && evalParams(anyParams, ANY_ENTITY, _where, _what, _how)) {\n return true;\n }\n\n return false;\n }\n\n function hasPermission(address _who, address _where, bytes32 _what) public view returns (bool) {\n uint256[] memory empty = new uint256[](0);\n return hasPermission(_who, _where, _what, empty);\n }\n\n function evalParams(\n bytes32 _paramsHash,\n address _who,\n address _where,\n bytes32 _what,\n uint256[] _how\n ) public view returns (bool)\n {\n if (_paramsHash == EMPTY_PARAM_HASH) {\n return true;\n }\n\n return _evalParam(_paramsHash, 0, _who, _where, _what, _how);\n }\n\n /**\n * @dev Internal createPermission for access inside the kernel (on instantiation)\n */\n function _createPermission(address _entity, address _app, bytes32 _role, address _manager) internal {\n _setPermission(_entity, _app, _role, EMPTY_PARAM_HASH);\n _setPermissionManager(_manager, _app, _role);\n }\n\n /**\n * @dev Internal function called to actually save the permission\n */\n function _setPermission(address _entity, address _app, bytes32 _role, bytes32 _paramsHash) internal {\n permissions[permissionHash(_entity, _app, _role)] = _paramsHash;\n bool entityHasPermission = _paramsHash != NO_PERMISSION;\n bool permissionHasParams = entityHasPermission && _paramsHash != EMPTY_PARAM_HASH;\n\n emit SetPermission(_entity, _app, _role, entityHasPermission);\n if (permissionHasParams) {\n emit SetPermissionParams(_entity, _app, _role, _paramsHash);\n }\n }\n\n function _saveParams(uint256[] _encodedParams) internal returns (bytes32) {\n bytes32 paramHash = keccak256(abi.encodePacked(_encodedParams));\n Param[] storage params = permissionParams[paramHash];\n\n if (params.length == 0) { // params not saved before\n for (uint256 i = 0; i < _encodedParams.length; i++) {\n uint256 encodedParam = _encodedParams[i];\n Param memory param = Param(decodeParamId(encodedParam), decodeParamOp(encodedParam), uint240(encodedParam));\n params.push(param);\n }\n }\n\n return paramHash;\n }\n\n function _evalParam(\n bytes32 _paramsHash,\n uint32 _paramId,\n address _who,\n address _where,\n bytes32 _what,\n uint256[] _how\n ) internal view returns (bool)\n {\n if (_paramId >= permissionParams[_paramsHash].length) {\n return false; // out of bounds\n }\n\n Param memory param = permissionParams[_paramsHash][_paramId];\n\n if (param.id == LOGIC_OP_PARAM_ID) {\n return _evalLogic(param, _paramsHash, _who, _where, _what, _how);\n }\n\n uint256 value;\n uint256 comparedTo = uint256(param.value);\n\n // get value\n if (param.id == ORACLE_PARAM_ID) {\n value = checkOracle(IACLOracle(param.value), _who, _where, _what, _how) ? 1 : 0;\n comparedTo = 1;\n } else if (param.id == BLOCK_NUMBER_PARAM_ID) {\n value = getBlockNumber();\n } else if (param.id == TIMESTAMP_PARAM_ID) {\n value = getTimestamp();\n } else if (param.id == PARAM_VALUE_PARAM_ID) {\n value = uint256(param.value);\n } else {\n if (param.id >= _how.length) {\n return false;\n }\n value = uint256(uint240(_how[param.id])); // force lost precision\n }\n\n if (Op(param.op) == Op.RET) {\n return uint256(value) > 0;\n }\n\n return compare(value, Op(param.op), comparedTo);\n }\n\n function _evalLogic(Param _param, bytes32 _paramsHash, address _who, address _where, bytes32 _what, uint256[] _how)\n internal\n view\n returns (bool)\n {\n if (Op(_param.op) == Op.IF_ELSE) {\n uint32 conditionParam;\n uint32 successParam;\n uint32 failureParam;\n\n (conditionParam, successParam, failureParam) = decodeParamsList(uint256(_param.value));\n bool result = _evalParam(_paramsHash, conditionParam, _who, _where, _what, _how);\n\n return _evalParam(_paramsHash, result ? successParam : failureParam, _who, _where, _what, _how);\n }\n\n uint32 param1;\n uint32 param2;\n\n (param1, param2,) = decodeParamsList(uint256(_param.value));\n bool r1 = _evalParam(_paramsHash, param1, _who, _where, _what, _how);\n\n if (Op(_param.op) == Op.NOT) {\n return !r1;\n }\n\n if (r1 && Op(_param.op) == Op.OR) {\n return true;\n }\n\n if (!r1 && Op(_param.op) == Op.AND) {\n return false;\n }\n\n bool r2 = _evalParam(_paramsHash, param2, _who, _where, _what, _how);\n\n if (Op(_param.op) == Op.XOR) {\n return r1 != r2;\n }\n\n return r2; // both or and and depend on result of r2 after checks\n }\n\n function compare(uint256 _a, Op _op, uint256 _b) internal pure returns (bool) {\n if (_op == Op.EQ) return _a == _b; // solium-disable-line lbrace\n if (_op == Op.NEQ) return _a != _b; // solium-disable-line lbrace\n if (_op == Op.GT) return _a > _b; // solium-disable-line lbrace\n if (_op == Op.LT) return _a < _b; // solium-disable-line lbrace\n if (_op == Op.GTE) return _a >= _b; // solium-disable-line lbrace\n if (_op == Op.LTE) return _a <= _b; // solium-disable-line lbrace\n return false;\n }\n\n function checkOracle(IACLOracle _oracleAddr, address _who, address _where, bytes32 _what, uint256[] _how) internal view returns (bool) {\n bytes4 sig = _oracleAddr.canPerform.selector;\n\n // a raw call is required so we can return false if the call reverts, rather than reverting\n bytes memory checkCalldata = abi.encodeWithSelector(sig, _who, _where, _what, _how);\n uint256 oracleCheckGas = ORACLE_CHECK_GAS;\n\n bool ok;\n assembly {\n ok := staticcall(oracleCheckGas, _oracleAddr, add(checkCalldata, 0x20), mload(checkCalldata), 0, 0)\n }\n\n if (!ok) {\n return false;\n }\n\n uint256 size;\n assembly { size := returndatasize }\n if (size != 32) {\n return false;\n }\n\n bool result;\n assembly {\n let ptr := mload(0x40) // get next free memory ptr\n returndatacopy(ptr, 0, size) // copy return from above `staticcall`\n result := mload(ptr) // read data at ptr and set it to result\n mstore(ptr, 0) // set pointer memory to 0 so it still is the next free ptr\n }\n\n return result;\n }\n\n /**\n * @dev Internal function that sets management\n */\n function _setPermissionManager(address _newManager, address _app, bytes32 _role) internal {\n permissionManager[roleHash(_app, _role)] = _newManager;\n emit ChangePermissionManager(_app, _role, _newManager);\n }\n\n function roleHash(address _where, bytes32 _what) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"ROLE\", _where, _what));\n }\n\n function permissionHash(address _who, address _where, bytes32 _what) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"PERMISSION\", _who, _where, _what));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/acl/ACL.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "exportedSymbols": { - "ACL": [ - 21811 - ] - }, - "id": 21812, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20518, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:28" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 20519, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 23454, - "src": "25:31:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 20520, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 23517, - "src": "57:41:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "../common/TimeHelpers.sol", - "id": 20521, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 24155, - "src": "99:35:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "./ACLSyntaxSugar.sol", - "id": 20522, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22312, - "src": "135:30:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "./IACL.sol", - "id": 20523, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22333, - "src": "166:20:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACLOracle.sol", - "file": "./IACLOracle.sol", - "id": 20524, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22350, - "src": "187:26:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20525, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "309:4:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 20526, - "nodeType": "InheritanceSpecifier", - "src": "309:4:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20527, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "315:11:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 20528, - "nodeType": "InheritanceSpecifier", - "src": "315:11:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20529, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "328:9:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 20530, - "nodeType": "InheritanceSpecifier", - "src": "328:9:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20531, - "name": "ACLHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22311, - "src": "339:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLHelpers_$22311", - "typeString": "contract ACLHelpers" - } - }, - "id": 20532, - "nodeType": "InheritanceSpecifier", - "src": "339:10:28" - } - ], - "contractDependencies": [ - 22236, - 22311, - 22332, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 21811, - "linearizedBaseContracts": [ - 21811, - 22311, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 22332 - ], - "name": "ACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 20535, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "494:116:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "494:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830623731396233336338336238653564333030633532316362386235346165396264393333393936613134626566386332663465303238356432643234303061", - "id": 20534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "544:66:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5176166219463878559501968259997826055329110201998247721302853912956666789898_by_1", - "typeString": "int_const 5176...(68 digits omitted)...9898" - }, - "value": "0x0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a" - }, - "visibility": "public" - }, - { - "canonicalName": "ACL.Op", - "id": 20549, - "members": [ - { - "id": 20536, - "name": "NONE", - "nodeType": "EnumValue", - "src": "627:4:28" - }, - { - "id": 20537, - "name": "EQ", - "nodeType": "EnumValue", - "src": "633:2:28" - }, - { - "id": 20538, - "name": "NEQ", - "nodeType": "EnumValue", - "src": "637:3:28" - }, - { - "id": 20539, - "name": "GT", - "nodeType": "EnumValue", - "src": "642:2:28" - }, - { - "id": 20540, - "name": "LT", - "nodeType": "EnumValue", - "src": "646:2:28" - }, - { - "id": 20541, - "name": "GTE", - "nodeType": "EnumValue", - "src": "650:3:28" - }, - { - "id": 20542, - "name": "LTE", - "nodeType": "EnumValue", - "src": "655:3:28" - }, - { - "id": 20543, - "name": "RET", - "nodeType": "EnumValue", - "src": "660:3:28" - }, - { - "id": 20544, - "name": "NOT", - "nodeType": "EnumValue", - "src": "665:3:28" - }, - { - "id": 20545, - "name": "AND", - "nodeType": "EnumValue", - "src": "670:3:28" - }, - { - "id": 20546, - "name": "OR", - "nodeType": "EnumValue", - "src": "675:2:28" - }, - { - "id": 20547, - "name": "XOR", - "nodeType": "EnumValue", - "src": "679:3:28" - }, - { - "id": 20548, - "name": "IF_ELSE", - "nodeType": "EnumValue", - "src": "684:7:28" - } - ], - "name": "Op", - "nodeType": "EnumDefinition", - "src": "617:76:28" - }, - { - "canonicalName": "ACL.Param", - "id": 20556, - "members": [ - { - "constant": false, - "id": 20551, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "734:8:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20550, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "734:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20553, - "name": "op", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "752:8:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20552, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "752:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20555, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "770:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - }, - "typeName": { - "id": 20554, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "770:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Param", - "nodeType": "StructDefinition", - "scope": 21811, - "src": "711:299:28", - "visibility": "public" - }, - { - "constant": true, - "id": 20559, - "name": "BLOCK_NUMBER_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1016:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20557, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1016:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323030", - "id": 20558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_200_by_1", - "typeString": "int_const 200" - }, - "value": "200" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20562, - "name": "TIMESTAMP_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1073:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20560, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1073:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323031", - "id": 20561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1121:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201_by_1", - "typeString": "int_const 201" - }, - "value": "201" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20565, - "name": "ORACLE_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1151:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20563, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1151:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323033", - "id": 20564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1199:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_203_by_1", - "typeString": "int_const 203" - }, - "value": "203" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20568, - "name": "LOGIC_OP_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1208:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20566, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1208:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323034", - "id": 20567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1256:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204_by_1", - "typeString": "int_const 204" - }, - "value": "204" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20571, - "name": "PARAM_VALUE_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1265:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20569, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1265:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323035", - "id": 20570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1313:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_205_by_1", - "typeString": "int_const 205" - }, - "value": "205" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20574, - "name": "EMPTY_PARAM_HASH", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1483:109:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20572, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1483:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832393064656364393534386236326138643630333435613938383338366663383462613662633935343834303038663633363266393331363065663365353633", - "id": 20573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1526:66:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18569430475105882587588266137607568536673111973893317399460219858819262702947_by_1", - "typeString": "int_const 1856...(69 digits omitted)...2947" - }, - "value": "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20579, - "name": "NO_PERMISSION", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1598:50:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20575, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1598:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:1:28", - "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": 20576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1638:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 20578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20585, - "name": "ANY_ENTITY", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1654:48:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1654:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1699:2:28", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 20582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1700:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 20581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1691:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1691:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20590, - "name": "BURN_ENTITY", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1708:48:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1708:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 20588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1754:1:28", - "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" - } - ], - "id": 20587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1746:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20593, - "name": "ORACLE_CHECK_GAS", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1820:50:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1820:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330303030", - "id": 20592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1865:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30000_by_1", - "typeString": "int_const 30000" - }, - "value": "30000" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20596, - "name": "ERROR_AUTH_INIT_KERNEL", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1877:71:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1877:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f415554485f494e49545f4b45524e454c", - "id": 20595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1926:22:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b821e30579b9561be7f0b7b902ba336b331e39831108d09772a61766a2b465fb", - "typeString": "literal_string \"ACL_AUTH_INIT_KERNEL\"" - }, - "value": "ACL_AUTH_INIT_KERNEL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20599, - "name": "ERROR_AUTH_NO_MANAGER", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1954:69:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20597, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1954:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f415554485f4e4f5f4d414e41474552", - "id": 20598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2002:21:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2d6e781abad74150d786cba50506e9dd4199308c8c71d28e79e0e9232faf41e", - "typeString": "literal_string \"ACL_AUTH_NO_MANAGER\"" - }, - "value": "ACL_AUTH_NO_MANAGER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20602, - "name": "ERROR_EXISTENT_MANAGER", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2029:71:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20600, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2029:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f4558495354454e545f4d414e41474552", - "id": 20601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2078:22:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c0d68e0b4f86bab649749fdab1e22b7429153357a2704a5fd7b646a35ecc4d0", - "typeString": "literal_string \"ACL_EXISTENT_MANAGER\"" - }, - "value": "ACL_EXISTENT_MANAGER" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 20606, - "name": "permissions", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2147:49:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - }, - "typeName": { - "id": 20605, - "keyType": { - "id": 20603, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2156:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2147:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - }, - "valueType": { - "id": 20604, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2167:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20611, - "name": "permissionParams", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2237:54:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param[])" - }, - "typeName": { - "id": 20610, - "keyType": { - "id": 20607, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2237:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 20608, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "2257:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "id": 20609, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2257:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20615, - "name": "permissionManager", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2365:55:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "typeName": { - "id": 20614, - "keyType": { - "id": 20612, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2374:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2365:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "valueType": { - "id": 20613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 20625, - "name": "SetPermission", - "nodeType": "EventDefinition", - "parameters": { - "id": 20624, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20617, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2447:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2447:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20619, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2471:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2471:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20621, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2492:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20620, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2492:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20623, - "indexed": false, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2514:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20622, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2514:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2446:81:28" - }, - "src": "2427:101:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 20635, - "name": "SetPermissionParams", - "nodeType": "EventDefinition", - "parameters": { - "id": 20634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20627, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2559:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2559:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20629, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2583:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20628, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20631, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2604:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20630, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2604:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20633, - "indexed": false, - "name": "paramsHash", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2626:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20632, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2626:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2558:87:28" - }, - "src": "2533:113:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 20643, - "name": "ChangePermissionManager", - "nodeType": "EventDefinition", - "parameters": { - "id": 20642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20637, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2681:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20639, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2702:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20638, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2702:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20641, - "indexed": true, - "name": "manager", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2724:23:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2724:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2680:68:28" - }, - "src": "2651:98:28" - }, - { - "body": { - "id": 20661, - "nodeType": "Block", - "src": "2815:107:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20650, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2833:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 20651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2833:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20653, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20645, - "src": "2868:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20654, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20647, - "src": "2874:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20652, - "name": "getPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20974, - "src": "2847:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (address,bytes32) view returns (address)" - } - }, - "id": 20655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2847:33:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2833:47:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20657, - "name": "ERROR_AUTH_NO_MANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20599, - "src": "2882:21:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20649, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2825:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2825:79:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20659, - "nodeType": "ExpressionStatement", - "src": "2825:79:28" - }, - { - "id": 20660, - "nodeType": "PlaceholderStatement", - "src": "2914:1:28" - } - ] - }, - "documentation": null, - "id": 20662, - "name": "onlyPermissionManager", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 20648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20645, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20662, - "src": "2786:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2786:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20647, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20662, - "src": "2800:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20646, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2800:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2785:29:28" - }, - "src": "2755:167:28", - "visibility": "internal" - }, - { - "body": { - "id": 20681, - "nodeType": "Block", - "src": "2986:192:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20670, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20664, - "src": "3109:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20671, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20666, - "src": "3115:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20669, - "name": "getPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20974, - "src": "3088:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (address,bytes32) view returns (address)" - } - }, - "id": 20672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3088:33:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3133:1:28", - "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": 20673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3125:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3125:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3088:47:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20677, - "name": "ERROR_EXISTENT_MANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20602, - "src": "3137:22:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20668, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3080:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3080:80:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20679, - "nodeType": "ExpressionStatement", - "src": "3080:80:28" - }, - { - "id": 20680, - "nodeType": "PlaceholderStatement", - "src": "3170:1:28" - } - ] - }, - "documentation": null, - "id": 20682, - "name": "noPermissionManager", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 20667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20664, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20682, - "src": "2957:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2957:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20666, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20682, - "src": "2971:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20665, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2971:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2956:29:28" - }, - "src": "2928:250:28", - "visibility": "internal" - }, - { - "body": { - "id": 20710, - "nodeType": "Block", - "src": "3577:205:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20689, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3587:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 20690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3587:13:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20691, - "nodeType": "ExpressionStatement", - "src": "3587:13:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20693, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3618:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 20694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3618:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20696, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3640:6:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 20697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:8:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 20695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3632:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3632:17:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3618:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20700, - "name": "ERROR_AUTH_INIT_KERNEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20596, - "src": "3651:22:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20692, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3610:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3610:64:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20702, - "nodeType": "ExpressionStatement", - "src": "3610:64:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20704, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20684, - "src": "3703:19:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20705, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29895, - "src": "3724:4:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 20706, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "3730:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20707, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20684, - "src": "3755:19:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20703, - "name": "_createPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21152, - "src": "3685:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address)" - } - }, - "id": 20708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3685:90:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20709, - "nodeType": "ExpressionStatement", - "src": "3685:90:28" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize an ACL instance and set `_permissionsCreator` as the entity that can create other permissions\n@param _permissionsCreator Entity that will be given permission over createPermission", - "id": 20711, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 20687, - "modifierName": { - "argumentTypes": null, - "id": 20686, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3568:8:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3568:8:28" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20685, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20684, - "name": "_permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 20711, - "src": "3532:27:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20683, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3532:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3531:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20688, - "nodeType": "ParameterList", - "parameters": [], - "src": "3577:0:28" - }, - "scope": 21811, - "src": "3512:270:28", - "stateMutability": "nonpayable", - "superFunction": 22318, - "visibility": "public" - }, - { - "body": { - "id": 20736, - "nodeType": "Block", - "src": "5044:66:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20730, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20713, - "src": "5072:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20731, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20715, - "src": "5081:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20732, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20717, - "src": "5087:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20733, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20719, - "src": "5094:8:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20729, - "name": "_createPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21152, - "src": "5054:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address)" - } - }, - "id": 20734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5054:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20735, - "nodeType": "ExpressionStatement", - "src": "5054:49:28" - } - ] - }, - "documentation": "@dev Creates a permission that wasn't previously set and managed.\n If a created permission is removed it is possible to reset it with createPermission.\n This is the **ONLY** way to create permissions and set managers to permissions that don't\n have a manager.\n In terms of the ACL being initialized, this function implicitly protects all the other\n state-changing external functions, as they all require the sender to be a manager.\n@notice Create a new permission granting `_entity` the ability to perform actions requiring `_role` on `_app`, setting `_manager` as the permission's manager\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform\n@param _manager Address of the entity that will be able to grant and revoke the permission further.", - "id": 20737, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20722, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "4974:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20723, - "modifierName": { - "argumentTypes": null, - "id": 20721, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "4969:4:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4969:29:28" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 20725, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20715, - "src": "5027:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20726, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20717, - "src": "5033:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20727, - "modifierName": { - "argumentTypes": null, - "id": 20724, - "name": "noPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20682, - "src": "5007:19:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5007:32:28" - } - ], - "name": "createPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20713, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4880:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4880:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20715, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4897:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4897:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20717, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4911:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20716, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4911:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20719, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4926:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4926:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4879:64:28" - }, - "payable": false, - "returnParameters": { - "id": 20728, - "nodeType": "ParameterList", - "parameters": [], - "src": "5044:0:28" - }, - "scope": 21811, - "src": "4854:256:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20757, - "nodeType": "Block", - "src": "5702:73:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20747, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20739, - "src": "5729:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20748, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20741, - "src": "5738:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20749, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20743, - "src": "5744:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5765:1:28", - "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": 20752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5751:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 20750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5755:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20751, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5755:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 20754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:16:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - ], - "id": 20746, - "name": "grantPermissionP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20794, - "src": "5712:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,bytes32,uint256[] memory)" - } - }, - "id": 20755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5712:56:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20756, - "nodeType": "ExpressionStatement", - "src": "5712:56:28" - } - ] - }, - "documentation": "@dev Grants permission if allowed. This requires `msg.sender` to be the permission manager\n@notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform", - "id": 20758, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "grantPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20739, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5635:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5635:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20741, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5652:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5652:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20743, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5666:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20742, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5666:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20745, - "nodeType": "ParameterList", - "parameters": [], - "src": "5702:0:28" - }, - "scope": 21811, - "src": "5610:165:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20793, - "nodeType": "Block", - "src": "6489:156:28", - "statements": [ - { - "assignments": [ - 20775 - ], - "declarations": [ - { - "constant": false, - "id": 20775, - "name": "paramsHash", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6499:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20774, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6499:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20785, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20776, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20767, - "src": "6520:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 20777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6520:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6537:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6520:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 20783, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "6564:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 20784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6520:60:28", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20781, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20767, - "src": "6553:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 20780, - "name": "_saveParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21278, - "src": "6541:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint256[] memory) returns (bytes32)" - } - }, - "id": 20782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6541:20:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6499:81:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20787, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20760, - "src": "6605:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20788, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20762, - "src": "6614:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20789, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20764, - "src": "6620:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20790, - "name": "paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20775, - "src": "6627:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20786, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "6590:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 20791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6590:48:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20792, - "nodeType": "ExpressionStatement", - "src": "6590:48:28" - } - ] - }, - "documentation": "@dev Grants a permission with parameters if allowed. This requires `msg.sender` to be the permission manager\n@notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform\n@param _params Permission parameters", - "id": 20794, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20770, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20762, - "src": "6472:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20771, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20764, - "src": "6478:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20772, - "modifierName": { - "argumentTypes": null, - "id": 20769, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "6450:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6450:34:28" - } - ], - "name": "grantPermissionP", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20760, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6362:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6362:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20762, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6379:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6379:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20764, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6393:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20763, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6393:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20767, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6408:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 20765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6408:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6408:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:65:28" - }, - "payable": false, - "returnParameters": { - "id": 20773, - "nodeType": "ParameterList", - "parameters": [], - "src": "6489:0:28" - }, - "scope": 21811, - "src": "6336:309:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20814, - "nodeType": "Block", - "src": "7223:68:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20808, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20796, - "src": "7248:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20809, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20798, - "src": "7257:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20810, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20800, - "src": "7263:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20811, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "7270:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20807, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "7233:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 20812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7233:51:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20813, - "nodeType": "ExpressionStatement", - "src": "7233:51:28" - } - ] - }, - "documentation": "@dev Revokes permission if allowed. This requires `msg.sender` to be the the permission manager\n@notice Revoke from `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity to revoke access from\n@param _app Address of the app in which the role will be revoked\n@param _role Identifier for the group of actions in app being revoked", - "id": 20815, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20803, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20798, - "src": "7206:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20804, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20800, - "src": "7212:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20805, - "modifierName": { - "argumentTypes": null, - "id": 20802, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "7184:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7184:34:28" - } - ], - "name": "revokePermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20796, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7113:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7113:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20798, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7130:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20797, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7130:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20800, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7144:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20799, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7144:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7112:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20806, - "nodeType": "ParameterList", - "parameters": [], - "src": "7223:0:28" - }, - "scope": 21811, - "src": "7087:204:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20834, - "nodeType": "Block", - "src": "7743:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20829, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20817, - "src": "7775:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20830, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20819, - "src": "7788:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20831, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20821, - "src": "7794:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20828, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "7753:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7753:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20833, - "nodeType": "ExpressionStatement", - "src": "7753:47:28" - } - ] - }, - "documentation": "@notice Set `_newManager` as the manager of `_role` in `_app`\n@param _newManager Address for the new manager\n@param _app Address of the app in which the permission management is being transferred\n@param _role Identifier for the group of actions being transferred", - "id": 20835, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20824, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20819, - "src": "7726:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20825, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20821, - "src": "7732:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20826, - "modifierName": { - "argumentTypes": null, - "id": 20823, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "7704:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7704:34:28" - } - ], - "name": "setPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20817, - "name": "_newManager", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7629:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20816, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7629:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20819, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7650:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20821, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7664:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20820, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7664:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7628:50:28" - }, - "payable": false, - "returnParameters": { - "id": 20827, - "nodeType": "ParameterList", - "parameters": [], - "src": "7743:0:28" - }, - "scope": 21811, - "src": "7599:208:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20854, - "nodeType": "Block", - "src": "8159:63:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8199:1:28", - "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": 20847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8191:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8191:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20850, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20837, - "src": "8203:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20851, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20839, - "src": "8209:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20846, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "8169:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8169:46:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20853, - "nodeType": "ExpressionStatement", - "src": "8169:46:28" - } - ] - }, - "documentation": "@notice Remove the manager of `_role` in `_app`\n@param _app Address of the app in which the permission is being unmanaged\n@param _role Identifier for the group of actions being unmanaged", - "id": 20855, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20842, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20837, - "src": "8142:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20843, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20839, - "src": "8148:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20844, - "modifierName": { - "argumentTypes": null, - "id": 20841, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "8120:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8120:34:28" - } - ], - "name": "removePermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20837, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20855, - "src": "8066:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20836, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8066:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20839, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20855, - "src": "8080:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20838, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8080:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8065:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20845, - "nodeType": "ParameterList", - "parameters": [], - "src": "8159:0:28" - }, - "scope": 21811, - "src": "8033:189:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20875, - "nodeType": "Block", - "src": "8673:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20870, - "name": "BURN_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20590, - "src": "8705:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20871, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20857, - "src": "8718:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20872, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20859, - "src": "8724:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20869, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "8683:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8683:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20874, - "nodeType": "ExpressionStatement", - "src": "8683:47:28" - } - ] - }, - "documentation": "@notice Burn non-existent `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n@param _app Address of the app in which the permission is being burned\n@param _role Identifier for the group of actions being burned", - "id": 20876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20862, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "8603:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20863, - "modifierName": { - "argumentTypes": null, - "id": 20861, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8598:4:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8598:29:28" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 20865, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20857, - "src": "8656:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20866, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20859, - "src": "8662:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20867, - "modifierName": { - "argumentTypes": null, - "id": 20864, - "name": "noPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20682, - "src": "8636:19:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8636:32:28" - } - ], - "name": "createBurnedPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20857, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20876, - "src": "8544:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8544:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20859, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20876, - "src": "8558:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20858, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8558:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8543:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20868, - "nodeType": "ParameterList", - "parameters": [], - "src": "8673:0:28" - }, - "scope": 21811, - "src": "8512:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20893, - "nodeType": "Block", - "src": "9138:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20888, - "name": "BURN_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20590, - "src": "9170:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20889, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20878, - "src": "9183:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20890, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20880, - "src": "9189:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20887, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "9148:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20892, - "nodeType": "ExpressionStatement", - "src": "9148:47:28" - } - ] - }, - "documentation": "@notice Burn `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n@param _app Address of the app in which the permission is being burned\n@param _role Identifier for the group of actions being burned", - "id": 20894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20883, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20878, - "src": "9121:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20884, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20880, - "src": "9127:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20885, - "modifierName": { - "argumentTypes": null, - "id": 20882, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "9099:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9099:34:28" - } - ], - "name": "burnPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20878, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20894, - "src": "9045:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9045:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20880, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20894, - "src": "9059:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20879, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9059:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20886, - "nodeType": "ParameterList", - "parameters": [], - "src": "9138:0:28" - }, - "scope": 21811, - "src": "9014:188:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20916, - "nodeType": "Block", - "src": "9620:98:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20905, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "9637:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 20913, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20906, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "9654:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 20912, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20908, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20896, - "src": "9681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20909, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20898, - "src": "9690:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20910, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20900, - "src": "9696:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20907, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "9666:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 20911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9666:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9654:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9637:67:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 20914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9637:74:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 20904, - "id": 20915, - "nodeType": "Return", - "src": "9630:81:28" - } - ] - }, - "documentation": "@notice Get parameters for permission array length\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@return Length of the array", - "id": 20917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionParamsLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20896, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9545:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20898, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9562:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9562:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20900, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9576:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20899, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9576:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9544:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20903, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9614:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20902, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9614:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9613:6:28" - }, - "scope": 21811, - "src": "9510:208:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20956, - "nodeType": "Block", - "src": "10225:164:28", - "statements": [ - { - "assignments": [ - 20935 - ], - "declarations": [ - { - "constant": false, - "id": 20935, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10235:19:28", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 20934, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "10235:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20947, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20936, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "10257:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 20944, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20937, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "10274:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 20943, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20939, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20919, - "src": "10301:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20940, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20921, - "src": "10310:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20941, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20923, - "src": "10316:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20938, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "10286:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 20942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10286:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10274:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10257:67:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 20946, - "indexExpression": { - "argumentTypes": null, - "id": 20945, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20925, - "src": "10325:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10257:75:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage", - "typeString": "struct ACL.Param storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10235:97:28" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20948, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10350:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "10350:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20950, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10360:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "10360:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20952, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10370:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "10370:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "id": 20954, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10349:33:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint8_$_t_uint240_$", - "typeString": "tuple(uint8,uint8,uint240)" - } - }, - "functionReturnParameters": 20933, - "id": 20955, - "nodeType": "Return", - "src": "10342:40:28" - } - ] - }, - "documentation": "@notice Get parameter for permission\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@param _index Index of parameter in the array\n@return Parameter (id, op, value)", - "id": 20957, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20919, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10092:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10092:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20921, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10109:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20920, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10109:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20923, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10123:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10123:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20925, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10138:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20924, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10138:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10091:59:28" - }, - "payable": false, - "returnParameters": { - "id": 20933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20928, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10198:5:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20927, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10198:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10205:5:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20929, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10205:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10212:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - }, - "typeName": { - "id": 20931, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "10212:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10197:23:28" - }, - "scope": 21811, - "src": "10064:325:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20973, - "nodeType": "Block", - "src": "10690:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20966, - "name": "permissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20615, - "src": "10707:17:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 20971, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20968, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20959, - "src": "10734:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20969, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20961, - "src": "10740:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20967, - "name": "roleHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21788, - "src": "10725:8:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,bytes32) pure returns (bytes32)" - } - }, - "id": 20970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10725:21:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10707:40:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 20965, - "id": 20972, - "nodeType": "Return", - "src": "10700:47:28" - } - ] - }, - "documentation": "@dev Get manager for permission\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@return address of the manager for the permission", - "id": 20974, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20959, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10631:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20958, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10631:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20961, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10645:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20960, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10645:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10630:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20964, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10681:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10680:9:28" - }, - "scope": 21811, - "src": "10601:153:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20997, - "nodeType": "Block", - "src": "11234:115:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20988, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20976, - "src": "11265:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20989, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20978, - "src": "11271:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20990, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20980, - "src": "11279:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20993, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20982, - "src": "11336:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 20991, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "11286:17:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 20992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastBytesToUintArray", - "nodeType": "MemberAccess", - "referencedDeclaration": 23515, - "src": "11286:49:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (uint256[] memory)" - } - }, - "id": 20994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11286:55:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 20987, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20998, - 21065, - 21094 - ], - "referencedDeclaration": 21065, - "src": "11251:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 20995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11251:91:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20986, - "id": 20996, - "nodeType": "Return", - "src": "11244:98:28" - } - ] - }, - "documentation": "@dev Function called by apps to check ACL on kernel or to check permission statu\n@param _who Sender of the original call\n@param _where Address of the app\n@param _where Identifier for a group of actions in app\n@param _how Permission parameters\n@return boolean indicating whether the ACL allows the role or not", - "id": 20998, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20976, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11143:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20975, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11143:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20978, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11157:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11157:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20980, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11173:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20979, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11173:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20982, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11188:17:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11188:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11142:64:28" - }, - "payable": false, - "returnParameters": { - "id": 20986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20985, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11228:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11228:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11227:6:28" - }, - "scope": 21811, - "src": "11120:229:28", - "stateMutability": "view", - "superFunction": 22331, - "visibility": "public" - }, - { - "body": { - "id": 21064, - "nodeType": "Block", - "src": "11473:457:28", - "statements": [ - { - "assignments": [ - 21013 - ], - "declarations": [ - { - "constant": false, - "id": 21013, - "name": "whoParams", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11483:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21012, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11483:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21021, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21014, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "11503:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21020, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21016, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21000, - "src": "11530:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21017, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11536:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21018, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11544:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21015, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "11515:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11515:35:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11503:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11483:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21022, - "name": "whoParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21013, - "src": "11565:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21023, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "11578:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11565:26:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21026, - "name": "whoParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21013, - "src": "11606:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21027, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21000, - "src": "11617:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21028, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11623:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21029, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11631:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21030, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21007, - "src": "11638:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21025, - "name": "evalParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21127, - "src": "11595:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11595:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11565:78:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21036, - "nodeType": "IfStatement", - "src": "11561:120:28", - "trueBody": { - "id": 21035, - "nodeType": "Block", - "src": "11645:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11666:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21011, - "id": 21034, - "nodeType": "Return", - "src": "11659:11:28" - } - ] - } - }, - { - "assignments": [ - 21038 - ], - "declarations": [ - { - "constant": false, - "id": 21038, - "name": "anyParams", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11691:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21037, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11691:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21046, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21039, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "11711:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21045, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21041, - "name": "ANY_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20585, - "src": "11738:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21042, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11750:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21043, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11758:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21040, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "11723:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11723:41:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11711:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11691:74:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21047, - "name": "anyParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21038, - "src": "11779:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21048, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "11792:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11779:26:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21051, - "name": "anyParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21038, - "src": "11820:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21052, - "name": "ANY_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20585, - "src": "11831:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21053, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11843:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21054, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11851:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21055, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21007, - "src": "11858:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21050, - "name": "evalParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21127, - "src": "11809:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11809:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11779:84:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21061, - "nodeType": "IfStatement", - "src": "11775:126:28", - "trueBody": { - "id": 21060, - "nodeType": "Block", - "src": "11865:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11886:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21011, - "id": 21059, - "nodeType": "Return", - "src": "11879:11:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11918:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21011, - "id": 21063, - "nodeType": "Return", - "src": "11911:12:28" - } - ] - }, - "documentation": null, - "id": 21065, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21008, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21000, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11378:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11378:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21002, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11392:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21001, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11392:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21004, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11408:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21003, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11408:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21007, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11423:21:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11423:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21006, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11423:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11377:68:28" - }, - "payable": false, - "returnParameters": { - "id": 21011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21010, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11467:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21009, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11467:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11466:6:28" - }, - "scope": 21811, - "src": "11355:575:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21093, - "nodeType": "Block", - "src": "12031:116:28", - "statements": [ - { - "assignments": [ - 21079 - ], - "declarations": [ - { - "constant": false, - "id": 21079, - "name": "empty", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "12041:22:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12041:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21078, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12041:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21085, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12080:1:28", - "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": 21082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12066:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12070:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21081, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12070:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12066:16:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12041:41:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21087, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21067, - "src": "12113:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21088, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21069, - "src": "12119:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21089, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21071, - "src": "12127:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21090, - "name": "empty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21079, - "src": "12134:5:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21086, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20998, - 21065, - 21094 - ], - "referencedDeclaration": 21065, - "src": "12099:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12099:41:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21075, - "id": 21092, - "nodeType": "Return", - "src": "12092:48:28" - } - ] - }, - "documentation": null, - "id": 21094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21067, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11959:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11959:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21069, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11973:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11973:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21071, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11989:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21070, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11989:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11958:45:28" - }, - "payable": false, - "returnParameters": { - "id": 21075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21074, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "12025:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21073, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12025:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12024:6:28" - }, - "scope": 21811, - "src": "11936:211:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21126, - "nodeType": "Block", - "src": "12332:160:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21110, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21096, - "src": "12346:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21111, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "12361:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12346:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21116, - "nodeType": "IfStatement", - "src": "12342:73:28", - "trueBody": { - "id": 21115, - "nodeType": "Block", - "src": "12379:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12400:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21109, - "id": 21114, - "nodeType": "Return", - "src": "12393:11:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21118, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21096, - "src": "12443:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 21119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12456:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 21120, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21098, - "src": "12459:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21121, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21100, - "src": "12465:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21122, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21102, - "src": "12473:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21123, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21105, - "src": "12480:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21117, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "12432:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12432:53:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21109, - "id": 21125, - "nodeType": "Return", - "src": "12425:60:28" - } - ] - }, - "documentation": null, - "id": 21127, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "evalParams", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21096, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12182:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21095, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12182:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21098, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12211:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12211:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21100, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12233:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12233:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21102, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12257:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21101, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12257:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21105, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12280:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12280:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21104, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12280:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12172:128:28" - }, - "payable": false, - "returnParameters": { - "id": 21109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12322:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21107, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12322:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12321:6:28" - }, - "scope": 21811, - "src": "12153:339:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21151, - "nodeType": "Block", - "src": "12698:125:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21139, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21129, - "src": "12723:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21140, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21131, - "src": "12732:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21141, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21133, - "src": "12738:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21142, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "12745:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21138, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "12708:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 21143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12708:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21144, - "nodeType": "ExpressionStatement", - "src": "12708:54:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21146, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21135, - "src": "12794:8:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21147, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21131, - "src": "12804:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21148, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21133, - "src": "12810:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21145, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "12772:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 21149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12772:44:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21150, - "nodeType": "ExpressionStatement", - "src": "12772:44:28" - } - ] - }, - "documentation": "@dev Internal createPermission for access inside the kernel (on instantiation)", - "id": 21152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21129, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12625:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12625:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21131, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12642:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12642:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21133, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12656:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21132, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12656:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21135, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12671:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12671:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12624:64:28" - }, - "payable": false, - "returnParameters": { - "id": 21137, - "nodeType": "ParameterList", - "parameters": [], - "src": "12698:0:28" - }, - "scope": 21811, - "src": "12598:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21204, - "nodeType": "Block", - "src": "13012:426:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21163, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "13022:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21169, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21165, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13049:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21166, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13058:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21167, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13064:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21164, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "13034:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13034:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13022:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 21170, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13074:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13022:63:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 21172, - "nodeType": "ExpressionStatement", - "src": "13022:63:28" - }, - { - "assignments": [ - 21174 - ], - "declarations": [ - { - "constant": false, - "id": 21174, - "name": "entityHasPermission", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "13095:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21173, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13095:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21178, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21175, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13122:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21176, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "13137:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13122:28:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13095:55:28" - }, - { - "assignments": [ - 21180 - ], - "declarations": [ - { - "constant": false, - "id": 21180, - "name": "permissionHasParams", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "13160:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13160:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21186, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21181, - "name": "entityHasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21174, - "src": "13187:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21182, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13210:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21183, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "13225:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13210:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13187:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13160:81:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21188, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13271:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21189, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13280:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21190, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13286:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21191, - "name": "entityHasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21174, - "src": "13293:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 21187, - "name": "SetPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20625, - "src": "13257:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (address,address,bytes32,bool)" - } - }, - "id": 21192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13257:56:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21193, - "nodeType": "EmitStatement", - "src": "13252:61:28" - }, - { - "condition": { - "argumentTypes": null, - "id": 21194, - "name": "permissionHasParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21180, - "src": "13327:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21203, - "nodeType": "IfStatement", - "src": "13323:109:28", - "trueBody": { - "id": 21202, - "nodeType": "Block", - "src": "13348:84:28", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21196, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13387:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21197, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13396:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21198, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13402:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21199, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13409:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21195, - "name": "SetPermissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20635, - "src": "13367:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 21200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13367:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21201, - "nodeType": "EmitStatement", - "src": "13362:59:28" - } - ] - } - } - ] - }, - "documentation": "@dev Internal function called to actually save the permission", - "id": 21205, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21154, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12936:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12936:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21156, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12953:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12953:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21158, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12967:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21157, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12967:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21160, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12982:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21159, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12982:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12935:67:28" - }, - "payable": false, - "returnParameters": { - "id": 21162, - "nodeType": "ParameterList", - "parameters": [], - "src": "13012:0:28" - }, - "scope": 21811, - "src": "12912:526:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21277, - "nodeType": "Block", - "src": "13518:540:28", - "statements": [ - { - "assignments": [ - 21214 - ], - "declarations": [ - { - "constant": false, - "id": 21214, - "name": "paramHash", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13528:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13528:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21221, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21218, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13575:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21216, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "13558:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13558:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13558:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21215, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "13548:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13548:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13528:63:28" - }, - { - "assignments": [ - 21225 - ], - "declarations": [ - { - "constant": false, - "id": 21225, - "name": "params", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13601:22:28", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 21223, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "13601:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "id": 21224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13601:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21229, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21226, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "13626:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21228, - "indexExpression": { - "argumentTypes": null, - "id": 21227, - "name": "paramHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21214, - "src": "13643:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13626:27:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13601:52:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21230, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21225, - "src": "13668:6:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param storage ref[] storage pointer" - } - }, - "id": 21231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13668:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13685:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13668:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21274, - "nodeType": "IfStatement", - "src": "13664:361:28", - "trueBody": { - "id": 21273, - "nodeType": "Block", - "src": "13688:337:28", - "statements": [ - { - "body": { - "id": 21271, - "nodeType": "Block", - "src": "13781:234:28", - "statements": [ - { - "assignments": [ - 21246 - ], - "declarations": [ - { - "constant": false, - "id": 21246, - "name": "encodedParam", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13799:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13799:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21250, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21247, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13822:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21249, - "indexExpression": { - "argumentTypes": null, - "id": 21248, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13837:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13822:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13799:40:28" - }, - { - "assignments": [ - 21252 - ], - "declarations": [ - { - "constant": false, - "id": 21252, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13857:18:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21251, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "13857:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21264, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21255, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13898:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21254, - "name": "decodeParamId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22270, - "src": "13884:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 21256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13884:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21258, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13927:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21257, - "name": "decodeParamOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22253, - "src": "13913:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 21259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13913:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21261, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13950:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13942:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": "uint240" - }, - "id": 21262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13942:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21253, - "name": "Param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20556, - "src": "13878:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Param_$20556_storage_ptr_$", - "typeString": "type(struct ACL.Param storage pointer)" - } - }, - "id": 21263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13878:86:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory", - "typeString": "struct ACL.Param memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13857:107:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21268, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21252, - "src": "13994:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21265, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21225, - "src": "13982:6:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param storage ref[] storage pointer" - } - }, - "id": 21267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13982:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Param_$20556_storage_$returns$_t_uint256_$", - "typeString": "function (struct ACL.Param storage ref) returns (uint256)" - } - }, - "id": 21269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13982:18:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21270, - "nodeType": "ExpressionStatement", - "src": "13982:18:28" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21238, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13749:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21239, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13753:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13753:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13749:25:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 21272, - "initializationExpression": { - "assignments": [ - 21235 - ], - "declarations": [ - { - "constant": false, - "id": 21235, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13734:9:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13734:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21237, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 21236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13746:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13734:13:28" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 21243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13776:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21242, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13776:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21244, - "nodeType": "ExpressionStatement", - "src": "13776:3:28" - }, - "nodeType": "ForStatement", - "src": "13729:286:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21275, - "name": "paramHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21214, - "src": "14042:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21212, - "id": 21276, - "nodeType": "Return", - "src": "14035:16:28" - } - ] - }, - "documentation": null, - "id": 21278, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_saveParams", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21208, - "name": "_encodedParams", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13465:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13465:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21207, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13465:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13464:26:28" - }, - "payable": false, - "returnParameters": { - "id": 21212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21211, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13509:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21210, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13509:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13508:9:28" - }, - "scope": 21811, - "src": "13444:614:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21445, - "nodeType": "Block", - "src": "14270:1208:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21296, - "name": "_paramId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21282, - "src": "14284:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21297, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "14296:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21299, - "indexExpression": { - "argumentTypes": null, - "id": 21298, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14313:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14296:29:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 21300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14296:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14284:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21305, - "nodeType": "IfStatement", - "src": "14280:108:28", - "trueBody": { - "id": 21304, - "nodeType": "Block", - "src": "14334:54:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14355:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21295, - "id": 21303, - "nodeType": "Return", - "src": "14348:12:28" - } - ] - } - }, - { - "assignments": [ - 21307 - ], - "declarations": [ - { - "constant": false, - "id": 21307, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14398:18:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21306, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "14398:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21313, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21308, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "14419:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21310, - "indexExpression": { - "argumentTypes": null, - "id": 21309, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14436:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14419:29:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 21312, - "indexExpression": { - "argumentTypes": null, - "id": 21311, - "name": "_paramId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21282, - "src": "14449:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14419:39:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage", - "typeString": "struct ACL.Param storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14398:60:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21314, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14473:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14473:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21316, - "name": "LOGIC_OP_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20568, - "src": "14485:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14473:29:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21328, - "nodeType": "IfStatement", - "src": "14469:124:28", - "trueBody": { - "id": 21327, - "nodeType": "Block", - "src": "14504:89:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21319, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14536:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - { - "argumentTypes": null, - "id": 21320, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14543:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21321, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21284, - "src": "14556:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21322, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21286, - "src": "14562:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21323, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21288, - "src": "14570:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21324, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "14577:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21318, - "name": "_evalLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21611, - "src": "14525:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Param_$20556_memory_ptr_$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct ACL.Param memory,bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14525:57:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21326, - "nodeType": "Return", - "src": "14518:64:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21330, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14603:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14603:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21331, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14603:13:28" - }, - { - "assignments": [ - 21333 - ], - "declarations": [ - { - "constant": false, - "id": 21333, - "name": "comparedTo", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14626:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14626:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21338, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21335, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14655:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "14655:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14647:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14647:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14626:41:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21339, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14703:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14703:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21341, - "name": "ORACLE_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20565, - "src": "14715:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14703:27:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21364, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14874:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14874:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21366, - "name": "BLOCK_NUMBER_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20559, - "src": "14886:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14874:33:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21374, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14968:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14968:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21376, - "name": "TIMESTAMP_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20562, - "src": "14980:18:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14968:30:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21384, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15057:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15057:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21386, - "name": "PARAM_VALUE_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20571, - "src": "15069:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "15057:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 21416, - "nodeType": "Block", - "src": "15150:176:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21396, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15168:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15168:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21398, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "15180:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15180:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15168:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21404, - "nodeType": "IfStatement", - "src": "15164:74:28", - "trueBody": { - "id": 21403, - "nodeType": "Block", - "src": "15193:45:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15218:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21295, - "id": 21402, - "nodeType": "Return", - "src": "15211:12:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21405, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15251:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21408, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "15275:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21409, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15280:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15280:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15275:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15267:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": "uint240" - }, - "id": 21412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15267:23:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15259:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15259:32:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15251:40:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21415, - "nodeType": "ExpressionStatement", - "src": "15251:40:28" - } - ] - }, - "id": 21417, - "nodeType": "IfStatement", - "src": "15053:273:28", - "trueBody": { - "id": 21395, - "nodeType": "Block", - "src": "15091:53:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21388, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15105:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21390, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15121:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "15121:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15113:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15113:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15105:28:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21394, - "nodeType": "ExpressionStatement", - "src": "15105:28:28" - } - ] - } - }, - "id": 21418, - "nodeType": "IfStatement", - "src": "14964:362:28", - "trueBody": { - "id": 21383, - "nodeType": "Block", - "src": "15000:47:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21378, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15014:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 21379, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15022:12:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 21380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15022:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:22:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21382, - "nodeType": "ExpressionStatement", - "src": "15014:22:28" - } - ] - } - }, - "id": 21419, - "nodeType": "IfStatement", - "src": "14870:456:28", - "trueBody": { - "id": 21373, - "nodeType": "Block", - "src": "14909:49:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21368, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "14923:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 21369, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "14931:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 21370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14931:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14923:24:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21372, - "nodeType": "ExpressionStatement", - "src": "14923:24:28" - } - ] - } - }, - "id": 21420, - "nodeType": "IfStatement", - "src": "14699:627:28", - "trueBody": { - "id": 21363, - "nodeType": "Block", - "src": "14732:132:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21343, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "14746:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21346, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14777:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "14777:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21345, - "name": "IACLOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22349, - "src": "14766:10:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACLOracle_$22349_$", - "typeString": "type(contract IACLOracle)" - } - }, - "id": 21348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14766:23:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - { - "argumentTypes": null, - "id": 21349, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21284, - "src": "14791:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21350, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21286, - "src": "14797:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21351, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21288, - "src": "14805:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21352, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "14812:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21344, - "name": "checkOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21744, - "src": "14754:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_IACLOracle_$22349_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (contract IACLOracle,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14754:63:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14824:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 21356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14754:71:28", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 21354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14820:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14746:79:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21358, - "nodeType": "ExpressionStatement", - "src": "14746:79:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21359, - "name": "comparedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21333, - "src": "14839:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 21360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14852:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14839:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21362, - "nodeType": "ExpressionStatement", - "src": "14839:14:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21422, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15343:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15343:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21421, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15340:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15340:12:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21425, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15356:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "RET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15356:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "15340:22:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21435, - "nodeType": "IfStatement", - "src": "15336:78:28", - "trueBody": { - "id": 21434, - "nodeType": "Block", - "src": "15364:50:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21429, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15393:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15385:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15385:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15402:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15385:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21433, - "nodeType": "Return", - "src": "15378:25:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21437, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15439:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21439, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15449:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15449:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21438, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15446:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15446:12:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - { - "argumentTypes": null, - "id": 21442, - "name": "comparedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21333, - "src": "15460:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21436, - "name": "compare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21679, - "src": "15431:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_enum$_Op_$20549_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,enum ACL.Op,uint256) pure returns (bool)" - } - }, - "id": 21443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15431:40:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21444, - "nodeType": "Return", - "src": "15424:47:28" - } - ] - }, - "documentation": null, - "id": 21446, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_evalParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21280, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14093:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21279, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14093:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21282, - "name": "_paramId", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14122:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21281, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14122:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21284, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14147:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14147:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21286, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14169:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14169:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21288, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14193:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14193:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21291, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14216:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14216:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21290, - "length": null, - "nodeType": "ArrayTypeName", - "src": "14216:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14083:153:28" - }, - "payable": false, - "returnParameters": { - "id": 21295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21294, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14260:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21293, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14260:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14259:6:28" - }, - "scope": 21811, - "src": "14064:1414:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21610, - "nodeType": "Block", - "src": "15657:1131:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21465, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "15674:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15674:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21464, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15671:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15671:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21468, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15688:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IF_ELSE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15688:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "15671:27:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21516, - "nodeType": "IfStatement", - "src": "15667:450:28", - "trueBody": { - "id": 21515, - "nodeType": "Block", - "src": "15700:417:28", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21472, - "name": "conditionParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15714:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21471, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15714:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21473, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15714:21:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21475, - "name": "successParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15749:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21474, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15749:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21476, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15749:19:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21478, - "name": "failureParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15782:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21477, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15782:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21479, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15782:19:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 21480, - "name": "conditionParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21472, - "src": "15817:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21481, - "name": "successParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21475, - "src": "15833:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21482, - "name": "failureParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21478, - "src": "15847:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 21483, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "15816:44:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21486, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "15888:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "15888:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15880:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15880:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21484, - "name": "decodeParamsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22310, - "src": "15863:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32,uint32,uint32)" - } - }, - "id": 21489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15863:39:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "src": "15816:86:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21491, - "nodeType": "ExpressionStatement", - "src": "15816:86:28" - }, - { - "assignments": [ - 21493 - ], - "declarations": [ - { - "constant": false, - "id": 21493, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15916:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21492, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15916:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21502, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21495, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "15941:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21496, - "name": "conditionParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21472, - "src": "15954:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21497, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "15970:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21498, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "15976:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21499, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "15984:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21500, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "15991:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21494, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "15930:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15930:66:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15916:80:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21504, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16029:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 21505, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21493, - "src": "16042:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 21507, - "name": "failureParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21478, - "src": "16066:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 21508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16042:36:28", - "trueExpression": { - "argumentTypes": null, - "id": 21506, - "name": "successParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21475, - "src": "16051:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21509, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16080:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21510, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16086:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21511, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16094:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21512, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16101:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21503, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16018:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16018:88:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21514, - "nodeType": "Return", - "src": "16011:95:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21518, - "name": "param1", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16127:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21517, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16127:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21519, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16127:13:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21521, - "name": "param2", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16150:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21520, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16150:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21522, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16150:13:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 21523, - "name": "param1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21518, - "src": "16175:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21524, - "name": "param2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21521, - "src": "16183:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - null - ], - "id": 21525, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "16174:17:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$__$", - "typeString": "tuple(uint32,uint32,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21528, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16219:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21529, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "16219:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16211:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16211:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21526, - "name": "decodeParamsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22310, - "src": "16194:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32,uint32,uint32)" - } - }, - "id": 21531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16194:39:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "src": "16174:59:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21533, - "nodeType": "ExpressionStatement", - "src": "16174:59:28" - }, - { - "assignments": [ - 21535 - ], - "declarations": [ - { - "constant": false, - "id": 21535, - "name": "r1", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16243:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21534, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16243:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21544, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21537, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16264:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21538, - "name": "param1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21518, - "src": "16277:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21539, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16285:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21540, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16291:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21541, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16299:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21542, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16306:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21536, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16253:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16253:58:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16243:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21546, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16329:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16329:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21545, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16326:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16326:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21549, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16343:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NOT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16343:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16326:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21556, - "nodeType": "IfStatement", - "src": "16322:64:28", - "trueBody": { - "id": 21555, - "nodeType": "Block", - "src": "16351:35:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16372:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21552, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16373:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21554, - "nodeType": "Return", - "src": "16365:10:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21557, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16400:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21559, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16409:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16409:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21558, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16406:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16406:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21562, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16423:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "OR", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16423:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16406:22:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16400:28:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21569, - "nodeType": "IfStatement", - "src": "16396:70:28", - "trueBody": { - "id": 21568, - "nodeType": "Block", - "src": "16430:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16451:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21463, - "id": 21567, - "nodeType": "Return", - "src": "16444:11:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16480:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21570, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16481:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21573, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16490:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16490:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21572, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16487:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16487:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21576, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16504:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AND", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16504:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16487:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16480:30:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21583, - "nodeType": "IfStatement", - "src": "16476:73:28", - "trueBody": { - "id": 21582, - "nodeType": "Block", - "src": "16512:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16533:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21463, - "id": 21581, - "nodeType": "Return", - "src": "16526:12:28" - } - ] - } - }, - { - "assignments": [ - 21585 - ], - "declarations": [ - { - "constant": false, - "id": 21585, - "name": "r2", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16559:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21584, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16559:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21594, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21587, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16580:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21588, - "name": "param2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21521, - "src": "16593:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21589, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16601:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21590, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16607:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21591, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16615:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21592, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16622:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21586, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16569:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16569:58:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16559:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21596, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16645:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16645:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21595, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16642:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16642:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21599, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16659:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "XOR", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16659:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16642:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21607, - "nodeType": "IfStatement", - "src": "16638:69:28", - "trueBody": { - "id": 21606, - "nodeType": "Block", - "src": "16667:40:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21602, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16688:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21603, - "name": "r2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21585, - "src": "16694:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16688:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21605, - "nodeType": "Return", - "src": "16681:15:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21608, - "name": "r2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21585, - "src": "16724:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21609, - "nodeType": "Return", - "src": "16717:9:28" - } - ] - }, - "documentation": null, - "id": 21611, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_evalLogic", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21448, - "name": "_param", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15504:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21447, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "15504:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21450, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15518:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21449, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15518:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21452, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15539:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15539:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21454, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15553:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15553:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21456, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15569:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21455, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15569:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21459, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15584:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15584:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21458, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15584:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15503:96:28" - }, - "payable": false, - "returnParameters": { - "id": 21463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21462, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15647:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21461, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15647:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15646:6:28" - }, - "scope": 21811, - "src": "15484:1304:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21678, - "nodeType": "Block", - "src": "16872:647:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21622, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "16886:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21623, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16893:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EQ", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16893:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16886:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21630, - "nodeType": "IfStatement", - "src": "16882:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21626, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "16908:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21627, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "16914:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16908:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21629, - "nodeType": "Return", - "src": "16901:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21631, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "16989:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21632, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16996:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NEQ", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16996:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16989:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21639, - "nodeType": "IfStatement", - "src": "16985:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21635, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17011:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21636, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17017:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17011:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21638, - "nodeType": "Return", - "src": "17004:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21640, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17092:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21641, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17099:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17099:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17092:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21648, - "nodeType": "IfStatement", - "src": "17088:33:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21644, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17114:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 21645, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17119:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17114:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21647, - "nodeType": "Return", - "src": "17107:14:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21649, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17195:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21650, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17202:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "LT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17202:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17195:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21657, - "nodeType": "IfStatement", - "src": "17191:33:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21653, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17217:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 21654, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17222:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17217:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21656, - "nodeType": "Return", - "src": "17210:14:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21658, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17298:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21659, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17305:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GTE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17305:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17298:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21666, - "nodeType": "IfStatement", - "src": "17294:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21662, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17320:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 21663, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17326:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17320:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21665, - "nodeType": "Return", - "src": "17313:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21667, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17401:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21668, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17408:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "LTE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17408:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17401:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21675, - "nodeType": "IfStatement", - "src": "17397:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21671, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17423:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 21672, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17429:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17423:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21674, - "nodeType": "Return", - "src": "17416:15:28" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17507:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21621, - "id": 21677, - "nodeType": "Return", - "src": "17500:12:28" - } - ] - }, - "documentation": null, - "id": 21679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "compare", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21613, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16811:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16811:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21615, - "name": "_op", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16823:6:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "typeName": { - "contractScope": null, - "id": 21614, - "name": "Op", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20549, - "src": "16823:2:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21617, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16831:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16831:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16810:32:28" - }, - "payable": false, - "returnParameters": { - "id": 21621, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21620, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16866:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21619, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16866:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16865:6:28" - }, - "scope": 21811, - "src": "16794:725:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21743, - "nodeType": "Block", - "src": "17660:1057:28", - "statements": [ - { - "assignments": [ - 21696 - ], - "declarations": [ - { - "constant": false, - "id": 21696, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17670:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 21695, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "17670:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21700, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21697, - "name": "_oracleAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21681, - "src": "17683:11:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - "id": 21698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "canPerform", - "nodeType": "MemberAccess", - "referencedDeclaration": 22348, - "src": "17683:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view external returns (bool)" - } - }, - "id": 21699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17683:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17670:44:28" - }, - { - "assignments": [ - 21702 - ], - "declarations": [ - { - "constant": false, - "id": 21702, - "name": "checkCalldata", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17825:26:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 21701, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17825:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21711, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21705, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21696, - "src": "17877:3:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 21706, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21683, - "src": "17882:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21707, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21685, - "src": "17888:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21708, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21687, - "src": "17896:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21709, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21690, - "src": "17903:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21703, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "17854:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17854:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 21710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17854:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17825:83:28" - }, - { - "assignments": [ - 21713 - ], - "declarations": [ - { - "constant": false, - "id": 21713, - "name": "oracleCheckGas", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17918:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17918:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21715, - "initialValue": { - "argumentTypes": null, - "id": 21714, - "name": "ORACLE_CHECK_GAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20593, - "src": "17943:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17918:41:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21717, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17970:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21716, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17970:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21718, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17970:7:28" - }, - { - "externalReferences": [ - { - "checkCalldata": { - "declaration": 21702, - "isOffset": false, - "isSlot": false, - "src": "18060:13:28", - "valueSize": 1 - } - }, - { - "checkCalldata": { - "declaration": 21702, - "isOffset": false, - "isSlot": false, - "src": "18088:13:28", - "valueSize": 1 - } - }, - { - "ok": { - "declaration": 21717, - "isOffset": false, - "isSlot": false, - "src": "18010:2:28", - "valueSize": 1 - } - }, - { - "oracleCheckGas": { - "declaration": 21713, - "isOffset": false, - "isSlot": false, - "src": "18027:14:28", - "valueSize": 1 - } - }, - { - "_oracleAddr": { - "declaration": 21681, - "isOffset": false, - "isSlot": false, - "src": "18043:11:28", - "valueSize": 1 - } - } - ], - "id": 21719, - "nodeType": "InlineAssembly", - "operations": "{\n ok := staticcall(oracleCheckGas, _oracleAddr, add(checkCalldata, 0x20), mload(checkCalldata), 0, 0)\n}", - "src": "17987:144:28" - }, - { - "condition": { - "argumentTypes": null, - "id": 21721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18133:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21720, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21717, - "src": "18134:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21725, - "nodeType": "IfStatement", - "src": "18129:46:28", - "trueBody": { - "id": 21724, - "nodeType": "Block", - "src": "18138:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18159:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21694, - "id": 21723, - "nodeType": "Return", - "src": "18152:12:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21727, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "18185:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18185:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21728, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18185:12:28" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 21727, - "isOffset": false, - "isSlot": false, - "src": "18218:4:28", - "valueSize": 1 - } - } - ], - "id": 21729, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n}", - "src": "18207:46:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21730, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21727, - "src": "18255:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 21731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18263:2:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "18255:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21736, - "nodeType": "IfStatement", - "src": "18251:53:28", - "trueBody": { - "id": 21735, - "nodeType": "Block", - "src": "18267:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18288:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21694, - "id": 21734, - "nodeType": "Return", - "src": "18281:12:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21738, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "18314:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18314:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21739, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18314:11:28" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 21738, - "isOffset": false, - "isSlot": false, - "src": "18507:6:28", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 21727, - "isOffset": false, - "isSlot": false, - "src": "18450:4:28", - "valueSize": 1 - } - } - ], - "id": 21740, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n result := mload(ptr)\n mstore(ptr, 0)\n}", - "src": "18335:368:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21741, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21738, - "src": "18704:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21694, - "id": 21742, - "nodeType": "Return", - "src": "18697:13:28" - } - ] - }, - "documentation": null, - "id": 21744, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkOracle", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21681, - "name": "_oracleAddr", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17546:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - }, - "typeName": { - "contractScope": null, - "id": 21680, - "name": "IACLOracle", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22349, - "src": "17546:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21683, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17570:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17570:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21685, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17584:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17584:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21687, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17600:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17600:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21690, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17615:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17615:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21689, - "length": null, - "nodeType": "ArrayTypeName", - "src": "17615:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17545:85:28" - }, - "payable": false, - "returnParameters": { - "id": 21694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21693, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17654:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21692, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17654:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17653:6:28" - }, - "scope": 21811, - "src": "17525:1192:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21768, - "nodeType": "Block", - "src": "18878:135:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21753, - "name": "permissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20615, - "src": "18888:17:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 21758, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21755, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21748, - "src": "18915:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21756, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21750, - "src": "18921:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21754, - "name": "roleHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21788, - "src": "18906:8:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,bytes32) pure returns (bytes32)" - } - }, - "id": 21757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18906:21:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18888:40:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 21759, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21746, - "src": "18931:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18888:54:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 21761, - "nodeType": "ExpressionStatement", - "src": "18888:54:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21763, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21748, - "src": "18981:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21764, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21750, - "src": "18987:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21765, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21746, - "src": "18994:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21762, - "name": "ChangePermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20643, - "src": "18957:23:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address)" - } - }, - "id": 21766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18957:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21767, - "nodeType": "EmitStatement", - "src": "18952:54:28" - } - ] - }, - "documentation": "@dev Internal function that sets management", - "id": 21769, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21746, - "name": "_newManager", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18819:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18819:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21748, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18840:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18840:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21750, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18854:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21749, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18854:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18818:50:28" - }, - "payable": false, - "returnParameters": { - "id": 21752, - "nodeType": "ParameterList", - "parameters": [], - "src": "18878:0:28" - }, - "scope": 21811, - "src": "18788:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21787, - "nodeType": "Block", - "src": "19100:74:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "524f4c45", - "id": 21781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19144:6:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9ea7bc2a13bc59432ab07436e7f7f5450f82d4b48c401bed177bfaf36b1873", - "typeString": "literal_string \"ROLE\"" - }, - "value": "ROLE" - }, - { - "argumentTypes": null, - "id": 21782, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21771, - "src": "19152:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21783, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21773, - "src": "19160:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ed9ea7bc2a13bc59432ab07436e7f7f5450f82d4b48c401bed177bfaf36b1873", - "typeString": "literal_string \"ROLE\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 21779, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "19127:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19127:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19127:39:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21778, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "19117:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19117:50:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21777, - "id": 21786, - "nodeType": "Return", - "src": "19110:57:28" - } - ] - }, - "documentation": null, - "id": 21788, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "roleHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21771, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19037:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19037:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21773, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19053:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21772, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19053:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19036:31:28" - }, - "payable": false, - "returnParameters": { - "id": 21777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19091:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21775, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19091:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19090:9:28" - }, - "scope": 21811, - "src": "19019:155:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21809, - "nodeType": "Block", - "src": "19281:86:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5045524d495353494f4e", - "id": 21802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19325:12:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ec1029a550434f46cc722ae017b3a2e96fd6dfb85f48bea21a1c682e8b994de1", - "typeString": "literal_string \"PERMISSION\"" - }, - "value": "PERMISSION" - }, - { - "argumentTypes": null, - "id": 21803, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21790, - "src": "19339:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21804, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21792, - "src": "19345:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21805, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21794, - "src": "19353:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ec1029a550434f46cc722ae017b3a2e96fd6dfb85f48bea21a1c682e8b994de1", - "typeString": "literal_string \"PERMISSION\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 21800, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "19308:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19308:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19308:51:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21799, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "19298:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19298:62:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21798, - "id": 21808, - "nodeType": "Return", - "src": "19291:69:28" - } - ] - }, - "documentation": null, - "id": 21810, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "permissionHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21790, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19204:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19204:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21792, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19218:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21791, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19218:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21794, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19234:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21793, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19234:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19203:45:28" - }, - "payable": false, - "returnParameters": { - "id": 21798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21797, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19272:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21796, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19272:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19271:9:28" - }, - "scope": 21811, - "src": "19180:187:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 21812, - "src": "293:19076:28" - } - ], - "src": "0:19370:28" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "exportedSymbols": { - "ACL": [ - 21811 - ] - }, - "id": 21812, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20518, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:28" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 20519, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 23454, - "src": "25:31:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 20520, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 23517, - "src": "57:41:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "../common/TimeHelpers.sol", - "id": 20521, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 24155, - "src": "99:35:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "./ACLSyntaxSugar.sol", - "id": 20522, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22312, - "src": "135:30:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "./IACL.sol", - "id": 20523, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22333, - "src": "166:20:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACLOracle.sol", - "file": "./IACLOracle.sol", - "id": 20524, - "nodeType": "ImportDirective", - "scope": 21812, - "sourceUnit": 22350, - "src": "187:26:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20525, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "309:4:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 20526, - "nodeType": "InheritanceSpecifier", - "src": "309:4:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20527, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "315:11:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 20528, - "nodeType": "InheritanceSpecifier", - "src": "315:11:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20529, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "328:9:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 20530, - "nodeType": "InheritanceSpecifier", - "src": "328:9:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20531, - "name": "ACLHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22311, - "src": "339:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLHelpers_$22311", - "typeString": "contract ACLHelpers" - } - }, - "id": 20532, - "nodeType": "InheritanceSpecifier", - "src": "339:10:28" - } - ], - "contractDependencies": [ - 22236, - 22311, - 22332, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 21811, - "linearizedBaseContracts": [ - 21811, - 22311, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 22332 - ], - "name": "ACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 20535, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "494:116:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "494:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830623731396233336338336238653564333030633532316362386235346165396264393333393936613134626566386332663465303238356432643234303061", - "id": 20534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "544:66:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5176166219463878559501968259997826055329110201998247721302853912956666789898_by_1", - "typeString": "int_const 5176...(68 digits omitted)...9898" - }, - "value": "0x0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a" - }, - "visibility": "public" - }, - { - "canonicalName": "ACL.Op", - "id": 20549, - "members": [ - { - "id": 20536, - "name": "NONE", - "nodeType": "EnumValue", - "src": "627:4:28" - }, - { - "id": 20537, - "name": "EQ", - "nodeType": "EnumValue", - "src": "633:2:28" - }, - { - "id": 20538, - "name": "NEQ", - "nodeType": "EnumValue", - "src": "637:3:28" - }, - { - "id": 20539, - "name": "GT", - "nodeType": "EnumValue", - "src": "642:2:28" - }, - { - "id": 20540, - "name": "LT", - "nodeType": "EnumValue", - "src": "646:2:28" - }, - { - "id": 20541, - "name": "GTE", - "nodeType": "EnumValue", - "src": "650:3:28" - }, - { - "id": 20542, - "name": "LTE", - "nodeType": "EnumValue", - "src": "655:3:28" - }, - { - "id": 20543, - "name": "RET", - "nodeType": "EnumValue", - "src": "660:3:28" - }, - { - "id": 20544, - "name": "NOT", - "nodeType": "EnumValue", - "src": "665:3:28" - }, - { - "id": 20545, - "name": "AND", - "nodeType": "EnumValue", - "src": "670:3:28" - }, - { - "id": 20546, - "name": "OR", - "nodeType": "EnumValue", - "src": "675:2:28" - }, - { - "id": 20547, - "name": "XOR", - "nodeType": "EnumValue", - "src": "679:3:28" - }, - { - "id": 20548, - "name": "IF_ELSE", - "nodeType": "EnumValue", - "src": "684:7:28" - } - ], - "name": "Op", - "nodeType": "EnumDefinition", - "src": "617:76:28" - }, - { - "canonicalName": "ACL.Param", - "id": 20556, - "members": [ - { - "constant": false, - "id": 20551, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "734:8:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20550, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "734:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20553, - "name": "op", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "752:8:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20552, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "752:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20555, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 20556, - "src": "770:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - }, - "typeName": { - "id": 20554, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "770:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Param", - "nodeType": "StructDefinition", - "scope": 21811, - "src": "711:299:28", - "visibility": "public" - }, - { - "constant": true, - "id": 20559, - "name": "BLOCK_NUMBER_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1016:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20557, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1016:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323030", - "id": 20558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_200_by_1", - "typeString": "int_const 200" - }, - "value": "200" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20562, - "name": "TIMESTAMP_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1073:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20560, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1073:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323031", - "id": 20561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1121:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201_by_1", - "typeString": "int_const 201" - }, - "value": "201" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20565, - "name": "ORACLE_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1151:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20563, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1151:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323033", - "id": 20564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1199:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_203_by_1", - "typeString": "int_const 203" - }, - "value": "203" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20568, - "name": "LOGIC_OP_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1208:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20566, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1208:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323034", - "id": 20567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1256:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204_by_1", - "typeString": "int_const 204" - }, - "value": "204" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20571, - "name": "PARAM_VALUE_PARAM_ID", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1265:51:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20569, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1265:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323035", - "id": 20570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1313:3:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_205_by_1", - "typeString": "int_const 205" - }, - "value": "205" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20574, - "name": "EMPTY_PARAM_HASH", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1483:109:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20572, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1483:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832393064656364393534386236326138643630333435613938383338366663383462613662633935343834303038663633363266393331363065663365353633", - "id": 20573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1526:66:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18569430475105882587588266137607568536673111973893317399460219858819262702947_by_1", - "typeString": "int_const 1856...(69 digits omitted)...2947" - }, - "value": "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20579, - "name": "NO_PERMISSION", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1598:50:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20575, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1598:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:1:28", - "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": 20576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1638:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 20578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20585, - "name": "ANY_ENTITY", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1654:48:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1654:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1699:2:28", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 20582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1700:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 20581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1691:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1691:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20590, - "name": "BURN_ENTITY", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1708:48:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1708:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 20588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1754:1:28", - "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" - } - ], - "id": 20587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1746:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 20593, - "name": "ORACLE_CHECK_GAS", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1820:50:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1820:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330303030", - "id": 20592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1865:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30000_by_1", - "typeString": "int_const 30000" - }, - "value": "30000" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 20596, - "name": "ERROR_AUTH_INIT_KERNEL", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1877:71:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1877:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f415554485f494e49545f4b45524e454c", - "id": 20595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1926:22:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b821e30579b9561be7f0b7b902ba336b331e39831108d09772a61766a2b465fb", - "typeString": "literal_string \"ACL_AUTH_INIT_KERNEL\"" - }, - "value": "ACL_AUTH_INIT_KERNEL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20599, - "name": "ERROR_AUTH_NO_MANAGER", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "1954:69:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20597, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1954:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f415554485f4e4f5f4d414e41474552", - "id": 20598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2002:21:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2d6e781abad74150d786cba50506e9dd4199308c8c71d28e79e0e9232faf41e", - "typeString": "literal_string \"ACL_AUTH_NO_MANAGER\"" - }, - "value": "ACL_AUTH_NO_MANAGER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 20602, - "name": "ERROR_EXISTENT_MANAGER", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2029:71:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 20600, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2029:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41434c5f4558495354454e545f4d414e41474552", - "id": 20601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2078:22:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c0d68e0b4f86bab649749fdab1e22b7429153357a2704a5fd7b646a35ecc4d0", - "typeString": "literal_string \"ACL_EXISTENT_MANAGER\"" - }, - "value": "ACL_EXISTENT_MANAGER" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 20606, - "name": "permissions", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2147:49:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - }, - "typeName": { - "id": 20605, - "keyType": { - "id": 20603, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2156:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2147:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - }, - "valueType": { - "id": 20604, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2167:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20611, - "name": "permissionParams", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2237:54:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param[])" - }, - "typeName": { - "id": 20610, - "keyType": { - "id": 20607, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2237:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 20608, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "2257:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "id": 20609, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2257:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20615, - "name": "permissionManager", - "nodeType": "VariableDeclaration", - "scope": 21811, - "src": "2365:55:28", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "typeName": { - "id": 20614, - "keyType": { - "id": 20612, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2374:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2365:28:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "valueType": { - "id": 20613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 20625, - "name": "SetPermission", - "nodeType": "EventDefinition", - "parameters": { - "id": 20624, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20617, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2447:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2447:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20619, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2471:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2471:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20621, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2492:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20620, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2492:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20623, - "indexed": false, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 20625, - "src": "2514:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20622, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2514:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2446:81:28" - }, - "src": "2427:101:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 20635, - "name": "SetPermissionParams", - "nodeType": "EventDefinition", - "parameters": { - "id": 20634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20627, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2559:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2559:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20629, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2583:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20628, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20631, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2604:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20630, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2604:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20633, - "indexed": false, - "name": "paramsHash", - "nodeType": "VariableDeclaration", - "scope": 20635, - "src": "2626:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20632, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2626:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2558:87:28" - }, - "src": "2533:113:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 20643, - "name": "ChangePermissionManager", - "nodeType": "EventDefinition", - "parameters": { - "id": 20642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20637, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2681:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20639, - "indexed": true, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2702:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20638, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2702:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20641, - "indexed": true, - "name": "manager", - "nodeType": "VariableDeclaration", - "scope": 20643, - "src": "2724:23:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2724:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2680:68:28" - }, - "src": "2651:98:28" - }, - { - "body": { - "id": 20661, - "nodeType": "Block", - "src": "2815:107:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20650, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2833:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 20651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2833:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20653, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20645, - "src": "2868:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20654, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20647, - "src": "2874:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20652, - "name": "getPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20974, - "src": "2847:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (address,bytes32) view returns (address)" - } - }, - "id": 20655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2847:33:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2833:47:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20657, - "name": "ERROR_AUTH_NO_MANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20599, - "src": "2882:21:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20649, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2825:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2825:79:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20659, - "nodeType": "ExpressionStatement", - "src": "2825:79:28" - }, - { - "id": 20660, - "nodeType": "PlaceholderStatement", - "src": "2914:1:28" - } - ] - }, - "documentation": null, - "id": 20662, - "name": "onlyPermissionManager", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 20648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20645, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20662, - "src": "2786:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2786:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20647, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20662, - "src": "2800:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20646, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2800:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2785:29:28" - }, - "src": "2755:167:28", - "visibility": "internal" - }, - { - "body": { - "id": 20681, - "nodeType": "Block", - "src": "2986:192:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20670, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20664, - "src": "3109:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20671, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20666, - "src": "3115:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20669, - "name": "getPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20974, - "src": "3088:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (address,bytes32) view returns (address)" - } - }, - "id": 20672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3088:33:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3133:1:28", - "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": 20673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3125:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3125:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3088:47:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20677, - "name": "ERROR_EXISTENT_MANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20602, - "src": "3137:22:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20668, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3080:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3080:80:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20679, - "nodeType": "ExpressionStatement", - "src": "3080:80:28" - }, - { - "id": 20680, - "nodeType": "PlaceholderStatement", - "src": "3170:1:28" - } - ] - }, - "documentation": null, - "id": 20682, - "name": "noPermissionManager", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 20667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20664, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20682, - "src": "2957:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2957:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20666, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20682, - "src": "2971:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20665, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2971:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2956:29:28" - }, - "src": "2928:250:28", - "visibility": "internal" - }, - { - "body": { - "id": 20710, - "nodeType": "Block", - "src": "3577:205:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20689, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3587:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 20690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3587:13:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20691, - "nodeType": "ExpressionStatement", - "src": "3587:13:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20693, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3618:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 20694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3618:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20696, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3640:6:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 20697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:8:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 20695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3632:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3632:17:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3618:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20700, - "name": "ERROR_AUTH_INIT_KERNEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20596, - "src": "3651:22:28", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20692, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3610:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3610:64:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20702, - "nodeType": "ExpressionStatement", - "src": "3610:64:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20704, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20684, - "src": "3703:19:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20705, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29895, - "src": "3724:4:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 20706, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "3730:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20707, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20684, - "src": "3755:19:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20703, - "name": "_createPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21152, - "src": "3685:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address)" - } - }, - "id": 20708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3685:90:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20709, - "nodeType": "ExpressionStatement", - "src": "3685:90:28" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize an ACL instance and set `_permissionsCreator` as the entity that can create other permissions\n@param _permissionsCreator Entity that will be given permission over createPermission", - "id": 20711, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 20687, - "modifierName": { - "argumentTypes": null, - "id": 20686, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3568:8:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3568:8:28" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20685, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20684, - "name": "_permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 20711, - "src": "3532:27:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20683, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3532:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3531:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20688, - "nodeType": "ParameterList", - "parameters": [], - "src": "3577:0:28" - }, - "scope": 21811, - "src": "3512:270:28", - "stateMutability": "nonpayable", - "superFunction": 22318, - "visibility": "public" - }, - { - "body": { - "id": 20736, - "nodeType": "Block", - "src": "5044:66:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20730, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20713, - "src": "5072:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20731, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20715, - "src": "5081:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20732, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20717, - "src": "5087:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20733, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20719, - "src": "5094:8:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20729, - "name": "_createPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21152, - "src": "5054:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address)" - } - }, - "id": 20734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5054:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20735, - "nodeType": "ExpressionStatement", - "src": "5054:49:28" - } - ] - }, - "documentation": "@dev Creates a permission that wasn't previously set and managed.\n If a created permission is removed it is possible to reset it with createPermission.\n This is the **ONLY** way to create permissions and set managers to permissions that don't\n have a manager.\n In terms of the ACL being initialized, this function implicitly protects all the other\n state-changing external functions, as they all require the sender to be a manager.\n@notice Create a new permission granting `_entity` the ability to perform actions requiring `_role` on `_app`, setting `_manager` as the permission's manager\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform\n@param _manager Address of the entity that will be able to grant and revoke the permission further.", - "id": 20737, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20722, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "4974:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20723, - "modifierName": { - "argumentTypes": null, - "id": 20721, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "4969:4:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4969:29:28" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 20725, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20715, - "src": "5027:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20726, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20717, - "src": "5033:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20727, - "modifierName": { - "argumentTypes": null, - "id": 20724, - "name": "noPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20682, - "src": "5007:19:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5007:32:28" - } - ], - "name": "createPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20713, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4880:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4880:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20715, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4897:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4897:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20717, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4911:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20716, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4911:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20719, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 20737, - "src": "4926:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4926:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4879:64:28" - }, - "payable": false, - "returnParameters": { - "id": 20728, - "nodeType": "ParameterList", - "parameters": [], - "src": "5044:0:28" - }, - "scope": 21811, - "src": "4854:256:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20757, - "nodeType": "Block", - "src": "5702:73:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20747, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20739, - "src": "5729:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20748, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20741, - "src": "5738:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20749, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20743, - "src": "5744:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5765:1:28", - "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": 20752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5751:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 20750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5755:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20751, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5755:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 20754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:16:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - ], - "id": 20746, - "name": "grantPermissionP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20794, - "src": "5712:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,bytes32,uint256[] memory)" - } - }, - "id": 20755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5712:56:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20756, - "nodeType": "ExpressionStatement", - "src": "5712:56:28" - } - ] - }, - "documentation": "@dev Grants permission if allowed. This requires `msg.sender` to be the permission manager\n@notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform", - "id": 20758, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "grantPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20739, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5635:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5635:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20741, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5652:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5652:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20743, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20758, - "src": "5666:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20742, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5666:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20745, - "nodeType": "ParameterList", - "parameters": [], - "src": "5702:0:28" - }, - "scope": 21811, - "src": "5610:165:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20793, - "nodeType": "Block", - "src": "6489:156:28", - "statements": [ - { - "assignments": [ - 20775 - ], - "declarations": [ - { - "constant": false, - "id": 20775, - "name": "paramsHash", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6499:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20774, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6499:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20785, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20776, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20767, - "src": "6520:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 20777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6520:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6537:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6520:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 20783, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "6564:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 20784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6520:60:28", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20781, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20767, - "src": "6553:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 20780, - "name": "_saveParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21278, - "src": "6541:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint256[] memory) returns (bytes32)" - } - }, - "id": 20782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6541:20:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6499:81:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20787, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20760, - "src": "6605:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20788, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20762, - "src": "6614:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20789, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20764, - "src": "6620:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20790, - "name": "paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20775, - "src": "6627:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20786, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "6590:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 20791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6590:48:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20792, - "nodeType": "ExpressionStatement", - "src": "6590:48:28" - } - ] - }, - "documentation": "@dev Grants a permission with parameters if allowed. This requires `msg.sender` to be the permission manager\n@notice Grant `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app in which the role will be allowed (requires app to depend on kernel for ACL)\n@param _role Identifier for the group of actions in app given access to perform\n@param _params Permission parameters", - "id": 20794, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20770, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20762, - "src": "6472:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20771, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20764, - "src": "6478:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20772, - "modifierName": { - "argumentTypes": null, - "id": 20769, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "6450:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6450:34:28" - } - ], - "name": "grantPermissionP", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20760, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6362:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6362:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20762, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6379:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6379:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20764, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6393:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20763, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6393:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20767, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 20794, - "src": "6408:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 20765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6408:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6408:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:65:28" - }, - "payable": false, - "returnParameters": { - "id": 20773, - "nodeType": "ParameterList", - "parameters": [], - "src": "6489:0:28" - }, - "scope": 21811, - "src": "6336:309:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20814, - "nodeType": "Block", - "src": "7223:68:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20808, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20796, - "src": "7248:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20809, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20798, - "src": "7257:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20810, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20800, - "src": "7263:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20811, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "7270:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20807, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "7233:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 20812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7233:51:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20813, - "nodeType": "ExpressionStatement", - "src": "7233:51:28" - } - ] - }, - "documentation": "@dev Revokes permission if allowed. This requires `msg.sender` to be the the permission manager\n@notice Revoke from `_entity` the ability to perform actions requiring `_role` on `_app`\n@param _entity Address of the whitelisted entity to revoke access from\n@param _app Address of the app in which the role will be revoked\n@param _role Identifier for the group of actions in app being revoked", - "id": 20815, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20803, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20798, - "src": "7206:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20804, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20800, - "src": "7212:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20805, - "modifierName": { - "argumentTypes": null, - "id": 20802, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "7184:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7184:34:28" - } - ], - "name": "revokePermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20796, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7113:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7113:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20798, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7130:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20797, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7130:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20800, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20815, - "src": "7144:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20799, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7144:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7112:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20806, - "nodeType": "ParameterList", - "parameters": [], - "src": "7223:0:28" - }, - "scope": 21811, - "src": "7087:204:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20834, - "nodeType": "Block", - "src": "7743:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20829, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20817, - "src": "7775:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20830, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20819, - "src": "7788:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20831, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20821, - "src": "7794:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20828, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "7753:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7753:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20833, - "nodeType": "ExpressionStatement", - "src": "7753:47:28" - } - ] - }, - "documentation": "@notice Set `_newManager` as the manager of `_role` in `_app`\n@param _newManager Address for the new manager\n@param _app Address of the app in which the permission management is being transferred\n@param _role Identifier for the group of actions being transferred", - "id": 20835, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20824, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20819, - "src": "7726:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20825, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20821, - "src": "7732:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20826, - "modifierName": { - "argumentTypes": null, - "id": 20823, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "7704:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7704:34:28" - } - ], - "name": "setPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20817, - "name": "_newManager", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7629:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20816, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7629:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20819, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7650:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20821, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20835, - "src": "7664:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20820, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7664:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7628:50:28" - }, - "payable": false, - "returnParameters": { - "id": 20827, - "nodeType": "ParameterList", - "parameters": [], - "src": "7743:0:28" - }, - "scope": 21811, - "src": "7599:208:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20854, - "nodeType": "Block", - "src": "8159:63:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8199:1:28", - "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": 20847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8191:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8191:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20850, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20837, - "src": "8203:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20851, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20839, - "src": "8209:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20846, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "8169:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8169:46:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20853, - "nodeType": "ExpressionStatement", - "src": "8169:46:28" - } - ] - }, - "documentation": "@notice Remove the manager of `_role` in `_app`\n@param _app Address of the app in which the permission is being unmanaged\n@param _role Identifier for the group of actions being unmanaged", - "id": 20855, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20842, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20837, - "src": "8142:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20843, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20839, - "src": "8148:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20844, - "modifierName": { - "argumentTypes": null, - "id": 20841, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "8120:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8120:34:28" - } - ], - "name": "removePermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20837, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20855, - "src": "8066:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20836, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8066:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20839, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20855, - "src": "8080:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20838, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8080:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8065:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20845, - "nodeType": "ParameterList", - "parameters": [], - "src": "8159:0:28" - }, - "scope": 21811, - "src": "8033:189:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20875, - "nodeType": "Block", - "src": "8673:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20870, - "name": "BURN_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20590, - "src": "8705:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20871, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20857, - "src": "8718:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20872, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20859, - "src": "8724:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20869, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "8683:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8683:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20874, - "nodeType": "ExpressionStatement", - "src": "8683:47:28" - } - ] - }, - "documentation": "@notice Burn non-existent `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n@param _app Address of the app in which the permission is being burned\n@param _role Identifier for the group of actions being burned", - "id": 20876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20862, - "name": "CREATE_PERMISSIONS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20535, - "src": "8603:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20863, - "modifierName": { - "argumentTypes": null, - "id": 20861, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8598:4:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8598:29:28" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 20865, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20857, - "src": "8656:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20866, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20859, - "src": "8662:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20867, - "modifierName": { - "argumentTypes": null, - "id": 20864, - "name": "noPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20682, - "src": "8636:19:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8636:32:28" - } - ], - "name": "createBurnedPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20857, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20876, - "src": "8544:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8544:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20859, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20876, - "src": "8558:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20858, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8558:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8543:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20868, - "nodeType": "ParameterList", - "parameters": [], - "src": "8673:0:28" - }, - "scope": 21811, - "src": "8512:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20893, - "nodeType": "Block", - "src": "9138:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20888, - "name": "BURN_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20590, - "src": "9170:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20889, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20878, - "src": "9183:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20890, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20880, - "src": "9189:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20887, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "9148:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 20891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:47:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20892, - "nodeType": "ExpressionStatement", - "src": "9148:47:28" - } - ] - }, - "documentation": "@notice Burn `_role` in `_app`, so no modification can be made to it (grant, revoke, permission manager)\n@param _app Address of the app in which the permission is being burned\n@param _role Identifier for the group of actions being burned", - "id": 20894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20883, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20878, - "src": "9121:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20884, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20880, - "src": "9127:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 20885, - "modifierName": { - "argumentTypes": null, - "id": 20882, - "name": "onlyPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20662, - "src": "9099:21:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes32_$", - "typeString": "modifier (address,bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9099:34:28" - } - ], - "name": "burnPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20878, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20894, - "src": "9045:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9045:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20880, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20894, - "src": "9059:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20879, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9059:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20886, - "nodeType": "ParameterList", - "parameters": [], - "src": "9138:0:28" - }, - "scope": 21811, - "src": "9014:188:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20916, - "nodeType": "Block", - "src": "9620:98:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20905, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "9637:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 20913, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20906, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "9654:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 20912, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20908, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20896, - "src": "9681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20909, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20898, - "src": "9690:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20910, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20900, - "src": "9696:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20907, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "9666:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 20911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9666:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9654:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9637:67:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 20914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9637:74:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 20904, - "id": 20915, - "nodeType": "Return", - "src": "9630:81:28" - } - ] - }, - "documentation": "@notice Get parameters for permission array length\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@return Length of the array", - "id": 20917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionParamsLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20896, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9545:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20898, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9562:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9562:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20900, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9576:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20899, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9576:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9544:46:28" - }, - "payable": false, - "returnParameters": { - "id": 20904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20903, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20917, - "src": "9614:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20902, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9614:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9613:6:28" - }, - "scope": 21811, - "src": "9510:208:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20956, - "nodeType": "Block", - "src": "10225:164:28", - "statements": [ - { - "assignments": [ - 20935 - ], - "declarations": [ - { - "constant": false, - "id": 20935, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10235:19:28", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 20934, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "10235:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20947, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20936, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "10257:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 20944, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20937, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "10274:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 20943, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20939, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20919, - "src": "10301:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20940, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20921, - "src": "10310:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20941, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20923, - "src": "10316:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20938, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "10286:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 20942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10286:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10274:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10257:67:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 20946, - "indexExpression": { - "argumentTypes": null, - "id": 20945, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20925, - "src": "10325:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10257:75:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage", - "typeString": "struct ACL.Param storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10235:97:28" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20948, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10350:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "10350:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20950, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10360:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "10360:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20952, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20935, - "src": "10370:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param storage pointer" - } - }, - "id": 20953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "10370:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "id": 20954, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10349:33:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint8_$_t_uint240_$", - "typeString": "tuple(uint8,uint8,uint240)" - } - }, - "functionReturnParameters": 20933, - "id": 20955, - "nodeType": "Return", - "src": "10342:40:28" - } - ] - }, - "documentation": "@notice Get parameter for permission\n@param _entity Address of the whitelisted entity that will be able to perform the role\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@param _index Index of parameter in the array\n@return Parameter (id, op, value)", - "id": 20957, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20919, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10092:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10092:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20921, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10109:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20920, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10109:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20923, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10123:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10123:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20925, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10138:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20924, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10138:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10091:59:28" - }, - "payable": false, - "returnParameters": { - "id": 20933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20928, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10198:5:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20927, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10198:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10205:5:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 20929, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10205:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20957, - "src": "10212:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - }, - "typeName": { - "id": 20931, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "10212:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10197:23:28" - }, - "scope": 21811, - "src": "10064:325:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 20973, - "nodeType": "Block", - "src": "10690:64:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20966, - "name": "permissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20615, - "src": "10707:17:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 20971, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20968, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20959, - "src": "10734:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20969, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20961, - "src": "10740:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20967, - "name": "roleHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21788, - "src": "10725:8:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,bytes32) pure returns (bytes32)" - } - }, - "id": 20970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10725:21:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10707:40:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 20965, - "id": 20972, - "nodeType": "Return", - "src": "10700:47:28" - } - ] - }, - "documentation": "@dev Get manager for permission\n@param _app Address of the app\n@param _role Identifier for a group of actions in app\n@return address of the manager for the permission", - "id": 20974, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20959, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10631:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20958, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10631:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20961, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10645:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20960, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10645:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10630:29:28" - }, - "payable": false, - "returnParameters": { - "id": 20965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20964, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20974, - "src": "10681:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10681:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10680:9:28" - }, - "scope": 21811, - "src": "10601:153:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20997, - "nodeType": "Block", - "src": "11234:115:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20988, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20976, - "src": "11265:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20989, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20978, - "src": "11271:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20990, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20980, - "src": "11279:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20993, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20982, - "src": "11336:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 20991, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "11286:17:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 20992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastBytesToUintArray", - "nodeType": "MemberAccess", - "referencedDeclaration": 23515, - "src": "11286:49:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (uint256[] memory)" - } - }, - "id": 20994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11286:55:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 20987, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20998, - 21065, - 21094 - ], - "referencedDeclaration": 21065, - "src": "11251:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 20995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11251:91:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20986, - "id": 20996, - "nodeType": "Return", - "src": "11244:98:28" - } - ] - }, - "documentation": "@dev Function called by apps to check ACL on kernel or to check permission statu\n@param _who Sender of the original call\n@param _where Address of the app\n@param _where Identifier for a group of actions in app\n@param _how Permission parameters\n@return boolean indicating whether the ACL allows the role or not", - "id": 20998, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20976, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11143:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20975, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11143:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20978, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11157:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11157:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20980, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11173:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20979, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11173:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20982, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11188:17:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11188:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11142:64:28" - }, - "payable": false, - "returnParameters": { - "id": 20986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20985, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20998, - "src": "11228:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11228:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11227:6:28" - }, - "scope": 21811, - "src": "11120:229:28", - "stateMutability": "view", - "superFunction": 22331, - "visibility": "public" - }, - { - "body": { - "id": 21064, - "nodeType": "Block", - "src": "11473:457:28", - "statements": [ - { - "assignments": [ - 21013 - ], - "declarations": [ - { - "constant": false, - "id": 21013, - "name": "whoParams", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11483:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21012, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11483:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21021, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21014, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "11503:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21020, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21016, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21000, - "src": "11530:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21017, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11536:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21018, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11544:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21015, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "11515:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11515:35:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11503:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11483:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21022, - "name": "whoParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21013, - "src": "11565:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21023, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "11578:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11565:26:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21026, - "name": "whoParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21013, - "src": "11606:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21027, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21000, - "src": "11617:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21028, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11623:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21029, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11631:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21030, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21007, - "src": "11638:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21025, - "name": "evalParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21127, - "src": "11595:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11595:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11565:78:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21036, - "nodeType": "IfStatement", - "src": "11561:120:28", - "trueBody": { - "id": 21035, - "nodeType": "Block", - "src": "11645:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11666:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21011, - "id": 21034, - "nodeType": "Return", - "src": "11659:11:28" - } - ] - } - }, - { - "assignments": [ - 21038 - ], - "declarations": [ - { - "constant": false, - "id": 21038, - "name": "anyParams", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11691:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21037, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11691:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21046, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21039, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "11711:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21045, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21041, - "name": "ANY_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20585, - "src": "11738:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21042, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11750:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21043, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11758:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21040, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "11723:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11723:41:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11711:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11691:74:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21047, - "name": "anyParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21038, - "src": "11779:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21048, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "11792:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11779:26:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21051, - "name": "anyParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21038, - "src": "11820:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21052, - "name": "ANY_ENTITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20585, - "src": "11831:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21053, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21002, - "src": "11843:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21054, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21004, - "src": "11851:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21055, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21007, - "src": "11858:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21050, - "name": "evalParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21127, - "src": "11809:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11809:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11779:84:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21061, - "nodeType": "IfStatement", - "src": "11775:126:28", - "trueBody": { - "id": 21060, - "nodeType": "Block", - "src": "11865:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11886:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21011, - "id": 21059, - "nodeType": "Return", - "src": "11879:11:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11918:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21011, - "id": 21063, - "nodeType": "Return", - "src": "11911:12:28" - } - ] - }, - "documentation": null, - "id": 21065, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21008, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21000, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11378:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11378:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21002, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11392:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21001, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11392:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21004, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11408:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21003, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11408:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21007, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11423:21:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11423:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21006, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11423:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11377:68:28" - }, - "payable": false, - "returnParameters": { - "id": 21011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21010, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21065, - "src": "11467:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21009, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11467:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11466:6:28" - }, - "scope": 21811, - "src": "11355:575:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21093, - "nodeType": "Block", - "src": "12031:116:28", - "statements": [ - { - "assignments": [ - 21079 - ], - "declarations": [ - { - "constant": false, - "id": 21079, - "name": "empty", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "12041:22:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12041:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21078, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12041:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21085, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12080:1:28", - "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": 21082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12066:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12070:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21081, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12070:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12066:16:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12041:41:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21087, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21067, - "src": "12113:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21088, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21069, - "src": "12119:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21089, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21071, - "src": "12127:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21090, - "name": "empty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21079, - "src": "12134:5:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21086, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20998, - 21065, - 21094 - ], - "referencedDeclaration": 21065, - "src": "12099:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12099:41:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21075, - "id": 21092, - "nodeType": "Return", - "src": "12092:48:28" - } - ] - }, - "documentation": null, - "id": 21094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21067, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11959:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11959:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21069, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11973:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11973:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21071, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "11989:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21070, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11989:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11958:45:28" - }, - "payable": false, - "returnParameters": { - "id": 21075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21074, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21094, - "src": "12025:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21073, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12025:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12024:6:28" - }, - "scope": 21811, - "src": "11936:211:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21126, - "nodeType": "Block", - "src": "12332:160:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21110, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21096, - "src": "12346:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21111, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "12361:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12346:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21116, - "nodeType": "IfStatement", - "src": "12342:73:28", - "trueBody": { - "id": 21115, - "nodeType": "Block", - "src": "12379:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12400:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21109, - "id": 21114, - "nodeType": "Return", - "src": "12393:11:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21118, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21096, - "src": "12443:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 21119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12456:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 21120, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21098, - "src": "12459:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21121, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21100, - "src": "12465:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21122, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21102, - "src": "12473:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21123, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21105, - "src": "12480:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21117, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "12432:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12432:53:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21109, - "id": 21125, - "nodeType": "Return", - "src": "12425:60:28" - } - ] - }, - "documentation": null, - "id": 21127, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "evalParams", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21096, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12182:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21095, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12182:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21098, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12211:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12211:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21100, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12233:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12233:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21102, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12257:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21101, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12257:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21105, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12280:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12280:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21104, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12280:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12172:128:28" - }, - "payable": false, - "returnParameters": { - "id": 21109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21127, - "src": "12322:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21107, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12322:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12321:6:28" - }, - "scope": 21811, - "src": "12153:339:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 21151, - "nodeType": "Block", - "src": "12698:125:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21139, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21129, - "src": "12723:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21140, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21131, - "src": "12732:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21141, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21133, - "src": "12738:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21142, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "12745:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21138, - "name": "_setPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21205, - "src": "12708:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 21143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12708:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21144, - "nodeType": "ExpressionStatement", - "src": "12708:54:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21146, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21135, - "src": "12794:8:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21147, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21131, - "src": "12804:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21148, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21133, - "src": "12810:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21145, - "name": "_setPermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21769, - "src": "12772:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 21149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12772:44:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21150, - "nodeType": "ExpressionStatement", - "src": "12772:44:28" - } - ] - }, - "documentation": "@dev Internal createPermission for access inside the kernel (on instantiation)", - "id": 21152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21129, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12625:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12625:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21131, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12642:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12642:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21133, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12656:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21132, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12656:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21135, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 21152, - "src": "12671:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12671:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12624:64:28" - }, - "payable": false, - "returnParameters": { - "id": 21137, - "nodeType": "ParameterList", - "parameters": [], - "src": "12698:0:28" - }, - "scope": 21811, - "src": "12598:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21204, - "nodeType": "Block", - "src": "13012:426:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21163, - "name": "permissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20606, - "src": "13022:11:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", - "typeString": "mapping(bytes32 => bytes32)" - } - }, - "id": 21169, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21165, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13049:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21166, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13058:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21167, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13064:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21164, - "name": "permissionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21810, - "src": "13034:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,address,bytes32) pure returns (bytes32)" - } - }, - "id": 21168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13034:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13022:49:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 21170, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13074:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13022:63:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 21172, - "nodeType": "ExpressionStatement", - "src": "13022:63:28" - }, - { - "assignments": [ - 21174 - ], - "declarations": [ - { - "constant": false, - "id": 21174, - "name": "entityHasPermission", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "13095:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21173, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13095:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21178, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21175, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13122:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21176, - "name": "NO_PERMISSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20579, - "src": "13137:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13122:28:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13095:55:28" - }, - { - "assignments": [ - 21180 - ], - "declarations": [ - { - "constant": false, - "id": 21180, - "name": "permissionHasParams", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "13160:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13160:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21186, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21181, - "name": "entityHasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21174, - "src": "13187:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 21184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21182, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13210:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21183, - "name": "EMPTY_PARAM_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20574, - "src": "13225:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13210:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13187:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13160:81:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21188, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13271:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21189, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13280:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21190, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13286:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21191, - "name": "entityHasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21174, - "src": "13293:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 21187, - "name": "SetPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20625, - "src": "13257:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (address,address,bytes32,bool)" - } - }, - "id": 21192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13257:56:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21193, - "nodeType": "EmitStatement", - "src": "13252:61:28" - }, - { - "condition": { - "argumentTypes": null, - "id": 21194, - "name": "permissionHasParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21180, - "src": "13327:19:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21203, - "nodeType": "IfStatement", - "src": "13323:109:28", - "trueBody": { - "id": 21202, - "nodeType": "Block", - "src": "13348:84:28", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21196, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21154, - "src": "13387:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21197, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21156, - "src": "13396:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21198, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21158, - "src": "13402:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21199, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21160, - "src": "13409:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21195, - "name": "SetPermissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20635, - "src": "13367:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32,bytes32)" - } - }, - "id": 21200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13367:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21201, - "nodeType": "EmitStatement", - "src": "13362:59:28" - } - ] - } - } - ] - }, - "documentation": "@dev Internal function called to actually save the permission", - "id": 21205, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21154, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12936:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12936:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21156, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12953:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12953:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21158, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12967:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21157, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12967:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21160, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21205, - "src": "12982:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21159, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12982:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12935:67:28" - }, - "payable": false, - "returnParameters": { - "id": 21162, - "nodeType": "ParameterList", - "parameters": [], - "src": "13012:0:28" - }, - "scope": 21811, - "src": "12912:526:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21277, - "nodeType": "Block", - "src": "13518:540:28", - "statements": [ - { - "assignments": [ - 21214 - ], - "declarations": [ - { - "constant": false, - "id": 21214, - "name": "paramHash", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13528:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13528:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21221, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21218, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13575:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21216, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "13558:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13558:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13558:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21215, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "13548:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13548:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13528:63:28" - }, - { - "assignments": [ - 21225 - ], - "declarations": [ - { - "constant": false, - "id": 21225, - "name": "params", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13601:22:28", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 21223, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "13601:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "id": 21224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13601:7:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21229, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21226, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "13626:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21228, - "indexExpression": { - "argumentTypes": null, - "id": 21227, - "name": "paramHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21214, - "src": "13643:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13626:27:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13601:52:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21230, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21225, - "src": "13668:6:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param storage ref[] storage pointer" - } - }, - "id": 21231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13668:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13685:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13668:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21274, - "nodeType": "IfStatement", - "src": "13664:361:28", - "trueBody": { - "id": 21273, - "nodeType": "Block", - "src": "13688:337:28", - "statements": [ - { - "body": { - "id": 21271, - "nodeType": "Block", - "src": "13781:234:28", - "statements": [ - { - "assignments": [ - 21246 - ], - "declarations": [ - { - "constant": false, - "id": 21246, - "name": "encodedParam", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13799:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13799:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21250, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21247, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13822:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21249, - "indexExpression": { - "argumentTypes": null, - "id": 21248, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13837:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13822:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13799:40:28" - }, - { - "assignments": [ - 21252 - ], - "declarations": [ - { - "constant": false, - "id": 21252, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13857:18:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21251, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "13857:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21264, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21255, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13898:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21254, - "name": "decodeParamId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22270, - "src": "13884:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 21256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13884:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21258, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13927:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21257, - "name": "decodeParamOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22253, - "src": "13913:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 21259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13913:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21261, - "name": "encodedParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21246, - "src": "13950:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13942:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": "uint240" - }, - "id": 21262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13942:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21253, - "name": "Param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20556, - "src": "13878:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Param_$20556_storage_ptr_$", - "typeString": "type(struct ACL.Param storage pointer)" - } - }, - "id": 21263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13878:86:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory", - "typeString": "struct ACL.Param memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13857:107:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21268, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21252, - "src": "13994:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21265, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21225, - "src": "13982:6:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage_ptr", - "typeString": "struct ACL.Param storage ref[] storage pointer" - } - }, - "id": 21267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13982:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Param_$20556_storage_$returns$_t_uint256_$", - "typeString": "function (struct ACL.Param storage ref) returns (uint256)" - } - }, - "id": 21269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13982:18:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21270, - "nodeType": "ExpressionStatement", - "src": "13982:18:28" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21238, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13749:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21239, - "name": "_encodedParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21208, - "src": "13753:14:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13753:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13749:25:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 21272, - "initializationExpression": { - "assignments": [ - 21235 - ], - "declarations": [ - { - "constant": false, - "id": 21235, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13734:9:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13734:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21237, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 21236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13746:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13734:13:28" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 21243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13776:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21242, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21235, - "src": "13776:1:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21244, - "nodeType": "ExpressionStatement", - "src": "13776:3:28" - }, - "nodeType": "ForStatement", - "src": "13729:286:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21275, - "name": "paramHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21214, - "src": "14042:9:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21212, - "id": 21276, - "nodeType": "Return", - "src": "14035:16:28" - } - ] - }, - "documentation": null, - "id": 21278, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_saveParams", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21208, - "name": "_encodedParams", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13465:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13465:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21207, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13465:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13464:26:28" - }, - "payable": false, - "returnParameters": { - "id": 21212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21211, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21278, - "src": "13509:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21210, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13509:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13508:9:28" - }, - "scope": 21811, - "src": "13444:614:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21445, - "nodeType": "Block", - "src": "14270:1208:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21296, - "name": "_paramId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21282, - "src": "14284:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21297, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "14296:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21299, - "indexExpression": { - "argumentTypes": null, - "id": 21298, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14313:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14296:29:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 21300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14296:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14284:48:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21305, - "nodeType": "IfStatement", - "src": "14280:108:28", - "trueBody": { - "id": 21304, - "nodeType": "Block", - "src": "14334:54:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14355:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21295, - "id": 21303, - "nodeType": "Return", - "src": "14348:12:28" - } - ] - } - }, - { - "assignments": [ - 21307 - ], - "declarations": [ - { - "constant": false, - "id": 21307, - "name": "param", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14398:18:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21306, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "14398:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21313, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21308, - "name": "permissionParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20611, - "src": "14419:16:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_Param_$20556_storage_$dyn_storage_$", - "typeString": "mapping(bytes32 => struct ACL.Param storage ref[] storage ref)" - } - }, - "id": 21310, - "indexExpression": { - "argumentTypes": null, - "id": 21309, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14436:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14419:29:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Param_$20556_storage_$dyn_storage", - "typeString": "struct ACL.Param storage ref[] storage ref" - } - }, - "id": 21312, - "indexExpression": { - "argumentTypes": null, - "id": 21311, - "name": "_paramId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21282, - "src": "14449:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14419:39:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage", - "typeString": "struct ACL.Param storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14398:60:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21314, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14473:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14473:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21316, - "name": "LOGIC_OP_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20568, - "src": "14485:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14473:29:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21328, - "nodeType": "IfStatement", - "src": "14469:124:28", - "trueBody": { - "id": 21327, - "nodeType": "Block", - "src": "14504:89:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21319, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14536:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - { - "argumentTypes": null, - "id": 21320, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21280, - "src": "14543:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21321, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21284, - "src": "14556:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21322, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21286, - "src": "14562:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21323, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21288, - "src": "14570:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21324, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "14577:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21318, - "name": "_evalLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21611, - "src": "14525:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Param_$20556_memory_ptr_$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct ACL.Param memory,bytes32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14525:57:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21326, - "nodeType": "Return", - "src": "14518:64:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21330, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14603:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14603:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21331, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14603:13:28" - }, - { - "assignments": [ - 21333 - ], - "declarations": [ - { - "constant": false, - "id": 21333, - "name": "comparedTo", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14626:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14626:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21338, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21335, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14655:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "14655:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14647:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14647:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14626:41:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21339, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14703:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14703:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21341, - "name": "ORACLE_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20565, - "src": "14715:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14703:27:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21364, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14874:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14874:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21366, - "name": "BLOCK_NUMBER_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20559, - "src": "14886:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14874:33:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21374, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14968:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "14968:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21376, - "name": "TIMESTAMP_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20562, - "src": "14980:18:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14968:30:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 21387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21384, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15057:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15057:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21386, - "name": "PARAM_VALUE_PARAM_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20571, - "src": "15069:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "15057:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 21416, - "nodeType": "Block", - "src": "15150:176:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21396, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15168:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15168:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21398, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "15180:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15180:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15168:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21404, - "nodeType": "IfStatement", - "src": "15164:74:28", - "trueBody": { - "id": 21403, - "nodeType": "Block", - "src": "15193:45:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15218:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21295, - "id": 21402, - "nodeType": "Return", - "src": "15211:12:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21405, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15251:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21408, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "15275:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 21411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21409, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15280:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 20551, - "src": "15280:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15275:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15267:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": "uint240" - }, - "id": 21412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15267:23:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15259:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15259:32:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15251:40:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21415, - "nodeType": "ExpressionStatement", - "src": "15251:40:28" - } - ] - }, - "id": 21417, - "nodeType": "IfStatement", - "src": "15053:273:28", - "trueBody": { - "id": 21395, - "nodeType": "Block", - "src": "15091:53:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21388, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15105:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21390, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15121:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "15121:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15113:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15113:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15105:28:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21394, - "nodeType": "ExpressionStatement", - "src": "15105:28:28" - } - ] - } - }, - "id": 21418, - "nodeType": "IfStatement", - "src": "14964:362:28", - "trueBody": { - "id": 21383, - "nodeType": "Block", - "src": "15000:47:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21378, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15014:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 21379, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15022:12:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 21380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15022:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:22:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21382, - "nodeType": "ExpressionStatement", - "src": "15014:22:28" - } - ] - } - }, - "id": 21419, - "nodeType": "IfStatement", - "src": "14870:456:28", - "trueBody": { - "id": 21373, - "nodeType": "Block", - "src": "14909:49:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21368, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "14923:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 21369, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "14931:14:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 21370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14931:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14923:24:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21372, - "nodeType": "ExpressionStatement", - "src": "14923:24:28" - } - ] - } - }, - "id": 21420, - "nodeType": "IfStatement", - "src": "14699:627:28", - "trueBody": { - "id": 21363, - "nodeType": "Block", - "src": "14732:132:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21343, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "14746:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21346, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "14777:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "14777:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21345, - "name": "IACLOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22349, - "src": "14766:10:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACLOracle_$22349_$", - "typeString": "type(contract IACLOracle)" - } - }, - "id": 21348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14766:23:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - { - "argumentTypes": null, - "id": 21349, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21284, - "src": "14791:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21350, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21286, - "src": "14797:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21351, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21288, - "src": "14805:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21352, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21291, - "src": "14812:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21344, - "name": "checkOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21744, - "src": "14754:11:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_IACLOracle_$22349_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (contract IACLOracle,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14754:63:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14824:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 21356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14754:71:28", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 21354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14820:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14746:79:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21358, - "nodeType": "ExpressionStatement", - "src": "14746:79:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 21359, - "name": "comparedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21333, - "src": "14839:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 21360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14852:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14839:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21362, - "nodeType": "ExpressionStatement", - "src": "14839:14:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21422, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15343:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15343:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21421, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15340:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15340:12:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21425, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15356:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "RET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15356:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "15340:22:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21435, - "nodeType": "IfStatement", - "src": "15336:78:28", - "trueBody": { - "id": 21434, - "nodeType": "Block", - "src": "15364:50:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21429, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15393:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15385:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15385:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 21431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15402:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15385:18:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21433, - "nodeType": "Return", - "src": "15378:25:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21437, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21330, - "src": "15439:5:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21439, - "name": "param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21307, - "src": "15449:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15449:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21438, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15446:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15446:12:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - { - "argumentTypes": null, - "id": 21442, - "name": "comparedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21333, - "src": "15460:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21436, - "name": "compare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21679, - "src": "15431:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_enum$_Op_$20549_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,enum ACL.Op,uint256) pure returns (bool)" - } - }, - "id": 21443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15431:40:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21295, - "id": 21444, - "nodeType": "Return", - "src": "15424:47:28" - } - ] - }, - "documentation": null, - "id": 21446, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_evalParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21280, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14093:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21279, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14093:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21282, - "name": "_paramId", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14122:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21281, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14122:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21284, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14147:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14147:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21286, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14169:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14169:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21288, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14193:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14193:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21291, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14216:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14216:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21290, - "length": null, - "nodeType": "ArrayTypeName", - "src": "14216:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14083:153:28" - }, - "payable": false, - "returnParameters": { - "id": 21295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21294, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21446, - "src": "14260:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21293, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14260:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14259:6:28" - }, - "scope": 21811, - "src": "14064:1414:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21610, - "nodeType": "Block", - "src": "15657:1131:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21465, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "15674:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "15674:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21464, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15671:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15671:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21468, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "15688:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IF_ELSE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15688:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "15671:27:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21516, - "nodeType": "IfStatement", - "src": "15667:450:28", - "trueBody": { - "id": 21515, - "nodeType": "Block", - "src": "15700:417:28", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21472, - "name": "conditionParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15714:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21471, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15714:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21473, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15714:21:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21475, - "name": "successParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15749:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21474, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15749:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21476, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15749:19:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21478, - "name": "failureParam", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15782:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21477, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15782:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21479, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "15782:19:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 21480, - "name": "conditionParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21472, - "src": "15817:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21481, - "name": "successParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21475, - "src": "15833:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21482, - "name": "failureParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21478, - "src": "15847:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 21483, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "15816:44:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21486, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "15888:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "15888:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15880:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15880:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21484, - "name": "decodeParamsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22310, - "src": "15863:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32,uint32,uint32)" - } - }, - "id": 21489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15863:39:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "src": "15816:86:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21491, - "nodeType": "ExpressionStatement", - "src": "15816:86:28" - }, - { - "assignments": [ - 21493 - ], - "declarations": [ - { - "constant": false, - "id": 21493, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15916:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21492, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15916:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21502, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21495, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "15941:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21496, - "name": "conditionParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21472, - "src": "15954:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21497, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "15970:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21498, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "15976:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21499, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "15984:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21500, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "15991:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21494, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "15930:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15930:66:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15916:80:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21504, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16029:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 21505, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21493, - "src": "16042:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 21507, - "name": "failureParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21478, - "src": "16066:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 21508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16042:36:28", - "trueExpression": { - "argumentTypes": null, - "id": 21506, - "name": "successParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21475, - "src": "16051:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21509, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16080:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21510, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16086:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21511, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16094:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21512, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16101:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21503, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16018:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16018:88:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21514, - "nodeType": "Return", - "src": "16011:95:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21518, - "name": "param1", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16127:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21517, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16127:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21519, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16127:13:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21521, - "name": "param2", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16150:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 21520, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16150:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21522, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16150:13:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 21523, - "name": "param1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21518, - "src": "16175:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21524, - "name": "param2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21521, - "src": "16183:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - null - ], - "id": 21525, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "16174:17:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$__$", - "typeString": "tuple(uint32,uint32,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21528, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16219:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21529, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 20555, - "src": "16219:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - ], - "id": 21527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16211:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16211:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21526, - "name": "decodeParamsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22310, - "src": "16194:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32,uint32,uint32)" - } - }, - "id": 21531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16194:39:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_uint32_$_t_uint32_$", - "typeString": "tuple(uint32,uint32,uint32)" - } - }, - "src": "16174:59:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21533, - "nodeType": "ExpressionStatement", - "src": "16174:59:28" - }, - { - "assignments": [ - 21535 - ], - "declarations": [ - { - "constant": false, - "id": 21535, - "name": "r1", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16243:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21534, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16243:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21544, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21537, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16264:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21538, - "name": "param1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21518, - "src": "16277:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21539, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16285:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21540, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16291:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21541, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16299:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21542, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16306:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21536, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16253:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16253:58:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16243:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21546, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16329:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16329:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21545, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16326:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16326:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21549, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16343:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NOT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16343:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16326:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21556, - "nodeType": "IfStatement", - "src": "16322:64:28", - "trueBody": { - "id": 21555, - "nodeType": "Block", - "src": "16351:35:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16372:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21552, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16373:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21554, - "nodeType": "Return", - "src": "16365:10:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21557, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16400:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21559, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16409:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16409:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21558, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16406:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16406:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21562, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16423:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "OR", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16423:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16406:22:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16400:28:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21569, - "nodeType": "IfStatement", - "src": "16396:70:28", - "trueBody": { - "id": 21568, - "nodeType": "Block", - "src": "16430:36:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 21566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16451:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 21463, - "id": 21567, - "nodeType": "Return", - "src": "16444:11:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16480:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21570, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16481:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21573, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16490:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16490:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21572, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16487:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16487:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21576, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16504:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AND", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16504:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16487:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16480:30:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21583, - "nodeType": "IfStatement", - "src": "16476:73:28", - "trueBody": { - "id": 21582, - "nodeType": "Block", - "src": "16512:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16533:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21463, - "id": 21581, - "nodeType": "Return", - "src": "16526:12:28" - } - ] - } - }, - { - "assignments": [ - 21585 - ], - "declarations": [ - { - "constant": false, - "id": 21585, - "name": "r2", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "16559:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21584, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16559:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21594, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21587, - "name": "_paramsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21450, - "src": "16580:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21588, - "name": "param2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21521, - "src": "16593:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 21589, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21452, - "src": "16601:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21590, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21454, - "src": "16607:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21591, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21456, - "src": "16615:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21592, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21459, - "src": "16622:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 21586, - "name": "_evalParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21446, - "src": "16569:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint32_$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,uint32,address,address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 21593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16569:58:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16559:68:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21596, - "name": "_param", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21448, - "src": "16645:6:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param memory" - } - }, - "id": 21597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "op", - "nodeType": "MemberAccess", - "referencedDeclaration": 20553, - "src": "16645:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 21595, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16642:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16642:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21599, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16659:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "XOR", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16659:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16642:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21607, - "nodeType": "IfStatement", - "src": "16638:69:28", - "trueBody": { - "id": 21606, - "nodeType": "Block", - "src": "16667:40:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 21604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21602, - "name": "r1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21535, - "src": "16688:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21603, - "name": "r2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21585, - "src": "16694:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16688:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21605, - "nodeType": "Return", - "src": "16681:15:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 21608, - "name": "r2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21585, - "src": "16724:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21463, - "id": 21609, - "nodeType": "Return", - "src": "16717:9:28" - } - ] - }, - "documentation": null, - "id": 21611, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_evalLogic", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21448, - "name": "_param", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15504:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_memory_ptr", - "typeString": "struct ACL.Param" - }, - "typeName": { - "contractScope": null, - "id": 21447, - "name": "Param", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20556, - "src": "15504:5:28", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Param_$20556_storage_ptr", - "typeString": "struct ACL.Param" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21450, - "name": "_paramsHash", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15518:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21449, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15518:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21452, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15539:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15539:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21454, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15553:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15553:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21456, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15569:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21455, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15569:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21459, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15584:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15584:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21458, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15584:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15503:96:28" - }, - "payable": false, - "returnParameters": { - "id": 21463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21462, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21611, - "src": "15647:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21461, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15647:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15646:6:28" - }, - "scope": 21811, - "src": "15484:1304:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21678, - "nodeType": "Block", - "src": "16872:647:28", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21622, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "16886:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21623, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16893:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EQ", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16893:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16886:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21630, - "nodeType": "IfStatement", - "src": "16882:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21626, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "16908:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 21627, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "16914:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16908:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21629, - "nodeType": "Return", - "src": "16901:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21631, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "16989:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21632, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "16996:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NEQ", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16996:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "16989:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21639, - "nodeType": "IfStatement", - "src": "16985:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21635, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17011:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 21636, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17017:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17011:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21638, - "nodeType": "Return", - "src": "17004:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21640, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17092:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21641, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17099:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17099:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17092:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21648, - "nodeType": "IfStatement", - "src": "17088:33:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21644, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17114:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 21645, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17119:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17114:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21647, - "nodeType": "Return", - "src": "17107:14:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21649, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17195:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21650, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17202:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "LT", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17202:5:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17195:12:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21657, - "nodeType": "IfStatement", - "src": "17191:33:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21653, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17217:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 21654, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17222:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17217:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21656, - "nodeType": "Return", - "src": "17210:14:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21658, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17298:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21659, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17305:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GTE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17305:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17298:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21666, - "nodeType": "IfStatement", - "src": "17294:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21662, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17320:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 21663, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17326:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17320:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21665, - "nodeType": "Return", - "src": "17313:15:28" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "id": 21670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21667, - "name": "_op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21615, - "src": "17401:3:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21668, - "name": "Op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20549, - "src": "17408:2:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Op_$20549_$", - "typeString": "type(enum ACL.Op)" - } - }, - "id": 21669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "LTE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17408:6:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "src": "17401:13:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21675, - "nodeType": "IfStatement", - "src": "17397:34:28", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21671, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21613, - "src": "17423:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 21672, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21617, - "src": "17429:2:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17423:8:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21621, - "id": 21674, - "nodeType": "Return", - "src": "17416:15:28" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17507:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21621, - "id": 21677, - "nodeType": "Return", - "src": "17500:12:28" - } - ] - }, - "documentation": null, - "id": 21679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "compare", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21613, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16811:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16811:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21615, - "name": "_op", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16823:6:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - }, - "typeName": { - "contractScope": null, - "id": 21614, - "name": "Op", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20549, - "src": "16823:2:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Op_$20549", - "typeString": "enum ACL.Op" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21617, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16831:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16831:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16810:32:28" - }, - "payable": false, - "returnParameters": { - "id": 21621, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21620, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21679, - "src": "16866:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21619, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16866:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16865:6:28" - }, - "scope": 21811, - "src": "16794:725:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21743, - "nodeType": "Block", - "src": "17660:1057:28", - "statements": [ - { - "assignments": [ - 21696 - ], - "declarations": [ - { - "constant": false, - "id": 21696, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17670:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 21695, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "17670:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21700, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 21697, - "name": "_oracleAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21681, - "src": "17683:11:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - "id": 21698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "canPerform", - "nodeType": "MemberAccess", - "referencedDeclaration": 22348, - "src": "17683:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,uint256[] memory) view external returns (bool)" - } - }, - "id": 21699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17683:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17670:44:28" - }, - { - "assignments": [ - 21702 - ], - "declarations": [ - { - "constant": false, - "id": 21702, - "name": "checkCalldata", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17825:26:28", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 21701, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17825:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21711, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21705, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21696, - "src": "17877:3:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 21706, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21683, - "src": "17882:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21707, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21685, - "src": "17888:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21708, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21687, - "src": "17896:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21709, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21690, - "src": "17903:4:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 21703, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "17854:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17854:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 21710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17854:54:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17825:83:28" - }, - { - "assignments": [ - 21713 - ], - "declarations": [ - { - "constant": false, - "id": 21713, - "name": "oracleCheckGas", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17918:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17918:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21715, - "initialValue": { - "argumentTypes": null, - "id": 21714, - "name": "ORACLE_CHECK_GAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20593, - "src": "17943:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17918:41:28" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21717, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17970:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21716, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17970:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21718, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17970:7:28" - }, - { - "externalReferences": [ - { - "checkCalldata": { - "declaration": 21702, - "isOffset": false, - "isSlot": false, - "src": "18060:13:28", - "valueSize": 1 - } - }, - { - "checkCalldata": { - "declaration": 21702, - "isOffset": false, - "isSlot": false, - "src": "18088:13:28", - "valueSize": 1 - } - }, - { - "ok": { - "declaration": 21717, - "isOffset": false, - "isSlot": false, - "src": "18010:2:28", - "valueSize": 1 - } - }, - { - "oracleCheckGas": { - "declaration": 21713, - "isOffset": false, - "isSlot": false, - "src": "18027:14:28", - "valueSize": 1 - } - }, - { - "_oracleAddr": { - "declaration": 21681, - "isOffset": false, - "isSlot": false, - "src": "18043:11:28", - "valueSize": 1 - } - } - ], - "id": 21719, - "nodeType": "InlineAssembly", - "operations": "{\n ok := staticcall(oracleCheckGas, _oracleAddr, add(checkCalldata, 0x20), mload(checkCalldata), 0, 0)\n}", - "src": "17987:144:28" - }, - { - "condition": { - "argumentTypes": null, - "id": 21721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18133:3:28", - "subExpression": { - "argumentTypes": null, - "id": 21720, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21717, - "src": "18134:2:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21725, - "nodeType": "IfStatement", - "src": "18129:46:28", - "trueBody": { - "id": 21724, - "nodeType": "Block", - "src": "18138:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18159:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21694, - "id": 21723, - "nodeType": "Return", - "src": "18152:12:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21727, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "18185:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18185:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21728, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18185:12:28" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 21727, - "isOffset": false, - "isSlot": false, - "src": "18218:4:28", - "valueSize": 1 - } - } - ], - "id": 21729, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n}", - "src": "18207:46:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 21732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 21730, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21727, - "src": "18255:4:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 21731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18263:2:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "18255:10:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21736, - "nodeType": "IfStatement", - "src": "18251:53:28", - "trueBody": { - "id": 21735, - "nodeType": "Block", - "src": "18267:37:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 21733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18288:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 21694, - "id": 21734, - "nodeType": "Return", - "src": "18281:12:28" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 21738, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "18314:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18314:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 21739, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18314:11:28" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 21738, - "isOffset": false, - "isSlot": false, - "src": "18507:6:28", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 21727, - "isOffset": false, - "isSlot": false, - "src": "18450:4:28", - "valueSize": 1 - } - } - ], - "id": 21740, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n result := mload(ptr)\n mstore(ptr, 0)\n}", - "src": "18335:368:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 21741, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21738, - "src": "18704:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 21694, - "id": 21742, - "nodeType": "Return", - "src": "18697:13:28" - } - ] - }, - "documentation": null, - "id": 21744, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkOracle", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21681, - "name": "_oracleAddr", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17546:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - }, - "typeName": { - "contractScope": null, - "id": 21680, - "name": "IACLOracle", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22349, - "src": "17546:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACLOracle_$22349", - "typeString": "contract IACLOracle" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21683, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17570:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17570:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21685, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17584:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17584:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21687, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17600:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17600:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21690, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17615:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17615:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21689, - "length": null, - "nodeType": "ArrayTypeName", - "src": "17615:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17545:85:28" - }, - "payable": false, - "returnParameters": { - "id": 21694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21693, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21744, - "src": "17654:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 21692, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17654:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17653:6:28" - }, - "scope": 21811, - "src": "17525:1192:28", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21768, - "nodeType": "Block", - "src": "18878:135:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 21760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 21753, - "name": "permissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20615, - "src": "18888:17:28", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 21758, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21755, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21748, - "src": "18915:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21756, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21750, - "src": "18921:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21754, - "name": "roleHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21788, - "src": "18906:8:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,bytes32) pure returns (bytes32)" - } - }, - "id": 21757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18906:21:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18888:40:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 21759, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21746, - "src": "18931:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18888:54:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 21761, - "nodeType": "ExpressionStatement", - "src": "18888:54:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21763, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21748, - "src": "18981:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21764, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21750, - "src": "18987:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 21765, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21746, - "src": "18994:11:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21762, - "name": "ChangePermissionManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20643, - "src": "18957:23:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address)" - } - }, - "id": 21766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18957:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21767, - "nodeType": "EmitStatement", - "src": "18952:54:28" - } - ] - }, - "documentation": "@dev Internal function that sets management", - "id": 21769, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPermissionManager", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21746, - "name": "_newManager", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18819:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18819:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21748, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18840:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18840:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21750, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 21769, - "src": "18854:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21749, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18854:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18818:50:28" - }, - "payable": false, - "returnParameters": { - "id": 21752, - "nodeType": "ParameterList", - "parameters": [], - "src": "18878:0:28" - }, - "scope": 21811, - "src": "18788:225:28", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21787, - "nodeType": "Block", - "src": "19100:74:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "524f4c45", - "id": 21781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19144:6:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9ea7bc2a13bc59432ab07436e7f7f5450f82d4b48c401bed177bfaf36b1873", - "typeString": "literal_string \"ROLE\"" - }, - "value": "ROLE" - }, - { - "argumentTypes": null, - "id": 21782, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21771, - "src": "19152:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21783, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21773, - "src": "19160:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ed9ea7bc2a13bc59432ab07436e7f7f5450f82d4b48c401bed177bfaf36b1873", - "typeString": "literal_string \"ROLE\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 21779, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "19127:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19127:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19127:39:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21778, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "19117:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19117:50:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21777, - "id": 21786, - "nodeType": "Return", - "src": "19110:57:28" - } - ] - }, - "documentation": null, - "id": 21788, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "roleHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21771, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19037:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19037:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21773, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19053:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21772, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19053:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19036:31:28" - }, - "payable": false, - "returnParameters": { - "id": 21777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21788, - "src": "19091:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21775, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19091:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19090:9:28" - }, - "scope": 21811, - "src": "19019:155:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21809, - "nodeType": "Block", - "src": "19281:86:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5045524d495353494f4e", - "id": 21802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19325:12:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ec1029a550434f46cc722ae017b3a2e96fd6dfb85f48bea21a1c682e8b994de1", - "typeString": "literal_string \"PERMISSION\"" - }, - "value": "PERMISSION" - }, - { - "argumentTypes": null, - "id": 21803, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21790, - "src": "19339:4:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21804, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21792, - "src": "19345:6:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 21805, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21794, - "src": "19353:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ec1029a550434f46cc722ae017b3a2e96fd6dfb85f48bea21a1c682e8b994de1", - "typeString": "literal_string \"PERMISSION\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 21800, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "19308:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 21801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19308:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 21806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19308:51:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 21799, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "19298:9:28", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 21807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19298:62:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 21798, - "id": 21808, - "nodeType": "Return", - "src": "19291:69:28" - } - ] - }, - "documentation": null, - "id": 21810, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "permissionHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21790, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19204:12:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19204:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21792, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19218:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21791, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19218:7:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21794, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19234:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21793, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19234:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19203:45:28" - }, - "payable": false, - "returnParameters": { - "id": 21798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21797, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21810, - "src": "19272:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21796, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19272:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19271:9:28" - }, - "scope": 21811, - "src": "19180:187:28", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 21812, - "src": "293:19076:28" - } - ], - "src": "0:19370:28" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.551Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ACLHelpers.json b/templates/multisig/build/contracts/ACLHelpers.json deleted file mode 100644 index 52476b2..0000000 --- a/templates/multisig/build/contracts/ACLHelpers.json +++ /dev/null @@ -1,13637 +0,0 @@ -{ - "contractName": "ACLHelpers", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058206e63d029e35b30a75ab23291d74520b8b191b013754680df84d171f54bb73a5a0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058206e63d029e35b30a75ab23291d74520b8b191b013754680df84d171f54bb73a5a0029", - "sourceMap": "2518:456:29:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2518:456:29;;;;;;;", - "deployedSourceMap": "2518:456:29:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract ACLSyntaxSugar {\n function arr() internal pure returns (uint256[]) {\n return new uint256[](0);\n }\n\n function arr(bytes32 _a) internal pure returns (uint256[] r) {\n return arr(uint256(_a));\n }\n\n function arr(bytes32 _a, bytes32 _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a) internal pure returns (uint256[] r) {\n return arr(uint256(_a));\n }\n\n function arr(address _a, address _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), _b, _c);\n }\n\n function arr(address _a, uint256 _b, uint256 _c, uint256 _d) internal pure returns (uint256[] r) {\n return arr(uint256(_a), _b, _c, _d);\n }\n\n function arr(address _a, uint256 _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a, address _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), _c, _d, _e);\n }\n\n function arr(address _a, address _b, address _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), uint256(_c));\n }\n\n function arr(address _a, address _b, uint256 _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), uint256(_c));\n }\n\n function arr(uint256 _a) internal pure returns (uint256[] r) {\n r = new uint256[](1);\n r[0] = _a;\n }\n\n function arr(uint256 _a, uint256 _b) internal pure returns (uint256[] r) {\n r = new uint256[](2);\n r[0] = _a;\n r[1] = _b;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n r = new uint256[](3);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d) internal pure returns (uint256[] r) {\n r = new uint256[](4);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n r[3] = _d;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n r = new uint256[](5);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n r[3] = _d;\n r[4] = _e;\n }\n}\n\n\ncontract ACLHelpers {\n function decodeParamOp(uint256 _x) internal pure returns (uint8 b) {\n return uint8(_x >> (8 * 30));\n }\n\n function decodeParamId(uint256 _x) internal pure returns (uint8 b) {\n return uint8(_x >> (8 * 31));\n }\n\n function decodeParamsList(uint256 _x) internal pure returns (uint32 a, uint32 b, uint32 c) {\n a = uint32(_x);\n b = uint32(_x >> (8 * 4));\n c = uint32(_x >> (8 * 8));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "exportedSymbols": { - "ACLHelpers": [ - 22311 - ], - "ACLSyntaxSugar": [ - 22236 - ] - }, - "id": 22312, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 21813, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22236, - "linearizedBaseContracts": [ - 22236 - ], - "name": "ACLSyntaxSugar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 21825, - "nodeType": "Block", - "src": "150:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:29", - "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": 21821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21820, - "length": null, - "nodeType": "ArrayTypeName", - "src": "171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21818, - "id": 21824, - "nodeType": "Return", - "src": "160:23:29" - } - ] - }, - "documentation": null, - "id": 21826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21814, - "nodeType": "ParameterList", - "parameters": [], - "src": "113:2:29" - }, - "payable": false, - "returnParameters": { - "id": 21818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21826, - "src": "139:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "139:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21816, - "length": null, - "nodeType": "ArrayTypeName", - "src": "139:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "138:11:29" - }, - "scope": 22236, - "src": "101:89:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21840, - "nodeType": "Block", - "src": "257:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21836, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21828, - "src": "286:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "278:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "278:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21834, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "274:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "274:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21833, - "id": 21839, - "nodeType": "Return", - "src": "267:23:29" - } - ] - }, - "documentation": null, - "id": 21841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21828, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "209:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21827, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "209:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "208:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21832, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "244:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21831, - "length": null, - "nodeType": "ArrayTypeName", - "src": "244:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:13:29" - }, - "scope": 22236, - "src": "196:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21860, - "nodeType": "Block", - "src": "376:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21853, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21843, - "src": "405:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "397:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "397:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21856, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21845, - "src": "418:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "410:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21851, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "393:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "393:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21850, - "id": 21859, - "nodeType": "Return", - "src": "386:36:29" - } - ] - }, - "documentation": null, - "id": 21861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21843, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "316:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21845, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "328:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21844, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "328:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21849, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "363:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "363:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "362:13:29" - }, - "scope": 22236, - "src": "303:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21875, - "nodeType": "Block", - "src": "496:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21871, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21863, - "src": "525:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21869, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "513:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "513:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21868, - "id": 21874, - "nodeType": "Return", - "src": "506:23:29" - } - ] - }, - "documentation": null, - "id": 21876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21863, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "448:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21867, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "483:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21866, - "length": null, - "nodeType": "ArrayTypeName", - "src": "483:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:13:29" - }, - "scope": 22236, - "src": "435:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21895, - "nodeType": "Block", - "src": "615:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21888, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21878, - "src": "644:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "636:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "636:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21891, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21880, - "src": "657:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "649:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21886, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "632:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "632:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21885, - "id": 21894, - "nodeType": "Return", - "src": "625:36:29" - } - ] - }, - "documentation": null, - "id": 21896, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21878, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "555:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "555:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21880, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "554:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21884, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "602:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21883, - "length": null, - "nodeType": "ArrayTypeName", - "src": "602:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "601:13:29" - }, - "scope": 22236, - "src": "542:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21916, - "nodeType": "Block", - "src": "759:48:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21910, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21898, - "src": "788:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "780:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21912, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21900, - "src": "793:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21913, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21902, - "src": "797:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21908, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "776:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "776:24:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21907, - "id": 21915, - "nodeType": "Return", - "src": "769:31:29" - } - ] - }, - "documentation": null, - "id": 21917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21898, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "687:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21900, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "699:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21902, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "711:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:36:29" - }, - "payable": false, - "returnParameters": { - "id": 21907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21906, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "746:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21905, - "length": null, - "nodeType": "ArrayTypeName", - "src": "746:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:13:29" - }, - "scope": 22236, - "src": "674:133:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21940, - "nodeType": "Block", - "src": "910:52:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21933, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21919, - "src": "939:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "931:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "931:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21935, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21921, - "src": "944:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21936, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21923, - "src": "948:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21937, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21925, - "src": "952:2:29", - "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": 21931, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22180, - "src": "927:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "927:28:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21930, - "id": 21939, - "nodeType": "Return", - "src": "920:35:29" - } - ] - }, - "documentation": null, - "id": 21941, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21919, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "826:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21921, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "838:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21923, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "850:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "850:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21925, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "862:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:48:29" - }, - "payable": false, - "returnParameters": { - "id": 21930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21929, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "897:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21928, - "length": null, - "nodeType": "ArrayTypeName", - "src": "897:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "896:13:29" - }, - "scope": 22236, - "src": "813:149:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21960, - "nodeType": "Block", - "src": "1041:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21953, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21943, - "src": "1070:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1062:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21956, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21945, - "src": "1083:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1075:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21951, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "1058:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21950, - "id": 21959, - "nodeType": "Return", - "src": "1051:36:29" - } - ] - }, - "documentation": null, - "id": 21961, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21943, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "981:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21945, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "993:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "980:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21949, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "1028:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21948, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1028:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:13:29" - }, - "scope": 22236, - "src": "968:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21989, - "nodeType": "Block", - "src": "1209:65:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21979, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21963, - "src": "1238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1230:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1230:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21982, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21965, - "src": "1251:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1243:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1243:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21984, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21967, - "src": "1256:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21969, - "src": "1260:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21986, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21971, - "src": "1264:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21977, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22235, - "src": "1226:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:41:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21976, - "id": 21988, - "nodeType": "Return", - "src": "1219:48:29" - } - ] - }, - "documentation": null, - "id": 21990, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21963, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1113:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21962, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1113:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21965, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1125:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21964, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21967, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1137:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21969, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1149:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1149:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21971, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1161:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1112:60:29" - }, - "payable": false, - "returnParameters": { - "id": 21976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21975, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1196:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1196:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21974, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1196:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1195:13:29" - }, - "scope": 22236, - "src": "1100:174:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22014, - "nodeType": "Block", - "src": "1365:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22004, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21992, - "src": "1394:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1386:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1386:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22007, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21994, - "src": "1407:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22010, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21996, - "src": "1420:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1412:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1412:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22002, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1382:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1382:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22001, - "id": 22013, - "nodeType": "Return", - "src": "1375:49:29" - } - ] - }, - "documentation": null, - "id": 22015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21992, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1293:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1293:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21994, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1305:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21996, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1317:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1317:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1292:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22000, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1352:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21999, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1352:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1351:13:29" - }, - "scope": 22236, - "src": "1280:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22039, - "nodeType": "Block", - "src": "1522:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22029, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22017, - "src": "1551:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1543:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1543:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22032, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22019, - "src": "1564:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1556:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22035, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22021, - "src": "1577:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1569:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1569:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22027, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1539:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22026, - "id": 22038, - "nodeType": "Return", - "src": "1532:49:29" - } - ] - }, - "documentation": null, - "id": 22040, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22017, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1450:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1450:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22019, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1462:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1462:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22021, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1474:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1474:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1449:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22025, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1509:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22024, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1509:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1508:13:29" - }, - "scope": 22236, - "src": "1437:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22062, - "nodeType": "Block", - "src": "1655:56:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22048, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1665:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 22052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1683:1:29", - "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" - } - ], - "id": 22051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1669:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1673:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22050, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1673:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1669:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1665:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22055, - "nodeType": "ExpressionStatement", - "src": "1665:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22056, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1695:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22058, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22059, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22042, - "src": "1702:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1695:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22061, - "nodeType": "ExpressionStatement", - "src": "1695:9:29" - } - ] - }, - "documentation": null, - "id": 22063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22042, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1607:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1606:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22046, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1642:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1642:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22045, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1642:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1641:13:29" - }, - "scope": 22236, - "src": "1594:117:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22093, - "nodeType": "Block", - "src": "1790:75:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22073, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1800:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 22077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 22076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1804:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1808:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1808:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1800:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22080, - "nodeType": "ExpressionStatement", - "src": "1800:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22081, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1830:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22083, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1830:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22084, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22065, - "src": "1837:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1830:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22086, - "nodeType": "ExpressionStatement", - "src": "1830:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22087, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1849:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22089, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1851:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1849:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22090, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22067, - "src": "1856:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22092, - "nodeType": "ExpressionStatement", - "src": "1849:9:29" - } - ] - }, - "documentation": null, - "id": 22094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22065, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1730:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22067, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1742:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1729:24:29" - }, - "payable": false, - "returnParameters": { - "id": 22072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22071, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1777:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1777:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22070, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1777:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1776:13:29" - }, - "scope": 22236, - "src": "1717:148:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22132, - "nodeType": "Block", - "src": "1956:94:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22106, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1966:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 22110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 22109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1970:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1974:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22108, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1974:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1970:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1966:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22113, - "nodeType": "ExpressionStatement", - "src": "1966:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22114, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1996:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1996:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22117, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22096, - "src": "2003:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1996:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22119, - "nodeType": "ExpressionStatement", - "src": "1996:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22120, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2015:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2017:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2015:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22123, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22098, - "src": "2022:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2015:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22125, - "nodeType": "ExpressionStatement", - "src": "2015:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22126, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2034:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2036:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2034:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22129, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22100, - "src": "2041:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2034:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22131, - "nodeType": "ExpressionStatement", - "src": "2034:9:29" - } - ] - }, - "documentation": null, - "id": 22133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22096, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1884:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1884:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22098, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1896:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1896:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22100, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1908:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1908:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1883:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22104, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1943:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1943:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22103, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1943:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1942:13:29" - }, - "scope": 22236, - "src": "1871:179:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22179, - "nodeType": "Block", - "src": "2153:113:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22147, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2163:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 22151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2181:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 22150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2163:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22154, - "nodeType": "ExpressionStatement", - "src": "2163:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22155, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2193:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2195:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2193:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22158, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22135, - "src": "2200:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2193:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22160, - "nodeType": "ExpressionStatement", - "src": "2193:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22161, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2212:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2214:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2212:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22164, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22137, - "src": "2219:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2212:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22166, - "nodeType": "ExpressionStatement", - "src": "2212:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22167, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2231:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2233:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2231:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22170, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22139, - "src": "2238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2231:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22172, - "nodeType": "ExpressionStatement", - "src": "2231:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22173, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2250:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22175, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2252:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2250:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22176, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22141, - "src": "2257:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2250:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22178, - "nodeType": "ExpressionStatement", - "src": "2250:9:29" - } - ] - }, - "documentation": null, - "id": 22180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22135, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2069:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2069:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22137, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2081:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2081:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22139, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2093:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2093:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22141, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2105:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:48:29" - }, - "payable": false, - "returnParameters": { - "id": 22146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22145, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2140:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22144, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2140:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2139:13:29" - }, - "scope": 22236, - "src": "2056:210:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22234, - "nodeType": "Block", - "src": "2381:132:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22196, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2391:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 22200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "id": 22199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2395:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22198, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2399:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2395:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2391:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22203, - "nodeType": "ExpressionStatement", - "src": "2391:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22204, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2421:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2423:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2421:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22207, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22182, - "src": "2428:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2421:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22209, - "nodeType": "ExpressionStatement", - "src": "2421:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22210, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2440:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2440:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22213, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22184, - "src": "2447:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2440:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22215, - "nodeType": "ExpressionStatement", - "src": "2440:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22216, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2459:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2461:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2459:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22219, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22186, - "src": "2466:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22221, - "nodeType": "ExpressionStatement", - "src": "2459:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22222, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2478:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2480:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2478:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22225, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22188, - "src": "2485:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2478:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22227, - "nodeType": "ExpressionStatement", - "src": "2478:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22228, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2497:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2497:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22231, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22190, - "src": "2504:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2497:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22233, - "nodeType": "ExpressionStatement", - "src": "2497:9:29" - } - ] - }, - "documentation": null, - "id": 22235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22182, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2285:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2285:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22184, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2297:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22186, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2309:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2309:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22188, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2321:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22190, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2333:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2333:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2284:60:29" - }, - "payable": false, - "returnParameters": { - "id": 22195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22194, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2368:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2368:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2368:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2367:13:29" - }, - "scope": 22236, - "src": "2272:241:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "71:2444:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22311, - "linearizedBaseContracts": [ - 22311 - ], - "name": "ACLHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22252, - "nodeType": "Block", - "src": "2611:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22244, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22238, - "src": "2634:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - }, - "id": 22247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2641:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 22246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2645:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "2641:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - } - ], - "id": 22248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2640:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - }, - "src": "2634:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2628:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2628:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22242, - "id": 22251, - "nodeType": "Return", - "src": "2621:28:29" - } - ] - }, - "documentation": null, - "id": 22253, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamOp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22238, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2566:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22241, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2602:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22240, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2601:9:29" - }, - "scope": 22311, - "src": "2544:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22269, - "nodeType": "Block", - "src": "2729:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22261, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22255, - "src": "2752:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - }, - "id": 22264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2759:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3331", - "id": 22263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2763:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31_by_1", - "typeString": "int_const 31" - }, - "value": "31" - }, - "src": "2759:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - } - ], - "id": 22265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2758:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - }, - "src": "2752:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2746:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2746:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22259, - "id": 22268, - "nodeType": "Return", - "src": "2739:28:29" - } - ] - }, - "documentation": null, - "id": 22270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22255, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2685:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22258, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2720:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22257, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2720:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2719:9:29" - }, - "scope": 22311, - "src": "2662:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22309, - "nodeType": "Block", - "src": "2871:101:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22281, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22275, - "src": "2881:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22283, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2892:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2885:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2885:10:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2881:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22286, - "nodeType": "ExpressionStatement", - "src": "2881:14:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22277, - "src": "2905:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22289, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2916:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "id": 22292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2923:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - } - ], - "id": 22293, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2922:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - }, - "src": "2916:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2909:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2905:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22297, - "nodeType": "ExpressionStatement", - "src": "2905:25:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22298, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22279, - "src": "2940:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22300, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2951:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "id": 22303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2958:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2962:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2958:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - } - ], - "id": 22304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2957:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - }, - "src": "2951:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2944:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2944:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2940:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22308, - "nodeType": "ExpressionStatement", - "src": "2940:25:29" - } - ] - }, - "documentation": null, - "id": 22310, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamsList", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22272, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2806:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2805:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22275, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2841:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22274, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2841:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22277, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2851:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22276, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2851:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22279, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2861:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22278, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2861:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2840:30:29" - }, - "scope": 22311, - "src": "2780:192:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "2518:456:29" - } - ], - "src": "44:2931:29" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "exportedSymbols": { - "ACLHelpers": [ - 22311 - ], - "ACLSyntaxSugar": [ - 22236 - ] - }, - "id": 22312, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 21813, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22236, - "linearizedBaseContracts": [ - 22236 - ], - "name": "ACLSyntaxSugar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 21825, - "nodeType": "Block", - "src": "150:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:29", - "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": 21821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21820, - "length": null, - "nodeType": "ArrayTypeName", - "src": "171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21818, - "id": 21824, - "nodeType": "Return", - "src": "160:23:29" - } - ] - }, - "documentation": null, - "id": 21826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21814, - "nodeType": "ParameterList", - "parameters": [], - "src": "113:2:29" - }, - "payable": false, - "returnParameters": { - "id": 21818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21826, - "src": "139:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "139:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21816, - "length": null, - "nodeType": "ArrayTypeName", - "src": "139:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "138:11:29" - }, - "scope": 22236, - "src": "101:89:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21840, - "nodeType": "Block", - "src": "257:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21836, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21828, - "src": "286:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "278:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "278:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21834, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "274:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "274:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21833, - "id": 21839, - "nodeType": "Return", - "src": "267:23:29" - } - ] - }, - "documentation": null, - "id": 21841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21828, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "209:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21827, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "209:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "208:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21832, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "244:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21831, - "length": null, - "nodeType": "ArrayTypeName", - "src": "244:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:13:29" - }, - "scope": 22236, - "src": "196:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21860, - "nodeType": "Block", - "src": "376:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21853, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21843, - "src": "405:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "397:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "397:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21856, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21845, - "src": "418:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "410:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21851, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "393:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "393:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21850, - "id": 21859, - "nodeType": "Return", - "src": "386:36:29" - } - ] - }, - "documentation": null, - "id": 21861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21843, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "316:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21845, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "328:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21844, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "328:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21849, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "363:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "363:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "362:13:29" - }, - "scope": 22236, - "src": "303:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21875, - "nodeType": "Block", - "src": "496:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21871, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21863, - "src": "525:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21869, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "513:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "513:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21868, - "id": 21874, - "nodeType": "Return", - "src": "506:23:29" - } - ] - }, - "documentation": null, - "id": 21876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21863, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "448:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21867, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "483:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21866, - "length": null, - "nodeType": "ArrayTypeName", - "src": "483:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:13:29" - }, - "scope": 22236, - "src": "435:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21895, - "nodeType": "Block", - "src": "615:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21888, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21878, - "src": "644:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "636:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "636:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21891, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21880, - "src": "657:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "649:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21886, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "632:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "632:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21885, - "id": 21894, - "nodeType": "Return", - "src": "625:36:29" - } - ] - }, - "documentation": null, - "id": 21896, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21878, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "555:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "555:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21880, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "554:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21884, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "602:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21883, - "length": null, - "nodeType": "ArrayTypeName", - "src": "602:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "601:13:29" - }, - "scope": 22236, - "src": "542:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21916, - "nodeType": "Block", - "src": "759:48:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21910, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21898, - "src": "788:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "780:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21912, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21900, - "src": "793:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21913, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21902, - "src": "797:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21908, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "776:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "776:24:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21907, - "id": 21915, - "nodeType": "Return", - "src": "769:31:29" - } - ] - }, - "documentation": null, - "id": 21917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21898, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "687:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21900, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "699:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21902, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "711:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:36:29" - }, - "payable": false, - "returnParameters": { - "id": 21907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21906, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "746:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21905, - "length": null, - "nodeType": "ArrayTypeName", - "src": "746:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:13:29" - }, - "scope": 22236, - "src": "674:133:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21940, - "nodeType": "Block", - "src": "910:52:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21933, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21919, - "src": "939:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "931:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "931:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21935, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21921, - "src": "944:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21936, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21923, - "src": "948:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21937, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21925, - "src": "952:2:29", - "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": 21931, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22180, - "src": "927:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "927:28:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21930, - "id": 21939, - "nodeType": "Return", - "src": "920:35:29" - } - ] - }, - "documentation": null, - "id": 21941, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21919, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "826:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21921, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "838:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21923, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "850:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "850:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21925, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "862:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:48:29" - }, - "payable": false, - "returnParameters": { - "id": 21930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21929, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "897:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21928, - "length": null, - "nodeType": "ArrayTypeName", - "src": "897:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "896:13:29" - }, - "scope": 22236, - "src": "813:149:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21960, - "nodeType": "Block", - "src": "1041:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21953, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21943, - "src": "1070:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1062:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21956, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21945, - "src": "1083:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1075:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21951, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "1058:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21950, - "id": 21959, - "nodeType": "Return", - "src": "1051:36:29" - } - ] - }, - "documentation": null, - "id": 21961, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21943, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "981:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21945, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "993:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "980:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21949, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "1028:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21948, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1028:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:13:29" - }, - "scope": 22236, - "src": "968:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21989, - "nodeType": "Block", - "src": "1209:65:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21979, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21963, - "src": "1238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1230:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1230:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21982, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21965, - "src": "1251:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1243:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1243:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21984, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21967, - "src": "1256:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21969, - "src": "1260:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21986, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21971, - "src": "1264:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21977, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22235, - "src": "1226:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:41:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21976, - "id": 21988, - "nodeType": "Return", - "src": "1219:48:29" - } - ] - }, - "documentation": null, - "id": 21990, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21963, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1113:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21962, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1113:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21965, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1125:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21964, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21967, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1137:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21969, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1149:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1149:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21971, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1161:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1112:60:29" - }, - "payable": false, - "returnParameters": { - "id": 21976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21975, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1196:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1196:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21974, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1196:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1195:13:29" - }, - "scope": 22236, - "src": "1100:174:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22014, - "nodeType": "Block", - "src": "1365:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22004, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21992, - "src": "1394:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1386:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1386:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22007, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21994, - "src": "1407:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22010, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21996, - "src": "1420:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1412:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1412:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22002, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1382:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1382:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22001, - "id": 22013, - "nodeType": "Return", - "src": "1375:49:29" - } - ] - }, - "documentation": null, - "id": 22015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21992, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1293:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1293:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21994, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1305:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21996, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1317:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1317:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1292:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22000, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1352:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21999, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1352:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1351:13:29" - }, - "scope": 22236, - "src": "1280:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22039, - "nodeType": "Block", - "src": "1522:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22029, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22017, - "src": "1551:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1543:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1543:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22032, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22019, - "src": "1564:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1556:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22035, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22021, - "src": "1577:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1569:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1569:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22027, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1539:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22026, - "id": 22038, - "nodeType": "Return", - "src": "1532:49:29" - } - ] - }, - "documentation": null, - "id": 22040, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22017, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1450:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1450:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22019, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1462:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1462:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22021, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1474:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1474:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1449:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22025, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1509:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22024, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1509:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1508:13:29" - }, - "scope": 22236, - "src": "1437:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22062, - "nodeType": "Block", - "src": "1655:56:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22048, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1665:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 22052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1683:1:29", - "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" - } - ], - "id": 22051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1669:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1673:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22050, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1673:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1669:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1665:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22055, - "nodeType": "ExpressionStatement", - "src": "1665:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22056, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1695:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22058, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22059, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22042, - "src": "1702:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1695:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22061, - "nodeType": "ExpressionStatement", - "src": "1695:9:29" - } - ] - }, - "documentation": null, - "id": 22063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22042, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1607:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1606:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22046, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1642:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1642:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22045, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1642:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1641:13:29" - }, - "scope": 22236, - "src": "1594:117:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22093, - "nodeType": "Block", - "src": "1790:75:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22073, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1800:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 22077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 22076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1804:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1808:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1808:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1800:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22080, - "nodeType": "ExpressionStatement", - "src": "1800:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22081, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1830:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22083, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1830:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22084, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22065, - "src": "1837:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1830:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22086, - "nodeType": "ExpressionStatement", - "src": "1830:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22087, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1849:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22089, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1851:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1849:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22090, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22067, - "src": "1856:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22092, - "nodeType": "ExpressionStatement", - "src": "1849:9:29" - } - ] - }, - "documentation": null, - "id": 22094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22065, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1730:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22067, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1742:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1729:24:29" - }, - "payable": false, - "returnParameters": { - "id": 22072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22071, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1777:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1777:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22070, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1777:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1776:13:29" - }, - "scope": 22236, - "src": "1717:148:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22132, - "nodeType": "Block", - "src": "1956:94:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22106, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1966:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 22110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 22109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1970:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1974:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22108, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1974:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1970:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1966:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22113, - "nodeType": "ExpressionStatement", - "src": "1966:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22114, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1996:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1996:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22117, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22096, - "src": "2003:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1996:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22119, - "nodeType": "ExpressionStatement", - "src": "1996:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22120, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2015:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2017:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2015:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22123, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22098, - "src": "2022:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2015:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22125, - "nodeType": "ExpressionStatement", - "src": "2015:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22126, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2034:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2036:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2034:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22129, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22100, - "src": "2041:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2034:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22131, - "nodeType": "ExpressionStatement", - "src": "2034:9:29" - } - ] - }, - "documentation": null, - "id": 22133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22096, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1884:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1884:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22098, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1896:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1896:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22100, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1908:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1908:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1883:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22104, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1943:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1943:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22103, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1943:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1942:13:29" - }, - "scope": 22236, - "src": "1871:179:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22179, - "nodeType": "Block", - "src": "2153:113:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22147, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2163:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 22151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2181:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 22150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2163:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22154, - "nodeType": "ExpressionStatement", - "src": "2163:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22155, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2193:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2195:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2193:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22158, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22135, - "src": "2200:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2193:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22160, - "nodeType": "ExpressionStatement", - "src": "2193:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22161, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2212:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2214:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2212:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22164, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22137, - "src": "2219:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2212:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22166, - "nodeType": "ExpressionStatement", - "src": "2212:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22167, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2231:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2233:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2231:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22170, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22139, - "src": "2238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2231:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22172, - "nodeType": "ExpressionStatement", - "src": "2231:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22173, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2250:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22175, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2252:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2250:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22176, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22141, - "src": "2257:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2250:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22178, - "nodeType": "ExpressionStatement", - "src": "2250:9:29" - } - ] - }, - "documentation": null, - "id": 22180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22135, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2069:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2069:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22137, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2081:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2081:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22139, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2093:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2093:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22141, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2105:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:48:29" - }, - "payable": false, - "returnParameters": { - "id": 22146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22145, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2140:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22144, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2140:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2139:13:29" - }, - "scope": 22236, - "src": "2056:210:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22234, - "nodeType": "Block", - "src": "2381:132:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22196, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2391:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 22200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "id": 22199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2395:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22198, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2399:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2395:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2391:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22203, - "nodeType": "ExpressionStatement", - "src": "2391:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22204, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2421:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2423:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2421:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22207, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22182, - "src": "2428:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2421:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22209, - "nodeType": "ExpressionStatement", - "src": "2421:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22210, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2440:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2440:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22213, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22184, - "src": "2447:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2440:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22215, - "nodeType": "ExpressionStatement", - "src": "2440:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22216, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2459:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2461:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2459:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22219, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22186, - "src": "2466:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22221, - "nodeType": "ExpressionStatement", - "src": "2459:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22222, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2478:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2480:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2478:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22225, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22188, - "src": "2485:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2478:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22227, - "nodeType": "ExpressionStatement", - "src": "2478:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22228, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2497:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2497:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22231, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22190, - "src": "2504:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2497:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22233, - "nodeType": "ExpressionStatement", - "src": "2497:9:29" - } - ] - }, - "documentation": null, - "id": 22235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22182, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2285:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2285:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22184, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2297:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22186, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2309:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2309:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22188, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2321:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22190, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2333:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2333:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2284:60:29" - }, - "payable": false, - "returnParameters": { - "id": 22195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22194, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2368:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2368:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2368:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2367:13:29" - }, - "scope": 22236, - "src": "2272:241:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "71:2444:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22311, - "linearizedBaseContracts": [ - 22311 - ], - "name": "ACLHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22252, - "nodeType": "Block", - "src": "2611:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22244, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22238, - "src": "2634:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - }, - "id": 22247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2641:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 22246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2645:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "2641:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - } - ], - "id": 22248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2640:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - }, - "src": "2634:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2628:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2628:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22242, - "id": 22251, - "nodeType": "Return", - "src": "2621:28:29" - } - ] - }, - "documentation": null, - "id": 22253, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamOp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22238, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2566:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22241, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2602:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22240, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2601:9:29" - }, - "scope": 22311, - "src": "2544:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22269, - "nodeType": "Block", - "src": "2729:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22261, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22255, - "src": "2752:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - }, - "id": 22264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2759:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3331", - "id": 22263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2763:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31_by_1", - "typeString": "int_const 31" - }, - "value": "31" - }, - "src": "2759:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - } - ], - "id": 22265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2758:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - }, - "src": "2752:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2746:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2746:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22259, - "id": 22268, - "nodeType": "Return", - "src": "2739:28:29" - } - ] - }, - "documentation": null, - "id": 22270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22255, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2685:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22258, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2720:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22257, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2720:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2719:9:29" - }, - "scope": 22311, - "src": "2662:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22309, - "nodeType": "Block", - "src": "2871:101:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22281, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22275, - "src": "2881:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22283, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2892:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2885:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2885:10:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2881:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22286, - "nodeType": "ExpressionStatement", - "src": "2881:14:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22277, - "src": "2905:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22289, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2916:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "id": 22292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2923:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - } - ], - "id": 22293, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2922:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - }, - "src": "2916:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2909:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2905:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22297, - "nodeType": "ExpressionStatement", - "src": "2905:25:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22298, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22279, - "src": "2940:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22300, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2951:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "id": 22303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2958:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2962:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2958:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - } - ], - "id": 22304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2957:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - }, - "src": "2951:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2944:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2944:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2940:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22308, - "nodeType": "ExpressionStatement", - "src": "2940:25:29" - } - ] - }, - "documentation": null, - "id": 22310, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamsList", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22272, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2806:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2805:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22275, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2841:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22274, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2841:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22277, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2851:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22276, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2851:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22279, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2861:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22278, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2861:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2840:30:29" - }, - "scope": 22311, - "src": "2780:192:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "2518:456:29" - } - ], - "src": "44:2931:29" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.334Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ACLSyntaxSugar.json b/templates/multisig/build/contracts/ACLSyntaxSugar.json deleted file mode 100644 index 6c63e01..0000000 --- a/templates/multisig/build/contracts/ACLSyntaxSugar.json +++ /dev/null @@ -1,13637 +0,0 @@ -{ - "contractName": "ACLSyntaxSugar", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058207bb4654551fe2aa505a5e548c0cae06678f89035a57a2b920c12482cea0a36b90029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058207bb4654551fe2aa505a5e548c0cae06678f89035a57a2b920c12482cea0a36b90029", - "sourceMap": "71:2444:29:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:2444:29;;;;;;;", - "deployedSourceMap": "71:2444:29:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract ACLSyntaxSugar {\n function arr() internal pure returns (uint256[]) {\n return new uint256[](0);\n }\n\n function arr(bytes32 _a) internal pure returns (uint256[] r) {\n return arr(uint256(_a));\n }\n\n function arr(bytes32 _a, bytes32 _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a) internal pure returns (uint256[] r) {\n return arr(uint256(_a));\n }\n\n function arr(address _a, address _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), _b, _c);\n }\n\n function arr(address _a, uint256 _b, uint256 _c, uint256 _d) internal pure returns (uint256[] r) {\n return arr(uint256(_a), _b, _c, _d);\n }\n\n function arr(address _a, uint256 _b) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b));\n }\n\n function arr(address _a, address _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), _c, _d, _e);\n }\n\n function arr(address _a, address _b, address _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), uint256(_c));\n }\n\n function arr(address _a, address _b, uint256 _c) internal pure returns (uint256[] r) {\n return arr(uint256(_a), uint256(_b), uint256(_c));\n }\n\n function arr(uint256 _a) internal pure returns (uint256[] r) {\n r = new uint256[](1);\n r[0] = _a;\n }\n\n function arr(uint256 _a, uint256 _b) internal pure returns (uint256[] r) {\n r = new uint256[](2);\n r[0] = _a;\n r[1] = _b;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n r = new uint256[](3);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d) internal pure returns (uint256[] r) {\n r = new uint256[](4);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n r[3] = _d;\n }\n\n function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n r = new uint256[](5);\n r[0] = _a;\n r[1] = _b;\n r[2] = _c;\n r[3] = _d;\n r[4] = _e;\n }\n}\n\n\ncontract ACLHelpers {\n function decodeParamOp(uint256 _x) internal pure returns (uint8 b) {\n return uint8(_x >> (8 * 30));\n }\n\n function decodeParamId(uint256 _x) internal pure returns (uint8 b) {\n return uint8(_x >> (8 * 31));\n }\n\n function decodeParamsList(uint256 _x) internal pure returns (uint32 a, uint32 b, uint32 c) {\n a = uint32(_x);\n b = uint32(_x >> (8 * 4));\n c = uint32(_x >> (8 * 8));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "exportedSymbols": { - "ACLHelpers": [ - 22311 - ], - "ACLSyntaxSugar": [ - 22236 - ] - }, - "id": 22312, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 21813, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22236, - "linearizedBaseContracts": [ - 22236 - ], - "name": "ACLSyntaxSugar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 21825, - "nodeType": "Block", - "src": "150:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:29", - "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": 21821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21820, - "length": null, - "nodeType": "ArrayTypeName", - "src": "171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21818, - "id": 21824, - "nodeType": "Return", - "src": "160:23:29" - } - ] - }, - "documentation": null, - "id": 21826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21814, - "nodeType": "ParameterList", - "parameters": [], - "src": "113:2:29" - }, - "payable": false, - "returnParameters": { - "id": 21818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21826, - "src": "139:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "139:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21816, - "length": null, - "nodeType": "ArrayTypeName", - "src": "139:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "138:11:29" - }, - "scope": 22236, - "src": "101:89:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21840, - "nodeType": "Block", - "src": "257:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21836, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21828, - "src": "286:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "278:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "278:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21834, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "274:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "274:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21833, - "id": 21839, - "nodeType": "Return", - "src": "267:23:29" - } - ] - }, - "documentation": null, - "id": 21841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21828, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "209:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21827, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "209:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "208:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21832, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "244:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21831, - "length": null, - "nodeType": "ArrayTypeName", - "src": "244:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:13:29" - }, - "scope": 22236, - "src": "196:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21860, - "nodeType": "Block", - "src": "376:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21853, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21843, - "src": "405:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "397:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "397:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21856, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21845, - "src": "418:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "410:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21851, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "393:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "393:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21850, - "id": 21859, - "nodeType": "Return", - "src": "386:36:29" - } - ] - }, - "documentation": null, - "id": 21861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21843, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "316:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21845, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "328:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21844, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "328:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21849, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "363:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "363:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "362:13:29" - }, - "scope": 22236, - "src": "303:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21875, - "nodeType": "Block", - "src": "496:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21871, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21863, - "src": "525:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21869, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "513:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "513:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21868, - "id": 21874, - "nodeType": "Return", - "src": "506:23:29" - } - ] - }, - "documentation": null, - "id": 21876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21863, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "448:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21867, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "483:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21866, - "length": null, - "nodeType": "ArrayTypeName", - "src": "483:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:13:29" - }, - "scope": 22236, - "src": "435:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21895, - "nodeType": "Block", - "src": "615:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21888, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21878, - "src": "644:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "636:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "636:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21891, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21880, - "src": "657:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "649:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21886, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "632:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "632:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21885, - "id": 21894, - "nodeType": "Return", - "src": "625:36:29" - } - ] - }, - "documentation": null, - "id": 21896, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21878, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "555:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "555:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21880, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "554:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21884, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "602:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21883, - "length": null, - "nodeType": "ArrayTypeName", - "src": "602:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "601:13:29" - }, - "scope": 22236, - "src": "542:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21916, - "nodeType": "Block", - "src": "759:48:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21910, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21898, - "src": "788:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "780:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21912, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21900, - "src": "793:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21913, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21902, - "src": "797:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21908, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "776:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "776:24:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21907, - "id": 21915, - "nodeType": "Return", - "src": "769:31:29" - } - ] - }, - "documentation": null, - "id": 21917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21898, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "687:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21900, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "699:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21902, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "711:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:36:29" - }, - "payable": false, - "returnParameters": { - "id": 21907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21906, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "746:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21905, - "length": null, - "nodeType": "ArrayTypeName", - "src": "746:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:13:29" - }, - "scope": 22236, - "src": "674:133:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21940, - "nodeType": "Block", - "src": "910:52:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21933, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21919, - "src": "939:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "931:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "931:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21935, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21921, - "src": "944:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21936, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21923, - "src": "948:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21937, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21925, - "src": "952:2:29", - "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": 21931, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22180, - "src": "927:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "927:28:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21930, - "id": 21939, - "nodeType": "Return", - "src": "920:35:29" - } - ] - }, - "documentation": null, - "id": 21941, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21919, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "826:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21921, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "838:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21923, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "850:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "850:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21925, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "862:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:48:29" - }, - "payable": false, - "returnParameters": { - "id": 21930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21929, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "897:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21928, - "length": null, - "nodeType": "ArrayTypeName", - "src": "897:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "896:13:29" - }, - "scope": 22236, - "src": "813:149:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21960, - "nodeType": "Block", - "src": "1041:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21953, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21943, - "src": "1070:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1062:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21956, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21945, - "src": "1083:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1075:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21951, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "1058:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21950, - "id": 21959, - "nodeType": "Return", - "src": "1051:36:29" - } - ] - }, - "documentation": null, - "id": 21961, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21943, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "981:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21945, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "993:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "980:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21949, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "1028:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21948, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1028:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:13:29" - }, - "scope": 22236, - "src": "968:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21989, - "nodeType": "Block", - "src": "1209:65:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21979, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21963, - "src": "1238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1230:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1230:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21982, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21965, - "src": "1251:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1243:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1243:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21984, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21967, - "src": "1256:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21969, - "src": "1260:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21986, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21971, - "src": "1264:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21977, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22235, - "src": "1226:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:41:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21976, - "id": 21988, - "nodeType": "Return", - "src": "1219:48:29" - } - ] - }, - "documentation": null, - "id": 21990, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21963, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1113:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21962, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1113:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21965, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1125:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21964, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21967, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1137:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21969, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1149:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1149:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21971, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1161:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1112:60:29" - }, - "payable": false, - "returnParameters": { - "id": 21976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21975, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1196:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1196:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21974, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1196:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1195:13:29" - }, - "scope": 22236, - "src": "1100:174:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22014, - "nodeType": "Block", - "src": "1365:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22004, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21992, - "src": "1394:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1386:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1386:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22007, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21994, - "src": "1407:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22010, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21996, - "src": "1420:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1412:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1412:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22002, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1382:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1382:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22001, - "id": 22013, - "nodeType": "Return", - "src": "1375:49:29" - } - ] - }, - "documentation": null, - "id": 22015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21992, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1293:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1293:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21994, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1305:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21996, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1317:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1317:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1292:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22000, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1352:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21999, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1352:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1351:13:29" - }, - "scope": 22236, - "src": "1280:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22039, - "nodeType": "Block", - "src": "1522:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22029, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22017, - "src": "1551:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1543:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1543:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22032, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22019, - "src": "1564:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1556:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22035, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22021, - "src": "1577:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1569:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1569:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22027, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1539:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22026, - "id": 22038, - "nodeType": "Return", - "src": "1532:49:29" - } - ] - }, - "documentation": null, - "id": 22040, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22017, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1450:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1450:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22019, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1462:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1462:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22021, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1474:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1474:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1449:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22025, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1509:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22024, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1509:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1508:13:29" - }, - "scope": 22236, - "src": "1437:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22062, - "nodeType": "Block", - "src": "1655:56:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22048, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1665:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 22052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1683:1:29", - "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" - } - ], - "id": 22051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1669:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1673:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22050, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1673:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1669:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1665:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22055, - "nodeType": "ExpressionStatement", - "src": "1665:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22056, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1695:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22058, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22059, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22042, - "src": "1702:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1695:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22061, - "nodeType": "ExpressionStatement", - "src": "1695:9:29" - } - ] - }, - "documentation": null, - "id": 22063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22042, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1607:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1606:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22046, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1642:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1642:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22045, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1642:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1641:13:29" - }, - "scope": 22236, - "src": "1594:117:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22093, - "nodeType": "Block", - "src": "1790:75:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22073, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1800:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 22077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 22076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1804:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1808:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1808:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1800:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22080, - "nodeType": "ExpressionStatement", - "src": "1800:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22081, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1830:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22083, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1830:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22084, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22065, - "src": "1837:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1830:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22086, - "nodeType": "ExpressionStatement", - "src": "1830:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22087, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1849:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22089, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1851:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1849:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22090, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22067, - "src": "1856:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22092, - "nodeType": "ExpressionStatement", - "src": "1849:9:29" - } - ] - }, - "documentation": null, - "id": 22094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22065, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1730:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22067, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1742:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1729:24:29" - }, - "payable": false, - "returnParameters": { - "id": 22072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22071, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1777:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1777:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22070, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1777:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1776:13:29" - }, - "scope": 22236, - "src": "1717:148:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22132, - "nodeType": "Block", - "src": "1956:94:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22106, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1966:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 22110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 22109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1970:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1974:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22108, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1974:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1970:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1966:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22113, - "nodeType": "ExpressionStatement", - "src": "1966:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22114, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1996:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1996:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22117, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22096, - "src": "2003:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1996:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22119, - "nodeType": "ExpressionStatement", - "src": "1996:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22120, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2015:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2017:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2015:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22123, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22098, - "src": "2022:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2015:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22125, - "nodeType": "ExpressionStatement", - "src": "2015:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22126, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2034:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2036:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2034:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22129, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22100, - "src": "2041:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2034:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22131, - "nodeType": "ExpressionStatement", - "src": "2034:9:29" - } - ] - }, - "documentation": null, - "id": 22133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22096, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1884:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1884:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22098, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1896:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1896:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22100, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1908:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1908:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1883:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22104, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1943:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1943:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22103, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1943:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1942:13:29" - }, - "scope": 22236, - "src": "1871:179:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22179, - "nodeType": "Block", - "src": "2153:113:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22147, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2163:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 22151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2181:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 22150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2163:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22154, - "nodeType": "ExpressionStatement", - "src": "2163:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22155, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2193:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2195:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2193:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22158, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22135, - "src": "2200:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2193:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22160, - "nodeType": "ExpressionStatement", - "src": "2193:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22161, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2212:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2214:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2212:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22164, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22137, - "src": "2219:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2212:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22166, - "nodeType": "ExpressionStatement", - "src": "2212:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22167, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2231:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2233:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2231:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22170, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22139, - "src": "2238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2231:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22172, - "nodeType": "ExpressionStatement", - "src": "2231:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22173, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2250:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22175, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2252:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2250:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22176, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22141, - "src": "2257:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2250:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22178, - "nodeType": "ExpressionStatement", - "src": "2250:9:29" - } - ] - }, - "documentation": null, - "id": 22180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22135, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2069:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2069:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22137, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2081:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2081:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22139, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2093:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2093:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22141, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2105:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:48:29" - }, - "payable": false, - "returnParameters": { - "id": 22146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22145, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2140:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22144, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2140:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2139:13:29" - }, - "scope": 22236, - "src": "2056:210:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22234, - "nodeType": "Block", - "src": "2381:132:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22196, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2391:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 22200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "id": 22199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2395:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22198, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2399:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2395:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2391:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22203, - "nodeType": "ExpressionStatement", - "src": "2391:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22204, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2421:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2423:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2421:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22207, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22182, - "src": "2428:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2421:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22209, - "nodeType": "ExpressionStatement", - "src": "2421:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22210, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2440:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2440:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22213, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22184, - "src": "2447:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2440:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22215, - "nodeType": "ExpressionStatement", - "src": "2440:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22216, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2459:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2461:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2459:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22219, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22186, - "src": "2466:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22221, - "nodeType": "ExpressionStatement", - "src": "2459:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22222, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2478:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2480:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2478:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22225, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22188, - "src": "2485:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2478:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22227, - "nodeType": "ExpressionStatement", - "src": "2478:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22228, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2497:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2497:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22231, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22190, - "src": "2504:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2497:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22233, - "nodeType": "ExpressionStatement", - "src": "2497:9:29" - } - ] - }, - "documentation": null, - "id": 22235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22182, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2285:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2285:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22184, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2297:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22186, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2309:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2309:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22188, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2321:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22190, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2333:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2333:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2284:60:29" - }, - "payable": false, - "returnParameters": { - "id": 22195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22194, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2368:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2368:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2368:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2367:13:29" - }, - "scope": 22236, - "src": "2272:241:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "71:2444:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22311, - "linearizedBaseContracts": [ - 22311 - ], - "name": "ACLHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22252, - "nodeType": "Block", - "src": "2611:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22244, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22238, - "src": "2634:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - }, - "id": 22247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2641:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 22246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2645:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "2641:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - } - ], - "id": 22248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2640:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - }, - "src": "2634:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2628:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2628:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22242, - "id": 22251, - "nodeType": "Return", - "src": "2621:28:29" - } - ] - }, - "documentation": null, - "id": 22253, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamOp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22238, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2566:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22241, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2602:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22240, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2601:9:29" - }, - "scope": 22311, - "src": "2544:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22269, - "nodeType": "Block", - "src": "2729:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22261, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22255, - "src": "2752:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - }, - "id": 22264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2759:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3331", - "id": 22263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2763:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31_by_1", - "typeString": "int_const 31" - }, - "value": "31" - }, - "src": "2759:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - } - ], - "id": 22265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2758:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - }, - "src": "2752:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2746:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2746:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22259, - "id": 22268, - "nodeType": "Return", - "src": "2739:28:29" - } - ] - }, - "documentation": null, - "id": 22270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22255, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2685:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22258, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2720:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22257, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2720:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2719:9:29" - }, - "scope": 22311, - "src": "2662:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22309, - "nodeType": "Block", - "src": "2871:101:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22281, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22275, - "src": "2881:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22283, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2892:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2885:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2885:10:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2881:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22286, - "nodeType": "ExpressionStatement", - "src": "2881:14:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22277, - "src": "2905:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22289, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2916:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "id": 22292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2923:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - } - ], - "id": 22293, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2922:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - }, - "src": "2916:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2909:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2905:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22297, - "nodeType": "ExpressionStatement", - "src": "2905:25:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22298, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22279, - "src": "2940:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22300, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2951:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "id": 22303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2958:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2962:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2958:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - } - ], - "id": 22304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2957:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - }, - "src": "2951:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2944:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2944:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2940:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22308, - "nodeType": "ExpressionStatement", - "src": "2940:25:29" - } - ] - }, - "documentation": null, - "id": 22310, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamsList", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22272, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2806:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2805:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22275, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2841:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22274, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2841:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22277, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2851:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22276, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2851:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22279, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2861:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22278, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2861:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2840:30:29" - }, - "scope": 22311, - "src": "2780:192:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "2518:456:29" - } - ], - "src": "44:2931:29" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "exportedSymbols": { - "ACLHelpers": [ - 22311 - ], - "ACLSyntaxSugar": [ - 22236 - ] - }, - "id": 22312, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 21813, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22236, - "linearizedBaseContracts": [ - 22236 - ], - "name": "ACLSyntaxSugar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 21825, - "nodeType": "Block", - "src": "150:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 21822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:29", - "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": 21821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 21819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21820, - "length": null, - "nodeType": "ArrayTypeName", - "src": "171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 21823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21818, - "id": 21824, - "nodeType": "Return", - "src": "160:23:29" - } - ] - }, - "documentation": null, - "id": 21826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21814, - "nodeType": "ParameterList", - "parameters": [], - "src": "113:2:29" - }, - "payable": false, - "returnParameters": { - "id": 21818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21826, - "src": "139:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "139:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21816, - "length": null, - "nodeType": "ArrayTypeName", - "src": "139:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "138:11:29" - }, - "scope": 22236, - "src": "101:89:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21840, - "nodeType": "Block", - "src": "257:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21836, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21828, - "src": "286:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "278:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "278:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21834, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "274:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "274:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21833, - "id": 21839, - "nodeType": "Return", - "src": "267:23:29" - } - ] - }, - "documentation": null, - "id": 21841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21828, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "209:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21827, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "209:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "208:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21832, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21841, - "src": "244:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21831, - "length": null, - "nodeType": "ArrayTypeName", - "src": "244:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:13:29" - }, - "scope": 22236, - "src": "196:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21860, - "nodeType": "Block", - "src": "376:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21853, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21843, - "src": "405:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "397:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "397:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21856, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21845, - "src": "418:2:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 21855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "410:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21851, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "393:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "393:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21850, - "id": 21859, - "nodeType": "Return", - "src": "386:36:29" - } - ] - }, - "documentation": null, - "id": 21861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21843, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "316:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21845, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "328:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21844, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "328:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21849, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21861, - "src": "363:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "363:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "362:13:29" - }, - "scope": 22236, - "src": "303:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21875, - "nodeType": "Block", - "src": "496:40:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21871, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21863, - "src": "525:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21869, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "513:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 21873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "513:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21868, - "id": 21874, - "nodeType": "Return", - "src": "506:23:29" - } - ] - }, - "documentation": null, - "id": 21876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21863, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "448:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:12:29" - }, - "payable": false, - "returnParameters": { - "id": 21868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21867, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21876, - "src": "483:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21866, - "length": null, - "nodeType": "ArrayTypeName", - "src": "483:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:13:29" - }, - "scope": 22236, - "src": "435:101:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21895, - "nodeType": "Block", - "src": "615:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21888, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21878, - "src": "644:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "636:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "636:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21891, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21880, - "src": "657:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "649:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21886, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "632:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "632:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21885, - "id": 21894, - "nodeType": "Return", - "src": "625:36:29" - } - ] - }, - "documentation": null, - "id": 21896, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21878, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "555:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "555:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21880, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "554:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21884, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21896, - "src": "602:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21883, - "length": null, - "nodeType": "ArrayTypeName", - "src": "602:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "601:13:29" - }, - "scope": 22236, - "src": "542:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21916, - "nodeType": "Block", - "src": "759:48:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21910, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21898, - "src": "788:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "780:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21912, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21900, - "src": "793:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21913, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21902, - "src": "797:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21908, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "776:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "776:24:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21907, - "id": 21915, - "nodeType": "Return", - "src": "769:31:29" - } - ] - }, - "documentation": null, - "id": 21917, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21898, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "687:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21900, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "699:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21902, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "711:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:36:29" - }, - "payable": false, - "returnParameters": { - "id": 21907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21906, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21917, - "src": "746:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21905, - "length": null, - "nodeType": "ArrayTypeName", - "src": "746:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:13:29" - }, - "scope": 22236, - "src": "674:133:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21940, - "nodeType": "Block", - "src": "910:52:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21933, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21919, - "src": "939:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "931:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "931:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21935, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21921, - "src": "944:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21936, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21923, - "src": "948:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21937, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21925, - "src": "952:2:29", - "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": 21931, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22180, - "src": "927:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "927:28:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21930, - "id": 21939, - "nodeType": "Return", - "src": "920:35:29" - } - ] - }, - "documentation": null, - "id": 21941, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21919, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "826:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21921, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "838:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21923, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "850:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "850:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21925, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "862:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:48:29" - }, - "payable": false, - "returnParameters": { - "id": 21930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21929, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21941, - "src": "897:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21928, - "length": null, - "nodeType": "ArrayTypeName", - "src": "897:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "896:13:29" - }, - "scope": 22236, - "src": "813:149:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21960, - "nodeType": "Block", - "src": "1041:53:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21953, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21943, - "src": "1070:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1062:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21956, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21945, - "src": "1083:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1075:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21951, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "1058:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:29:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21950, - "id": 21959, - "nodeType": "Return", - "src": "1051:36:29" - } - ] - }, - "documentation": null, - "id": 21961, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21943, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "981:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21945, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "993:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "980:24:29" - }, - "payable": false, - "returnParameters": { - "id": 21950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21949, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21961, - "src": "1028:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21948, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1028:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:13:29" - }, - "scope": 22236, - "src": "968:126:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 21989, - "nodeType": "Block", - "src": "1209:65:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21979, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21963, - "src": "1238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1230:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1230:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 21982, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21965, - "src": "1251:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 21981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1243:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 21983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1243:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21984, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21967, - "src": "1256:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21969, - "src": "1260:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 21986, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21971, - "src": "1264:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21977, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22235, - "src": "1226:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 21987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:41:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 21976, - "id": 21988, - "nodeType": "Return", - "src": "1219:48:29" - } - ] - }, - "documentation": null, - "id": 21990, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21963, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1113:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21962, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1113:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21965, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1125:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21964, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21967, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1137:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21969, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1149:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1149:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21971, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1161:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 21970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1112:60:29" - }, - "payable": false, - "returnParameters": { - "id": 21976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21975, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 21990, - "src": "1196:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1196:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21974, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1196:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1195:13:29" - }, - "scope": 22236, - "src": "1100:174:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22014, - "nodeType": "Block", - "src": "1365:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22004, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21992, - "src": "1394:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1386:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1386:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22007, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21994, - "src": "1407:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22010, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21996, - "src": "1420:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1412:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1412:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22002, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1382:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1382:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22001, - "id": 22013, - "nodeType": "Return", - "src": "1375:49:29" - } - ] - }, - "documentation": null, - "id": 22015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 21997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21992, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1293:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1293:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21994, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1305:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21996, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1317:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1317:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1292:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22000, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22015, - "src": "1352:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 21998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 21999, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1352:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1351:13:29" - }, - "scope": 22236, - "src": "1280:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22039, - "nodeType": "Block", - "src": "1522:66:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22029, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22017, - "src": "1551:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1543:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1543:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22032, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22019, - "src": "1564:2:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1556:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22035, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22021, - "src": "1577:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1569:7:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 22036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1569:11:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22027, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "1539:3:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 22037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:42:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 22026, - "id": 22038, - "nodeType": "Return", - "src": "1532:49:29" - } - ] - }, - "documentation": null, - "id": 22040, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22017, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1450:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1450:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22019, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1462:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1462:7:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22021, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1474:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1474:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1449:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22025, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22040, - "src": "1509:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22024, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1509:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1508:13:29" - }, - "scope": 22236, - "src": "1437:151:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22062, - "nodeType": "Block", - "src": "1655:56:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22048, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1665:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 22052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1683:1:29", - "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" - } - ], - "id": 22051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1669:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1673:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22050, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1673:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1669:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1665:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22055, - "nodeType": "ExpressionStatement", - "src": "1665:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22056, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22046, - "src": "1695:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22058, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22059, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22042, - "src": "1702:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1695:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22061, - "nodeType": "ExpressionStatement", - "src": "1695:9:29" - } - ] - }, - "documentation": null, - "id": 22063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22042, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1607:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1606:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22046, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22063, - "src": "1642:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1642:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22045, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1642:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1641:13:29" - }, - "scope": 22236, - "src": "1594:117:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22093, - "nodeType": "Block", - "src": "1790:75:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22073, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1800:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 22077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 22076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1804:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1808:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1808:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1800:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22080, - "nodeType": "ExpressionStatement", - "src": "1800:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22081, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1830:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22083, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1830:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22084, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22065, - "src": "1837:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1830:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22086, - "nodeType": "ExpressionStatement", - "src": "1830:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22087, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22071, - "src": "1849:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22089, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1851:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1849:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22090, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22067, - "src": "1856:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22092, - "nodeType": "ExpressionStatement", - "src": "1849:9:29" - } - ] - }, - "documentation": null, - "id": 22094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22065, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1730:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22067, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1742:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1729:24:29" - }, - "payable": false, - "returnParameters": { - "id": 22072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22071, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22094, - "src": "1777:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1777:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22070, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1777:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1776:13:29" - }, - "scope": 22236, - "src": "1717:148:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22132, - "nodeType": "Block", - "src": "1956:94:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22106, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1966:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 22110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 22109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1970:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1974:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22108, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1974:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1970:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "1966:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22113, - "nodeType": "ExpressionStatement", - "src": "1966:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22114, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "1996:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22116, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1996:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22117, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22096, - "src": "2003:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1996:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22119, - "nodeType": "ExpressionStatement", - "src": "1996:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22120, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2015:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22122, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2017:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2015:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22123, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22098, - "src": "2022:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2015:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22125, - "nodeType": "ExpressionStatement", - "src": "2015:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22126, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22104, - "src": "2034:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22128, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2036:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2034:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22129, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22100, - "src": "2041:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2034:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22131, - "nodeType": "ExpressionStatement", - "src": "2034:9:29" - } - ] - }, - "documentation": null, - "id": 22133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22096, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1884:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1884:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22098, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1896:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1896:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22100, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1908:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1908:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1883:36:29" - }, - "payable": false, - "returnParameters": { - "id": 22105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22104, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22133, - "src": "1943:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1943:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22103, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1943:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1942:13:29" - }, - "scope": 22236, - "src": "1871:179:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22179, - "nodeType": "Block", - "src": "2153:113:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22147, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2163:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 22151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2181:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 22150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2167:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2171:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2171:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2167:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2163:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22154, - "nodeType": "ExpressionStatement", - "src": "2163:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22155, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2193:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2195:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2193:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22158, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22135, - "src": "2200:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2193:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22160, - "nodeType": "ExpressionStatement", - "src": "2193:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22161, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2212:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2214:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2212:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22164, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22137, - "src": "2219:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2212:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22166, - "nodeType": "ExpressionStatement", - "src": "2212:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22167, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2231:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2233:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2231:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22170, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22139, - "src": "2238:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2231:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22172, - "nodeType": "ExpressionStatement", - "src": "2231:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22173, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22145, - "src": "2250:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22175, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2252:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2250:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22176, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22141, - "src": "2257:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2250:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22178, - "nodeType": "ExpressionStatement", - "src": "2250:9:29" - } - ] - }, - "documentation": null, - "id": 22180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22135, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2069:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2069:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22137, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2081:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2081:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22139, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2093:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2093:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22141, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2105:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:48:29" - }, - "payable": false, - "returnParameters": { - "id": 22146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22145, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22180, - "src": "2140:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22144, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2140:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2139:13:29" - }, - "scope": 22236, - "src": "2056:210:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22234, - "nodeType": "Block", - "src": "2381:132:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22196, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2391:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 22200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "id": 22199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2395:13:29", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 22197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2399:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22198, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2399:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 22201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2395:16:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "2391:20:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22203, - "nodeType": "ExpressionStatement", - "src": "2391:20:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22204, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2421:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22206, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2423:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2421:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22207, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22182, - "src": "2428:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2421:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22209, - "nodeType": "ExpressionStatement", - "src": "2421:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22210, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2440:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2440:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22213, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22184, - "src": "2447:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2440:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22215, - "nodeType": "ExpressionStatement", - "src": "2440:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22216, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2459:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22218, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 22217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2461:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2459:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22219, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22186, - "src": "2466:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22221, - "nodeType": "ExpressionStatement", - "src": "2459:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22222, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2478:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22224, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2480:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2478:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22225, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22188, - "src": "2485:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2478:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22227, - "nodeType": "ExpressionStatement", - "src": "2478:9:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22228, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22194, - "src": "2497:1:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 22230, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2497:4:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22231, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22190, - "src": "2504:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2497:9:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22233, - "nodeType": "ExpressionStatement", - "src": "2497:9:29" - } - ] - }, - "documentation": null, - "id": 22235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22182, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2285:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2285:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22184, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2297:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22186, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2309:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2309:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22188, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2321:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22190, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2333:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2333:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2284:60:29" - }, - "payable": false, - "returnParameters": { - "id": 22195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22194, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 22235, - "src": "2368:11:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2368:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2368:9:29", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2367:13:29" - }, - "scope": 22236, - "src": "2272:241:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "71:2444:29" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22311, - "linearizedBaseContracts": [ - 22311 - ], - "name": "ACLHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22252, - "nodeType": "Block", - "src": "2611:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22244, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22238, - "src": "2634:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - }, - "id": 22247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2641:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 22246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2645:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "2641:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - } - ], - "id": 22248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2640:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_240_by_1", - "typeString": "int_const 240" - } - }, - "src": "2634:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2628:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2628:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22242, - "id": 22251, - "nodeType": "Return", - "src": "2621:28:29" - } - ] - }, - "documentation": null, - "id": 22253, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamOp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22238, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2567:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2567:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2566:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22241, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22253, - "src": "2602:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22240, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2601:9:29" - }, - "scope": 22311, - "src": "2544:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22269, - "nodeType": "Block", - "src": "2729:45:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22261, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22255, - "src": "2752:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - }, - "id": 22264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2759:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3331", - "id": 22263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2763:2:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31_by_1", - "typeString": "int_const 31" - }, - "value": "31" - }, - "src": "2759:6:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - } - ], - "id": 22265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2758:8:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_248_by_1", - "typeString": "int_const 248" - } - }, - "src": "2752:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2746:5:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 22267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2746:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 22259, - "id": 22268, - "nodeType": "Return", - "src": "2739:28:29" - } - ] - }, - "documentation": null, - "id": 22270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22255, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2685:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22258, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22270, - "src": "2720:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 22257, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2720:5:29", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2719:9:29" - }, - "scope": 22311, - "src": "2662:112:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22309, - "nodeType": "Block", - "src": "2871:101:29", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22281, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22275, - "src": "2881:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22283, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2892:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2885:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2885:10:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2881:14:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22286, - "nodeType": "ExpressionStatement", - "src": "2881:14:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22277, - "src": "2905:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22289, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2916:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "id": 22292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 22291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2923:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - } - ], - "id": 22293, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2922:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - }, - "src": "2916:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2909:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2905:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22297, - "nodeType": "ExpressionStatement", - "src": "2905:25:29" - }, - { - "expression": { - "argumentTypes": null, - "id": 22307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22298, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22279, - "src": "2940:1:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22300, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22272, - "src": "2951:2:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "id": 22303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2958:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 22302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2962:1:29", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2958:5:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - } - ], - "id": 22304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2957:7:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - }, - "src": "2951:13:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2944:6:29", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 22306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2944:21:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2940:25:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 22308, - "nodeType": "ExpressionStatement", - "src": "2940:25:29" - } - ] - }, - "documentation": null, - "id": 22310, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "decodeParamsList", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22272, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2806:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2805:12:29" - }, - "payable": false, - "returnParameters": { - "id": 22280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22275, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2841:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22274, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2841:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22277, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2851:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22276, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2851:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22279, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 22310, - "src": "2861:8:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 22278, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2861:6:29", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2840:30:29" - }, - "scope": 22311, - "src": "2780:192:29", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22312, - "src": "2518:456:29" - } - ], - "src": "44:2931:29" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.340Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/APMInternalAppNames.json b/templates/multisig/build/contracts/APMInternalAppNames.json deleted file mode 100644 index f6bb9c0..0000000 --- a/templates/multisig/build/contracts/APMInternalAppNames.json +++ /dev/null @@ -1,8445 +0,0 @@ -{ - "contractName": "APMInternalAppNames", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582006af5bc5fd0867b6f60a7cdcec71534c39b1a3b7d8446419394d1bf6485b35950029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582006af5bc5fd0867b6f60a7cdcec71534c39b1a3b7d8446419394d1bf6485b35950029", - "sourceMap": "226:211:33:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;226:211:33;;;;;;;", - "deployedSourceMap": "226:211:33:-;;;;;", - "source": "pragma solidity 0.4.24;\n\nimport \"../lib/ens/AbstractENS.sol\";\nimport \"../ens/ENSSubdomainRegistrar.sol\";\nimport \"../factory/AppProxyFactory.sol\";\nimport \"../apps/AragonApp.sol\";\nimport \"../acl/ACL.sol\";\nimport \"./Repo.sol\";\n\n\ncontract APMInternalAppNames {\n string internal constant APM_APP_NAME = \"apm-registry\";\n string internal constant REPO_APP_NAME = \"apm-repo\";\n string internal constant ENS_SUB_APP_NAME = \"apm-enssub\";\n}\n\n\ncontract APMRegistry is AragonApp, AppProxyFactory, APMInternalAppNames {\n /* Hardcoded constants to save gas\n bytes32 public constant CREATE_REPO_ROLE = keccak256(\"CREATE_REPO_ROLE\");\n */\n bytes32 public constant CREATE_REPO_ROLE = 0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6;\n\n string private constant ERROR_INIT_PERMISSIONS = \"APMREG_INIT_PERMISSIONS\";\n string private constant ERROR_EMPTY_NAME = \"APMREG_EMPTY_NAME\";\n\n AbstractENS public ens;\n ENSSubdomainRegistrar public registrar;\n\n event NewRepo(bytes32 id, string name, address repo);\n\n /**\n * NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n * @dev Initialize can only be called once. It saves the block number in which it was initialized\n * @notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n * @param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership\n */\n function initialize(ENSSubdomainRegistrar _registrar) public onlyInit {\n initialized();\n\n registrar = _registrar;\n ens = registrar.ens();\n\n registrar.pointRootNode(this);\n\n // Check APM has all permissions it needss\n ACL acl = ACL(kernel().acl());\n require(acl.hasPermission(this, registrar, registrar.CREATE_NAME_ROLE()), ERROR_INIT_PERMISSIONS);\n require(acl.hasPermission(this, acl, acl.CREATE_PERMISSIONS_ROLE()), ERROR_INIT_PERMISSIONS);\n }\n\n /**\n * @notice Create new repo in registry with `_name`\n * @param _name Repo name, must be ununsed\n * @param _dev Address that will be given permission to create versions\n */\n function newRepo(string _name, address _dev) public auth(CREATE_REPO_ROLE) returns (Repo) {\n return _newRepo(_name, _dev);\n }\n\n /**\n * @notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n * @param _name Repo name\n * @param _dev Address that will be given permission to create versions\n * @param _initialSemanticVersion Semantic version for new repo version\n * @param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n * @param _contentURI External URI for fetching new version's content\n */\n function newRepoWithVersion(\n string _name,\n address _dev,\n uint16[3] _initialSemanticVersion,\n address _contractAddress,\n bytes _contentURI\n ) public auth(CREATE_REPO_ROLE) returns (Repo)\n {\n Repo repo = _newRepo(_name, this); // need to have permissions to create version\n repo.newVersion(_initialSemanticVersion, _contractAddress, _contentURI);\n\n // Give permissions to _dev\n ACL acl = ACL(kernel().acl());\n acl.revokePermission(this, repo, repo.CREATE_VERSION_ROLE());\n acl.grantPermission(_dev, repo, repo.CREATE_VERSION_ROLE());\n acl.setPermissionManager(_dev, repo, repo.CREATE_VERSION_ROLE());\n return repo;\n }\n\n function _newRepo(string _name, address _dev) internal returns (Repo) {\n require(bytes(_name).length > 0, ERROR_EMPTY_NAME);\n\n Repo repo = newClonedRepo();\n\n ACL(kernel().acl()).createPermission(_dev, repo, repo.CREATE_VERSION_ROLE(), _dev);\n\n // Creates [name] subdomain in the rootNode and sets registry as resolver\n // This will fail if repo name already exists\n bytes32 node = registrar.createNameAndPoint(keccak256(abi.encodePacked(_name)), repo);\n\n emit NewRepo(node, _name, repo);\n\n return repo;\n }\n\n function newClonedRepo() internal returns (Repo repo) {\n repo = Repo(newAppProxy(kernel(), repoAppId()));\n repo.initialize();\n }\n\n function repoAppId() internal view returns (bytes32) {\n return keccak256(abi.encodePacked(registrar.rootNode(), keccak256(abi.encodePacked(REPO_APP_NAME))));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "exportedSymbols": { - "APMInternalAppNames": [ - 22393 - ], - "APMRegistry": [ - 22680 - ] - }, - "id": 22681, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22377, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:33" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 22378, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 27079, - "src": "25:36:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 22379, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 24711, - "src": "62:42:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 22380, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 25962, - "src": "105:40:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22381, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23454, - "src": "146:31:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 22382, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 21812, - "src": "178:24:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "./Repo.sol", - "id": 22383, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23074, - "src": "203:20:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22393, - "linearizedBaseContracts": [ - 22393 - ], - "name": "APMInternalAppNames", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22386, - "name": "APM_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "261:54:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "261:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265676973747279", - "id": 22385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "301:14:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1226a50111d3ddb0ac66065a7ba777807edf06a6f8ad4742580e80f6ec042688", - "typeString": "literal_string \"apm-registry\"" - }, - "value": "apm-registry" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22389, - "name": "REPO_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "321:51:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "321:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265706f", - "id": 22388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "362:10:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_61b58029e47cfcc30dc3778f5a2d226cf5f9c93cefe3df4bd4ce3bad00b7db79", - "typeString": "literal_string \"apm-repo\"" - }, - "value": "apm-repo" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22392, - "name": "ENS_SUB_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "378:56:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22390, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d656e73737562", - "id": 22391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "422:12:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2eb278530aeb392e30450cf8054f46d8a501832c8fbbb06765e2ec8f55009673", - "typeString": "literal_string \"apm-enssub\"" - }, - "value": "apm-enssub" - }, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "226:211:33" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22394, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "464:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22395, - "nodeType": "InheritanceSpecifier", - "src": "464:9:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22396, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "475:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 22397, - "nodeType": "InheritanceSpecifier", - "src": "475:15:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22398, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "492:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 22399, - "nodeType": "InheritanceSpecifier", - "src": "492:19:33" - } - ], - "contractDependencies": [ - 22236, - 22393, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25961, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22680, - "linearizedBaseContracts": [ - 22680, - 22393, - 25961, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "APMRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22402, - "name": "CREATE_REPO_ROLE", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "642:109:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "642:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832613934393464363438343663396664626630313538373835616133333064386263396361663435616632376661306538383938656234643535616463656136", - "id": 22401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "685:66:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19259660241583906883361708073034075768710788637783750477988955744722786045606_by_1", - "typeString": "int_const 1925...(69 digits omitted)...5606" - }, - "value": "0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22405, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "758:74:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "758:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f494e49545f5045524d495353494f4e53", - "id": 22404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:25:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6798ba02f64c9b35b32f856c55b39b86f7df90be08d6797835bc46aa3216dd3", - "typeString": "literal_string \"APMREG_INIT_PERMISSIONS\"" - }, - "value": "APMREG_INIT_PERMISSIONS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22408, - "name": "ERROR_EMPTY_NAME", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "838:62:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22406, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "838:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f454d5054595f4e414d45", - "id": 22407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:19:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c2eb148c8e0d71ac79486628125a479d22b2bfcd9c83fd270a101639e84827e", - "typeString": "literal_string \"APMREG_EMPTY_NAME\"" - }, - "value": "APMREG_EMPTY_NAME" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 22410, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "907:22:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 22409, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "907:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 22412, - "name": "registrar", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "935:38:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22411, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "935:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 22420, - "name": "NewRepo", - "nodeType": "EventDefinition", - "parameters": { - "id": 22419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22414, - "indexed": false, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "994:10:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "994:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22416, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1006:11:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22415, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1006:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22418, - "indexed": false, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1019:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1019:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "993:39:33" - }, - "src": "980:53:33" - }, - { - "body": { - "id": 22479, - "nodeType": "Block", - "src": "1501:434:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22427, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1511:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1511:13:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22429, - "nodeType": "ExpressionStatement", - "src": "1511:13:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22430, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1535:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22431, - "name": "_registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22422, - "src": "1547:10:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1535:22:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22433, - "nodeType": "ExpressionStatement", - "src": "1535:22:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22434, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22410, - "src": "1567:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22435, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1573:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ens", - "nodeType": "MemberAccess", - "referencedDeclaration": 24426, - "src": "1573:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_AbstractENS_$27078_$", - "typeString": "function () view external returns (contract AbstractENS)" - } - }, - "id": 22437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1573:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1567:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 22439, - "nodeType": "ExpressionStatement", - "src": "1567:21:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22443, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1623:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "expression": { - "argumentTypes": null, - "id": 22440, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1599:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pointRootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24599, - "src": "1599:23:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 22444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1599:29:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22445, - "nodeType": "ExpressionStatement", - "src": "1599:29:33" - }, - { - "assignments": [ - 22447 - ], - "declarations": [ - { - "constant": false, - "id": 22447, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1690:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22446, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1690:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22454, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22449, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1704:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "1704:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22448, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1700:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1700:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1690:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1755:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22459, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1761:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22460, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1772:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "1772:26:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:28:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22456, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1737:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1737:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1737:64:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22464, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1803:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22455, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1729:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:97:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22466, - "nodeType": "ExpressionStatement", - "src": "1729:97:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1862:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22471, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1868:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22472, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1873:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1873:27:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:29:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22468, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1844:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1844:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1844:59:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22476, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1905:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1836:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1836:92:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22478, - "nodeType": "ExpressionStatement", - "src": "1836:92:33" - } - ] - }, - "documentation": "NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n@dev Initialize can only be called once. It saves the block number in which it was initialized\n@notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n@param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership", - "id": 22480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22425, - "modifierName": { - "argumentTypes": null, - "id": 22424, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1492:8:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1492:8:33" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22422, - "name": "_registrar", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1451:32:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22421, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1451:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1450:34:33" - }, - "payable": false, - "returnParameters": { - "id": 22426, - "nodeType": "ParameterList", - "parameters": [], - "src": "1501:0:33" - }, - "scope": 22680, - "src": "1431:504:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22497, - "nodeType": "Block", - "src": "2222:45:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22493, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22482, - "src": "2248:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22494, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22484, - "src": "2255:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22492, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "2239:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2239:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22491, - "id": 22496, - "nodeType": "Return", - "src": "2232:28:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name`\n@param _name Repo name, must be ununsed\n@param _dev Address that will be given permission to create versions", - "id": 22498, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22487, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "2189:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22488, - "modifierName": { - "argumentTypes": null, - "id": 22486, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2184:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2184:22:33" - } - ], - "name": "newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22482, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2149:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2149:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22484, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2163:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2163:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2148:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2216:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22489, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "2216:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2215:6:33" - }, - "scope": 22680, - "src": "2132:135:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22574, - "nodeType": "Block", - "src": "3052:487:33", - "statements": [ - { - "assignments": [ - 22519 - ], - "declarations": [ - { - "constant": false, - "id": 22519, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3062:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22518, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22521, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22500, - "src": "3083:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3090:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 22520, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "3074:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3062:33:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22528, - "name": "_initialSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22506, - "src": "3167:23:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22529, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22508, - "src": "3192:16:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22530, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22510, - "src": "3210:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22525, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3151:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22859, - "src": "3151:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint16[3] memory,address,bytes memory) external" - } - }, - "id": 22531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3151:71:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22532, - "nodeType": "ExpressionStatement", - "src": "3151:71:33" - }, - { - "assignments": [ - 22534 - ], - "declarations": [ - { - "constant": false, - "id": 22534, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3269:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22533, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3269:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22536, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3283:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3283:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22535, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3279:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3279:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3269:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3329:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22546, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3335:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22547, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3341:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3341:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3341:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22542, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3308:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "3308:20:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3308:60:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22551, - "nodeType": "ExpressionStatement", - "src": "3308:60:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22555, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3398:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22556, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3404:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22557, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3410:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3410:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3410:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22552, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3378:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "3378:19:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3378:59:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22561, - "nodeType": "ExpressionStatement", - "src": "3378:59:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22565, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3472:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22566, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3478:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22567, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3484:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3484:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3484:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3447:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "3447:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3447:64:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22571, - "nodeType": "ExpressionStatement", - "src": "3447:64:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22572, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3528:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22517, - "id": 22573, - "nodeType": "Return", - "src": "3521:11:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _name Repo name\n@param _dev Address that will be given permission to create versions\n@param _initialSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22513, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "3015:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22514, - "modifierName": { - "argumentTypes": null, - "id": 22512, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3010:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3010:22:33" - } - ], - "name": "newRepoWithVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2858:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2858:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22502, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2880:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22506, - "name": "_initialSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2902:33:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22503, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "2902:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22505, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2909:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "2902:9:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22508, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2945:24:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2945:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22510, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2979:17:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2979:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2848:154:33" - }, - "payable": false, - "returnParameters": { - "id": 22517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3042:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22515, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3042:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3041:6:33" - }, - "scope": 22680, - "src": "2821:718:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22635, - "nodeType": "Block", - "src": "3615:494:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22586, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "3639:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3633:5:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:12:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 22588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3633:19:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3655:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3633:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22591, - "name": "ERROR_EMPTY_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22408, - "src": "3658:16:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3625:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3625:50:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22593, - "nodeType": "ExpressionStatement", - "src": "3625:50:33" - }, - { - "assignments": [ - 22595 - ], - "declarations": [ - { - "constant": false, - "id": 22595, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3686:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22594, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3686:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22596, - "name": "newClonedRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22658, - "src": "3698:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Repo_$23073_$", - "typeString": "function () returns (contract Repo)" - } - }, - "id": 22597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3686:27:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22606, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3761:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22607, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3767:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22608, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3773:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3773:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3773:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22611, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3801:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22600, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3728:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3728:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22599, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3724:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3724:36:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 22612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:82:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22613, - "nodeType": "ExpressionStatement", - "src": "3724:82:33" - }, - { - "assignments": [ - 22615 - ], - "declarations": [ - { - "constant": false, - "id": 22615, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3953:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3953:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22621, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4024:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22619, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4007:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4007:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4007:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22618, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3997:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:34:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22624, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4033:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 22616, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "3968:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createNameAndPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 24516, - "src": "3968:28:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) external returns (bytes32)" - } - }, - "id": 22625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:70:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3953:85:33" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22628, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22615, - "src": "4062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22629, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4068:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22630, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4075:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "id": 22627, - "name": "NewRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22420, - "src": "4054:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,string memory,address)" - } - }, - "id": 22631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4054:26:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22632, - "nodeType": "EmitStatement", - "src": "4049:31:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22633, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4098:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22583, - "id": 22634, - "nodeType": "Return", - "src": "4091:11:33" - } - ] - }, - "documentation": null, - "id": 22636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22577, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3563:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3563:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22579, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3577:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3577:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3562:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22582, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3609:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22581, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3609:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3608:6:33" - }, - "scope": 22680, - "src": "3545:564:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22657, - "nodeType": "Block", - "src": "4169:91:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22641, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4179:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22644, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4203:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4203:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22646, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22679, - "src": "4213:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 22647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4213:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 22643, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "4191:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 22648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4191:34:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 22642, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "4186:4:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 22649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4186:40:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "4179:47:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22651, - "nodeType": "ExpressionStatement", - "src": "4179:47:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22652, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4236:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22741, - "src": "4236:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 22655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4236:17:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22656, - "nodeType": "ExpressionStatement", - "src": "4236:17:33" - } - ] - }, - "documentation": null, - "id": 22658, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newClonedRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22637, - "nodeType": "ParameterList", - "parameters": [], - "src": "4137:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22639, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22658, - "src": "4158:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22638, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "4158:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4157:11:33" - }, - "scope": 22680, - "src": "4115:145:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22678, - "nodeType": "Block", - "src": "4319:117:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22666, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "4363:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24428, - "src": "4363:18:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4363:20:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22672, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4412:13:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22670, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4395:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4395:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4395:31:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22669, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4385:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4385:42:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4346:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:82:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4336:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4336:93:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22662, - "id": 22677, - "nodeType": "Return", - "src": "4329:100:33" - } - ] - }, - "documentation": null, - "id": 22679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "repoAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22659, - "nodeType": "ParameterList", - "parameters": [], - "src": "4284:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22679, - "src": "4310:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22660, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4310:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4309:9:33" - }, - "scope": 22680, - "src": "4266:170:33", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "440:3998:33" - } - ], - "src": "0:4439:33" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "exportedSymbols": { - "APMInternalAppNames": [ - 22393 - ], - "APMRegistry": [ - 22680 - ] - }, - "id": 22681, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22377, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:33" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 22378, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 27079, - "src": "25:36:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 22379, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 24711, - "src": "62:42:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 22380, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 25962, - "src": "105:40:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22381, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23454, - "src": "146:31:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 22382, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 21812, - "src": "178:24:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "./Repo.sol", - "id": 22383, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23074, - "src": "203:20:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22393, - "linearizedBaseContracts": [ - 22393 - ], - "name": "APMInternalAppNames", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22386, - "name": "APM_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "261:54:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "261:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265676973747279", - "id": 22385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "301:14:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1226a50111d3ddb0ac66065a7ba777807edf06a6f8ad4742580e80f6ec042688", - "typeString": "literal_string \"apm-registry\"" - }, - "value": "apm-registry" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22389, - "name": "REPO_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "321:51:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "321:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265706f", - "id": 22388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "362:10:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_61b58029e47cfcc30dc3778f5a2d226cf5f9c93cefe3df4bd4ce3bad00b7db79", - "typeString": "literal_string \"apm-repo\"" - }, - "value": "apm-repo" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22392, - "name": "ENS_SUB_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "378:56:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22390, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d656e73737562", - "id": 22391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "422:12:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2eb278530aeb392e30450cf8054f46d8a501832c8fbbb06765e2ec8f55009673", - "typeString": "literal_string \"apm-enssub\"" - }, - "value": "apm-enssub" - }, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "226:211:33" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22394, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "464:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22395, - "nodeType": "InheritanceSpecifier", - "src": "464:9:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22396, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "475:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 22397, - "nodeType": "InheritanceSpecifier", - "src": "475:15:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22398, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "492:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 22399, - "nodeType": "InheritanceSpecifier", - "src": "492:19:33" - } - ], - "contractDependencies": [ - 22236, - 22393, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25961, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22680, - "linearizedBaseContracts": [ - 22680, - 22393, - 25961, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "APMRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22402, - "name": "CREATE_REPO_ROLE", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "642:109:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "642:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832613934393464363438343663396664626630313538373835616133333064386263396361663435616632376661306538383938656234643535616463656136", - "id": 22401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "685:66:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19259660241583906883361708073034075768710788637783750477988955744722786045606_by_1", - "typeString": "int_const 1925...(69 digits omitted)...5606" - }, - "value": "0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22405, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "758:74:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "758:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f494e49545f5045524d495353494f4e53", - "id": 22404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:25:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6798ba02f64c9b35b32f856c55b39b86f7df90be08d6797835bc46aa3216dd3", - "typeString": "literal_string \"APMREG_INIT_PERMISSIONS\"" - }, - "value": "APMREG_INIT_PERMISSIONS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22408, - "name": "ERROR_EMPTY_NAME", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "838:62:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22406, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "838:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f454d5054595f4e414d45", - "id": 22407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:19:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c2eb148c8e0d71ac79486628125a479d22b2bfcd9c83fd270a101639e84827e", - "typeString": "literal_string \"APMREG_EMPTY_NAME\"" - }, - "value": "APMREG_EMPTY_NAME" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 22410, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "907:22:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 22409, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "907:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 22412, - "name": "registrar", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "935:38:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22411, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "935:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 22420, - "name": "NewRepo", - "nodeType": "EventDefinition", - "parameters": { - "id": 22419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22414, - "indexed": false, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "994:10:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "994:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22416, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1006:11:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22415, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1006:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22418, - "indexed": false, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1019:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1019:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "993:39:33" - }, - "src": "980:53:33" - }, - { - "body": { - "id": 22479, - "nodeType": "Block", - "src": "1501:434:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22427, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1511:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1511:13:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22429, - "nodeType": "ExpressionStatement", - "src": "1511:13:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22430, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1535:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22431, - "name": "_registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22422, - "src": "1547:10:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1535:22:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22433, - "nodeType": "ExpressionStatement", - "src": "1535:22:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22434, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22410, - "src": "1567:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22435, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1573:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ens", - "nodeType": "MemberAccess", - "referencedDeclaration": 24426, - "src": "1573:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_AbstractENS_$27078_$", - "typeString": "function () view external returns (contract AbstractENS)" - } - }, - "id": 22437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1573:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1567:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 22439, - "nodeType": "ExpressionStatement", - "src": "1567:21:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22443, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1623:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "expression": { - "argumentTypes": null, - "id": 22440, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1599:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pointRootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24599, - "src": "1599:23:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 22444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1599:29:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22445, - "nodeType": "ExpressionStatement", - "src": "1599:29:33" - }, - { - "assignments": [ - 22447 - ], - "declarations": [ - { - "constant": false, - "id": 22447, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1690:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22446, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1690:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22454, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22449, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1704:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "1704:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22448, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1700:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1700:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1690:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1755:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22459, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1761:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22460, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1772:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "1772:26:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:28:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22456, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1737:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1737:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1737:64:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22464, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1803:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22455, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1729:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:97:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22466, - "nodeType": "ExpressionStatement", - "src": "1729:97:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1862:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22471, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1868:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22472, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1873:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1873:27:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:29:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22468, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1844:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1844:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1844:59:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22476, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1905:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1836:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1836:92:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22478, - "nodeType": "ExpressionStatement", - "src": "1836:92:33" - } - ] - }, - "documentation": "NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n@dev Initialize can only be called once. It saves the block number in which it was initialized\n@notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n@param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership", - "id": 22480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22425, - "modifierName": { - "argumentTypes": null, - "id": 22424, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1492:8:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1492:8:33" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22422, - "name": "_registrar", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1451:32:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22421, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1451:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1450:34:33" - }, - "payable": false, - "returnParameters": { - "id": 22426, - "nodeType": "ParameterList", - "parameters": [], - "src": "1501:0:33" - }, - "scope": 22680, - "src": "1431:504:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22497, - "nodeType": "Block", - "src": "2222:45:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22493, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22482, - "src": "2248:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22494, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22484, - "src": "2255:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22492, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "2239:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2239:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22491, - "id": 22496, - "nodeType": "Return", - "src": "2232:28:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name`\n@param _name Repo name, must be ununsed\n@param _dev Address that will be given permission to create versions", - "id": 22498, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22487, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "2189:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22488, - "modifierName": { - "argumentTypes": null, - "id": 22486, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2184:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2184:22:33" - } - ], - "name": "newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22482, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2149:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2149:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22484, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2163:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2163:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2148:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2216:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22489, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "2216:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2215:6:33" - }, - "scope": 22680, - "src": "2132:135:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22574, - "nodeType": "Block", - "src": "3052:487:33", - "statements": [ - { - "assignments": [ - 22519 - ], - "declarations": [ - { - "constant": false, - "id": 22519, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3062:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22518, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22521, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22500, - "src": "3083:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3090:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 22520, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "3074:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3062:33:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22528, - "name": "_initialSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22506, - "src": "3167:23:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22529, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22508, - "src": "3192:16:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22530, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22510, - "src": "3210:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22525, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3151:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22859, - "src": "3151:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint16[3] memory,address,bytes memory) external" - } - }, - "id": 22531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3151:71:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22532, - "nodeType": "ExpressionStatement", - "src": "3151:71:33" - }, - { - "assignments": [ - 22534 - ], - "declarations": [ - { - "constant": false, - "id": 22534, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3269:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22533, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3269:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22536, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3283:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3283:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22535, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3279:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3279:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3269:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3329:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22546, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3335:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22547, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3341:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3341:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3341:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22542, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3308:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "3308:20:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3308:60:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22551, - "nodeType": "ExpressionStatement", - "src": "3308:60:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22555, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3398:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22556, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3404:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22557, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3410:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3410:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3410:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22552, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3378:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "3378:19:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3378:59:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22561, - "nodeType": "ExpressionStatement", - "src": "3378:59:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22565, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3472:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22566, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3478:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22567, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3484:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3484:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3484:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3447:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "3447:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3447:64:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22571, - "nodeType": "ExpressionStatement", - "src": "3447:64:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22572, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3528:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22517, - "id": 22573, - "nodeType": "Return", - "src": "3521:11:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _name Repo name\n@param _dev Address that will be given permission to create versions\n@param _initialSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22513, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "3015:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22514, - "modifierName": { - "argumentTypes": null, - "id": 22512, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3010:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3010:22:33" - } - ], - "name": "newRepoWithVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2858:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2858:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22502, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2880:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22506, - "name": "_initialSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2902:33:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22503, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "2902:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22505, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2909:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "2902:9:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22508, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2945:24:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2945:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22510, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2979:17:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2979:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2848:154:33" - }, - "payable": false, - "returnParameters": { - "id": 22517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3042:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22515, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3042:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3041:6:33" - }, - "scope": 22680, - "src": "2821:718:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22635, - "nodeType": "Block", - "src": "3615:494:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22586, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "3639:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3633:5:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:12:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 22588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3633:19:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3655:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3633:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22591, - "name": "ERROR_EMPTY_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22408, - "src": "3658:16:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3625:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3625:50:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22593, - "nodeType": "ExpressionStatement", - "src": "3625:50:33" - }, - { - "assignments": [ - 22595 - ], - "declarations": [ - { - "constant": false, - "id": 22595, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3686:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22594, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3686:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22596, - "name": "newClonedRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22658, - "src": "3698:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Repo_$23073_$", - "typeString": "function () returns (contract Repo)" - } - }, - "id": 22597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3686:27:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22606, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3761:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22607, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3767:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22608, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3773:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3773:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3773:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22611, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3801:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22600, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3728:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3728:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22599, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3724:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3724:36:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 22612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:82:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22613, - "nodeType": "ExpressionStatement", - "src": "3724:82:33" - }, - { - "assignments": [ - 22615 - ], - "declarations": [ - { - "constant": false, - "id": 22615, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3953:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3953:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22621, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4024:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22619, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4007:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4007:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4007:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22618, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3997:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:34:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22624, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4033:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 22616, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "3968:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createNameAndPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 24516, - "src": "3968:28:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) external returns (bytes32)" - } - }, - "id": 22625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:70:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3953:85:33" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22628, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22615, - "src": "4062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22629, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4068:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22630, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4075:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "id": 22627, - "name": "NewRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22420, - "src": "4054:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,string memory,address)" - } - }, - "id": 22631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4054:26:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22632, - "nodeType": "EmitStatement", - "src": "4049:31:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22633, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4098:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22583, - "id": 22634, - "nodeType": "Return", - "src": "4091:11:33" - } - ] - }, - "documentation": null, - "id": 22636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22577, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3563:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3563:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22579, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3577:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3577:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3562:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22582, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3609:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22581, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3609:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3608:6:33" - }, - "scope": 22680, - "src": "3545:564:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22657, - "nodeType": "Block", - "src": "4169:91:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22641, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4179:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22644, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4203:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4203:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22646, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22679, - "src": "4213:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 22647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4213:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 22643, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "4191:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 22648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4191:34:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 22642, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "4186:4:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 22649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4186:40:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "4179:47:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22651, - "nodeType": "ExpressionStatement", - "src": "4179:47:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22652, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4236:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22741, - "src": "4236:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 22655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4236:17:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22656, - "nodeType": "ExpressionStatement", - "src": "4236:17:33" - } - ] - }, - "documentation": null, - "id": 22658, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newClonedRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22637, - "nodeType": "ParameterList", - "parameters": [], - "src": "4137:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22639, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22658, - "src": "4158:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22638, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "4158:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4157:11:33" - }, - "scope": 22680, - "src": "4115:145:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22678, - "nodeType": "Block", - "src": "4319:117:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22666, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "4363:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24428, - "src": "4363:18:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4363:20:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22672, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4412:13:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22670, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4395:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4395:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4395:31:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22669, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4385:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4385:42:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4346:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:82:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4336:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4336:93:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22662, - "id": 22677, - "nodeType": "Return", - "src": "4329:100:33" - } - ] - }, - "documentation": null, - "id": 22679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "repoAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22659, - "nodeType": "ParameterList", - "parameters": [], - "src": "4284:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22679, - "src": "4310:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22660, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4310:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4309:9:33" - }, - "scope": 22680, - "src": "4266:170:33", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "440:3998:33" - } - ], - "src": "0:4439:33" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.305Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/APMNamehash.json b/templates/multisig/build/contracts/APMNamehash.json deleted file mode 100644 index 6a650a7..0000000 --- a/templates/multisig/build/contracts/APMNamehash.json +++ /dev/null @@ -1,759 +0,0 @@ -{ - "contractName": "APMNamehash", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820f92340d63ca3344790b162325a177c3311bebb686ebe83ecf7bc6eae162b24600029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820f92340d63ca3344790b162325a177c3311bebb686ebe83ecf7bc6eae162b24600029", - "sourceMap": "71:461:32:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:461:32;;;;;;;", - "deployedSourceMap": "71:461:32:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract APMNamehash {\n /* Hardcoded constants to save gas\n bytes32 internal constant APM_NODE = keccak256(abi.encodePacked(ETH_TLD_NODE, keccak256(abi.encodePacked(\"aragonpm\"))));\n */\n bytes32 internal constant APM_NODE = 0x9065c3e7f7b7ef1ef4e53d2d0b8e0cef02874ab020c1ece79d5f0d3d0111c0ba;\n\n function apmNamehash(string name) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(APM_NODE, keccak256(bytes(name))));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apm/APMNamehash.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apm/APMNamehash.sol", - "exportedSymbols": { - "APMNamehash": [ - 22375 - ] - }, - "id": 22376, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22351, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:32" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22375, - "linearizedBaseContracts": [ - 22375 - ], - "name": "APMNamehash", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22354, - "name": "APM_NODE", - "nodeType": "VariableDeclaration", - "scope": 22375, - "src": "269:103:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22352, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "269:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839303635633365376637623765663165663465353364326430623865306365663032383734616230323063316563653739643566306433643031313163306261", - "id": 22353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:66:32", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65312853843906083142924454034138414288605577640028287111178798186601638903994_by_1", - "typeString": "int_const 6531...(69 digits omitted)...3994" - }, - "value": "0x9065c3e7f7b7ef1ef4e53d2d0b8e0cef02874ab020c1ece79d5f0d3d0111c0ba" - }, - "visibility": "internal" - }, - { - "body": { - "id": 22373, - "nodeType": "Block", - "src": "445:85:32", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22364, - "name": "APM_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22354, - "src": "489:8:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22367, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22356, - "src": "515:4:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "509:5:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "509:11:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 22365, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "499:9:32", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "499:22:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22362, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "472:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "472:16:32", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "472:50:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22361, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "462:9:32", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "462:61:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22360, - "id": 22372, - "nodeType": "Return", - "src": "455:68:32" - } - ] - }, - "documentation": null, - "id": 22374, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "apmNamehash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22357, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22356, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22374, - "src": "400:11:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22355, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "399:13:32" - }, - "payable": false, - "returnParameters": { - "id": 22360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22359, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22374, - "src": "436:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "436:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "435:9:32" - }, - "scope": 22375, - "src": "379:151:32", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22376, - "src": "71:461:32" - } - ], - "src": "44:489:32" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apm/APMNamehash.sol", - "exportedSymbols": { - "APMNamehash": [ - 22375 - ] - }, - "id": 22376, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22351, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:32" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22375, - "linearizedBaseContracts": [ - 22375 - ], - "name": "APMNamehash", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22354, - "name": "APM_NODE", - "nodeType": "VariableDeclaration", - "scope": 22375, - "src": "269:103:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22352, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "269:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839303635633365376637623765663165663465353364326430623865306365663032383734616230323063316563653739643566306433643031313163306261", - "id": 22353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:66:32", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65312853843906083142924454034138414288605577640028287111178798186601638903994_by_1", - "typeString": "int_const 6531...(69 digits omitted)...3994" - }, - "value": "0x9065c3e7f7b7ef1ef4e53d2d0b8e0cef02874ab020c1ece79d5f0d3d0111c0ba" - }, - "visibility": "internal" - }, - { - "body": { - "id": 22373, - "nodeType": "Block", - "src": "445:85:32", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22364, - "name": "APM_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22354, - "src": "489:8:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22367, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22356, - "src": "515:4:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "509:5:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "509:11:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 22365, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "499:9:32", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "499:22:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22362, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "472:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "472:16:32", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "472:50:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22361, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "462:9:32", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "462:61:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22360, - "id": 22372, - "nodeType": "Return", - "src": "455:68:32" - } - ] - }, - "documentation": null, - "id": 22374, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "apmNamehash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22357, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22356, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22374, - "src": "400:11:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22355, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "399:13:32" - }, - "payable": false, - "returnParameters": { - "id": 22360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22359, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22374, - "src": "436:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "436:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "435:9:32" - }, - "scope": 22375, - "src": "379:151:32", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22376, - "src": "71:461:32" - } - ], - "src": "44:489:32" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.204Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/APMRegistry.json b/templates/multisig/build/contracts/APMRegistry.json deleted file mode 100644 index f14a2ac..0000000 --- a/templates/multisig/build/contracts/APMRegistry.json +++ /dev/null @@ -1,8930 +0,0 @@ -{ - "contractName": "APMRegistry", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "registrar", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ens", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_REPO_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "id", - "type": "bytes32" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "repo", - "type": "address" - } - ], - "name": "NewRepo", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "name": "isUpgradeable", - "type": "bool" - }, - { - "indexed": false, - "name": "appId", - "type": "bytes32" - } - ], - "name": "NewAppProxy", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_registrar", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_name", - "type": "string" - }, - { - "name": "_dev", - "type": "address" - } - ], - "name": "newRepo", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_name", - "type": "string" - }, - { - "name": "_dev", - "type": "address" - }, - { - "name": "_initialSemanticVersion", - "type": "uint16[3]" - }, - { - "name": "_contractAddress", - "type": "address" - }, - { - "name": "_contentURI", - "type": "bytes" - } - ], - "name": "newRepoWithVersion", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620035b883398151915264010000000062001f806200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620035b883398151915282640100000000620023116200023782021704565b50565b5490565b9055565b61336d806200024b6000396000f300608060405260043610620001195763ffffffff60e060020a6000350416630803fac081146200011e5780632914b9bd146200014a5780632b20e39714620001c257806332ab6af014620001da57806332f0a3b514620002b95780633f15457f14620002d15780635e1f3fa814620002e95780637e7db6e1146200031357806380afdea814620003375780638b3dd749146200034f5780639d4941d81462000367578063a1658fad146200038d578063a479e50814620003f7578063b0927de7146200040f578063c4d66de81462000476578063d162f8b0146200049a578063d4aae0c41462000506578063de4796ed146200051e578063e156a8f31462000536578063ede658b0146200055d578063ff289fc514620005c9575b600080fd5b3480156200012b57600080fd5b5062000136620005f0565b604080519115158252519081900360200190f35b3480156200015757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a69436949293602493928401919081908401838280828437509497506200061e9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b348015620001cf57600080fd5b50620001a66200070c565b348015620001e757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a6943694929360249392840191908190840183828082843750506040805160608181019092529598600160a060020a0388351698909790966080820196509450602001925060039150839083908082843750506040805160208781013589018035601f81018390048302840183018552808452979a8935600160a060020a03169a9099909894019650919450908101925081908401838280828437509497506200071b9650505050505050565b348015620002c657600080fd5b50620001a662000c84565b348015620002de57600080fd5b50620001a662000d01565b348015620002f657600080fd5b506200030162000d10565b60408051918252519081900360200190f35b3480156200032057600080fd5b5062000136600160a060020a036004351662000d23565b3480156200034457600080fd5b506200030162000d29565b3480156200035c57600080fd5b506200030162000d5b565b3480156200037457600080fd5b506200038b600160a060020a036004351662000d88565b005b3480156200039a57600080fd5b50604080516020600460443581810135838102808601850190965280855262000136958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506200102d9650505050505050565b3480156200040457600080fd5b50620001a66200118d565b3480156200041c57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a694369492936024939284019190819084018382808284375094975050509235600160a060020a031693506200124592505050565b3480156200048357600080fd5b506200038b600160a060020a036004351662001314565b348015620004a757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001a6948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750620018b49650505050505050565b3480156200051357600080fd5b50620001a6620019bf565b3480156200052b57600080fd5b5062000136620019ec565b3480156200054357600080fd5b50620001a6600160a060020a036004351660243562001a01565b3480156200056a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001a6948235600160a060020a031694602480359536959460649492019190819084018382808284375094975062001a279650505050505050565b348015620005d657600080fd5b50620001a6600160a060020a036004351660243562001b32565b600080620005fd62000d5b565b90508015801590620006185750806200061562001b51565b10155b91505090565b60006200062a6200118d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200068a57818101518382015260200162000670565b50505050905090810190601f168015620006b85780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015620006d857600080fd5b505af1158015620006ed573d6000803e3d6000fd5b505050506040513d60208110156200070457600080fd5b505192915050565b600154600160a060020a031681565b60408051600080825260208201909252819081906000805160206200332283398151915290620007529033908390855b506200102d565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515620008185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620007dc578181015183820152602001620007c2565b50505050905090810190601f1680156200080a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5062000825893062001b55565b925082600160a060020a031663730534108888886040518463ffffffff1660e060020a0281526004018084600360200280838360005b83811015620008755781810151838201526020016200085b565b5050505090500183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015620008cf578181015183820152602001620008b5565b50505050905090810190601f168015620008fd5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156200091f57600080fd5b505af115801562000934573d6000803e3d6000fd5b5050505062000942620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200098057600080fd5b505af115801562000995573d6000803e3d6000fd5b505050506040513d6020811015620009ac57600080fd5b50516040805160e160020a635530c9250281529051919350600160a060020a0380851692639d0effdb92309288929083169163aa61924a9160048083019260209291908290030181600087803b15801562000a0657600080fd5b505af115801562000a1b573d6000803e3d6000fd5b505050506040513d602081101562000a3257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000a8857600080fd5b505af115801562000a9d573d6000803e3d6000fd5b5050505081600160a060020a0316630a8ed3db898586600160a060020a031663aa61924a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000af157600080fd5b505af115801562000b06573d6000803e3d6000fd5b505050506040513d602081101562000b1d57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000b7357600080fd5b505af115801562000b88573d6000803e3d6000fd5b5050505081600160a060020a031663afd925df898586600160a060020a031663aa61924a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000bdc57600080fd5b505af115801562000bf1573d6000803e3d6000fd5b505050506040513d602081101562000c0857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000c5e57600080fd5b505af115801562000c73573d6000803e3d6000fd5b50949b9a5050505050505050505050565b600062000c90620019bf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000cce57600080fd5b505af115801562000ce3573d6000803e3d6000fd5b505050506040513d602081101562000cfa57600080fd5b5051905090565b600054600160a060020a031681565b6000805160206200332283398151915281565b50600190565b600062000d567fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b62001f80565b905090565b600062000d567febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e62001f80565b600080600062000d988462000d23565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151562000e215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5062000e2c62000c84565b925062000e398362001f88565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151562000ec25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b50600160a060020a038416151562000f165760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801562000f0f573d6000803e3d6000fd5b5062000fdc565b508262000f33600160a060020a0382163063ffffffff62001fb716565b915062000f51600160a060020a038216848463ffffffff620020bc16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151562000fda5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806200103a620005f0565b15156200104b576000915062001185565b62001055620019bf565b9050600160a060020a038116151562001072576000915062001185565b80600160a060020a031663fdef91068630876200108f8862002134565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101562001103578181015183820152602001620010e9565b50505050905090810190601f168015620011315780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156200115457600080fd5b505af115801562001169573d6000803e3d6000fd5b505050506040513d60208110156200118057600080fd5b505191505b509392505050565b6000806200119a620019bf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015620006d857600080fd5b604080516000808252602082019092526000805160206200332283398151915290620012769033908390856200074b565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515620012ff5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b506200130c848462001b55565b949350505050565b60006200132062000d5b565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620013a85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b50620013b36200213e565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055604080517f3f15457f00000000000000000000000000000000000000000000000000000000815290519290911691633f15457f916004808201926020929091908290030181600087803b1580156200143857600080fd5b505af11580156200144d573d6000803e3d6000fd5b505050506040513d60208110156200146457600080fd5b50516000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316178155600154604080517fdb6069310000000000000000000000000000000000000000000000000000000081523060048201529051919093169263db60693192602480830193919282900301818387803b158015620014ea57600080fd5b505af1158015620014ff573d6000803e3d6000fd5b505050506200150d620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200154b57600080fd5b505af115801562001560573d6000803e3d6000fd5b505050506040513d60208110156200157757600080fd5b5051600154604080517ffef47e380000000000000000000000000000000000000000000000000000000081529051929350600160a060020a0380851693636d6712d8933093921691829163fef47e38916004808201926020929091908290030181600087803b158015620015ea57600080fd5b505af1158015620015ff573d6000803e3d6000fd5b505050506040513d60208110156200161657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b1580156200166d57600080fd5b505af115801562001682573d6000803e3d6000fd5b505050506040513d60208110156200169957600080fd5b505160408051808201909152601781527f41504d5245475f494e49545f5045524d495353494f4e530000000000000000006020820152901515620017245760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5080600160a060020a0316636d6712d8308384600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200177557600080fd5b505af11580156200178a573d6000803e3d6000fd5b505050506040513d6020811015620017a157600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b158015620017f857600080fd5b505af11580156200180d573d6000803e3d6000fd5b505050506040513d60208110156200182457600080fd5b505160408051808201909152601781527f41504d5245475f494e49545f5045524d495353494f4e530000000000000000006020820152901515620018af5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b505050565b600080848484620018c46200251d565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001917578181015183820152602001620018fd565b50505050905090810190601f168015620019455780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001969573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b600062000d567f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b62001f80565b6000600019620019fb62000d5b565b14905090565b6040805160008082526020820190925262001a20908490849062001a27565b9392505050565b60008084848462001a376200252e565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001a8a57818101518382015260200162001a70565b50505050905090810190601f16801562001ab85780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001adc573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b6040805160008082526020820190925262001a209084908490620018b4565b4390565b6000806000808551116040805190810160405280601181526020017f41504d5245475f454d5054595f4e414d4500000000000000000000000000000081525090151562001be95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5062001bf46200220f565b915062001c00620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562001c3e57600080fd5b505af115801562001c53573d6000803e3d6000fd5b505050506040513d602081101562001c6a57600080fd5b50516040805160e160020a635530c9250281529051600160a060020a039283169263be038478928892879283169163aa61924a9160048083019260209291908290030181600087803b15801562001cc057600080fd5b505af115801562001cd5573d6000803e3d6000fd5b505050506040513d602081101562001cec57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b15801562001d4c57600080fd5b505af115801562001d61573d6000803e3d6000fd5b50506001546040518851600160a060020a0390921693506365b0bc85925088916020918201918291908401908083835b6020831062001db25780518252601f19909201916020918201910162001d91565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831062001e175780518252601f19909201916020918201910162001df6565b51815160209384036101000a60001901801990921691161790526040805192909401829003822063ffffffff881660e060020a0283526004830152600160a060020a038a166024830152925160448083019650939450929083900301905081600087803b15801562001e8857600080fd5b505af115801562001e9d573d6000803e3d6000fd5b505050506040513d602081101562001eb457600080fd5b505160408051828152600160a060020a038516918101919091526060602082810182815289519284019290925288519394507f526d4ccf8c3d7b6f0b6d4cc0de526d515c87d1ea3bd264ace0b5c2e70d1b22089385938a9388939192909160808401919086019080838360005b8381101562001f3b57818101518382015260200162001f21565b50505050905090810190601f16801562001f695780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1509392505050565b5490565b5490565b600080600160a060020a038316151562001fa6576000915062001fb1565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806200202486846200228c565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515620020b25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906200212b8582620022be565b95945050505050565b8051602002815290565b6200214862000d5b565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620021d05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b506200220d620021df62001b51565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6200231116565b565b60006200222f6200221f620019bf565b6200222962002315565b62001a01565b905080600160a060020a0316638129fc1c6040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b5050505090565b6000806000806040516020818751602089018a5afa92506000831115620022b257805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111562002307573d8015620022f35760208114620022fd5762002305565b6001935062002305565b600183511493505b505b5090949350505050565b9055565b600154604080517ffaff50a80000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163faff50a891600480830192602092919082900301818787803b1580156200237557600080fd5b505af11580156200238a573d6000803e3d6000fd5b505050506040513d6020811015620023a157600080fd5b505160408051808201825260088082527f61706d2d7265706f000000000000000000000000000000000000000000000000602083810191825293519293929092019182918083835b602083106200240a5780518252601f199092019160209182019101620023e9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106200246f5780518252601f1990920191602091820191016200244e565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310620024eb5780518252601f199092019160209182019101620024ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b6040516106f9806200254083390190565b6040516106e98062002c39833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6a165627a7a72305820e81f7587c05801926014c22c134a6ee270ed44d19ae8ac40e1c5304a2379d67e0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x608060405260043610620001195763ffffffff60e060020a6000350416630803fac081146200011e5780632914b9bd146200014a5780632b20e39714620001c257806332ab6af014620001da57806332f0a3b514620002b95780633f15457f14620002d15780635e1f3fa814620002e95780637e7db6e1146200031357806380afdea814620003375780638b3dd749146200034f5780639d4941d81462000367578063a1658fad146200038d578063a479e50814620003f7578063b0927de7146200040f578063c4d66de81462000476578063d162f8b0146200049a578063d4aae0c41462000506578063de4796ed146200051e578063e156a8f31462000536578063ede658b0146200055d578063ff289fc514620005c9575b600080fd5b3480156200012b57600080fd5b5062000136620005f0565b604080519115158252519081900360200190f35b3480156200015757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a69436949293602493928401919081908401838280828437509497506200061e9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b348015620001cf57600080fd5b50620001a66200070c565b348015620001e757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a6943694929360249392840191908190840183828082843750506040805160608181019092529598600160a060020a0388351698909790966080820196509450602001925060039150839083908082843750506040805160208781013589018035601f81018390048302840183018552808452979a8935600160a060020a03169a9099909894019650919450908101925081908401838280828437509497506200071b9650505050505050565b348015620002c657600080fd5b50620001a662000c84565b348015620002de57600080fd5b50620001a662000d01565b348015620002f657600080fd5b506200030162000d10565b60408051918252519081900360200190f35b3480156200032057600080fd5b5062000136600160a060020a036004351662000d23565b3480156200034457600080fd5b506200030162000d29565b3480156200035c57600080fd5b506200030162000d5b565b3480156200037457600080fd5b506200038b600160a060020a036004351662000d88565b005b3480156200039a57600080fd5b50604080516020600460443581810135838102808601850190965280855262000136958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506200102d9650505050505050565b3480156200040457600080fd5b50620001a66200118d565b3480156200041c57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452620001a694369492936024939284019190819084018382808284375094975050509235600160a060020a031693506200124592505050565b3480156200048357600080fd5b506200038b600160a060020a036004351662001314565b348015620004a757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001a6948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750620018b49650505050505050565b3480156200051357600080fd5b50620001a6620019bf565b3480156200052b57600080fd5b5062000136620019ec565b3480156200054357600080fd5b50620001a6600160a060020a036004351660243562001a01565b3480156200056a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001a6948235600160a060020a031694602480359536959460649492019190819084018382808284375094975062001a279650505050505050565b348015620005d657600080fd5b50620001a6600160a060020a036004351660243562001b32565b600080620005fd62000d5b565b90508015801590620006185750806200061562001b51565b10155b91505090565b60006200062a6200118d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200068a57818101518382015260200162000670565b50505050905090810190601f168015620006b85780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015620006d857600080fd5b505af1158015620006ed573d6000803e3d6000fd5b505050506040513d60208110156200070457600080fd5b505192915050565b600154600160a060020a031681565b60408051600080825260208201909252819081906000805160206200332283398151915290620007529033908390855b506200102d565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515620008185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620007dc578181015183820152602001620007c2565b50505050905090810190601f1680156200080a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5062000825893062001b55565b925082600160a060020a031663730534108888886040518463ffffffff1660e060020a0281526004018084600360200280838360005b83811015620008755781810151838201526020016200085b565b5050505090500183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015620008cf578181015183820152602001620008b5565b50505050905090810190601f168015620008fd5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156200091f57600080fd5b505af115801562000934573d6000803e3d6000fd5b5050505062000942620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200098057600080fd5b505af115801562000995573d6000803e3d6000fd5b505050506040513d6020811015620009ac57600080fd5b50516040805160e160020a635530c9250281529051919350600160a060020a0380851692639d0effdb92309288929083169163aa61924a9160048083019260209291908290030181600087803b15801562000a0657600080fd5b505af115801562000a1b573d6000803e3d6000fd5b505050506040513d602081101562000a3257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000a8857600080fd5b505af115801562000a9d573d6000803e3d6000fd5b5050505081600160a060020a0316630a8ed3db898586600160a060020a031663aa61924a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000af157600080fd5b505af115801562000b06573d6000803e3d6000fd5b505050506040513d602081101562000b1d57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000b7357600080fd5b505af115801562000b88573d6000803e3d6000fd5b5050505081600160a060020a031663afd925df898586600160a060020a031663aa61924a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000bdc57600080fd5b505af115801562000bf1573d6000803e3d6000fd5b505050506040513d602081101562000c0857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801562000c5e57600080fd5b505af115801562000c73573d6000803e3d6000fd5b50949b9a5050505050505050505050565b600062000c90620019bf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562000cce57600080fd5b505af115801562000ce3573d6000803e3d6000fd5b505050506040513d602081101562000cfa57600080fd5b5051905090565b600054600160a060020a031681565b6000805160206200332283398151915281565b50600190565b600062000d567fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b62001f80565b905090565b600062000d567febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e62001f80565b600080600062000d988462000d23565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151562000e215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5062000e2c62000c84565b925062000e398362001f88565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151562000ec25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b50600160a060020a038416151562000f165760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801562000f0f573d6000803e3d6000fd5b5062000fdc565b508262000f33600160a060020a0382163063ffffffff62001fb716565b915062000f51600160a060020a038216848463ffffffff620020bc16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151562000fda5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806200103a620005f0565b15156200104b576000915062001185565b62001055620019bf565b9050600160a060020a038116151562001072576000915062001185565b80600160a060020a031663fdef91068630876200108f8862002134565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101562001103578181015183820152602001620010e9565b50505050905090810190601f168015620011315780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156200115457600080fd5b505af115801562001169573d6000803e3d6000fd5b505050506040513d60208110156200118057600080fd5b505191505b509392505050565b6000806200119a620019bf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015620006d857600080fd5b604080516000808252602082019092526000805160206200332283398151915290620012769033908390856200074b565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515620012ff5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b506200130c848462001b55565b949350505050565b60006200132062000d5b565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620013a85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b50620013b36200213e565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055604080517f3f15457f00000000000000000000000000000000000000000000000000000000815290519290911691633f15457f916004808201926020929091908290030181600087803b1580156200143857600080fd5b505af11580156200144d573d6000803e3d6000fd5b505050506040513d60208110156200146457600080fd5b50516000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316178155600154604080517fdb6069310000000000000000000000000000000000000000000000000000000081523060048201529051919093169263db60693192602480830193919282900301818387803b158015620014ea57600080fd5b505af1158015620014ff573d6000803e3d6000fd5b505050506200150d620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200154b57600080fd5b505af115801562001560573d6000803e3d6000fd5b505050506040513d60208110156200157757600080fd5b5051600154604080517ffef47e380000000000000000000000000000000000000000000000000000000081529051929350600160a060020a0380851693636d6712d8933093921691829163fef47e38916004808201926020929091908290030181600087803b158015620015ea57600080fd5b505af1158015620015ff573d6000803e3d6000fd5b505050506040513d60208110156200161657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b1580156200166d57600080fd5b505af115801562001682573d6000803e3d6000fd5b505050506040513d60208110156200169957600080fd5b505160408051808201909152601781527f41504d5245475f494e49545f5045524d495353494f4e530000000000000000006020820152901515620017245760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5080600160a060020a0316636d6712d8308384600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156200177557600080fd5b505af11580156200178a573d6000803e3d6000fd5b505050506040513d6020811015620017a157600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b158015620017f857600080fd5b505af11580156200180d573d6000803e3d6000fd5b505050506040513d60208110156200182457600080fd5b505160408051808201909152601781527f41504d5245475f494e49545f5045524d495353494f4e530000000000000000006020820152901515620018af5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b505050565b600080848484620018c46200251d565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001917578181015183820152602001620018fd565b50505050905090810190601f168015620019455780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001969573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b600062000d567f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b62001f80565b6000600019620019fb62000d5b565b14905090565b6040805160008082526020820190925262001a20908490849062001a27565b9392505050565b60008084848462001a376200252e565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001a8a57818101518382015260200162001a70565b50505050905090810190601f16801562001ab85780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001adc573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b6040805160008082526020820190925262001a209084908490620018b4565b4390565b6000806000808551116040805190810160405280601181526020017f41504d5245475f454d5054595f4e414d4500000000000000000000000000000081525090151562001be95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5062001bf46200220f565b915062001c00620019bf565b600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801562001c3e57600080fd5b505af115801562001c53573d6000803e3d6000fd5b505050506040513d602081101562001c6a57600080fd5b50516040805160e160020a635530c9250281529051600160a060020a039283169263be038478928892879283169163aa61924a9160048083019260209291908290030181600087803b15801562001cc057600080fd5b505af115801562001cd5573d6000803e3d6000fd5b505050506040513d602081101562001cec57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b15801562001d4c57600080fd5b505af115801562001d61573d6000803e3d6000fd5b50506001546040518851600160a060020a0390921693506365b0bc85925088916020918201918291908401908083835b6020831062001db25780518252601f19909201916020918201910162001d91565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831062001e175780518252601f19909201916020918201910162001df6565b51815160209384036101000a60001901801990921691161790526040805192909401829003822063ffffffff881660e060020a0283526004830152600160a060020a038a166024830152925160448083019650939450929083900301905081600087803b15801562001e8857600080fd5b505af115801562001e9d573d6000803e3d6000fd5b505050506040513d602081101562001eb457600080fd5b505160408051828152600160a060020a038516918101919091526060602082810182815289519284019290925288519394507f526d4ccf8c3d7b6f0b6d4cc0de526d515c87d1ea3bd264ace0b5c2e70d1b22089385938a9388939192909160808401919086019080838360005b8381101562001f3b57818101518382015260200162001f21565b50505050905090810190601f16801562001f695780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1509392505050565b5490565b5490565b600080600160a060020a038316151562001fa6576000915062001fb1565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806200202486846200228c565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515620020b25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906200212b8582620022be565b95945050505050565b8051602002815290565b6200214862000d5b565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620021d05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007dc578181015183820152602001620007c2565b506200220d620021df62001b51565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6200231116565b565b60006200222f6200221f620019bf565b6200222962002315565b62001a01565b905080600160a060020a0316638129fc1c6040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b5050505090565b6000806000806040516020818751602089018a5afa92506000831115620022b257805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111562002307573d8015620022f35760208114620022fd5762002305565b6001935062002305565b600183511493505b505b5090949350505050565b9055565b600154604080517ffaff50a80000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163faff50a891600480830192602092919082900301818787803b1580156200237557600080fd5b505af11580156200238a573d6000803e3d6000fd5b505050506040513d6020811015620023a157600080fd5b505160408051808201825260088082527f61706d2d7265706f000000000000000000000000000000000000000000000000602083810191825293519293929092019182918083835b602083106200240a5780518252601f199092019160209182019101620023e9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106200246f5780518252601f1990920191602091820191016200244e565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310620024eb5780518252601f199092019160209182019101620024ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b6040516106f9806200254083390190565b6040516106e98062002c39833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6a165627a7a72305820e81f7587c05801926014c22c134a6ee270ed44d19ae8ac40e1c5304a2379d67e0029", - "sourceMap": "440:3998:33:-;;;344:9:40;:7;;;;:9;:::i;:::-;440:3998:33;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;440:3998:33:-;;;;;;;", - "deployedSourceMap": "440:3998:33:-;;;;;;;;;-1:-1:-1;;;440:3998:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;935:38:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;935:38:33;;;;2821:718;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2821:718:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2821:718:33;;;;;;;;;;;;-1:-1:-1;;;;;2821:718:33;;;;;;;;;;;;-1:-1:-1;2821:718:33;-1:-1:-1;2821:718:33;;;-1:-1:-1;2821:718:33;;-1:-1:-1;2821:718:33;;;;;;;;-1:-1:-1;;2821:718:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2821:718:33;;;;;;;;;-1:-1:-1;2821:718:33;;-1:-1:-1;2821:718:33;;;;-1:-1:-1;2821:718:33;;;;;;;;;;-1:-1:-1;2821:718:33;;-1:-1:-1;2821:718:33;;-1:-1:-1;;;;;;;2821:718:33;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;907:22:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;907:22:33;;;;642:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;642:109:33;;;;;;;;;;;;;;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;2132:135:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2132:135:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2132:135:33;;-1:-1:-1;;;2132:135:33;;-1:-1:-1;;;;;2132:135:33;;-1:-1:-1;2132:135:33;;-1:-1:-1;;;2132:135:33;1431:504;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1431:504:33;-1:-1:-1;;;;;1431:504:33;;;;;1875:292:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1875:292:67;;-1:-1:-1;1875:292:67;;-1:-1:-1;;;;;;;1875:292:67;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;433:157:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;433:157:67;-1:-1:-1;;;;;433:157:67;;;;;;;866:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;866:300:67;;-1:-1:-1;866:300:67;;-1:-1:-1;;;;;;;866:300:67;1384:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1384:164:67;-1:-1:-1;;;;;1384:164:67;;;;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;935:38:33:-;;;-1:-1:-1;;;;;935:38:33;;:::o;2821:718::-;1020:16:39;;;3042:4:33;1020:16:39;;;;;;;;;3042:4:33;;;;-1:-1:-1;;;;;;;;;;;685:66:33;990:47:39;;1001:10;;685:66:33;;3042:4;1020:16:39;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3074:21:33;3083:5;3090:4;3074:8;:21::i;:::-;3062:33;;3151:4;-1:-1:-1;;;;;3151:15:33;;3167:23;3192:16;3210:11;3151:71;;;;;-1:-1:-1;;;3151:71:33;;;;;;;;;;;;;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;3151:71:33;;;;;;;-1:-1:-1;;;;;3151:71:33;-1:-1:-1;;;;;3151:71:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3151:71:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3151:71:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3151:71:33;;;;3283:8;:6;:8::i;:::-;-1:-1:-1;;;;;3283:12:33;;:14;;;;;-1:-1:-1;;;3283:14:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3283:14:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3283:14:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3283:14:33;3341:26;;;-1:-1:-1;;;;;3341:26:33;;;;3283:14;;-1:-1:-1;;;;;;3308:20:33;;;;;;3329:4;;3335;;3341:24;;;;;;:26;;;;;3283:14;;3341:26;;;;;;;;:24;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;3341:26:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3341:26:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3341:26:33;3308:60;;;-1:-1:-1;;;3308:60:33;;;;;;-1:-1:-1;;;;;3308:60:33;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3308:60:33;;;;;;;-1:-1:-1;3308:60:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;3308:60:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3308:60:33;;;;3378:3;-1:-1:-1;;;;;3378:19:33;;3398:4;3404;3410;-1:-1:-1;;;;;3410:24:33;;:26;;;;;-1:-1:-1;;;3410:26:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3410:26:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3410:26:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3410:26:33;3378:59;;;-1:-1:-1;;;3378:59:33;;;;;;-1:-1:-1;;;;;3378:59:33;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3378:59:33;;;;;;;-1:-1:-1;3378:59:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;3378:59:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3378:59:33;;;;3447:3;-1:-1:-1;;;;;3447:24:33;;3472:4;3478;3484;-1:-1:-1;;;;;3484:24:33;;:26;;;;;-1:-1:-1;;;3484:26:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3484:26:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3484:26:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3484:26:33;3447:64;;;-1:-1:-1;;;3447:64:33;;;;;;-1:-1:-1;;;;;3447:64:33;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3447:64:33;;;;;;;-1:-1:-1;3447:64:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;3447:64:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;3528:4:33;;2821:718;-1:-1:-1;;;;;;;;;;;2821:718:33:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;907:22:33:-;;;-1:-1:-1;;;;;907:22:33;;:::o;642:109::-;-1:-1:-1;;;;;;;;;;;642:109:33;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;2132:135:33;1020:16:39;;;2216:4:33;1020:16:39;;;;;;;;;-1:-1:-1;;;;;;;;;;;685:66:33;990:47:39;;1001:10;;685:66:33;;2216:4;1020:16:39;;990:47;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;2239:21:33;2248:5;2255:4;2239:8;:21::i;:::-;2232:28;2132:135;-1:-1:-1;;;;2132:135:33:o;1431:504::-;1690:7;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1511:13:33;:11;:13::i;:::-;1535:9;:22;;-1:-1:-1;;1535:22:33;-1:-1:-1;;;;;1535:22:33;;;;;;;;;;;1573:15;;;;;;;;:9;;;;;:13;;:15;;;;;;;;;;;;;;;-1:-1:-1;1573:9:33;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1573:15:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1573:15:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1573:15:33;1567:3;:21;;-1:-1:-1;;1567:21:33;-1:-1:-1;;;;;1567:21:33;;;;;;-1:-1:-1;1599:9:33;:29;;;;;;1623:4;1599:29;;;;;;:9;;;;;:23;;:29;;;;;1567:3;;1599:29;;;;;1567:3;1599:9;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1599:29:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1599:29:33;;;;1704:8;:6;:8::i;:::-;-1:-1:-1;;;;;1704:12:33;;:14;;;;;-1:-1:-1;;;1704:14:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1704:14:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1704:14:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1704:14:33;1761:9;;1772:28;;;;;;;;1704:14;;-1:-1:-1;;;;;;1737:17:33;;;;;;1755:4;;1761:9;;;;;1772:26;;:28;;;;;1704:14;;1772:28;;;;;;;;1761:9;;1772:28;;;5:2:-1;;;;30:1;27;20:12;5:2;1772:28:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1772:28:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1772:28:33;1737:64;;;-1:-1:-1;;;1737:64:33;;;;;;-1:-1:-1;;;;;1737:64:33;;;;;;;;;;;;;;;;;;;;;;;;;;1772:28;;1737:64;;;;;;;-1:-1:-1;1737:64:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;1737:64:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1737:64:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1737:64:33;1803:22;;;;;;;;;;;;;1737:64;1803:22;;;;1729:97;;;;;;-1:-1:-1;;;;;1729:97:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1729:97:33;;1844:3;-1:-1:-1;;;;;1844:17:33;;1862:4;1868:3;1873;-1:-1:-1;;;;;1873:27:33;;:29;;;;;-1:-1:-1;;;1873:29:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1873:29:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1873:29:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1873:29:33;1844:59;;;-1:-1:-1;;;1844:59:33;;;;;;-1:-1:-1;;;;;1844:59:33;;;;;;;;;;;;;;;;;;;;;;;;;;1873:29;;1844:59;;;;;;;-1:-1:-1;1844:59:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;1844:59:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1844:59:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1844:59:33;1905:22;;;;;;;;;;;;;1844:59;1905:22;;;;1836:92;;;;;;-1:-1:-1;;;;;1836:92:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1836:92:33;;1431:504;;:::o;1875:292:67:-;1977:14;2003:20;2045:7;2054:6;2062:18;2026:55;;:::i;:::-;-1:-1:-1;;;;;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2096:42:67;;;-1:-1:-1;;;;;2096:42:67;;;;2124:5;2096:42;;;;;;;;;;;;2003:78;;-1:-1:-1;2096:42:67;;;;;;;;;;2155:5;1875:292;-1:-1:-1;;;;1875:292:67:o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;433:157:67:-;570:12;;;503:19;570:12;;;;;;;;;541:42;;553:7;;562:6;;541:11;:42::i;:::-;534:49;433:157;-1:-1:-1;;;433:157:67:o;866:300::-;962:19;993:25;1045:7;1054:6;1062:18;1021:60;;:::i;:::-;-1:-1:-1;;;;;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1096:41:67;;;-1:-1:-1;;;;;1096:41:67;;;;1124:4;1096:41;;;;;;;;;;;;993:88;;-1:-1:-1;1096:41:67;;;;;;;;;;1154:5;866:300;-1:-1:-1;;;;866:300:67:o;1384:164::-;1528:12;;;1460:14;1528:12;;;;;;;;;1493:48;;1511:7;;1520:6;;1493:17;:48::i;347:94:53:-;422:12;347:94;:::o;3545:564:33:-;3609:4;3686:9;3953:12;3655:1;3639:5;3633:19;:23;3658:16;;;;;;;;;;;;;;;;;;3625:50;;;;;;;-1:-1:-1;;;;;3625:50:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3625:50:33;;3698:15;:13;:15::i;:::-;3686:27;;3728:8;:6;:8::i;:::-;-1:-1:-1;;;;;3728:12:33;;:14;;;;;-1:-1:-1;;;3728:14:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3728:14:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3728:14:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3728:14:33;3773:26;;;-1:-1:-1;;;;;3773:26:33;;;;-1:-1:-1;;;;;3724:36:33;;;;;;3761:4;;3767;;3773:24;;;;;:26;;;;;3728:14;;3773:26;;;;;;;;:24;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;3773:26:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3773:26:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3773:26:33;3724:82;;;-1:-1:-1;;;3724:82:33;;;;;;-1:-1:-1;;;;;3724:82:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3724:82:33;;;;;;;-1:-1:-1;3724:82:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;3724:82:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3968:9:33;;4007:23;;;;-1:-1:-1;;;;;3968:9:33;;;;-1:-1:-1;3968:28:33;;-1:-1:-1;4024:5:33;;4007:23;;;;;;;;;;;;;;36:153:-1;66:2;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;;;4007:23:33;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4007:23:33;;;3997:34;;;;;;;;;;;;;36:153:-1;66:2;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;;3997:34:33;;;;;;;;;;;;3968:70;;;-1:-1:-1;;;3968:70:33;;;;;;;-1:-1:-1;;;;;3968:70:33;;;;;;;;;;;;;-1:-1:-1;263:2;;-1:-1;3968:70:33;;;;;;;-1:-1:-1;3968:70:33;-1:-1:-1;3968:70:33;;;;5:2:-1;;;;30:1;27;20:12;5:2;3968:70:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3968:70:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3968:70:33;4054:26;;;;;;-1:-1:-1;;;;;4054:26:33;;;;;;;;;;3968:70;4054:26;;;;;;;;;;;;;;;;;3968:70;;-1:-1:-1;4054:26:33;;3968:70;;4068:5;;4075:4;;4054:26;;;;;;;;;;;;;;;;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;4054:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4098:4:33;3545:564;-1:-1:-1;;;3545:564:33:o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;4115:145:33:-;4158:9;4191:34;4203:8;:6;:8::i;:::-;4213:11;:9;:11::i;:::-;4191;:34::i;:::-;4179:47;;4236:4;-1:-1:-1;;;;;4236:15:33;;:17;;;;;-1:-1:-1;;;4236:17:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4236:17:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4236:17:33;;;;4115:145;:::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o;4266:170:33:-;4363:9;;:20;;;;;;;;4310:7;;-1:-1:-1;;;;;4363:9:33;;:18;;:20;;;;;;;;;;;;;;4310:7;4363:9;:20;;;5:2:-1;;;;30:1;27;20:12;5:2;4363:20:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4363:20:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4363:20:33;4412:13;;;;;;;;;;;;;4363:20;4412:13;;;;;;4395:31;;4412:13;;4395:31;;;;;;;4412:13;4395:31;4412:13;36:153:-1;66:2;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;;;4395:31:33;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4395:31:33;;;4385:42;;;;;;;;;;;;;36:153:-1;66:2;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;;4385:42:33;;;;;;;;;;;;4346:82;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;4346:82:33;;;;;;;;4336:93;;4346:82;;;;-1:-1:-1;4346:82:33;;-1:-1:-1;4336:93:33;;;;;-1:-1:-1;4336:93:33;4346:82;4336:93;36:153:-1;66:2;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;;;4336:93:33;;;;;;;;;;;;;;;;4329:100;;4266:170;:::o;440:3998::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../lib/ens/AbstractENS.sol\";\nimport \"../ens/ENSSubdomainRegistrar.sol\";\nimport \"../factory/AppProxyFactory.sol\";\nimport \"../apps/AragonApp.sol\";\nimport \"../acl/ACL.sol\";\nimport \"./Repo.sol\";\n\n\ncontract APMInternalAppNames {\n string internal constant APM_APP_NAME = \"apm-registry\";\n string internal constant REPO_APP_NAME = \"apm-repo\";\n string internal constant ENS_SUB_APP_NAME = \"apm-enssub\";\n}\n\n\ncontract APMRegistry is AragonApp, AppProxyFactory, APMInternalAppNames {\n /* Hardcoded constants to save gas\n bytes32 public constant CREATE_REPO_ROLE = keccak256(\"CREATE_REPO_ROLE\");\n */\n bytes32 public constant CREATE_REPO_ROLE = 0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6;\n\n string private constant ERROR_INIT_PERMISSIONS = \"APMREG_INIT_PERMISSIONS\";\n string private constant ERROR_EMPTY_NAME = \"APMREG_EMPTY_NAME\";\n\n AbstractENS public ens;\n ENSSubdomainRegistrar public registrar;\n\n event NewRepo(bytes32 id, string name, address repo);\n\n /**\n * NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n * @dev Initialize can only be called once. It saves the block number in which it was initialized\n * @notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n * @param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership\n */\n function initialize(ENSSubdomainRegistrar _registrar) public onlyInit {\n initialized();\n\n registrar = _registrar;\n ens = registrar.ens();\n\n registrar.pointRootNode(this);\n\n // Check APM has all permissions it needss\n ACL acl = ACL(kernel().acl());\n require(acl.hasPermission(this, registrar, registrar.CREATE_NAME_ROLE()), ERROR_INIT_PERMISSIONS);\n require(acl.hasPermission(this, acl, acl.CREATE_PERMISSIONS_ROLE()), ERROR_INIT_PERMISSIONS);\n }\n\n /**\n * @notice Create new repo in registry with `_name`\n * @param _name Repo name, must be ununsed\n * @param _dev Address that will be given permission to create versions\n */\n function newRepo(string _name, address _dev) public auth(CREATE_REPO_ROLE) returns (Repo) {\n return _newRepo(_name, _dev);\n }\n\n /**\n * @notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n * @param _name Repo name\n * @param _dev Address that will be given permission to create versions\n * @param _initialSemanticVersion Semantic version for new repo version\n * @param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n * @param _contentURI External URI for fetching new version's content\n */\n function newRepoWithVersion(\n string _name,\n address _dev,\n uint16[3] _initialSemanticVersion,\n address _contractAddress,\n bytes _contentURI\n ) public auth(CREATE_REPO_ROLE) returns (Repo)\n {\n Repo repo = _newRepo(_name, this); // need to have permissions to create version\n repo.newVersion(_initialSemanticVersion, _contractAddress, _contentURI);\n\n // Give permissions to _dev\n ACL acl = ACL(kernel().acl());\n acl.revokePermission(this, repo, repo.CREATE_VERSION_ROLE());\n acl.grantPermission(_dev, repo, repo.CREATE_VERSION_ROLE());\n acl.setPermissionManager(_dev, repo, repo.CREATE_VERSION_ROLE());\n return repo;\n }\n\n function _newRepo(string _name, address _dev) internal returns (Repo) {\n require(bytes(_name).length > 0, ERROR_EMPTY_NAME);\n\n Repo repo = newClonedRepo();\n\n ACL(kernel().acl()).createPermission(_dev, repo, repo.CREATE_VERSION_ROLE(), _dev);\n\n // Creates [name] subdomain in the rootNode and sets registry as resolver\n // This will fail if repo name already exists\n bytes32 node = registrar.createNameAndPoint(keccak256(abi.encodePacked(_name)), repo);\n\n emit NewRepo(node, _name, repo);\n\n return repo;\n }\n\n function newClonedRepo() internal returns (Repo repo) {\n repo = Repo(newAppProxy(kernel(), repoAppId()));\n repo.initialize();\n }\n\n function repoAppId() internal view returns (bytes32) {\n return keccak256(abi.encodePacked(registrar.rootNode(), keccak256(abi.encodePacked(REPO_APP_NAME))));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "exportedSymbols": { - "APMInternalAppNames": [ - 22393 - ], - "APMRegistry": [ - 22680 - ] - }, - "id": 22681, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22377, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:33" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 22378, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 27079, - "src": "25:36:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 22379, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 24711, - "src": "62:42:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 22380, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 25962, - "src": "105:40:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22381, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23454, - "src": "146:31:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 22382, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 21812, - "src": "178:24:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "./Repo.sol", - "id": 22383, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23074, - "src": "203:20:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22393, - "linearizedBaseContracts": [ - 22393 - ], - "name": "APMInternalAppNames", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22386, - "name": "APM_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "261:54:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "261:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265676973747279", - "id": 22385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "301:14:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1226a50111d3ddb0ac66065a7ba777807edf06a6f8ad4742580e80f6ec042688", - "typeString": "literal_string \"apm-registry\"" - }, - "value": "apm-registry" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22389, - "name": "REPO_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "321:51:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "321:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265706f", - "id": 22388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "362:10:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_61b58029e47cfcc30dc3778f5a2d226cf5f9c93cefe3df4bd4ce3bad00b7db79", - "typeString": "literal_string \"apm-repo\"" - }, - "value": "apm-repo" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22392, - "name": "ENS_SUB_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "378:56:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22390, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d656e73737562", - "id": 22391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "422:12:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2eb278530aeb392e30450cf8054f46d8a501832c8fbbb06765e2ec8f55009673", - "typeString": "literal_string \"apm-enssub\"" - }, - "value": "apm-enssub" - }, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "226:211:33" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22394, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "464:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22395, - "nodeType": "InheritanceSpecifier", - "src": "464:9:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22396, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "475:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 22397, - "nodeType": "InheritanceSpecifier", - "src": "475:15:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22398, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "492:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 22399, - "nodeType": "InheritanceSpecifier", - "src": "492:19:33" - } - ], - "contractDependencies": [ - 22236, - 22393, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25961, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22680, - "linearizedBaseContracts": [ - 22680, - 22393, - 25961, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "APMRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22402, - "name": "CREATE_REPO_ROLE", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "642:109:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "642:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832613934393464363438343663396664626630313538373835616133333064386263396361663435616632376661306538383938656234643535616463656136", - "id": 22401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "685:66:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19259660241583906883361708073034075768710788637783750477988955744722786045606_by_1", - "typeString": "int_const 1925...(69 digits omitted)...5606" - }, - "value": "0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22405, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "758:74:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "758:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f494e49545f5045524d495353494f4e53", - "id": 22404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:25:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6798ba02f64c9b35b32f856c55b39b86f7df90be08d6797835bc46aa3216dd3", - "typeString": "literal_string \"APMREG_INIT_PERMISSIONS\"" - }, - "value": "APMREG_INIT_PERMISSIONS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22408, - "name": "ERROR_EMPTY_NAME", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "838:62:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22406, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "838:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f454d5054595f4e414d45", - "id": 22407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:19:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c2eb148c8e0d71ac79486628125a479d22b2bfcd9c83fd270a101639e84827e", - "typeString": "literal_string \"APMREG_EMPTY_NAME\"" - }, - "value": "APMREG_EMPTY_NAME" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 22410, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "907:22:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 22409, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "907:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 22412, - "name": "registrar", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "935:38:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22411, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "935:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 22420, - "name": "NewRepo", - "nodeType": "EventDefinition", - "parameters": { - "id": 22419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22414, - "indexed": false, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "994:10:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "994:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22416, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1006:11:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22415, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1006:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22418, - "indexed": false, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1019:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1019:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "993:39:33" - }, - "src": "980:53:33" - }, - { - "body": { - "id": 22479, - "nodeType": "Block", - "src": "1501:434:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22427, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1511:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1511:13:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22429, - "nodeType": "ExpressionStatement", - "src": "1511:13:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22430, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1535:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22431, - "name": "_registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22422, - "src": "1547:10:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1535:22:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22433, - "nodeType": "ExpressionStatement", - "src": "1535:22:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22434, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22410, - "src": "1567:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22435, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1573:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ens", - "nodeType": "MemberAccess", - "referencedDeclaration": 24426, - "src": "1573:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_AbstractENS_$27078_$", - "typeString": "function () view external returns (contract AbstractENS)" - } - }, - "id": 22437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1573:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1567:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 22439, - "nodeType": "ExpressionStatement", - "src": "1567:21:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22443, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1623:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "expression": { - "argumentTypes": null, - "id": 22440, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1599:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pointRootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24599, - "src": "1599:23:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 22444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1599:29:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22445, - "nodeType": "ExpressionStatement", - "src": "1599:29:33" - }, - { - "assignments": [ - 22447 - ], - "declarations": [ - { - "constant": false, - "id": 22447, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1690:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22446, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1690:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22454, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22449, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1704:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "1704:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22448, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1700:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1700:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1690:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1755:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22459, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1761:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22460, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1772:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "1772:26:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:28:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22456, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1737:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1737:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1737:64:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22464, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1803:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22455, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1729:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:97:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22466, - "nodeType": "ExpressionStatement", - "src": "1729:97:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1862:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22471, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1868:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22472, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1873:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1873:27:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:29:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22468, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1844:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1844:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1844:59:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22476, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1905:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1836:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1836:92:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22478, - "nodeType": "ExpressionStatement", - "src": "1836:92:33" - } - ] - }, - "documentation": "NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n@dev Initialize can only be called once. It saves the block number in which it was initialized\n@notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n@param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership", - "id": 22480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22425, - "modifierName": { - "argumentTypes": null, - "id": 22424, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1492:8:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1492:8:33" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22422, - "name": "_registrar", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1451:32:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22421, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1451:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1450:34:33" - }, - "payable": false, - "returnParameters": { - "id": 22426, - "nodeType": "ParameterList", - "parameters": [], - "src": "1501:0:33" - }, - "scope": 22680, - "src": "1431:504:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22497, - "nodeType": "Block", - "src": "2222:45:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22493, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22482, - "src": "2248:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22494, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22484, - "src": "2255:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22492, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "2239:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2239:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22491, - "id": 22496, - "nodeType": "Return", - "src": "2232:28:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name`\n@param _name Repo name, must be ununsed\n@param _dev Address that will be given permission to create versions", - "id": 22498, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22487, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "2189:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22488, - "modifierName": { - "argumentTypes": null, - "id": 22486, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2184:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2184:22:33" - } - ], - "name": "newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22482, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2149:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2149:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22484, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2163:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2163:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2148:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2216:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22489, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "2216:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2215:6:33" - }, - "scope": 22680, - "src": "2132:135:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22574, - "nodeType": "Block", - "src": "3052:487:33", - "statements": [ - { - "assignments": [ - 22519 - ], - "declarations": [ - { - "constant": false, - "id": 22519, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3062:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22518, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22521, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22500, - "src": "3083:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3090:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 22520, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "3074:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3062:33:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22528, - "name": "_initialSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22506, - "src": "3167:23:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22529, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22508, - "src": "3192:16:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22530, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22510, - "src": "3210:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22525, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3151:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22859, - "src": "3151:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint16[3] memory,address,bytes memory) external" - } - }, - "id": 22531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3151:71:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22532, - "nodeType": "ExpressionStatement", - "src": "3151:71:33" - }, - { - "assignments": [ - 22534 - ], - "declarations": [ - { - "constant": false, - "id": 22534, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3269:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22533, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3269:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22536, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3283:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3283:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22535, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3279:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3279:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3269:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3329:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22546, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3335:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22547, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3341:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3341:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3341:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22542, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3308:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "3308:20:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3308:60:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22551, - "nodeType": "ExpressionStatement", - "src": "3308:60:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22555, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3398:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22556, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3404:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22557, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3410:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3410:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3410:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22552, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3378:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "3378:19:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3378:59:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22561, - "nodeType": "ExpressionStatement", - "src": "3378:59:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22565, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3472:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22566, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3478:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22567, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3484:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3484:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3484:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3447:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "3447:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3447:64:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22571, - "nodeType": "ExpressionStatement", - "src": "3447:64:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22572, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3528:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22517, - "id": 22573, - "nodeType": "Return", - "src": "3521:11:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _name Repo name\n@param _dev Address that will be given permission to create versions\n@param _initialSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22513, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "3015:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22514, - "modifierName": { - "argumentTypes": null, - "id": 22512, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3010:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3010:22:33" - } - ], - "name": "newRepoWithVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2858:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2858:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22502, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2880:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22506, - "name": "_initialSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2902:33:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22503, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "2902:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22505, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2909:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "2902:9:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22508, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2945:24:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2945:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22510, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2979:17:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2979:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2848:154:33" - }, - "payable": false, - "returnParameters": { - "id": 22517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3042:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22515, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3042:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3041:6:33" - }, - "scope": 22680, - "src": "2821:718:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22635, - "nodeType": "Block", - "src": "3615:494:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22586, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "3639:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3633:5:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:12:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 22588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3633:19:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3655:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3633:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22591, - "name": "ERROR_EMPTY_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22408, - "src": "3658:16:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3625:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3625:50:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22593, - "nodeType": "ExpressionStatement", - "src": "3625:50:33" - }, - { - "assignments": [ - 22595 - ], - "declarations": [ - { - "constant": false, - "id": 22595, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3686:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22594, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3686:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22596, - "name": "newClonedRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22658, - "src": "3698:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Repo_$23073_$", - "typeString": "function () returns (contract Repo)" - } - }, - "id": 22597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3686:27:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22606, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3761:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22607, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3767:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22608, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3773:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3773:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3773:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22611, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3801:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22600, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3728:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3728:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22599, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3724:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3724:36:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 22612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:82:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22613, - "nodeType": "ExpressionStatement", - "src": "3724:82:33" - }, - { - "assignments": [ - 22615 - ], - "declarations": [ - { - "constant": false, - "id": 22615, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3953:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3953:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22621, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4024:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22619, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4007:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4007:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4007:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22618, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3997:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:34:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22624, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4033:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 22616, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "3968:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createNameAndPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 24516, - "src": "3968:28:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) external returns (bytes32)" - } - }, - "id": 22625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:70:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3953:85:33" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22628, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22615, - "src": "4062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22629, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4068:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22630, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4075:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "id": 22627, - "name": "NewRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22420, - "src": "4054:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,string memory,address)" - } - }, - "id": 22631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4054:26:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22632, - "nodeType": "EmitStatement", - "src": "4049:31:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22633, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4098:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22583, - "id": 22634, - "nodeType": "Return", - "src": "4091:11:33" - } - ] - }, - "documentation": null, - "id": 22636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22577, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3563:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3563:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22579, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3577:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3577:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3562:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22582, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3609:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22581, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3609:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3608:6:33" - }, - "scope": 22680, - "src": "3545:564:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22657, - "nodeType": "Block", - "src": "4169:91:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22641, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4179:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22644, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4203:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4203:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22646, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22679, - "src": "4213:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 22647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4213:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 22643, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "4191:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 22648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4191:34:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 22642, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "4186:4:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 22649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4186:40:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "4179:47:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22651, - "nodeType": "ExpressionStatement", - "src": "4179:47:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22652, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4236:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22741, - "src": "4236:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 22655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4236:17:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22656, - "nodeType": "ExpressionStatement", - "src": "4236:17:33" - } - ] - }, - "documentation": null, - "id": 22658, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newClonedRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22637, - "nodeType": "ParameterList", - "parameters": [], - "src": "4137:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22639, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22658, - "src": "4158:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22638, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "4158:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4157:11:33" - }, - "scope": 22680, - "src": "4115:145:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22678, - "nodeType": "Block", - "src": "4319:117:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22666, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "4363:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24428, - "src": "4363:18:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4363:20:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22672, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4412:13:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22670, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4395:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4395:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4395:31:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22669, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4385:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4385:42:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4346:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:82:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4336:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4336:93:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22662, - "id": 22677, - "nodeType": "Return", - "src": "4329:100:33" - } - ] - }, - "documentation": null, - "id": 22679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "repoAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22659, - "nodeType": "ParameterList", - "parameters": [], - "src": "4284:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22679, - "src": "4310:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22660, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4310:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4309:9:33" - }, - "scope": 22680, - "src": "4266:170:33", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "440:3998:33" - } - ], - "src": "0:4439:33" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "exportedSymbols": { - "APMInternalAppNames": [ - 22393 - ], - "APMRegistry": [ - 22680 - ] - }, - "id": 22681, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22377, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:33" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 22378, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 27079, - "src": "25:36:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 22379, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 24711, - "src": "62:42:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 22380, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 25962, - "src": "105:40:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22381, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23454, - "src": "146:31:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 22382, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 21812, - "src": "178:24:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "./Repo.sol", - "id": 22383, - "nodeType": "ImportDirective", - "scope": 22681, - "sourceUnit": 23074, - "src": "203:20:33", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22393, - "linearizedBaseContracts": [ - 22393 - ], - "name": "APMInternalAppNames", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22386, - "name": "APM_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "261:54:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "261:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265676973747279", - "id": 22385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "301:14:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1226a50111d3ddb0ac66065a7ba777807edf06a6f8ad4742580e80f6ec042688", - "typeString": "literal_string \"apm-registry\"" - }, - "value": "apm-registry" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22389, - "name": "REPO_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "321:51:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "321:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d7265706f", - "id": 22388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "362:10:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_61b58029e47cfcc30dc3778f5a2d226cf5f9c93cefe3df4bd4ce3bad00b7db79", - "typeString": "literal_string \"apm-repo\"" - }, - "value": "apm-repo" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 22392, - "name": "ENS_SUB_APP_NAME", - "nodeType": "VariableDeclaration", - "scope": 22393, - "src": "378:56:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22390, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "61706d2d656e73737562", - "id": 22391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "422:12:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2eb278530aeb392e30450cf8054f46d8a501832c8fbbb06765e2ec8f55009673", - "typeString": "literal_string \"apm-enssub\"" - }, - "value": "apm-enssub" - }, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "226:211:33" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22394, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "464:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22395, - "nodeType": "InheritanceSpecifier", - "src": "464:9:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22396, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "475:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 22397, - "nodeType": "InheritanceSpecifier", - "src": "475:15:33" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22398, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "492:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 22399, - "nodeType": "InheritanceSpecifier", - "src": "492:19:33" - } - ], - "contractDependencies": [ - 22236, - 22393, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25961, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 22680, - "linearizedBaseContracts": [ - 22680, - 22393, - 25961, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "APMRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22402, - "name": "CREATE_REPO_ROLE", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "642:109:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "642:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832613934393464363438343663396664626630313538373835616133333064386263396361663435616632376661306538383938656234643535616463656136", - "id": 22401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "685:66:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19259660241583906883361708073034075768710788637783750477988955744722786045606_by_1", - "typeString": "int_const 1925...(69 digits omitted)...5606" - }, - "value": "0x2a9494d64846c9fdbf0158785aa330d8bc9caf45af27fa0e8898eb4d55adcea6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22405, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "758:74:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "758:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f494e49545f5045524d495353494f4e53", - "id": 22404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:25:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6798ba02f64c9b35b32f856c55b39b86f7df90be08d6797835bc46aa3216dd3", - "typeString": "literal_string \"APMREG_INIT_PERMISSIONS\"" - }, - "value": "APMREG_INIT_PERMISSIONS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22408, - "name": "ERROR_EMPTY_NAME", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "838:62:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22406, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "838:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "41504d5245475f454d5054595f4e414d45", - "id": 22407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:19:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c2eb148c8e0d71ac79486628125a479d22b2bfcd9c83fd270a101639e84827e", - "typeString": "literal_string \"APMREG_EMPTY_NAME\"" - }, - "value": "APMREG_EMPTY_NAME" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 22410, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "907:22:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 22409, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "907:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 22412, - "name": "registrar", - "nodeType": "VariableDeclaration", - "scope": 22680, - "src": "935:38:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22411, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "935:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 22420, - "name": "NewRepo", - "nodeType": "EventDefinition", - "parameters": { - "id": 22419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22414, - "indexed": false, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "994:10:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "994:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22416, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1006:11:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22415, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1006:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22418, - "indexed": false, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22420, - "src": "1019:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1019:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "993:39:33" - }, - "src": "980:53:33" - }, - { - "body": { - "id": 22479, - "nodeType": "Block", - "src": "1501:434:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22427, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1511:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1511:13:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22429, - "nodeType": "ExpressionStatement", - "src": "1511:13:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22430, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1535:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22431, - "name": "_registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22422, - "src": "1547:10:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1535:22:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22433, - "nodeType": "ExpressionStatement", - "src": "1535:22:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22434, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22410, - "src": "1567:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22435, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1573:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ens", - "nodeType": "MemberAccess", - "referencedDeclaration": 24426, - "src": "1573:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_AbstractENS_$27078_$", - "typeString": "function () view external returns (contract AbstractENS)" - } - }, - "id": 22437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1573:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1567:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 22439, - "nodeType": "ExpressionStatement", - "src": "1567:21:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22443, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1623:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "expression": { - "argumentTypes": null, - "id": 22440, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1599:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pointRootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24599, - "src": "1599:23:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 22444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1599:29:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22445, - "nodeType": "ExpressionStatement", - "src": "1599:29:33" - }, - { - "assignments": [ - 22447 - ], - "declarations": [ - { - "constant": false, - "id": 22447, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1690:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22446, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1690:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22454, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22449, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1704:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "1704:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22448, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1700:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1700:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1690:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1755:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22459, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1761:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22460, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "1772:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "1772:26:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:28:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22456, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1737:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1737:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1737:64:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22464, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1803:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22455, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1729:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:97:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22466, - "nodeType": "ExpressionStatement", - "src": "1729:97:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "1862:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22471, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1868:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22472, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1873:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1873:27:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:29:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22468, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22447, - "src": "1844:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 21094, - "src": "1844:17:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32) view external returns (bool)" - } - }, - "id": 22475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1844:59:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22476, - "name": "ERROR_INIT_PERMISSIONS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22405, - "src": "1905:22:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1836:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1836:92:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22478, - "nodeType": "ExpressionStatement", - "src": "1836:92:33" - } - ] - }, - "documentation": "NEEDS CREATE_NAME_ROLE and POINT_ROOTNODE_ROLE permissions on registrar\n@dev Initialize can only be called once. It saves the block number in which it was initialized\n@notice Initialize this APMRegistry instance and set `_registrar` as the ENS subdomain registrar\n@param _registrar ENSSubdomainRegistrar instance that holds registry root node ownership", - "id": 22480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22425, - "modifierName": { - "argumentTypes": null, - "id": 22424, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1492:8:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1492:8:33" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22422, - "name": "_registrar", - "nodeType": "VariableDeclaration", - "scope": 22480, - "src": "1451:32:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 22421, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1451:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1450:34:33" - }, - "payable": false, - "returnParameters": { - "id": 22426, - "nodeType": "ParameterList", - "parameters": [], - "src": "1501:0:33" - }, - "scope": 22680, - "src": "1431:504:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22497, - "nodeType": "Block", - "src": "2222:45:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22493, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22482, - "src": "2248:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22494, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22484, - "src": "2255:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 22492, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "2239:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2239:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22491, - "id": 22496, - "nodeType": "Return", - "src": "2232:28:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name`\n@param _name Repo name, must be ununsed\n@param _dev Address that will be given permission to create versions", - "id": 22498, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22487, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "2189:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22488, - "modifierName": { - "argumentTypes": null, - "id": 22486, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2184:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2184:22:33" - } - ], - "name": "newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22482, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2149:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2149:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22484, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2163:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2163:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2148:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22498, - "src": "2216:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22489, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "2216:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2215:6:33" - }, - "scope": 22680, - "src": "2132:135:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22574, - "nodeType": "Block", - "src": "3052:487:33", - "statements": [ - { - "assignments": [ - 22519 - ], - "declarations": [ - { - "constant": false, - "id": 22519, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3062:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22518, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22521, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22500, - "src": "3083:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3090:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 22520, - "name": "_newRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22636, - "src": "3074:8:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address) returns (contract Repo)" - } - }, - "id": 22523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:21:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3062:33:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22528, - "name": "_initialSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22506, - "src": "3167:23:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22529, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22508, - "src": "3192:16:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22530, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22510, - "src": "3210:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22525, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3151:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22859, - "src": "3151:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint16[3] memory,address,bytes memory) external" - } - }, - "id": 22531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3151:71:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22532, - "nodeType": "ExpressionStatement", - "src": "3151:71:33" - }, - { - "assignments": [ - 22534 - ], - "declarations": [ - { - "constant": false, - "id": 22534, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3269:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 22533, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3269:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22536, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3283:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3283:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3283:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22535, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3279:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3279:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3269:29:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29977, - "src": "3329:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 22546, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3335:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22547, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3341:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3341:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3341:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22542, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3308:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "3308:20:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3308:60:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22551, - "nodeType": "ExpressionStatement", - "src": "3308:60:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22555, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3398:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22556, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3404:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22557, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3410:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3410:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3410:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22552, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3378:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "3378:19:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3378:59:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22561, - "nodeType": "ExpressionStatement", - "src": "3378:59:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22565, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22502, - "src": "3472:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22566, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3478:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22567, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3484:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3484:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3484:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22534, - "src": "3447:3:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "3447:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 22570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3447:64:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22571, - "nodeType": "ExpressionStatement", - "src": "3447:64:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22572, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22519, - "src": "3528:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22517, - "id": 22573, - "nodeType": "Return", - "src": "3521:11:33" - } - ] - }, - "documentation": "@notice Create new repo in registry with `_name` and publish a first version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _name Repo name\n@param _dev Address that will be given permission to create versions\n@param _initialSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22513, - "name": "CREATE_REPO_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22402, - "src": "3015:16:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22514, - "modifierName": { - "argumentTypes": null, - "id": 22512, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3010:4:33", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3010:22:33" - } - ], - "name": "newRepoWithVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2858:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2858:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22502, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2880:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22506, - "name": "_initialSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2902:33:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22503, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "2902:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22505, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2909:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "2902:9:33", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22508, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2945:24:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2945:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22510, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "2979:17:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2979:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2848:154:33" - }, - "payable": false, - "returnParameters": { - "id": 22517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22575, - "src": "3042:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22515, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3042:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3041:6:33" - }, - "scope": 22680, - "src": "2821:718:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22635, - "nodeType": "Block", - "src": "3615:494:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22586, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "3639:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 22585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3633:5:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 22587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:12:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 22588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3633:19:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3655:1:33", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3633:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22591, - "name": "ERROR_EMPTY_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22408, - "src": "3658:16:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3625:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3625:50:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22593, - "nodeType": "ExpressionStatement", - "src": "3625:50:33" - }, - { - "assignments": [ - 22595 - ], - "declarations": [ - { - "constant": false, - "id": 22595, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3686:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22594, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3686:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22596, - "name": "newClonedRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22658, - "src": "3698:13:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Repo_$23073_$", - "typeString": "function () returns (contract Repo)" - } - }, - "id": 22597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:15:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3686:27:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22606, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3761:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22607, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3767:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22608, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "3773:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VERSION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22688, - "src": "3773:24:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3773:26:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22611, - "name": "_dev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22579, - "src": "3801:4:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22600, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "3728:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 22602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26373, - "src": "3728:12:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 22603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3728:14:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 22599, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "3724:3:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 22604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:19:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 22605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3724:36:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 22612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3724:82:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22613, - "nodeType": "ExpressionStatement", - "src": "3724:82:33" - }, - { - "assignments": [ - 22615 - ], - "declarations": [ - { - "constant": false, - "id": 22615, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3953:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3953:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22621, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4024:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22619, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4007:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4007:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4007:23:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22618, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3997:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:34:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22624, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4033:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 22616, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "3968:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createNameAndPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 24516, - "src": "3968:28:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) external returns (bytes32)" - } - }, - "id": 22625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:70:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3953:85:33" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22628, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22615, - "src": "4062:4:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 22629, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22577, - "src": "4068:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 22630, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4075:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "id": 22627, - "name": "NewRepo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22420, - "src": "4054:7:33", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,string memory,address)" - } - }, - "id": 22631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4054:26:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22632, - "nodeType": "EmitStatement", - "src": "4049:31:33" - }, - { - "expression": { - "argumentTypes": null, - "id": 22633, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22595, - "src": "4098:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "functionReturnParameters": 22583, - "id": 22634, - "nodeType": "Return", - "src": "4091:11:33" - } - ] - }, - "documentation": null, - "id": 22636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22577, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3563:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 22576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3563:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22579, - "name": "_dev", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3577:12:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3577:7:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3562:28:33" - }, - "payable": false, - "returnParameters": { - "id": 22583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22582, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22636, - "src": "3609:4:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22581, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "3609:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3608:6:33" - }, - "scope": 22680, - "src": "3545:564:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22657, - "nodeType": "Block", - "src": "4169:91:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22641, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4179:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22644, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4203:6:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 22645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4203:8:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22646, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22679, - "src": "4213:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 22647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4213:11:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 22643, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "4191:11:33", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 22648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4191:34:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 22642, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "4186:4:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 22649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4186:40:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "4179:47:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22651, - "nodeType": "ExpressionStatement", - "src": "4179:47:33" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22652, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22639, - "src": "4236:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 22654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22741, - "src": "4236:15:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 22655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4236:17:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22656, - "nodeType": "ExpressionStatement", - "src": "4236:17:33" - } - ] - }, - "documentation": null, - "id": 22658, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newClonedRepo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22637, - "nodeType": "ParameterList", - "parameters": [], - "src": "4137:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22639, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 22658, - "src": "4158:9:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 22638, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "4158:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4157:11:33" - }, - "scope": 22680, - "src": "4115:145:33", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 22678, - "nodeType": "Block", - "src": "4319:117:33", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 22666, - "name": "registrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22412, - "src": "4363:9:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 22667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rootNode", - "nodeType": "MemberAccess", - "referencedDeclaration": 24428, - "src": "4363:18:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 22668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4363:20:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22672, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4412:13:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 22670, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4395:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4395:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4395:31:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22669, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4385:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4385:42:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 22664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4346:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 22665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:16:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 22675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:82:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4336:9:33", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 22676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4336:93:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 22662, - "id": 22677, - "nodeType": "Return", - "src": "4329:100:33" - } - ] - }, - "documentation": null, - "id": 22679, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "repoAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22659, - "nodeType": "ParameterList", - "parameters": [], - "src": "4284:2:33" - }, - "payable": false, - "returnParameters": { - "id": 22662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22679, - "src": "4310:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22660, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4310:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4309:9:33" - }, - "scope": 22680, - "src": "4266:170:33", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 22681, - "src": "440:3998:33" - } - ], - "src": "0:4439:33" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.318Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/APMRegistryFactory.json b/templates/multisig/build/contracts/APMRegistryFactory.json deleted file mode 100644 index 25fc9bb..0000000 --- a/templates/multisig/build/contracts/APMRegistryFactory.json +++ /dev/null @@ -1,12293 +0,0 @@ -{ - "contractName": "APMRegistryFactory", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "registryBase", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ensSubdomainRegistrarBase", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ens", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "daoFactory", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "repoBase", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_daoFactory", - "type": "address" - }, - { - "name": "_registryBase", - "type": "address" - }, - { - "name": "_repoBase", - "type": "address" - }, - { - "name": "_ensSubBase", - "type": "address" - }, - { - "name": "_ens", - "type": "address" - }, - { - "name": "_ensFactory", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "apm", - "type": "address" - } - ], - "name": "DeployAPM", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_tld", - "type": "bytes32" - }, - { - "name": "_label", - "type": "bytes32" - }, - { - "name": "_root", - "type": "address" - } - ], - "name": "newAPM", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405160c080611fc483398101604090815281516020830151918301516060840151608085015160a09095015160008054600160a060020a0319908116600160a060020a038088169190911790925560018054821683891617905560028054821683871617905560038054909116828516179055939592939192918216151561012657604080517fe9358b010000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a0383169163e9358b019160248083019260209291908290030181600087803b1580156100f557600080fd5b505af1158015610109573d6000803e3d6000fd5b505050506040513d602081101561011f57600080fd5b5051610128565b815b60048054600160a060020a0392909216600160a060020a0319909216919091179055505050505050611e658061015f6000396000f30060806040526004361061005e5763ffffffff60e060020a60003504166339ca6e8681146100635780633cfb35aa146100945780633f15457f146100a957806348f7f2a3146100be578063aac57b3a146100d3578063caf1bb7c146100fa575b600080fd5b34801561006f57600080fd5b5061007861010f565b60408051600160a060020a039092168252519081900360200190f35b3480156100a057600080fd5b5061007861011e565b3480156100b557600080fd5b5061007861012d565b3480156100ca57600080fd5b5061007861013c565b3480156100df57600080fd5b50610078600435602435600160a060020a036044351661014b565b34801561010657600080fd5b50610078611c37565b600154600160a060020a031681565b600354600160a060020a031681565b600454600160a060020a031681565b600054600160a060020a031681565b6000806000806060600080600080610161611e1a565b8c8c6040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106101c85780518252601f1990920191602091820191016101a9565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600480547f02571be30000000000000000000000000000000000000000000000000000000085529084018290529451909f50309650600160a060020a0390941694506302571be3936024808401945091929091908290030181600087803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b505050506040513d602081101561028357600080fd5b5051600160a060020a0316146103eb5730600160a060020a0316600460009054906101000a9004600160a060020a0316600160a060020a03166302571be38f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b505050506040513d602081101561032d57600080fd5b5051600160a060020a03161461034257600080fd5b600460009054906101000a9004600160a060020a0316600160a060020a03166306ab59238e8e306040518463ffffffff1660e060020a028152600401808460001916600019168152602001836000191660001916815260200182600160a060020a0316600160a060020a031681526020019350505050600060405180830381600087803b1580156103d257600080fd5b505af11580156103e6573d6000803e3d6000fd5b505050505b60008054604080517f216874440000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216926321687444926024808401936020939083900390910190829087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b505050506040513d602081101561047c57600080fd5b5051604080517fde2873590000000000000000000000000000000000000000000000000000000081529051919950600160a060020a038a169163de287359916004808201926020929091908290030181600087803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b5051604080517f8ea8dc9d0000000000000000000000000000000000000000000000000000000081529051919850600160a060020a03808a169263be0384789230928d9290831691638ea8dc9d9160048083019260209291908290030181600087803b15801561057657600080fd5b505af115801561058a573d6000803e3d6000fd5b505050506040513d60208110156105a057600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b1580156105fb57600080fd5b505af115801561060f573d6000803e3d6000fd5b50506040805160008152606081018252600a60208083018281527f61706d2d656e73737562000000000000000000000000000000000000000000008486019081529451939c50600160a060020a038f16965063397edd4195508f949093909101918291908083835b602083106106965780518252601f199092019160209182019101610677565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106106f95780518252601f1990920191602091820191016106da565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b602083106107735780518252601f199092019160209182019101610754565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600360009054906101000a9004600160a060020a03168960006040518563ffffffff1660e060020a02815260040180856000191660001916815260200184600160a060020a0316600160a060020a031681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610838578181015183820152602001610820565b50505050905090810190601f1680156108655780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051604080518082018252600c8082527f61706d2d7265676973747279000000000000000000000000000000000000000060208381019182529351949950600160a060020a038d169463397edd41948f949391019182918083835b6020831061092b5780518252601f19909201916020918201910161090c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061098e5780518252601f19909201916020918201910161096f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310610a085780518252601f1990920191602091820191016109e9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600160009054906101000a9004600160a060020a03168960006040518563ffffffff1660e060020a02815260040180856000191660001916815260200184600160a060020a0316600160a060020a031681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610acd578181015183820152602001610ab5565b50505050905090810190601f168015610afa5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610b1c57600080fd5b505af1158015610b30573d6000803e3d6000fd5b505050506040513d6020811015610b4657600080fd5b505160408051808201825260088082527f61706d2d7265706f000000000000000000000000000000000000000000000000602083810191825293519498508d949293929092019182918083835b60208310610bb25780518252601f199092019160209182019101610b93565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310610c155780518252601f199092019160209182019101610bf6565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310610c8f5780518252601f199092019160209182019101610c70565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207fdb8a61d40000000000000000000000000000000000000000000000000000000083529351939850600160a060020a038e16955063ae5b25409450859363db8a61d493506004808401938290030181600087803b158015610d1657600080fd5b505af1158015610d2a573d6000803e3d6000fd5b505050506040513d6020811015610d4057600080fd5b50516002546040805160e060020a63ffffffff8616028152600481019390935260248301889052600160a060020a03909116604483015251606480830192600092919082900301818387803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b505060408051600160a060020a038816815290518c93507f5dd941cb8701bb50205e5aef88c8532b8d6e75b7b65e2c458e9acdf261f0f29292509081900360200190a286600160a060020a031663be038478858788600160a060020a031663fef47e386040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3e57600080fd5b505af1158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918f1660648201529051608480830192600092919082900301818387803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b5050505086600160a060020a031663be038478858788600160a060020a031663307482cf6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f2e57600080fd5b505af1158015610f42573d6000803e3d6000fd5b505050506040513d6020811015610f5857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918f1660648201529051608480830192600092919082900301818387803b158015610fb757600080fd5b505af1158015610fcb573d6000803e3d6000fd5b5050505086600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561100d57600080fd5b505af1158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b50516040805160e060020a630a8ed3db028152600160a060020a0387811660048301528a16602482018190526044820184905291519294509091630a8ed3db9160648082019260009290919082900301818387803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b505060048054604080517f5b0fc9c30000000000000000000000000000000000000000000000000000000081529283018e9052600160a060020a038a81166024850152905191169350635b0fc9c39250604480830192600092919082900301818387803b15801561111c57600080fd5b505af1158015611130573d6000803e3d6000fd5b505060048054604080517fbe13f47c000000000000000000000000000000000000000000000000000000008152600160a060020a0392831693810193909352602483018e905251908916935063be13f47c9250604480830192600092919082900301818387803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b5050505083600160a060020a031663c4d66de8866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561121657600080fd5b505af115801561122a573d6000803e3d6000fd5b5050600183525050604080517f5e1f3fa80000000000000000000000000000000000000000000000000000000081529051600160a060020a03808a169263be038478923092899290831691635e1f3fa8916004808201926020929091908290030181600087803b15801561129d57600080fd5b505af11580156112b1573d6000803e3d6000fd5b505050506040513d60208110156112c757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b15801561132257600080fd5b505af1158015611336573d6000803e3d6000fd5b5050505083600160a060020a03166332ab6af06040805190810160405280600c81526020017f61706d2d726567697374727900000000000000000000000000000000000000008152508d84600160009054906101000a9004600160a060020a03166113d56040805190810160405280600881526020017f697066733a61706d000000000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b83811015611421578181015183820152602001611409565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b83811015611479578181015183820152602001611461565b50505050905090810190601f1680156114a65780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156114d95781810151838201526020016114c1565b50505050905090810190601f1680156115065780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b81019080805190602001909291905050505083600160a060020a03166332ab6af06040805190810160405280600a81526020017f61706d2d656e73737562000000000000000000000000000000000000000000008152508d84600360009054906101000a9004600160a060020a03166116016040805190810160405280600b81526020017f697066733a656e73737562000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b8381101561164d578181015183820152602001611635565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b838110156116a557818101518382015260200161168d565b50505050905090810190601f1680156116d25780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156117055781810151838201526020016116ed565b50505050905090810190601f1680156117325780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b505050506040513d602081101561178057600080fd5b81019080805190602001909291905050505083600160a060020a03166332ab6af06040805190810160405280600881526020017f61706d2d7265706f0000000000000000000000000000000000000000000000008152508d84600260009054906101000a9004600160a060020a031661182d6040805190810160405280600981526020017f697066733a7265706f0000000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b83811015611879578181015183820152602001611861565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b838110156118d15781810151838201526020016118b9565b50505050905090810190601f1680156118fe5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611931578181015183820152602001611919565b50505050905090810190601f16801561195e5780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561198257600080fd5b505af1158015611996573d6000803e3d6000fd5b505050506040513d60208110156119ac57600080fd5b506119ba905087858d611c49565b86600160a060020a031663afd925df8c8a8b600160a060020a0316638ea8dc9d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a0957600080fd5b505af1158015611a1d573d6000803e3d6000fd5b505050506040513d6020811015611a3357600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611a8857600080fd5b505af1158015611a9c573d6000803e3d6000fd5b5050604080517f9d0effdb000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a038b1660248201819052604482018790529151919350639d0effdb925060648082019260009290919082900301818387803b158015611b1057600080fd5b505af1158015611b24573d6000803e3d6000fd5b50506040805160e060020a630a8ed3db028152600160a060020a038f811660048301528b1660248201819052604482018790529151919350630a8ed3db925060648082019260009290919082900301818387803b158015611b8457600080fd5b505af1158015611b98573d6000803e3d6000fd5b5050604080517fafd925df000000000000000000000000000000000000000000000000000000008152600160a060020a038f811660048301528b166024820181905260448201879052915191935063afd925df925060648082019260009290919082900301818387803b158015611c0e57600080fd5b505af1158015611c22573d6000803e3d6000fd5b50959f9e505050505050505050505050505050565b600254600160a060020a031681565b90565b82600160a060020a0316630a8ed3db828485600160a060020a0316635e1f3fa86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c9857600080fd5b505af1158015611cac573d6000803e3d6000fd5b505050506040513d6020811015611cc257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611d1757600080fd5b505af1158015611d2b573d6000803e3d6000fd5b5050505082600160a060020a031663afd925df828485600160a060020a0316635e1f3fa86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d7e57600080fd5b505af1158015611d92573d6000803e3d6000fd5b505050506040513d6020811015611da857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611dfd57600080fd5b505af1158015611e11573d6000803e3d6000fd5b50505050505050565b60606040519081016040528060039060208202803883395091929150505600a165627a7a723058209b05e1b463e45ff2519e6621848e22d75d053ecf3884166c19e1f8c7d86a68a90029", - "deployedBytecode": "0x60806040526004361061005e5763ffffffff60e060020a60003504166339ca6e8681146100635780633cfb35aa146100945780633f15457f146100a957806348f7f2a3146100be578063aac57b3a146100d3578063caf1bb7c146100fa575b600080fd5b34801561006f57600080fd5b5061007861010f565b60408051600160a060020a039092168252519081900360200190f35b3480156100a057600080fd5b5061007861011e565b3480156100b557600080fd5b5061007861012d565b3480156100ca57600080fd5b5061007861013c565b3480156100df57600080fd5b50610078600435602435600160a060020a036044351661014b565b34801561010657600080fd5b50610078611c37565b600154600160a060020a031681565b600354600160a060020a031681565b600454600160a060020a031681565b600054600160a060020a031681565b6000806000806060600080600080610161611e1a565b8c8c6040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106101c85780518252601f1990920191602091820191016101a9565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600480547f02571be30000000000000000000000000000000000000000000000000000000085529084018290529451909f50309650600160a060020a0390941694506302571be3936024808401945091929091908290030181600087803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b505050506040513d602081101561028357600080fd5b5051600160a060020a0316146103eb5730600160a060020a0316600460009054906101000a9004600160a060020a0316600160a060020a03166302571be38f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b505050506040513d602081101561032d57600080fd5b5051600160a060020a03161461034257600080fd5b600460009054906101000a9004600160a060020a0316600160a060020a03166306ab59238e8e306040518463ffffffff1660e060020a028152600401808460001916600019168152602001836000191660001916815260200182600160a060020a0316600160a060020a031681526020019350505050600060405180830381600087803b1580156103d257600080fd5b505af11580156103e6573d6000803e3d6000fd5b505050505b60008054604080517f216874440000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216926321687444926024808401936020939083900390910190829087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b505050506040513d602081101561047c57600080fd5b5051604080517fde2873590000000000000000000000000000000000000000000000000000000081529051919950600160a060020a038a169163de287359916004808201926020929091908290030181600087803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b5051604080517f8ea8dc9d0000000000000000000000000000000000000000000000000000000081529051919850600160a060020a03808a169263be0384789230928d9290831691638ea8dc9d9160048083019260209291908290030181600087803b15801561057657600080fd5b505af115801561058a573d6000803e3d6000fd5b505050506040513d60208110156105a057600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b1580156105fb57600080fd5b505af115801561060f573d6000803e3d6000fd5b50506040805160008152606081018252600a60208083018281527f61706d2d656e73737562000000000000000000000000000000000000000000008486019081529451939c50600160a060020a038f16965063397edd4195508f949093909101918291908083835b602083106106965780518252601f199092019160209182019101610677565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106106f95780518252601f1990920191602091820191016106da565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b602083106107735780518252601f199092019160209182019101610754565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600360009054906101000a9004600160a060020a03168960006040518563ffffffff1660e060020a02815260040180856000191660001916815260200184600160a060020a0316600160a060020a031681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610838578181015183820152602001610820565b50505050905090810190601f1680156108655780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051604080518082018252600c8082527f61706d2d7265676973747279000000000000000000000000000000000000000060208381019182529351949950600160a060020a038d169463397edd41948f949391019182918083835b6020831061092b5780518252601f19909201916020918201910161090c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061098e5780518252601f19909201916020918201910161096f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310610a085780518252601f1990920191602091820191016109e9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600160009054906101000a9004600160a060020a03168960006040518563ffffffff1660e060020a02815260040180856000191660001916815260200184600160a060020a0316600160a060020a031681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610acd578181015183820152602001610ab5565b50505050905090810190601f168015610afa5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610b1c57600080fd5b505af1158015610b30573d6000803e3d6000fd5b505050506040513d6020811015610b4657600080fd5b505160408051808201825260088082527f61706d2d7265706f000000000000000000000000000000000000000000000000602083810191825293519498508d949293929092019182918083835b60208310610bb25780518252601f199092019160209182019101610b93565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310610c155780518252601f199092019160209182019101610bf6565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019790975281840196909652825180820384018152606090910192839052805190959294508493509185019190508083835b60208310610c8f5780518252601f199092019160209182019101610c70565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207fdb8a61d40000000000000000000000000000000000000000000000000000000083529351939850600160a060020a038e16955063ae5b25409450859363db8a61d493506004808401938290030181600087803b158015610d1657600080fd5b505af1158015610d2a573d6000803e3d6000fd5b505050506040513d6020811015610d4057600080fd5b50516002546040805160e060020a63ffffffff8616028152600481019390935260248301889052600160a060020a03909116604483015251606480830192600092919082900301818387803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b505060408051600160a060020a038816815290518c93507f5dd941cb8701bb50205e5aef88c8532b8d6e75b7b65e2c458e9acdf261f0f29292509081900360200190a286600160a060020a031663be038478858788600160a060020a031663fef47e386040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3e57600080fd5b505af1158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918f1660648201529051608480830192600092919082900301818387803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b5050505086600160a060020a031663be038478858788600160a060020a031663307482cf6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f2e57600080fd5b505af1158015610f42573d6000803e3d6000fd5b505050506040513d6020811015610f5857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918f1660648201529051608480830192600092919082900301818387803b158015610fb757600080fd5b505af1158015610fcb573d6000803e3d6000fd5b5050505086600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561100d57600080fd5b505af1158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b50516040805160e060020a630a8ed3db028152600160a060020a0387811660048301528a16602482018190526044820184905291519294509091630a8ed3db9160648082019260009290919082900301818387803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b505060048054604080517f5b0fc9c30000000000000000000000000000000000000000000000000000000081529283018e9052600160a060020a038a81166024850152905191169350635b0fc9c39250604480830192600092919082900301818387803b15801561111c57600080fd5b505af1158015611130573d6000803e3d6000fd5b505060048054604080517fbe13f47c000000000000000000000000000000000000000000000000000000008152600160a060020a0392831693810193909352602483018e905251908916935063be13f47c9250604480830192600092919082900301818387803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b5050505083600160a060020a031663c4d66de8866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561121657600080fd5b505af115801561122a573d6000803e3d6000fd5b5050600183525050604080517f5e1f3fa80000000000000000000000000000000000000000000000000000000081529051600160a060020a03808a169263be038478923092899290831691635e1f3fa8916004808201926020929091908290030181600087803b15801561129d57600080fd5b505af11580156112b1573d6000803e3d6000fd5b505050506040513d60208110156112c757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b15801561132257600080fd5b505af1158015611336573d6000803e3d6000fd5b5050505083600160a060020a03166332ab6af06040805190810160405280600c81526020017f61706d2d726567697374727900000000000000000000000000000000000000008152508d84600160009054906101000a9004600160a060020a03166113d56040805190810160405280600881526020017f697066733a61706d000000000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b83811015611421578181015183820152602001611409565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b83811015611479578181015183820152602001611461565b50505050905090810190601f1680156114a65780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156114d95781810151838201526020016114c1565b50505050905090810190601f1680156115065780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b81019080805190602001909291905050505083600160a060020a03166332ab6af06040805190810160405280600a81526020017f61706d2d656e73737562000000000000000000000000000000000000000000008152508d84600360009054906101000a9004600160a060020a03166116016040805190810160405280600b81526020017f697066733a656e73737562000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b8381101561164d578181015183820152602001611635565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b838110156116a557818101518382015260200161168d565b50505050905090810190601f1680156116d25780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156117055781810151838201526020016116ed565b50505050905090810190601f1680156117325780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b505050506040513d602081101561178057600080fd5b81019080805190602001909291905050505083600160a060020a03166332ab6af06040805190810160405280600881526020017f61706d2d7265706f0000000000000000000000000000000000000000000000008152508d84600260009054906101000a9004600160a060020a031661182d6040805190810160405280600981526020017f697066733a7265706f0000000000000000000000000000000000000000000000815250611c46565b60405160e060020a63ffffffff8816028152600160a060020a03851660248201526004810190819060440185606080838360005b83811015611879578181015183820152602001611861565b5050505090500184600160a060020a0316600160a060020a0316815260200180602001838103835288818151815260200191508051906020019080838360005b838110156118d15781810151838201526020016118b9565b50505050905090810190601f1680156118fe5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611931578181015183820152602001611919565b50505050905090810190601f16801561195e5780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15801561198257600080fd5b505af1158015611996573d6000803e3d6000fd5b505050506040513d60208110156119ac57600080fd5b506119ba905087858d611c49565b86600160a060020a031663afd925df8c8a8b600160a060020a0316638ea8dc9d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a0957600080fd5b505af1158015611a1d573d6000803e3d6000fd5b505050506040513d6020811015611a3357600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611a8857600080fd5b505af1158015611a9c573d6000803e3d6000fd5b5050604080517f9d0effdb000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a038b1660248201819052604482018790529151919350639d0effdb925060648082019260009290919082900301818387803b158015611b1057600080fd5b505af1158015611b24573d6000803e3d6000fd5b50506040805160e060020a630a8ed3db028152600160a060020a038f811660048301528b1660248201819052604482018790529151919350630a8ed3db925060648082019260009290919082900301818387803b158015611b8457600080fd5b505af1158015611b98573d6000803e3d6000fd5b5050604080517fafd925df000000000000000000000000000000000000000000000000000000008152600160a060020a038f811660048301528b166024820181905260448201879052915191935063afd925df925060648082019260009290919082900301818387803b158015611c0e57600080fd5b505af1158015611c22573d6000803e3d6000fd5b50959f9e505050505050505050505050505050565b600254600160a060020a031681565b90565b82600160a060020a0316630a8ed3db828485600160a060020a0316635e1f3fa86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c9857600080fd5b505af1158015611cac573d6000803e3d6000fd5b505050506040513d6020811015611cc257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611d1757600080fd5b505af1158015611d2b573d6000803e3d6000fd5b5050505082600160a060020a031663afd925df828485600160a060020a0316635e1f3fa86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d7e57600080fd5b505af1158015611d92573d6000803e3d6000fd5b505050506040513d6020811015611da857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b158015611dfd57600080fd5b505af1158015611e11573d6000803e3d6000fd5b50505050505050565b60606040519081016040528060039060208202803883395091929150505600a165627a7a723058209b05e1b463e45ff2519e6621848e22d75d053ecf3884166c19e1f8c7d86a68a90029", - "sourceMap": "217:5158:66:-;;;1081:705;8:9:-1;5:2;;;30:1;27;20:12;5:2;1081:705:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1353:10;:24;;-1:-1:-1;;;;;;1353:24:66;;;-1:-1:-1;;;;;1353:24:66;;;;;;;;;;-1:-1:-1;1387:28:66;;;;;;;;;;1425:8;:20;;;;;;;;;;1455:25;:39;;;;;;;;;;;1081:705;;;;;;;1727:18;;;;:52;;1755:24;;;;;;1774:4;1755:24;;;;;;-1:-1:-1;;;;;1755:18:66;;;;;:24;;;;;;;;;;;;;;-1:-1:-1;1755:18:66;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;1755:24:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1755:24:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1755:24:66;1727:52;;;1748:4;1727:52;1721:3;:58;;-1:-1:-1;;;;;1721:58:66;;;;-1:-1:-1;;;;;;1721:58:66;;;;;;;;;-1:-1:-1;;;;;;217:5158:66;;;;;;", - "deployedSourceMap": "217:5158:66:-;;;;;;;;;-1:-1:-1;;;217:5158:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;308:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;308:31:66;;;;;;;;-1:-1:-1;;;;;308:31:66;;;;;;;;;;;;;;371:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:54:66;;;;431:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;431:14:66;;;;274:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;274:28:66;;;;2152:2823;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2152:2823:66;;;;;-1:-1:-1;;;;;2152:2823:66;;;;;345:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;345:20:66;;;;308:31;;;-1:-1:-1;;;;;308:31:66;;:::o;371:54::-;;;-1:-1:-1;;;;;371:54:66;;:::o;431:14::-;;;-1:-1:-1;;;;;431:14:66;;:::o;274:28::-;;;-1:-1:-1;;;;;274:28:66;;:::o;2152:2823::-;2229:11;2252:12;2610:10;2656:7;2793:19;2837:28;3143:15;3448:17;3950:16;4188:29;;:::i;:::-;2294:4;2300:6;2277:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2277:30:66;;;2267:41;;;;;;;;;;;;;36:153:-1;66:2;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;;2267:41:66;;;;;;;;;;;;2360:3;;;:15;;;;;;;;;;;2267:41;;-1:-1:-1;2387:4:66;;-1:-1:-1;;;;;;2360:3:66;;;;-1:-1:-1;2360:9:66;;:15;;;;;-1:-1:-1;263:2;;2360:15:66;;;;;;;;-1:-1:-1;2360:3:66;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;2360:15:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2360:15:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2360:15:66;-1:-1:-1;;;;;2360:32:66;;2356:244;;2530:4;-1:-1:-1;;;;;2503:32:66;:3;;;;;;;;;-1:-1:-1;;;;;2503:3:66;-1:-1:-1;;;;;2503:9:66;;2513:4;2503:15;;;;;-1:-1:-1;;;2503:15:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2503:15:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2503:15:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2503:15:66;-1:-1:-1;;;;;2503:32:66;;2495:41;;;;;;2550:3;;;;;;;;;-1:-1:-1;;;;;2550:3:66;-1:-1:-1;;;;;2550:19:66;;2570:4;2576:6;2584:4;2550:39;;;;;-1:-1:-1;;;2550:39:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2550:39:66;-1:-1:-1;;;;;2550:39:66;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2550:39:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2550:39:66;;;;2356:244;2623:10;;;:23;;;;;;2641:4;2623:23;;;;;;-1:-1:-1;;;;;2623:10:66;;;;:17;;:23;;;;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2623:23:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2623:23:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2623:23:66;2670:9;;;;;;;;2623:23;;-1:-1:-1;;;;;;2670:7:66;;;;;:9;;;;;2623:23;;2670:9;;;;;;;;;:7;:9;;;5:2:-1;;;;30:1;27;20:12;5:2;2670:9:66;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2670:9:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2670:9:66;2723:22;;;;;;;;2670:9;;-1:-1:-1;;;;;;2691:20:66;;;;;;2712:4;;2718:3;;2723:20;;;;;;:22;;;;;2670:9;;2723:22;;;;;;;;:20;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;2723:22:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2723:22:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2723:22:66;2691:61;;;-1:-1:-1;;;2691:61:66;;;;;;-1:-1:-1;;;;;2691:61:66;;;;;;;;;;;;;;;;;;;2747:4;2691:61;;;;;;;;;;;-1:-1:-1;;2691:61:66;;;;;;;-1:-1:-1;2691:61:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;2691:61:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2815:12:66;;;2825:1;2815:12;;2999:16;;;;;;2815:12;;;;2999:16;;;;;;;;;;2982:34;;2815:12;;-1:-1:-1;;;;;;2903:18:66;;;-1:-1:-1;2903:18:66;;-1:-1:-1;2966:4:66;;2815:12;;2982:34;;;;;;2999:16;;2982:34;2999:16;36:153:-1;66:2;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;;;2982:34:66;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2982:34:66;;;2972:45;;;;;;;;;;;;;36:153:-1;66:2;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;;2972:45:66;;;;;;;;;;;;2949:69;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;2949:69:66;;;;;;;;2939:80;;2949:69;;;;-1:-1:-1;2949:69:66;;-1:-1:-1;2939:80:66;;;;;-1:-1:-1;2939:80:66;2949:69;2939:80;36:153:-1;66:2;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;;;2939:80:66;;;;;;;;;;;;;;;;3037:25;;;;;;;;;-1:-1:-1;;;;;3037:25:66;3080:6;3104:5;2903:220;;;;;-1:-1:-1;;;2903:220:66;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2903:220:66;-1:-1:-1;;;;;2903:220:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2903:220:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2903:220:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2903:220:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2903:220:66;3282:12;;;;;;;;;;;;;2903:220;3282:12;;;;;;3265:30;;2903:220;;-1:-1:-1;;;;;;3186:18:66;;;;;3249:4;;3282:12;3265:30;;;;;3282:12;3265:30;3282:12;36:153:-1;66:2;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;;;3265:30:66;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3265:30:66;;;3255:41;;;;;;;;;;;;;36:153:-1;66:2;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;;3255:41:66;;;;;;;;;;;;3232:65;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;3232:65:66;;;;;;;;3222:76;;3232:65;;;;-1:-1:-1;3232:65:66;;-1:-1:-1;3222:76:66;;;;;-1:-1:-1;3222:76:66;3232:65;3222:76;36:153:-1;66:2;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;;;3222:76:66;;;;;;;;;;;;;;;;3316:12;;;;;;;;;-1:-1:-1;;;;;3316:12:66;3346:6;3370:5;3186:203;;;;;-1:-1:-1;;;3186:203:66;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3186:203:66;-1:-1:-1;;;;;3186:203:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3186:203:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3186:203:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3186:203:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3186:203:66;3528:13;;;;;;;;;;;;;3186:203;3528:13;;;;;;3511:31;;3186:203;;-1:-1:-1;3495:4:66;;3528:13;;3511:31;;;;;;;3528:13;3511:31;3528:13;36:153:-1;66:2;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;;;3511:31:66;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3511:31:66;;;3501:42;;;;;;;;;;;;;36:153:-1;66:2;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;;3501:42:66;;;;;;;;;;;;3478:66;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;3478:66:66;;;;;;;;3468:77;;3478:66;;;;-1:-1:-1;3478:66:66;;-1:-1:-1;3468:77:66;;;;;-1:-1:-1;3468:77:66;3478:66;3468:77;36:153:-1;66:2;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;;3468:77:66;;;;;;;;;;;;3566:25;;;;;3468:77;;-1:-1:-1;;;;;;3555:10:66;;;-1:-1:-1;3555:10:66;;-1:-1:-1;3555:10:66;;3566:23;;-1:-1:-1;3566:25:66;;;;;;;;;;-1:-1:-1;3555:10:66;3566:25;;;5:2:-1;;;;30:1;27;20:12;5:2;3566:25:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3566:25:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3566:25:66;3604:8;;3555:58;;;-1:-1:-1;;;3555:58:66;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3604:8:66;;;3555:58;;;;;;;;;;3604:8;;3555:58;;;;;;;3604:8;3555:58;;;;5:2:-1;;;;30:1;27;20:12;5:2;3555:58:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3629:20:66;;;-1:-1:-1;;;;;3629:20:66;;;;;;3639:4;;-1:-1:-1;3629:20:66;;-1:-1:-1;3629:20:66;;;;;;;;3729:3;-1:-1:-1;;;;;3729:20:66;;3750:3;3755:6;3763;-1:-1:-1;;;;;3763:23:66;;:25;;;;;-1:-1:-1;;;3763:25:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3763:25:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3763:25:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3763:25:66;3729:67;;;-1:-1:-1;;;3729:67:66;;;;;;-1:-1:-1;;;;;3729:67:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3729:67:66;;;;;;;-1:-1:-1;3729:67:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;3729:67:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3729:67:66;;;;3806:3;-1:-1:-1;;;;;3806:20:66;;3827:3;3832:6;3840;-1:-1:-1;;;;;3840:26:66;;:28;;;;;-1:-1:-1;;;3840:28:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3840:28:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3840:28:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3840:28:66;3806:70;;;-1:-1:-1;;;3806:70:66;;;;;;-1:-1:-1;;;;;3806:70:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3806:70:66;;;;;;;-1:-1:-1;3806:70:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;3806:70:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3806:70:66;;;;3969:3;-1:-1:-1;;;;;3969:27:66;;:29;;;;;-1:-1:-1;;;3969:29:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3969:29:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3969:29:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3969:29:66;4009:39;;;-1:-1:-1;;;;;4009:39:66;;-1:-1:-1;;;;;4009:39:66;;;;;;;:19;;:39;;;;;;;;;;;;;;3969:29;;-1:-1:-1;4009:19:66;;;;:39;;;;;-1:-1:-1;;4009:39:66;;;;;;;;-1:-1:-1;4009:19:66;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;4009:39:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4081:3:66;;;:26;;;;;;;;;;;;-1:-1:-1;;;;;4081:26:66;;;;;;;;;:3;;;-1:-1:-1;4081:12:66;;-1:-1:-1;4081:26:66;;;;;:3;;:26;;;;;;;:3;;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;4081:26:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4135:3:66;;;4117:28;;;;;;-1:-1:-1;;;;;4135:3:66;;;4117:28;;;;;;;;;;;;;;:17;;;;-1:-1:-1;4117:17:66;;-1:-1:-1;4117:28:66;;;;;4135:3;;4117:28;;;;;;;4135:3;4117:17;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;4117:28:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4117:28:66;;;;4155:3;-1:-1:-1;;;;;4155:14:66;;4170:6;4155:22;;;;;-1:-1:-1;;;4155:22:66;;;;;;;-1:-1:-1;;;;;4155:22:66;-1:-1:-1;;;;;4155:22:66;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4155:22:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4245:1:66;4227:19;;-1:-1:-1;;4289:22:66;;;;;;;;-1:-1:-1;;;;;4257:20:66;;;;;;4278:4;;4284:3;;4289:20;;;;;;:22;;;;;4227:15;;4289:22;;;;;;;;4240:1;4289:20;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;4289:22:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4289:22:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4289:22:66;4257:61;;;-1:-1:-1;;;4257:61:66;;;;;;-1:-1:-1;;;;;4257:61:66;;;;;;;;;;;;;;;;;;;4313:4;4257:61;;;;;;;;;;;-1:-1:-1;;4257:61:66;;;;;;;-1:-1:-1;4257:61:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;4257:61:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4257:61:66;;;;4329:3;-1:-1:-1;;;;;4329:22:66;;4352:12;;;;;;;;;;;;;;;;;;4366:5;4373:12;4387;;;;;;;;;-1:-1:-1;;;;;4387:12:66;4401:13;;;;;;;;;;;;;;;;;;;:1;:13::i;:::-;4329:86;;-1:-1:-1;;;4329:86:66;;;;;;-1:-1:-1;;;;;4329:86:66;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4329:86:66;;;;;;;-1:-1:-1;;;;;4329:86:66;-1:-1:-1;;;;;4329:86:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4329:86:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4329:86:66;;;;;;;;;;;;;;;;;;;;;;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;4329:86:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4329:86:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4329:86:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4329:86:66;;;;;;;;;;;;;;;;;4425:3;-1:-1:-1;;;;;4425:22:66;;4448:16;;;;;;;;;;;;;;;;;;4466:5;4473:12;4487:25;;;;;;;;;-1:-1:-1;;;;;4487:25:66;4514:16;;;;;;;;;;;;;;;;;;;:1;:16::i;:::-;4425:106;;-1:-1:-1;;;4425:106:66;;;;;;-1:-1:-1;;;;;4425:106:66;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4425:106:66;;;;;;;-1:-1:-1;;;;;4425:106:66;-1:-1:-1;;;;;4425:106:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4425:106:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4425:106:66;;;;;;;;;;;;;;;;;;;;;;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;4425:106:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4425:106:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4425:106:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4425:106:66;;;;;;;;;;;;;;;;;4541:3;-1:-1:-1;;;;;4541:22:66;;4564:13;;;;;;;;;;;;;;;;;;4579:5;4586:12;4600:8;;;;;;;;;-1:-1:-1;;;;;4600:8:66;4610:14;;;;;;;;;;;;;;;;;;;:1;:14::i;:::-;4541:84;;-1:-1:-1;;;4541:84:66;;;;;;-1:-1:-1;;;;;4541:84:66;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4541:84:66;;;;;;;-1:-1:-1;;;;;4541:84:66;-1:-1:-1;;;;;4541:84:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4541:84:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4541:84:66;;;;;;;;;;;;;;;;;;;;;;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;4541:84:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4541:84:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4541:84:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4636:40:66;;-1:-1:-1;4660:3:66;4665;4670:5;4636:23;:40::i;:::-;4729:3;-1:-1:-1;;;;;4729:24:66;;4754:5;4761:3;4766;-1:-1:-1;;;;;4766:20:66;;:22;;;;;-1:-1:-1;;;4766:22:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4766:22:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4766:22:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4766:22:66;4729:60;;;-1:-1:-1;;;4729:60:66;;;;;;-1:-1:-1;;;;;4729:60:66;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4729:60:66;;;;;;;-1:-1:-1;4729:60:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;4729:60:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4799:41:66;;;;;;4820:4;4799:41;;;;-1:-1:-1;;;;;4799:20:66;;:41;;;;;;;;;;;;;;:20;;-1:-1:-1;4799:20:66;;-1:-1:-1;4799:41:66;;;;;-1:-1:-1;;4799:41:66;;;;;;;;-1:-1:-1;4799:20:66;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;4799:41:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4850:41:66;;;-1:-1:-1;;;;;4850:41:66;;-1:-1:-1;;;;;4850:41:66;;;;;;;:19;;:41;;;;;;;;;;;;;;:19;;-1:-1:-1;4850:19:66;;-1:-1:-1;4850:41:66;;;;;-1:-1:-1;;4850:41:66;;;;;;;;-1:-1:-1;4850:19:66;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;4850:41:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4901:46:66;;;;;;-1:-1:-1;;;;;4901:46:66;;;;;;;:24;;:46;;;;;;;;;;;;;;:24;;-1:-1:-1;4901:24:66;;-1:-1:-1;4901:46:66;;;;;-1:-1:-1;;4901:46:66;;;;;;;;-1:-1:-1;4901:24:66;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;4901:46:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4965:3:66;;2152:2823;-1:-1:-1;;;;;;;;;;;;;;;2152:2823:66:o;345:20::-;;;-1:-1:-1;;;;;345:20:66;;:::o;4981:96::-;5068:1;4981:96::o;5140:233::-;5235:4;-1:-1:-1;;;;;5235:20:66;;5256:5;5263:4;5269;-1:-1:-1;;;;;5269:21:66;;:23;;;;;-1:-1:-1;;;5269:23:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5269:23:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5269:23:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5269:23:66;5235:58;;;-1:-1:-1;;;5235:58:66;;;;;;-1:-1:-1;;;;;5235:58:66;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5235:58:66;;;;;;;-1:-1:-1;5235:58:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;5235:58:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5235:58:66;;;;5303:4;-1:-1:-1;;;;;5303:25:66;;5329:5;5336:4;5342;-1:-1:-1;;;;;5342:21:66;;:23;;;;;-1:-1:-1;;;5342:23:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5342:23:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5342:23:66;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5342:23:66;5303:63;;;-1:-1:-1;;;5303:63:66;;;;;;-1:-1:-1;;;;;5303:63:66;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5303:63:66;;;;;;;-1:-1:-1;5303:63:66;;;;5:2:-1;;;;30:1;27;20:12;5:2;5303:63:66;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5303:63:66;;;;5140:233;;;:::o;217:5158::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;217:5158:66;;;-1:-1:-1;;217:5158:66:o", - "source": "pragma solidity 0.4.24;\n\n\nimport \"../apm/APMRegistry.sol\";\nimport \"../apm/Repo.sol\";\nimport \"../ens/ENSSubdomainRegistrar.sol\";\n\nimport \"./DAOFactory.sol\";\nimport \"./ENSFactory.sol\";\nimport \"./AppProxyFactory.sol\";\n\n\ncontract APMRegistryFactory is APMInternalAppNames {\n DAOFactory public daoFactory;\n APMRegistry public registryBase;\n Repo public repoBase;\n ENSSubdomainRegistrar public ensSubdomainRegistrarBase;\n ENS public ens;\n\n event DeployAPM(bytes32 indexed node, address apm);\n\n /**\n * @notice Create a new factory for deploying Aragon Package Managers (aragonPM)\n * @dev Requires either a given ENS registrar or ENSFactory (used for generating a new ENS in test environments).\n * @param _daoFactory Base factory for deploying DAOs\n * @param _registryBase APMRegistry base contract location\n * @param _repoBase Repo base contract location\n * @param _ensSubBase ENSSubdomainRegistrar base contract location\n * @param _ens ENS instance\n * @param _ensFactory ENSFactory (used to generated a new ENS if no ENS is given)\n */\n constructor(\n DAOFactory _daoFactory,\n APMRegistry _registryBase,\n Repo _repoBase,\n ENSSubdomainRegistrar _ensSubBase,\n ENS _ens,\n ENSFactory _ensFactory\n ) public // DAO initialized without evmscript run support\n {\n daoFactory = _daoFactory;\n registryBase = _registryBase;\n repoBase = _repoBase;\n ensSubdomainRegistrarBase = _ensSubBase;\n\n // Either the ENS address provided is used, if any.\n // Or we use the ENSFactory to generate a test instance of ENS\n // If not the ENS address nor factory address are provided, this will revert\n ens = _ens != address(0) ? _ens : _ensFactory.newENS(this);\n }\n\n /**\n * @notice Create a new Aragon Package Manager (aragonPM) DAO, holding the `_label` subdomain from parent `_tld` and controlled by `_root`\n * @param _tld The parent node of the controlled subdomain\n * @param _label The subdomain label\n * @param _root Manager for the new aragonPM DAO\n * @return The new aragonPM's APMRegistry app\n */\n function newAPM(bytes32 _tld, bytes32 _label, address _root) public returns (APMRegistry) {\n bytes32 node = keccak256(abi.encodePacked(_tld, _label));\n\n // Assume it is the test ENS\n if (ens.owner(node) != address(this)) {\n // If we weren't in test ens and factory doesn't have ownership, will fail\n require(ens.owner(_tld) == address(this));\n ens.setSubnodeOwner(_tld, _label, this);\n }\n\n Kernel dao = daoFactory.newDAO(this);\n ACL acl = ACL(dao.acl());\n\n acl.createPermission(this, dao, dao.APP_MANAGER_ROLE(), this);\n\n // Deploy app proxies\n bytes memory noInit = new bytes(0);\n ENSSubdomainRegistrar ensSub = ENSSubdomainRegistrar(\n dao.newAppInstance(\n keccak256(abi.encodePacked(node, keccak256(abi.encodePacked(ENS_SUB_APP_NAME)))),\n ensSubdomainRegistrarBase,\n noInit,\n false\n )\n );\n APMRegistry apm = APMRegistry(\n dao.newAppInstance(\n keccak256(abi.encodePacked(node, keccak256(abi.encodePacked(APM_APP_NAME)))),\n registryBase,\n noInit,\n false\n )\n );\n\n // APMRegistry controls Repos\n bytes32 repoAppId = keccak256(abi.encodePacked(node, keccak256(abi.encodePacked(REPO_APP_NAME))));\n dao.setApp(dao.APP_BASES_NAMESPACE(), repoAppId, repoBase);\n\n emit DeployAPM(node, apm);\n\n // Grant permissions needed for APM on ENSSubdomainRegistrar\n acl.createPermission(apm, ensSub, ensSub.CREATE_NAME_ROLE(), _root);\n acl.createPermission(apm, ensSub, ensSub.POINT_ROOTNODE_ROLE(), _root);\n\n // allow apm to create permissions for Repos in Kernel\n bytes32 permRole = acl.CREATE_PERMISSIONS_ROLE();\n\n acl.grantPermission(apm, acl, permRole);\n\n // Initialize\n ens.setOwner(node, ensSub);\n ensSub.initialize(ens, node);\n apm.initialize(ensSub);\n\n uint16[3] memory firstVersion;\n firstVersion[0] = 1;\n\n acl.createPermission(this, apm, apm.CREATE_REPO_ROLE(), this);\n\n apm.newRepoWithVersion(APM_APP_NAME, _root, firstVersion, registryBase, b(\"ipfs:apm\"));\n apm.newRepoWithVersion(ENS_SUB_APP_NAME, _root, firstVersion, ensSubdomainRegistrarBase, b(\"ipfs:enssub\"));\n apm.newRepoWithVersion(REPO_APP_NAME, _root, firstVersion, repoBase, b(\"ipfs:repo\"));\n\n configureAPMPermissions(acl, apm, _root);\n\n // Permission transition to _root\n acl.setPermissionManager(_root, dao, dao.APP_MANAGER_ROLE());\n acl.revokePermission(this, acl, permRole);\n acl.grantPermission(_root, acl, permRole);\n acl.setPermissionManager(_root, acl, permRole);\n\n return apm;\n }\n\n function b(string memory x) internal pure returns (bytes memory y) {\n y = bytes(x);\n }\n\n // Factory can be subclassed and permissions changed\n function configureAPMPermissions(ACL _acl, APMRegistry _apm, address _root) internal {\n _acl.grantPermission(_root, _apm, _apm.CREATE_REPO_ROLE());\n _acl.setPermissionManager(_root, _apm, _apm.CREATE_REPO_ROLE());\n }\n}\n", - "sourcePath": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "exportedSymbols": { - "APMRegistryFactory": [ - 25848 - ] - }, - "id": 25849, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25416, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:66" - }, - { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "file": "../apm/APMRegistry.sol", - "id": 25417, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 22681, - "src": "26:32:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "../apm/Repo.sol", - "id": 25418, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 23074, - "src": "59:25:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 25419, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 24711, - "src": "85:42:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "file": "./DAOFactory.sol", - "id": 25420, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 26162, - "src": "129:26:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "file": "./ENSFactory.sol", - "id": 25421, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 26245, - "src": "156:26:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "./AppProxyFactory.sol", - "id": 25422, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 25962, - "src": "183:31:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25423, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "248:19:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 25424, - "nodeType": "InheritanceSpecifier", - "src": "248:19:66" - } - ], - "contractDependencies": [ - 22393 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25848, - "linearizedBaseContracts": [ - 25848, - 22393 - ], - "name": "APMRegistryFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 25426, - "name": "daoFactory", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "274:28:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 25425, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "274:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25428, - "name": "registryBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "308:31:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25427, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "308:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25430, - "name": "repoBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "345:20:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 25429, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "345:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25432, - "name": "ensSubdomainRegistrarBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "371:54:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25431, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "371:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25434, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "431:14:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 25433, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "431:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 25440, - "name": "DeployAPM", - "nodeType": "EventDefinition", - "parameters": { - "id": 25439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25436, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 25440, - "src": "468:20:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25435, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "468:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25438, - "indexed": false, - "name": "apm", - "nodeType": "VariableDeclaration", - "scope": 25440, - "src": "490:11:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:35:66" - }, - "src": "452:51:66" - }, - { - "body": { - "id": 25485, - "nodeType": "Block", - "src": "1343:443:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25455, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25426, - "src": "1353:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25456, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25442, - "src": "1366:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "src": "1353:24:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 25458, - "nodeType": "ExpressionStatement", - "src": "1353:24:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25459, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "1387:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25460, - "name": "_registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25444, - "src": "1402:13:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "src": "1387:28:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25462, - "nodeType": "ExpressionStatement", - "src": "1387:28:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25463, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "1425:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25464, - "name": "_repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25446, - "src": "1436:9:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "1425:20:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25466, - "nodeType": "ExpressionStatement", - "src": "1425:20:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25467, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "1455:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25468, - "name": "_ensSubBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25448, - "src": "1483:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1455:39:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25470, - "nodeType": "ExpressionStatement", - "src": "1455:39:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25471, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "1721:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25472, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25450, - "src": "1727:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1743:1:66", - "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": 25473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1735:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1735:10:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1727:18:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25480, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "1774:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25478, - "name": "_ensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25452, - "src": "1755:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - }, - "id": 25479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newENS", - "nodeType": "MemberAccess", - "referencedDeclaration": 26243, - "src": "1755:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_ENS_$27262_$", - "typeString": "function (address) external returns (contract ENS)" - } - }, - "id": 25481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1755:24:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1727:52:66", - "trueExpression": { - "argumentTypes": null, - "id": 25477, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25450, - "src": "1748:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "src": "1721:58:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25484, - "nodeType": "ExpressionStatement", - "src": "1721:58:66" - } - ] - }, - "documentation": "@notice Create a new factory for deploying Aragon Package Managers (aragonPM)\n@dev Requires either a given ENS registrar or ENSFactory (used for generating a new ENS in test environments).\n@param _daoFactory Base factory for deploying DAOs\n@param _registryBase APMRegistry base contract location\n@param _repoBase Repo base contract location\n@param _ensSubBase ENSSubdomainRegistrar base contract location\n@param _ens ENS instance\n@param _ensFactory ENSFactory (used to generated a new ENS if no ENS is given)", - "id": 25486, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25442, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1102:22:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 25441, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "1102:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25444, - "name": "_registryBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1134:25:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25443, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "1134:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25446, - "name": "_repoBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1169:14:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 25445, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "1169:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25448, - "name": "_ensSubBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1193:33:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25447, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1193:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25450, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1236:8:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 25449, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "1236:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25452, - "name": "_ensFactory", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1254:22:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - }, - "typeName": { - "contractScope": null, - "id": 25451, - "name": "ENSFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26244, - "src": "1254:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1092:190:66" - }, - "payable": false, - "returnParameters": { - "id": 25454, - "nodeType": "ParameterList", - "parameters": [], - "src": "1343:0:66" - }, - "scope": 25848, - "src": "1081:705:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25802, - "nodeType": "Block", - "src": "2242:2733:66", - "statements": [ - { - "assignments": [ - 25498 - ], - "declarations": [ - { - "constant": false, - "id": 25498, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2252:12:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25497, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2252:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25506, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25502, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2294:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25503, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25490, - "src": "2300:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25500, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2277:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2277:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2277:30:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25499, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2267:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2267:41:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2252:56:66" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25509, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "2370:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25507, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2360:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27134, - "src": "2360:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 25510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2360:15:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25512, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2387:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "id": 25511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2379:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2379:13:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2360:32:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 25535, - "nodeType": "IfStatement", - "src": "2356:244:66", - "trueBody": { - "id": 25534, - "nodeType": "Block", - "src": "2394:206:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25518, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2513:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25516, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2503:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27134, - "src": "2503:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 25519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2503:15:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2530:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "id": 25520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2522:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2522:13:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2503:32:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 25515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2495:7:66", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 25524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2495:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25525, - "nodeType": "ExpressionStatement", - "src": "2495:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25529, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2570:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25530, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25490, - "src": "2576:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25531, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2584:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25526, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2550:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "2550:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 25532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2550:39:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25533, - "nodeType": "ExpressionStatement", - "src": "2550:39:66" - } - ] - } - }, - { - "assignments": [ - 25537 - ], - "declarations": [ - { - "constant": false, - "id": 25537, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2610:10:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 25536, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "2610:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25542, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25540, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2641:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25538, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25426, - "src": "2623:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 25539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newDAO", - "nodeType": "MemberAccess", - "referencedDeclaration": 26160, - "src": "2623:17:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function (address) external returns (contract Kernel)" - } - }, - "id": 25541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2623:23:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2610:36:66" - }, - { - "assignments": [ - 25544 - ], - "declarations": [ - { - "constant": false, - "id": 25544, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2656:7:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 25543, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "2656:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25550, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25546, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2670:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "2670:7:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 25548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2670:9:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 25545, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "2666:3:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 25549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2666:14:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2656:24:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25554, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2712:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25555, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2718:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25556, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2723:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "2723:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2723:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25559, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2747:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "2691:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "2691:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2691:61:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25561, - "nodeType": "ExpressionStatement", - "src": "2691:61:66" - }, - { - "assignments": [ - 25563 - ], - "declarations": [ - { - "constant": false, - "id": 25563, - "name": "noInit", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2793:19:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25562, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2793:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25568, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2825:1:66", - "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": 25565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2815:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25564, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2819:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2815:12:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2793:34:66" - }, - { - "assignments": [ - 25570 - ], - "declarations": [ - { - "constant": false, - "id": 25570, - "name": "ensSub", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2837:28:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25569, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "2837:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25591, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25577, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "2966:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25581, - "name": "ENS_SUB_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22392, - "src": "2999:16:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25579, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2982:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2982:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2982:34:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25578, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2972:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2972:45:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25575, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2949:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2949:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:69:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25574, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2939:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2939:80:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25586, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "3037:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "id": 25587, - "name": "noInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25563, - "src": "3080:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3104:5:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 25572, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2903:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "2903:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 25589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2903:220:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 25571, - "name": "ENSSubdomainRegistrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24710, - "src": "2868:21:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ENSSubdomainRegistrar_$24710_$", - "typeString": "type(contract ENSSubdomainRegistrar)" - } - }, - "id": 25590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2868:265:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2837:296:66" - }, - { - "assignments": [ - 25593 - ], - "declarations": [ - { - "constant": false, - "id": 25593, - "name": "apm", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3143:15:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25592, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "3143:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25614, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25600, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3249:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25604, - "name": "APM_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22386, - "src": "3282:12:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25602, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3265:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3265:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3265:30:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25601, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3255:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3255:41:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25598, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3232:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3232:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3232:65:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25597, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3222:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:76:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25609, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "3316:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25610, - "name": "noInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25563, - "src": "3346:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:5:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 25595, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3186:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "3186:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 25612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3186:203:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 25594, - "name": "APMRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22680, - "src": "3161:11:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_APMRegistry_$22680_$", - "typeString": "type(contract APMRegistry)" - } - }, - "id": 25613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3161:238:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3143:256:66" - }, - { - "assignments": [ - 25616 - ], - "declarations": [ - { - "constant": false, - "id": 25616, - "name": "repoAppId", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3448:17:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25615, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3448:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25620, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3495:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25624, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "3528:13:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25622, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3511:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3511:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3511:31:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25621, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3501:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3501:42:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25618, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3478:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3478:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3478:66:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25617, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3468:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3468:77:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3448:97:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25633, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3566:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_BASES_NAMESPACE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26702, - "src": "3566:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure external returns (bytes32)" - } - }, - "id": 25635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3566:25:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25636, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25616, - "src": "3593:9:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25637, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "3604:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 25630, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3555:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26669, - "src": "3555:10:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 25638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3555:58:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25639, - "nodeType": "ExpressionStatement", - "src": "3555:58:66" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25641, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3639:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25642, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3645:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 25640, - "name": "DeployAPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25440, - "src": "3629:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 25643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3629:20:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25644, - "nodeType": "EmitStatement", - "src": "3624:25:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25648, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3750:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25649, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3755:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25650, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3763:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "3763:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3763:25:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25653, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "3790:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 25645, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3729:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3729:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3729:67:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25655, - "nodeType": "ExpressionStatement", - "src": "3729:67:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25659, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3827:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25660, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3832:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25661, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3840:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "POINT_ROOTNODE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24415, - "src": "3840:26:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3840:28:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25664, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "3870:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 25656, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3806:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3806:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3806:70:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25666, - "nodeType": "ExpressionStatement", - "src": "3806:70:66" - }, - { - "assignments": [ - 25668 - ], - "declarations": [ - { - "constant": false, - "id": 25668, - "name": "permRole", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3950:16:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25667, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3950:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25672, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25669, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3969:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "3969:27:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3969:29:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3950:48:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25676, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4029:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25677, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4034:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25678, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4039:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25673, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4009:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "4009:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4009:39:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25680, - "nodeType": "ExpressionStatement", - "src": "4009:39:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25684, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "4094:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25685, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4100:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 25681, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "4081:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "4081:12:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 25686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4081:26:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25687, - "nodeType": "ExpressionStatement", - "src": "4081:26:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25691, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "4135:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - { - "argumentTypes": null, - "id": 25692, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "4140:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25688, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4117:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 24473, - "src": "4117:17:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_AbstractENS_$27078_$_t_bytes32_$returns$__$", - "typeString": "function (contract AbstractENS,bytes32) external" - } - }, - "id": 25693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4117:28:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25694, - "nodeType": "ExpressionStatement", - "src": "4117:28:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25698, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4170:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 25695, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4155:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22480, - "src": "4155:14:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ENSSubdomainRegistrar_$24710_$returns$__$", - "typeString": "function (contract ENSSubdomainRegistrar) external" - } - }, - "id": 25699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4155:22:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25700, - "nodeType": "ExpressionStatement", - "src": "4155:22:66" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25705, - "name": "firstVersion", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "4188:29:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 25703, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4188:6:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 25704, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 25702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4195:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4188:9:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25706, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4188:29:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 25707, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4227:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 25709, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 25708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4227:15:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 25710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4245:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4227:19:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 25712, - "nodeType": "ExpressionStatement", - "src": "4227:19:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25716, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4278:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25717, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4284:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25718, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4289:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "4289:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4289:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25721, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4313:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25713, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4257:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "4257:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4257:61:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25723, - "nodeType": "ExpressionStatement", - "src": "4257:61:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25727, - "name": "APM_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22386, - "src": "4352:12:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25728, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4366:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25729, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4373:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25730, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "4387:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a61706d", - "id": 25732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4403:10:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd519e9468823d7fd2951ca90a412c420218a9c6cae3c0013f571decac044ab0", - "typeString": "literal_string \"ipfs:apm\"" - }, - "value": "ipfs:apm" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bd519e9468823d7fd2951ca90a412c420218a9c6cae3c0013f571decac044ab0", - "typeString": "literal_string \"ipfs:apm\"" - } - ], - "id": 25731, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4401:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4401:13:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25724, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4329:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4329:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4329:86:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25735, - "nodeType": "ExpressionStatement", - "src": "4329:86:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25739, - "name": "ENS_SUB_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22392, - "src": "4448:16:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25740, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4466:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25741, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4473:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25742, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "4487:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a656e73737562", - "id": 25744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4516:13:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40e9f415690a155a4d25684a7502b118cee0b74bb8c46f947331f8e0ab927857", - "typeString": "literal_string \"ipfs:enssub\"" - }, - "value": "ipfs:enssub" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_40e9f415690a155a4d25684a7502b118cee0b74bb8c46f947331f8e0ab927857", - "typeString": "literal_string \"ipfs:enssub\"" - } - ], - "id": 25743, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4514:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4514:16:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25736, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4425:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4425:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4425:106:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25747, - "nodeType": "ExpressionStatement", - "src": "4425:106:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25751, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4564:13:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25752, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4579:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25753, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4586:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25754, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "4600:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a7265706f", - "id": 25756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4612:11:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48cc521ec21e9d8c7d46de750cc52d64e5a87b969982c6994e87bd988c7ea604", - "typeString": "literal_string \"ipfs:repo\"" - }, - "value": "ipfs:repo" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_48cc521ec21e9d8c7d46de750cc52d64e5a87b969982c6994e87bd988c7ea604", - "typeString": "literal_string \"ipfs:repo\"" - } - ], - "id": 25755, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4610:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4610:14:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25748, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4541:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4541:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4541:84:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25759, - "nodeType": "ExpressionStatement", - "src": "4541:84:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25761, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4660:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25762, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4665:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25763, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4670:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25760, - "name": "configureAPMPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25847, - "src": "4636:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_APMRegistry_$22680_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract APMRegistry,address)" - } - }, - "id": 25764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4636:40:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25765, - "nodeType": "ExpressionStatement", - "src": "4636:40:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25769, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4754:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25770, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "4761:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25771, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "4766:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "4766:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4766:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25766, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4729:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "4729:24:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4729:60:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25775, - "nodeType": "ExpressionStatement", - "src": "4729:60:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25779, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4820:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25780, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4826:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25781, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4831:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25776, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4799:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "4799:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4799:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25783, - "nodeType": "ExpressionStatement", - "src": "4799:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25787, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4870:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25788, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4877:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25789, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4882:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25784, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4850:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "4850:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25791, - "nodeType": "ExpressionStatement", - "src": "4850:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25795, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4926:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25796, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4933:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25797, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4938:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25792, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4901:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "4901:24:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:46:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25799, - "nodeType": "ExpressionStatement", - "src": "4901:46:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25800, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4965:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "functionReturnParameters": 25496, - "id": 25801, - "nodeType": "Return", - "src": "4958:10:66" - } - ] - }, - "documentation": "@notice Create a new Aragon Package Manager (aragonPM) DAO, holding the `_label` subdomain from parent `_tld` and controlled by `_root`\n@param _tld The parent node of the controlled subdomain\n@param _label The subdomain label\n@param _root Manager for the new aragonPM DAO\n@return The new aragonPM's APMRegistry app", - "id": 25803, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25488, - "name": "_tld", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2168:12:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25487, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2168:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25490, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2182:14:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25489, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2182:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25492, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2198:13:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2198:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2167:45:66" - }, - "payable": false, - "returnParameters": { - "id": 25496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25495, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2229:11:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25494, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "2229:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:13:66" - }, - "scope": 25848, - "src": "2152:2823:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25816, - "nodeType": "Block", - "src": "5048:29:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25810, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25808, - "src": "5058:1:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25812, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25805, - "src": "5068:1:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 25811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5062:5:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 25813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "src": "5058:12:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 25815, - "nodeType": "ExpressionStatement", - "src": "5058:12:66" - } - ] - }, - "documentation": null, - "id": 25817, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "b", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25806, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25805, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 25817, - "src": "4992:15:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 25804, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4992:6:66", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4991:17:66" - }, - "payable": false, - "returnParameters": { - "id": 25809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25808, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 25817, - "src": "5032:14:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25807, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5032:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5031:16:66" - }, - "scope": 25848, - "src": "4981:96:66", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25846, - "nodeType": "Block", - "src": "5225:148:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25829, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25823, - "src": "5256:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25830, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5263:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25831, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5269:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "5269:21:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5269:23:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25826, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25819, - "src": "5235:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "5235:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5235:58:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25835, - "nodeType": "ExpressionStatement", - "src": "5235:58:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25839, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25823, - "src": "5329:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25840, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5336:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25841, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5342:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "5342:21:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5342:23:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25836, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25819, - "src": "5303:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "5303:25:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:63:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25845, - "nodeType": "ExpressionStatement", - "src": "5303:63:66" - } - ] - }, - "documentation": null, - "id": 25847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "configureAPMPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25824, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25819, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5173:8:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 25818, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5173:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25821, - "name": "_apm", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5183:16:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25820, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "5183:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25823, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5201:13:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5201:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5172:43:66" - }, - "payable": false, - "returnParameters": { - "id": 25825, - "nodeType": "ParameterList", - "parameters": [], - "src": "5225:0:66" - }, - "scope": 25848, - "src": "5140:233:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 25849, - "src": "217:5158:66" - } - ], - "src": "0:5376:66" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "exportedSymbols": { - "APMRegistryFactory": [ - 25848 - ] - }, - "id": 25849, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25416, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:66" - }, - { - "absolutePath": "@aragon/os/contracts/apm/APMRegistry.sol", - "file": "../apm/APMRegistry.sol", - "id": 25417, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 22681, - "src": "26:32:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "../apm/Repo.sol", - "id": 25418, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 23074, - "src": "59:25:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "file": "../ens/ENSSubdomainRegistrar.sol", - "id": 25419, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 24711, - "src": "85:42:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "file": "./DAOFactory.sol", - "id": 25420, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 26162, - "src": "129:26:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "file": "./ENSFactory.sol", - "id": 25421, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 26245, - "src": "156:26:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "./AppProxyFactory.sol", - "id": 25422, - "nodeType": "ImportDirective", - "scope": 25849, - "sourceUnit": 25962, - "src": "183:31:66", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25423, - "name": "APMInternalAppNames", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22393, - "src": "248:19:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMInternalAppNames_$22393", - "typeString": "contract APMInternalAppNames" - } - }, - "id": 25424, - "nodeType": "InheritanceSpecifier", - "src": "248:19:66" - } - ], - "contractDependencies": [ - 22393 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25848, - "linearizedBaseContracts": [ - 25848, - 22393 - ], - "name": "APMRegistryFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 25426, - "name": "daoFactory", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "274:28:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 25425, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "274:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25428, - "name": "registryBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "308:31:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25427, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "308:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25430, - "name": "repoBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "345:20:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 25429, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "345:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25432, - "name": "ensSubdomainRegistrarBase", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "371:54:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25431, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "371:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25434, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 25848, - "src": "431:14:66", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 25433, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "431:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 25440, - "name": "DeployAPM", - "nodeType": "EventDefinition", - "parameters": { - "id": 25439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25436, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 25440, - "src": "468:20:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25435, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "468:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25438, - "indexed": false, - "name": "apm", - "nodeType": "VariableDeclaration", - "scope": 25440, - "src": "490:11:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:35:66" - }, - "src": "452:51:66" - }, - { - "body": { - "id": 25485, - "nodeType": "Block", - "src": "1343:443:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25455, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25426, - "src": "1353:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25456, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25442, - "src": "1366:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "src": "1353:24:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 25458, - "nodeType": "ExpressionStatement", - "src": "1353:24:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25459, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "1387:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25460, - "name": "_registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25444, - "src": "1402:13:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "src": "1387:28:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25462, - "nodeType": "ExpressionStatement", - "src": "1387:28:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25463, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "1425:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25464, - "name": "_repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25446, - "src": "1436:9:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "src": "1425:20:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25466, - "nodeType": "ExpressionStatement", - "src": "1425:20:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25467, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "1455:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 25468, - "name": "_ensSubBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25448, - "src": "1483:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "src": "1455:39:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25470, - "nodeType": "ExpressionStatement", - "src": "1455:39:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25471, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "1721:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25472, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25450, - "src": "1727:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1743:1:66", - "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": 25473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1735:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1735:10:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1727:18:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25480, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "1774:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25478, - "name": "_ensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25452, - "src": "1755:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - }, - "id": 25479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newENS", - "nodeType": "MemberAccess", - "referencedDeclaration": 26243, - "src": "1755:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_ENS_$27262_$", - "typeString": "function (address) external returns (contract ENS)" - } - }, - "id": 25481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1755:24:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1727:52:66", - "trueExpression": { - "argumentTypes": null, - "id": 25477, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25450, - "src": "1748:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "src": "1721:58:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25484, - "nodeType": "ExpressionStatement", - "src": "1721:58:66" - } - ] - }, - "documentation": "@notice Create a new factory for deploying Aragon Package Managers (aragonPM)\n@dev Requires either a given ENS registrar or ENSFactory (used for generating a new ENS in test environments).\n@param _daoFactory Base factory for deploying DAOs\n@param _registryBase APMRegistry base contract location\n@param _repoBase Repo base contract location\n@param _ensSubBase ENSSubdomainRegistrar base contract location\n@param _ens ENS instance\n@param _ensFactory ENSFactory (used to generated a new ENS if no ENS is given)", - "id": 25486, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25442, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1102:22:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 25441, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "1102:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25444, - "name": "_registryBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1134:25:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25443, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "1134:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25446, - "name": "_repoBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1169:14:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 25445, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "1169:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25448, - "name": "_ensSubBase", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1193:33:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25447, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "1193:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25450, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1236:8:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 25449, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "1236:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25452, - "name": "_ensFactory", - "nodeType": "VariableDeclaration", - "scope": 25486, - "src": "1254:22:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - }, - "typeName": { - "contractScope": null, - "id": 25451, - "name": "ENSFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26244, - "src": "1254:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1092:190:66" - }, - "payable": false, - "returnParameters": { - "id": 25454, - "nodeType": "ParameterList", - "parameters": [], - "src": "1343:0:66" - }, - "scope": 25848, - "src": "1081:705:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25802, - "nodeType": "Block", - "src": "2242:2733:66", - "statements": [ - { - "assignments": [ - 25498 - ], - "declarations": [ - { - "constant": false, - "id": 25498, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2252:12:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25497, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2252:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25506, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25502, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2294:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25503, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25490, - "src": "2300:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25500, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2277:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2277:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2277:30:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25499, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2267:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2267:41:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2252:56:66" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25509, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "2370:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25507, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2360:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27134, - "src": "2360:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 25510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2360:15:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25512, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2387:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "id": 25511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2379:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2379:13:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2360:32:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 25535, - "nodeType": "IfStatement", - "src": "2356:244:66", - "trueBody": { - "id": 25534, - "nodeType": "Block", - "src": "2394:206:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25518, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2513:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25516, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2503:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27134, - "src": "2503:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 25519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2503:15:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2530:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "id": 25520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2522:7:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2522:13:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2503:32:66", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 25515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2495:7:66", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 25524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2495:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25525, - "nodeType": "ExpressionStatement", - "src": "2495:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25529, - "name": "_tld", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25488, - "src": "2570:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25530, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25490, - "src": "2576:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25531, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2584:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25526, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "2550:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "2550:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 25532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2550:39:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25533, - "nodeType": "ExpressionStatement", - "src": "2550:39:66" - } - ] - } - }, - { - "assignments": [ - 25537 - ], - "declarations": [ - { - "constant": false, - "id": 25537, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2610:10:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 25536, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "2610:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25542, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25540, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2641:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25538, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25426, - "src": "2623:10:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 25539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newDAO", - "nodeType": "MemberAccess", - "referencedDeclaration": 26160, - "src": "2623:17:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function (address) external returns (contract Kernel)" - } - }, - "id": 25541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2623:23:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2610:36:66" - }, - { - "assignments": [ - 25544 - ], - "declarations": [ - { - "constant": false, - "id": 25544, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2656:7:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 25543, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "2656:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25550, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25546, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2670:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "2670:7:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 25548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2670:9:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 25545, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "2666:3:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 25549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2666:14:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2656:24:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25554, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2712:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25555, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2718:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25556, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2723:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "2723:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2723:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25559, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "2747:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "2691:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "2691:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2691:61:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25561, - "nodeType": "ExpressionStatement", - "src": "2691:61:66" - }, - { - "assignments": [ - 25563 - ], - "declarations": [ - { - "constant": false, - "id": 25563, - "name": "noInit", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2793:19:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25562, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2793:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25568, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2825:1:66", - "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": 25565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2815:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25564, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2819:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2815:12:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2793:34:66" - }, - { - "assignments": [ - 25570 - ], - "declarations": [ - { - "constant": false, - "id": 25570, - "name": "ensSub", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2837:28:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 25569, - "name": "ENSSubdomainRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24710, - "src": "2837:21:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25591, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25577, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "2966:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25581, - "name": "ENS_SUB_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22392, - "src": "2999:16:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25579, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2982:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2982:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2982:34:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25578, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2972:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2972:45:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25575, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "2949:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2949:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:69:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25574, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2939:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2939:80:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25586, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "3037:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "id": 25587, - "name": "noInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25563, - "src": "3080:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3104:5:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 25572, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "2903:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "2903:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 25589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2903:220:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 25571, - "name": "ENSSubdomainRegistrar", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24710, - "src": "2868:21:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ENSSubdomainRegistrar_$24710_$", - "typeString": "type(contract ENSSubdomainRegistrar)" - } - }, - "id": 25590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2868:265:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2837:296:66" - }, - { - "assignments": [ - 25593 - ], - "declarations": [ - { - "constant": false, - "id": 25593, - "name": "apm", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3143:15:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25592, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "3143:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25614, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25600, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3249:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25604, - "name": "APM_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22386, - "src": "3282:12:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25602, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3265:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3265:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3265:30:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25601, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3255:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3255:41:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25598, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3232:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3232:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3232:65:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25597, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3222:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:76:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25609, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "3316:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25610, - "name": "noInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25563, - "src": "3346:6:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:5:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 25595, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3186:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "3186:18:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 25612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3186:203:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 25594, - "name": "APMRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22680, - "src": "3161:11:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_APMRegistry_$22680_$", - "typeString": "type(contract APMRegistry)" - } - }, - "id": 25613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3161:238:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3143:256:66" - }, - { - "assignments": [ - 25616 - ], - "declarations": [ - { - "constant": false, - "id": 25616, - "name": "repoAppId", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3448:17:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25615, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3448:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25620, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3495:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25624, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "3528:13:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25622, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3511:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3511:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3511:31:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25621, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3501:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3501:42:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25618, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3478:3:66", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3478:16:66", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 25627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3478:66:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25617, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "3468:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 25628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3468:77:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3448:97:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25633, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3566:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_BASES_NAMESPACE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26702, - "src": "3566:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure external returns (bytes32)" - } - }, - "id": 25635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3566:25:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25636, - "name": "repoAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25616, - "src": "3593:9:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25637, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "3604:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - ], - "expression": { - "argumentTypes": null, - "id": 25630, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "3555:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26669, - "src": "3555:10:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 25638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3555:58:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25639, - "nodeType": "ExpressionStatement", - "src": "3555:58:66" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25641, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "3639:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25642, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3645:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - ], - "id": 25640, - "name": "DeployAPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25440, - "src": "3629:9:66", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 25643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3629:20:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25644, - "nodeType": "EmitStatement", - "src": "3624:25:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25648, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3750:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25649, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3755:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25650, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3763:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_NAME_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24409, - "src": "3763:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3763:25:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25653, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "3790:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 25645, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3729:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3729:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3729:67:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25655, - "nodeType": "ExpressionStatement", - "src": "3729:67:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25659, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "3827:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25660, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3832:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25661, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "3840:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "POINT_ROOTNODE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24415, - "src": "3840:26:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3840:28:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25664, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "3870:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 25656, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3806:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "3806:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3806:70:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25666, - "nodeType": "ExpressionStatement", - "src": "3806:70:66" - }, - { - "assignments": [ - 25668 - ], - "declarations": [ - { - "constant": false, - "id": 25668, - "name": "permRole", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "3950:16:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25667, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3950:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25672, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25669, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "3969:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "3969:27:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3969:29:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3950:48:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25676, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4029:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25677, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4034:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25678, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4039:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25673, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4009:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "4009:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4009:39:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25680, - "nodeType": "ExpressionStatement", - "src": "4009:39:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25684, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "4094:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25685, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4100:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 25681, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "4081:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 25683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "4081:12:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 25686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4081:26:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25687, - "nodeType": "ExpressionStatement", - "src": "4081:26:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25691, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25434, - "src": "4135:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - { - "argumentTypes": null, - "id": 25692, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25498, - "src": "4140:4:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25688, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4117:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - "id": 25690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 24473, - "src": "4117:17:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_AbstractENS_$27078_$_t_bytes32_$returns$__$", - "typeString": "function (contract AbstractENS,bytes32) external" - } - }, - "id": 25693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4117:28:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25694, - "nodeType": "ExpressionStatement", - "src": "4117:28:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25698, - "name": "ensSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25570, - "src": "4170:6:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 25695, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4155:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22480, - "src": "4155:14:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ENSSubdomainRegistrar_$24710_$returns$__$", - "typeString": "function (contract ENSSubdomainRegistrar) external" - } - }, - "id": 25699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4155:22:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25700, - "nodeType": "ExpressionStatement", - "src": "4155:22:66" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25705, - "name": "firstVersion", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "4188:29:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 25703, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4188:6:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 25704, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 25702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4195:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4188:9:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25706, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4188:29:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 25707, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4227:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 25709, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 25708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4227:15:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 25710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4245:1:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4227:19:66", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 25712, - "nodeType": "ExpressionStatement", - "src": "4227:19:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25716, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4278:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25717, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4284:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25718, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4289:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "4289:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4289:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25721, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4313:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25713, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4257:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "4257:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 25722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4257:61:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25723, - "nodeType": "ExpressionStatement", - "src": "4257:61:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25727, - "name": "APM_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22386, - "src": "4352:12:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25728, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4366:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25729, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4373:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25730, - "name": "registryBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25428, - "src": "4387:12:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a61706d", - "id": 25732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4403:10:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd519e9468823d7fd2951ca90a412c420218a9c6cae3c0013f571decac044ab0", - "typeString": "literal_string \"ipfs:apm\"" - }, - "value": "ipfs:apm" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bd519e9468823d7fd2951ca90a412c420218a9c6cae3c0013f571decac044ab0", - "typeString": "literal_string \"ipfs:apm\"" - } - ], - "id": 25731, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4401:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4401:13:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25724, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4329:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4329:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4329:86:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25735, - "nodeType": "ExpressionStatement", - "src": "4329:86:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25739, - "name": "ENS_SUB_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22392, - "src": "4448:16:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25740, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4466:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25741, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4473:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25742, - "name": "ensSubdomainRegistrarBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25432, - "src": "4487:25:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a656e73737562", - "id": 25744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4516:13:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40e9f415690a155a4d25684a7502b118cee0b74bb8c46f947331f8e0ab927857", - "typeString": "literal_string \"ipfs:enssub\"" - }, - "value": "ipfs:enssub" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_40e9f415690a155a4d25684a7502b118cee0b74bb8c46f947331f8e0ab927857", - "typeString": "literal_string \"ipfs:enssub\"" - } - ], - "id": 25743, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4514:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4514:16:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25736, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4425:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4425:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4425:106:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25747, - "nodeType": "ExpressionStatement", - "src": "4425:106:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25751, - "name": "REPO_APP_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22389, - "src": "4564:13:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 25752, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4579:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25753, - "name": "firstVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25705, - "src": "4586:12:66", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 25754, - "name": "repoBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25430, - "src": "4600:8:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "697066733a7265706f", - "id": 25756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4612:11:66", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48cc521ec21e9d8c7d46de750cc52d64e5a87b969982c6994e87bd988c7ea604", - "typeString": "literal_string \"ipfs:repo\"" - }, - "value": "ipfs:repo" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_48cc521ec21e9d8c7d46de750cc52d64e5a87b969982c6994e87bd988c7ea604", - "typeString": "literal_string \"ipfs:repo\"" - } - ], - "id": 25755, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25817, - "src": "4610:1:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 25757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4610:14:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25748, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4541:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newRepoWithVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22575, - "src": "4541:22:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_Repo_$23073_$", - "typeString": "function (string memory,address,uint16[3] memory,address,bytes memory) external returns (contract Repo)" - } - }, - "id": 25758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4541:84:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 25759, - "nodeType": "ExpressionStatement", - "src": "4541:84:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25761, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4660:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25762, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4665:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "id": 25763, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4670:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25760, - "name": "configureAPMPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25847, - "src": "4636:23:66", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_APMRegistry_$22680_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract APMRegistry,address)" - } - }, - "id": 25764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4636:40:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25765, - "nodeType": "ExpressionStatement", - "src": "4636:40:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25769, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4754:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25770, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "4761:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25771, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25537, - "src": "4766:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 25772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "4766:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4766:22:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25766, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4729:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "4729:24:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4729:60:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25775, - "nodeType": "ExpressionStatement", - "src": "4729:60:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25779, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29979, - "src": "4820:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 25780, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4826:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25781, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4831:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_APMRegistryFactory_$25848", - "typeString": "contract APMRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25776, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4799:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "4799:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4799:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25783, - "nodeType": "ExpressionStatement", - "src": "4799:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25787, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4870:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25788, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4877:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25789, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4882:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25784, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4850:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "4850:19:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:41:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25791, - "nodeType": "ExpressionStatement", - "src": "4850:41:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25795, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25492, - "src": "4926:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25796, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4933:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 25797, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25668, - "src": "4938:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25792, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25544, - "src": "4901:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "4901:24:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:46:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25799, - "nodeType": "ExpressionStatement", - "src": "4901:46:66" - }, - { - "expression": { - "argumentTypes": null, - "id": 25800, - "name": "apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25593, - "src": "4965:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "functionReturnParameters": 25496, - "id": 25801, - "nodeType": "Return", - "src": "4958:10:66" - } - ] - }, - "documentation": "@notice Create a new Aragon Package Manager (aragonPM) DAO, holding the `_label` subdomain from parent `_tld` and controlled by `_root`\n@param _tld The parent node of the controlled subdomain\n@param _label The subdomain label\n@param _root Manager for the new aragonPM DAO\n@return The new aragonPM's APMRegistry app", - "id": 25803, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25488, - "name": "_tld", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2168:12:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25487, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2168:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25490, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2182:14:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25489, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2182:7:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25492, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2198:13:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2198:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2167:45:66" - }, - "payable": false, - "returnParameters": { - "id": 25496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25495, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25803, - "src": "2229:11:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25494, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "2229:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:13:66" - }, - "scope": 25848, - "src": "2152:2823:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25816, - "nodeType": "Block", - "src": "5048:29:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25810, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25808, - "src": "5058:1:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25812, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25805, - "src": "5068:1:66", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 25811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5062:5:66", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 25813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:8:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "src": "5058:12:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 25815, - "nodeType": "ExpressionStatement", - "src": "5058:12:66" - } - ] - }, - "documentation": null, - "id": 25817, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "b", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25806, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25805, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 25817, - "src": "4992:15:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 25804, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4992:6:66", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4991:17:66" - }, - "payable": false, - "returnParameters": { - "id": 25809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25808, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 25817, - "src": "5032:14:66", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25807, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5032:5:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5031:16:66" - }, - "scope": 25848, - "src": "4981:96:66", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25846, - "nodeType": "Block", - "src": "5225:148:66", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25829, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25823, - "src": "5256:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25830, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5263:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25831, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5269:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "5269:21:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5269:23:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25826, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25819, - "src": "5235:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "5235:20:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5235:58:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25835, - "nodeType": "ExpressionStatement", - "src": "5235:58:66" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25839, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25823, - "src": "5329:5:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25840, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5336:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 25841, - "name": "_apm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25821, - "src": "5342:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "id": 25842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_REPO_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 22402, - "src": "5342:21:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 25843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5342:23:66", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 25836, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25819, - "src": "5303:4:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 25838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "5303:25:66", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 25844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:63:66", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25845, - "nodeType": "ExpressionStatement", - "src": "5303:63:66" - } - ] - }, - "documentation": null, - "id": 25847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "configureAPMPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25824, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25819, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5173:8:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 25818, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5173:3:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25821, - "name": "_apm", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5183:16:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - }, - "typeName": { - "contractScope": null, - "id": 25820, - "name": "APMRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22680, - "src": "5183:11:66", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMRegistry_$22680", - "typeString": "contract APMRegistry" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25823, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 25847, - "src": "5201:13:66", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5201:7:66", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5172:43:66" - }, - "payable": false, - "returnParameters": { - "id": 25825, - "nodeType": "ParameterList", - "parameters": [], - "src": "5225:0:66" - }, - "scope": 25848, - "src": "5140:233:66", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 25849, - "src": "217:5158:66" - } - ], - "src": "0:5376:66" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.358Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AbstractENS.json b/templates/multisig/build/contracts/AbstractENS.json deleted file mode 100644 index 44d0502..0000000 --- a/templates/multisig/build/contracts/AbstractENS.json +++ /dev/null @@ -1,2118 +0,0 @@ -{ - "contractName": "AbstractENS", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "_label", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_owner", - "type": "address" - } - ], - "name": "NewOwner", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_owner", - "type": "address" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_resolver", - "type": "address" - } - ], - "name": "NewResolver", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_ttl", - "type": "uint64" - } - ], - "name": "NewTTL", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - } - ], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - } - ], - "name": "resolver", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - } - ], - "name": "ttl", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - }, - { - "name": "label", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "setSubnodeOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - }, - { - "name": "_resolver", - "type": "address" - } - ], - "name": "setResolver", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_node", - "type": "bytes32" - }, - { - "name": "_ttl", - "type": "uint64" - } - ], - "name": "setTTL", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// See https://github.com/ensdomains/ens/blob/7e377df83f/contracts/AbstractENS.sol\n\npragma solidity ^0.4.15;\n\n\ninterface AbstractENS {\n function owner(bytes32 _node) public constant returns (address);\n function resolver(bytes32 _node) public constant returns (address);\n function ttl(bytes32 _node) public constant returns (uint64);\n function setOwner(bytes32 _node, address _owner) public;\n function setSubnodeOwner(bytes32 _node, bytes32 label, address _owner) public;\n function setResolver(bytes32 _node, address _resolver) public;\n function setTTL(bytes32 _node, uint64 _ttl) public;\n\n // Logged when the owner of a node assigns a new owner to a subnode.\n event NewOwner(bytes32 indexed _node, bytes32 indexed _label, address _owner);\n\n // Logged when the owner of a node transfers ownership to a new account.\n event Transfer(bytes32 indexed _node, address _owner);\n\n // Logged when the resolver for a node changes.\n event NewResolver(bytes32 indexed _node, address _resolver);\n\n // Logged when the TTL of a node changes\n event NewTTL(bytes32 indexed _node, uint64 _ttl);\n}\n", - "sourcePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "exportedSymbols": { - "AbstractENS": [ - 27078 - ] - }, - "id": 27079, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27000, - "literals": [ - "solidity", - "^", - "0.4", - ".15" - ], - "nodeType": "PragmaDirective", - "src": "84:24:76" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27078, - "linearizedBaseContracts": [ - 27078 - ], - "name": "AbstractENS", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 27007, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "owner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27002, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27007, - "src": "154:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27001, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "154:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "153:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27006, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27005, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27007, - "src": "194:7:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27004, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "194:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "193:9:76" - }, - "scope": 27078, - "src": "139:64:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27014, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "resolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27009, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27014, - "src": "226:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27008, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "226:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "225:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27012, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27014, - "src": "266:7:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "266:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:9:76" - }, - "scope": 27078, - "src": "208:67:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27021, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ttl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27016, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27021, - "src": "293:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27015, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "293:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "292:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27019, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27021, - "src": "333:6:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27018, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "333:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "332:8:76" - }, - "scope": 27078, - "src": "280:61:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27028, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27023, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27028, - "src": "364:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "364:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27025, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27028, - "src": "379:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "379:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "363:31:76" - }, - "payable": false, - "returnParameters": { - "id": 27027, - "nodeType": "ParameterList", - "parameters": [], - "src": "401:0:76" - }, - "scope": 27078, - "src": "346:56:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27037, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setSubnodeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27030, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "432:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "432:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27032, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "447:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27031, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "447:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27034, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "462:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "462:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:46:76" - }, - "payable": false, - "returnParameters": { - "id": 27036, - "nodeType": "ParameterList", - "parameters": [], - "src": "484:0:76" - }, - "scope": 27078, - "src": "407:78:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27044, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27039, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27044, - "src": "511:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27038, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "511:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27041, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 27044, - "src": "526:17:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "526:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:34:76" - }, - "payable": false, - "returnParameters": { - "id": 27043, - "nodeType": "ParameterList", - "parameters": [], - "src": "551:0:76" - }, - "scope": 27078, - "src": "490:62:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27051, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setTTL", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27046, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27051, - "src": "573:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27045, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "573:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27048, - "name": "_ttl", - "nodeType": "VariableDeclaration", - "scope": 27051, - "src": "588:11:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27047, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "588:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "572:28:76" - }, - "payable": false, - "returnParameters": { - "id": 27050, - "nodeType": "ParameterList", - "parameters": [], - "src": "607:0:76" - }, - "scope": 27078, - "src": "557:51:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 27059, - "name": "NewOwner", - "nodeType": "EventDefinition", - "parameters": { - "id": 27058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27053, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "702:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27052, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "702:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27055, - "indexed": true, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "725:22:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27054, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "725:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27057, - "indexed": false, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "749:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "749:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "701:63:76" - }, - "src": "687:78:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27065, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 27064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27061, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27065, - "src": "863:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "863:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27063, - "indexed": false, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27065, - "src": "886:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "886:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "862:39:76" - }, - "src": "848:54:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27071, - "name": "NewResolver", - "nodeType": "EventDefinition", - "parameters": { - "id": 27070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27067, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27071, - "src": "978:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27066, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "978:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27069, - "indexed": false, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 27071, - "src": "1001:17:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "977:42:76" - }, - "src": "960:60:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27077, - "name": "NewTTL", - "nodeType": "EventDefinition", - "parameters": { - "id": 27076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27073, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27077, - "src": "1084:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27072, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1084:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27075, - "indexed": false, - "name": "_ttl", - "nodeType": "VariableDeclaration", - "scope": 27077, - "src": "1107:11:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27074, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1107:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:36:76" - }, - "src": "1071:49:76" - } - ], - "scope": 27079, - "src": "111:1011:76" - } - ], - "src": "84:1039:76" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "exportedSymbols": { - "AbstractENS": [ - 27078 - ] - }, - "id": 27079, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27000, - "literals": [ - "solidity", - "^", - "0.4", - ".15" - ], - "nodeType": "PragmaDirective", - "src": "84:24:76" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27078, - "linearizedBaseContracts": [ - 27078 - ], - "name": "AbstractENS", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 27007, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "owner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27002, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27007, - "src": "154:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27001, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "154:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "153:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27006, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27005, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27007, - "src": "194:7:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27004, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "194:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "193:9:76" - }, - "scope": 27078, - "src": "139:64:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27014, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "resolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27009, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27014, - "src": "226:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27008, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "226:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "225:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27012, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27014, - "src": "266:7:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "266:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:9:76" - }, - "scope": 27078, - "src": "208:67:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27021, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ttl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27016, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27021, - "src": "293:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27015, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "293:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "292:15:76" - }, - "payable": false, - "returnParameters": { - "id": 27020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27019, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27021, - "src": "333:6:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27018, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "333:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "332:8:76" - }, - "scope": 27078, - "src": "280:61:76", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27028, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27023, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27028, - "src": "364:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "364:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27025, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27028, - "src": "379:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "379:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "363:31:76" - }, - "payable": false, - "returnParameters": { - "id": 27027, - "nodeType": "ParameterList", - "parameters": [], - "src": "401:0:76" - }, - "scope": 27078, - "src": "346:56:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27037, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setSubnodeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27030, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "432:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "432:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27032, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "447:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27031, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "447:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27034, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27037, - "src": "462:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "462:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:46:76" - }, - "payable": false, - "returnParameters": { - "id": 27036, - "nodeType": "ParameterList", - "parameters": [], - "src": "484:0:76" - }, - "scope": 27078, - "src": "407:78:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27044, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27039, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27044, - "src": "511:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27038, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "511:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27041, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 27044, - "src": "526:17:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "526:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:34:76" - }, - "payable": false, - "returnParameters": { - "id": 27043, - "nodeType": "ParameterList", - "parameters": [], - "src": "551:0:76" - }, - "scope": 27078, - "src": "490:62:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 27051, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setTTL", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27046, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27051, - "src": "573:13:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27045, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "573:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27048, - "name": "_ttl", - "nodeType": "VariableDeclaration", - "scope": 27051, - "src": "588:11:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27047, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "588:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "572:28:76" - }, - "payable": false, - "returnParameters": { - "id": 27050, - "nodeType": "ParameterList", - "parameters": [], - "src": "607:0:76" - }, - "scope": 27078, - "src": "557:51:76", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 27059, - "name": "NewOwner", - "nodeType": "EventDefinition", - "parameters": { - "id": 27058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27053, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "702:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27052, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "702:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27055, - "indexed": true, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "725:22:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27054, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "725:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27057, - "indexed": false, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27059, - "src": "749:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "749:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "701:63:76" - }, - "src": "687:78:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27065, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 27064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27061, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27065, - "src": "863:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "863:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27063, - "indexed": false, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 27065, - "src": "886:14:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "886:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "862:39:76" - }, - "src": "848:54:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27071, - "name": "NewResolver", - "nodeType": "EventDefinition", - "parameters": { - "id": 27070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27067, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27071, - "src": "978:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27066, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "978:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27069, - "indexed": false, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 27071, - "src": "1001:17:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:76", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "977:42:76" - }, - "src": "960:60:76" - }, - { - "anonymous": false, - "documentation": null, - "id": 27077, - "name": "NewTTL", - "nodeType": "EventDefinition", - "parameters": { - "id": 27076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27073, - "indexed": true, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 27077, - "src": "1084:21:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27072, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1084:7:76", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27075, - "indexed": false, - "name": "_ttl", - "nodeType": "VariableDeclaration", - "scope": 27077, - "src": "1107:11:76", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27074, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1107:6:76", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:36:76" - }, - "src": "1071:49:76" - } - ], - "scope": 27079, - "src": "111:1011:76" - } - ], - "src": "84:1039:76" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.227Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Agent.json b/templates/multisig/build/contracts/Agent.json deleted file mode 100644 index decf8ab..0000000 --- a/templates/multisig/build/contracts/Agent.json +++ /dev/null @@ -1,20687 +0,0 @@ -{ - "contractName": "Agent", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "ADD_PROTECTED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_INTERFACE_ID", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TRANSFER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "RUN_SCRIPT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SAFE_EXECUTE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REMOVE_PROTECTED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "DESIGNATE_SIGNER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "EXECUTE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "protectedTokens", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "designatedSigner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PROTECTED_TOKENS_CAP", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_PRESIGNED_HASH_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "name": "isPresigned", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "balance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "name": "target", - "type": "address" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "SafeExecute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "name": "target", - "type": "address" - }, - { - "indexed": false, - "name": "ethValue", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "Execute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - } - ], - "name": "AddProtectedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - } - ], - "name": "RemoveProtectedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "name": "hash", - "type": "bytes32" - } - ], - "name": "PresignHash", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "name": "oldSigner", - "type": "address" - }, - { - "indexed": true, - "name": "newSigner", - "type": "address" - } - ], - "name": "SetDesignatedSigner", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "VaultTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "VaultDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_target", - "type": "address" - }, - { - "name": "_ethValue", - "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_target", - "type": "address" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "safeExecute", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "addProtectedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "removeProtectedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_hash", - "type": "bytes32" - } - ], - "name": "presignHash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_designatedSigner", - "type": "address" - } - ], - "name": "setDesignatedSigner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isForwarder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_evmScript", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_evmScript", - "type": "bytes" - } - ], - "name": "canForward", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_hash", - "type": "bytes32" - }, - { - "name": "_signature", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_data", - "type": "bytes" - }, - { - "name": "_signature", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getProtectedTokensLength", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f6000805160206200407883398151915264010000000062002b926200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620040788339815191528264010000000062003b556200023782021704565b50565b5490565b9055565b613e2d806200024b6000396000f3006080604052600436106101ff5763ffffffff60e060020a6000350416627bb003811461034b57806301ffc9a7146103725780630803fac0146103a857806311a5e409146103bd5780631626ba7e146103ef5780631ce301811461044d578063206b60f91461046257806320c13b0b1461047757806326f06d241461050e5780632914b9bd1461052357806332f0a3b514610598578063368c3c34146105ad5780633e4eb756146105c257806342b2d066146105d757806347e7ef24146105ec57806348a0c8dd146106035780634c7ec0b01461061857806354842f1414610630578063578eb50b146106455780635fa5e4e6146106665780636298e9021461067b5780637e7db6e11461069c57806380afdea8146106bd5780638129fc1c146106d2578063851a3790146106e75780638b3dd749146106ff5780639890cdca146107145780639d4941d814610729578063a1658fad1461074a578063a479e508146107b1578063a83e52b4146107c6578063aae25051146107e7578063ab23c345146107fc578063b03bdb0414610829578063b06c42441461083e578063b4fa653c14610853578063b61d27f61461086b578063beabacc81461089c578063c0774df3146108c6578063d4aae0c41461092d578063d948d46814610942578063de4796ed1461099b578063e3d670d7146109b0578063fd64eccb146109d1575b6102076109e6565b6040805180820190915260148152600080516020613de283398151915260208201529015156102b75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561027c578181015183820152602001610264565b50505050905090810190601f1680156102a95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601381527f5641554c545f444154415f4e4f4e5f5a45524f000000000000000000000000006020820152361561033d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50610349600034610a10565b005b34801561035757600080fd5b50610360610cac565b60408051918252519081900360200190f35b34801561037e57600080fd5b50610394600160e060020a031960043516610cd0565b604080519115158252519081900360200190f35b3480156103b457600080fd5b506103946109e6565b3480156103c957600080fd5b506103d2610d25565b60408051600160e060020a03199092168252519081900360200190f35b3480156103fb57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103d2958335953695604494919390910191908190840183828082843750949750610d339650505050505050565b34801561045957600080fd5b506103d2610da5565b34801561046e57600080fd5b50610360610daa565b34801561048357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103d294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610ddf9650505050505050565b34801561051a57600080fd5b50610360610e4e565b34801561052f57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261057c943694929360249392840191908190840183828082843750949750610ed59650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156105a457600080fd5b5061057c610fbb565b3480156105b957600080fd5b50610360611033565b3480156105ce57600080fd5b50610360611057565b3480156105e357600080fd5b5061036061107b565b610349600160a060020a036004351660243561109f565b34801561060f57600080fd5b5061039461112a565b34801561062457600080fd5b5061034960043561115a565b34801561063c57600080fd5b5061036061124c565b34801561065157600080fd5b50610349600160a060020a0360043516611270565b34801561067257600080fd5b506103606113b8565b34801561068757600080fd5b50610349600160a060020a03600435166113dc565b3480156106a857600080fd5b50610394600160a060020a0360043516611639565b3480156106c957600080fd5b5061036061163f565b3480156106de57600080fd5b5061034961166a565b3480156106f357600080fd5b5061057c60043561170c565b34801561070b57600080fd5b50610360611734565b34801561072057600080fd5b506103d261175f565b34801561073557600080fd5b50610349600160a060020a036004351661176d565b34801561075657600080fd5b506040805160206004604435818101358381028086018501909652808552610394958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506119fc9650505050505050565b3480156107bd57600080fd5b5061057c611b4c565b3480156107d257600080fd5b50610349600160a060020a0360043516611c01565b3480156107f357600080fd5b5061057c611da1565b34801561080857600080fd5b5061034960048035600160a060020a03169060248035908101910135611db0565b34801561083557600080fd5b50610360612311565b34801561084a57600080fd5b50610360612316565b34801561085f57600080fd5b5061039460043561233a565b34801561087757600080fd5b5061034960048035600160a060020a031690602480359160443591820191013561234f565b3480156108a857600080fd5b50610349600160a060020a03600435811690602435166044356124fc565b3480156108d257600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610394958335600160a060020a03169536956044949193909101919081908401838280828437509497506127f89650505050505050565b34801561093957600080fd5b5061057c612835565b34801561094e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103499436949293602493928401919081908401838280828437509497506128609650505050505050565b3480156109a757600080fd5b50610394612923565b3480156109bc57600080fd5b50610360600160a060020a0360043516612936565b3480156109dd57600080fd5b50610394612970565b6000806109f1611734565b90508015801590610a09575080610a06612975565b10155b91505b5090565b610a1861112a565b60408051808201909152601581527f5641554c545f4e4f545f4445504f53495441424c4500000000000000000000006020820152901515610a9e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601881527f5641554c545f4445504f5349545f56414c55455f5a45524f0000000000000000602082015260008211610b265760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a0382161515610bc35760408051808201909152601481527f5641554c545f56414c55455f4d49534d415443480000000000000000000000006020820152348214610bbd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50610c68565b610bde600160a060020a03831633308463ffffffff61297916565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f524556455254815250901515610c665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b7f6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa81565b6000600160e060020a0319821660e060020a63fb855dc9021480610d1d5750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b90505b919050565b60e060020a63fb855dc90281565b600082815260208190526040812054819060ff1615610d5d57610d5660016129f8565b9150610d9e565b600154600160a060020a03161515610d7757506000610d92565b600154610d8f908590600160a060020a031685612a17565b90505b610d9b816129f8565b91505b5092915050565b600081565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902081565b6000610e47836040518082805190602001908083835b60208310610e145780518252601f199092019160209182019101610df5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902083610d33565b9392505050565b6000610e586109e6565b6040805180820190915260148152600080516020613de28339815191526020820152901515610ecc5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50506002545b90565b6000610edf611b4c565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3d578181015183820152602001610f25565b50505050905090810190601f168015610f6a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610f8957600080fd5b505af1158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b505192915050565b6000610fc5612835565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b5051905090565b7fb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f81565b7f0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b793369481565b7f71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a81565b6110a76109e6565b6040805180820190915260148152600080516020613de2833981519152602082015290151561111b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506111268282610a10565b5050565b60006111557f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea612b92565b905090565b7f0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c61118482612b96565b61118f3383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156112035760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600083815260208190526040808220805460ff1916600117905551849133917fb150212e573caa2a0216cf8f273ef996af143fd7b2d35abd92c8105536cac1609190a3505050565b7f23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c81565b7f71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a61129a82612ba1565b6112a53383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156113195760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061132383612bb5565b60408051808201909152601981527f4147454e545f544f4b454e5f4e4f545f50524f5445435445440000000000000060208201529015156113a95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506113b383612c13565b505050565b7fcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba481565b7f6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa61140682612ba1565b6114113383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156114855760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060025460408051808201909152601881527f4147454e545f544f4b454e535f4341505f524541434845440000000000000000602082015290600a116115105760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061151a83612cd0565b60408051808201909152601581527f4147454e545f544f4b454e5f4e4f545f4552433230000000000000000000000060208201529015156115a05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506115aa83612bb5565b60408051808201909152601d81527f4147454e545f544f4b454e5f414c52454144595f50524f5445435445440000006020820152901561162f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506113b383612cfb565b50600090565b60006111557fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612b92565b611672611734565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116f75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50611700612d80565b61170a6001612e46565b565b600280548290811061171a57fe5b600091825260209091200154600160a060020a0316905081565b60006111557febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612b92565b60e060020a6320c13b0b0281565b600080600061177b84611639565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156118015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061180a610fbb565b925061181583612e7d565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561189b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a03841615156118ec5760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156118e6573d6000803e3d6000fd5b506119ab565b5082611907600160a060020a0382163063ffffffff612ea316565b9150611923600160a060020a038216848463ffffffff612fa316565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156119a95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080611a076109e6565b1515611a165760009150611b44565b611a1e612835565b9050600160a060020a0381161515611a395760009150611b44565b80600160a060020a031663fdef9106863087611a5488613019565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611ac6578181015183820152602001611aae565b50505050905090810190601f168015611af35780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611b1557600080fd5b505af1158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b505191505b509392505050565b600080611b57612835565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f8957600080fd5b60007f23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c611c2d83612ba1565b611c383383836119fc565b60408051808201909152600f8152600080516020613dc28339815191526020820152901515611cac5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601881527f4147454e545f44455349474e415445445f544f5f53454c4600000000000000006020820152600160a060020a038516301415611d3d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060018054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff198316811790935560405191169450849033907f3ecf54ed9acd859c5ee7f080794267b8f08b65d2446d816cef1efccd6d00d73590600090a450505050565b600154600160a060020a031681565b60006060806000806000806000807f0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b7933694600102611e2b8d611e1f8e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843750613023945050505050565b60e060020a900461303c565b611e363383836119fc565b60408051808201909152600f8152600080516020613dc28339815191526020820152901515611eaa5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600254604080518281526020808402820101909152909b508b8015611eda578160200160208202803883390190505b5099508a604051908082528060200260200182016040528015611f07578160200160208202803883390190505b509850600097505b8a88101561201c576002805489908110611f2557fe5b6000918252602091829020015460408051808201909152601681527f4147454e545f5441524745545f50524f5445435445440000000000000000000092810192909252600160a060020a0390811698508f16881415611fc95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50868a89815181101515611fd957fe5b600160a060020a03909216602092830290910190910152611ff987612936565b898981518110151561200757fe5b60209081029091010152600190970196611f0f565b8d600160a060020a03168d8d604051808383808284378201915050925050506000604051808303816000865af191505095503d935060405194503d85016040523d6000863e851561230d5760025460408051808201909152601f81527f4147454e545f50524f5445435445445f544f4b454e535f4d4f444946494544006020820152908c146120f05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600092505b8a8310156122a557898381518110151561210c57fe5b90602001906020020151600160a060020a031660028481548110151561212e57fe5b6000918252602091829020015460408051808201909152601f81527f4147454e545f50524f5445435445445f544f4b454e535f4d4f44494649454400928101929092529091600160a060020a03909116146121ce5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5088838151811015156121dd57fe5b906020019060200201516122136002858154811015156121f957fe5b600091825260209091200154600160a060020a0316612936565b60408051808201909152601f81527f4147454e545f50524f5445435445445f42414c414e43455f4c4f57455245440060208201529111156122995760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506001909201916120f6565b8d600160a060020a031633600160a060020a03167f47f4287d5285559a03d8affeadc53ef3fca238a63c256c08a22bfd30fd5d33ce8f8f6040518080602001828103825284848281815260200192508082843760405192018290039550909350505050a38385f35b8385fd5b600a81565b7f0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c81565b60006020819052908152604090205460ff1681565b60007fcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba46001026123bf86866123b387878080601f01602080910402602001604051908101604052809392919081815260200183838082843750613023945050505050565b60e060020a9004613051565b6123ca3383836119fc565b60408051808201909152600f8152600080516020613dc2833981519152602082015290151561243e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5086600160a060020a03168686866040518083838082843782019150509250505060006040518083038185875af192505050925082156124e55786600160a060020a031633600160a060020a03167fc25cfed0b22da6a56f0e5ff784979a0b8623eddf2aee4acd33c2adefb09cbab6888888604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a35b6040513d6000823e8380156124f8573d82f35b3d82fd5b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902061253984848461306f565b6125443383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156125b85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601981527f5641554c545f5452414e534645525f56414c55455f5a45524f000000000000006020820152600084116126405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a038516151561270457604051600160a060020a0385169084156108fc029085906000818181858888f193505050506040805190810160405280601381526020017f5641554c545f53454e445f5245564552544544000000000000000000000000008152509015156126fe5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506127a6565b61271e600160a060020a038616858563ffffffff612fa316565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156127a45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b6000610e47837fb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f61283061282b8661308e565b613158565b6119fc565b60006111557f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612b92565b60608061286d33846127f8565b60408051808201909152601581527f4147454e545f43414e5f4e4f545f464f5257415244000000000000000000000060208201529015156128f35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5050604080516020808201835260008083528351908152908101909252915061291d838383613199565b50505050565b6000600019612930611734565b14905090565b6000600160a060020a038216151561295057503031610d20565b612969600160a060020a0383163063ffffffff612ea316565b9050610d20565b600190565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd000000000000000000000000000000000000000000000000000000001790526000906129ee868261378c565b9695505050505050565b600081612a06576000610d1d565b5060e060020a6320c13b0b02919050565b6000806000835160001415612a2f5760009250612b89565b836000815181101515612a3e57fe5b016020015160f860020a908190048102049150600460ff831610612a655760009250612b89565b8160ff166004811115612a7457fe5b90506001816004811115612a8457fe5b1415612a9c57612a958686866137da565b9250612b89565b6002816004811115612aaa57fe5b1415612b5d57604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083018a905283518084039091018152605c909201928390528151612a9593918291908401908083835b60208310612b295780518252601f199092019160209182019101612b0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902086866137da565b6003816004811115612b6b57fe5b1415612b8457612a958587612b7f87613888565b61397d565b600092505b50509392505050565b5490565b6060610d1d82613158565b6060610d1d82600160a060020a0316613158565b6000805b600254811015612c085782600160a060020a0316600282815481101515612bdc57fe5b600091825260209091200154600160a060020a03161415612c005760019150612c0d565b600101612bb9565b600091505b50919050565b600280546000198101908110612c2557fe5b600091825260209091200154600160a060020a03166002612c4583613a86565b81548110612c4f57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556002805490612c98906000198301613d88565b50604051600160a060020a038216907f3da25279c93c5b22b359bebff8b5ddbfd9b0506be8344b93c9a7dc999459fe0490600090a250565b6000612cdb82612e7d565b1515612ce957506000610d20565b612cf282612936565b50600192915050565b6002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841690811790915560405190917ff70a5123a7f334e5dac1d9aa3a6aafbc316712bf2519ffe0d3aa4f7cba52767e91a250565b612d88611734565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612e0d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061170a612e19612975565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff613b5516565b612e767f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea8263ffffffff613b5516565b50565b5490565b600080600160a060020a0383161515612e995760009150612c0d565b50506000903b1190565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180612f0e8684613b59565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515612f995760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090613010858261378c565b95945050505050565b8051602002815290565b600060048251101561303457610d20565b506020015190565b6060610e4783600160a060020a031683613b8a565b606061306784600160a060020a03168484613be5565b949350505050565b606061306784600160a060020a031684600160a060020a031684613be5565b6000816040516020018082805190602001908083835b602083106130c35780518252601f1990920191602091820191016130a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106131265780518252601f199092019160209182019101613107565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110151561318a57fe5b60209081029091010152919050565b60606000806060806131a96109e6565b6040805180820190915260148152600080516020613de2833981519152602082015290151561321d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600080613229612835565b915061323361163f565b905061323e8a610ed5565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a03871615156132d05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561334657818101518382015260200161332e565b50505050905090810190601f1680156133735780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156133a657818101518382015260200161338e565b50505050905090810190601f1680156133d35780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b838110156134085781810151838201526020016133f0565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af460405193508080156134cc57603f3d1180156134815760203d03806020883e86016040526134c6565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b506134d5565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561354a578181015183820152602001613532565b50505050905090810190601f1680156135775780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156135aa578181015183820152602001613592565b50505050905090810190601f1680156135d75780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b8381101561360a5781810151838201526020016135f2565b50505050905090810190601f1680156136375780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a031661365d612835565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156136ef5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50806136f961163f565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544006020820152911461377e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505050505050509392505050565b6000806040516020818551602087016000895af160008111156137d0573d80156137bd57602081146137c6576137ce565b600193506137ce565b600183511493505b505b5090949350505050565b60008060008060006137eb86613c5e565b93509350935093508315613802576000945061387d565b60408051600080825260208083018085528c905260ff8516838501526060830187905260808301869052925160019360a0808501949193601f19840193928390039091019190865af115801561385c573d6000803e3d6000fd5b50505060206040510351600160a060020a031687600160a060020a03161494505b505050509392505050565b805160408051808201909152601e81527f53494756414c5f494e56414c49445f4c454e4754485f504f505f42595445000060208201526060919060009081908184116139195760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600183036040519080825280601f01601f19166020018201604052801561394b578160200160208202803883390190505b50935083516000141561395d57613975565b60218501915060208401905061397581838651613cea565b505050919050565b60408051602481018481526044820192835283516064830152835160009360609385937f1626ba7e000000000000000000000000000000000000000000000000000000009389938993909160849091019060208501908083838b5b838110156139f05781810151838201526020016139d8565b50505050905090810190601f168015613a1d5780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509150613a6686836203d090613d2e565b600160e060020a03191660e060020a6320c13b0b02149695505050505050565b6000805b600254811015613ad85782600160a060020a0316600282815481101515613aad57fe5b600091825260209091200154600160a060020a03161415613ad057809150612c0d565b600101613a8a565b604080518082018252601981527f4147454e545f544f4b454e5f4e4f545f50524f544543544544000000000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561027c578181015183820152602001610264565b9055565b6000806000806040516020818751602089018a5afa92506000831115613b7e57805191505b50909590945092505050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515613bba57fe5b602090810290910101528051829082906001908110613bd557fe5b6020908102909101015292915050565b6040805160038082526080820190925260609160208201838038833901905050905083816000815181101515613c1757fe5b602090810290910101528051839082906001908110613c3257fe5b602090810290910101528051829082906002908110613c4d57fe5b602090810290910101529392505050565b60008060008084516042141515613c785760019350613ce3565b846041815181101515613c8757fe5b90602001015160f860020a900460f860020a0260f860020a900490506021850151925060418501519150601b8160ff161015613cc157601b015b8060ff16601b14158015613cd957508060ff16601c14155b15613ce357600193505b9193509193565b60005b60208210613d0f578251845260209384019390920191601f1990910190613ced565b50905182516020929092036101000a6000190180199091169116179052565b60008060008060005a9350858411613d465783613d48565b855b9250600080885160208a018b87fa9150811515613d645761387d565b503d60208114613d735761387d565b604051816000823e5198975050505050505050565b8154818355818111156113b3576000838152602090206113b3918101908301610ed291905b80821115610a0c5760008155600101613dad56004150505f415554485f4641494c45440000000000000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a723058209f4391eb16aae6f737fd53d0dba7a3f3ba45f87e9222054d2ab94a8a5d2241690029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101ff5763ffffffff60e060020a6000350416627bb003811461034b57806301ffc9a7146103725780630803fac0146103a857806311a5e409146103bd5780631626ba7e146103ef5780631ce301811461044d578063206b60f91461046257806320c13b0b1461047757806326f06d241461050e5780632914b9bd1461052357806332f0a3b514610598578063368c3c34146105ad5780633e4eb756146105c257806342b2d066146105d757806347e7ef24146105ec57806348a0c8dd146106035780634c7ec0b01461061857806354842f1414610630578063578eb50b146106455780635fa5e4e6146106665780636298e9021461067b5780637e7db6e11461069c57806380afdea8146106bd5780638129fc1c146106d2578063851a3790146106e75780638b3dd749146106ff5780639890cdca146107145780639d4941d814610729578063a1658fad1461074a578063a479e508146107b1578063a83e52b4146107c6578063aae25051146107e7578063ab23c345146107fc578063b03bdb0414610829578063b06c42441461083e578063b4fa653c14610853578063b61d27f61461086b578063beabacc81461089c578063c0774df3146108c6578063d4aae0c41461092d578063d948d46814610942578063de4796ed1461099b578063e3d670d7146109b0578063fd64eccb146109d1575b6102076109e6565b6040805180820190915260148152600080516020613de283398151915260208201529015156102b75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561027c578181015183820152602001610264565b50505050905090810190601f1680156102a95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601381527f5641554c545f444154415f4e4f4e5f5a45524f000000000000000000000000006020820152361561033d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50610349600034610a10565b005b34801561035757600080fd5b50610360610cac565b60408051918252519081900360200190f35b34801561037e57600080fd5b50610394600160e060020a031960043516610cd0565b604080519115158252519081900360200190f35b3480156103b457600080fd5b506103946109e6565b3480156103c957600080fd5b506103d2610d25565b60408051600160e060020a03199092168252519081900360200190f35b3480156103fb57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103d2958335953695604494919390910191908190840183828082843750949750610d339650505050505050565b34801561045957600080fd5b506103d2610da5565b34801561046e57600080fd5b50610360610daa565b34801561048357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103d294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610ddf9650505050505050565b34801561051a57600080fd5b50610360610e4e565b34801561052f57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261057c943694929360249392840191908190840183828082843750949750610ed59650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156105a457600080fd5b5061057c610fbb565b3480156105b957600080fd5b50610360611033565b3480156105ce57600080fd5b50610360611057565b3480156105e357600080fd5b5061036061107b565b610349600160a060020a036004351660243561109f565b34801561060f57600080fd5b5061039461112a565b34801561062457600080fd5b5061034960043561115a565b34801561063c57600080fd5b5061036061124c565b34801561065157600080fd5b50610349600160a060020a0360043516611270565b34801561067257600080fd5b506103606113b8565b34801561068757600080fd5b50610349600160a060020a03600435166113dc565b3480156106a857600080fd5b50610394600160a060020a0360043516611639565b3480156106c957600080fd5b5061036061163f565b3480156106de57600080fd5b5061034961166a565b3480156106f357600080fd5b5061057c60043561170c565b34801561070b57600080fd5b50610360611734565b34801561072057600080fd5b506103d261175f565b34801561073557600080fd5b50610349600160a060020a036004351661176d565b34801561075657600080fd5b506040805160206004604435818101358381028086018501909652808552610394958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506119fc9650505050505050565b3480156107bd57600080fd5b5061057c611b4c565b3480156107d257600080fd5b50610349600160a060020a0360043516611c01565b3480156107f357600080fd5b5061057c611da1565b34801561080857600080fd5b5061034960048035600160a060020a03169060248035908101910135611db0565b34801561083557600080fd5b50610360612311565b34801561084a57600080fd5b50610360612316565b34801561085f57600080fd5b5061039460043561233a565b34801561087757600080fd5b5061034960048035600160a060020a031690602480359160443591820191013561234f565b3480156108a857600080fd5b50610349600160a060020a03600435811690602435166044356124fc565b3480156108d257600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610394958335600160a060020a03169536956044949193909101919081908401838280828437509497506127f89650505050505050565b34801561093957600080fd5b5061057c612835565b34801561094e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103499436949293602493928401919081908401838280828437509497506128609650505050505050565b3480156109a757600080fd5b50610394612923565b3480156109bc57600080fd5b50610360600160a060020a0360043516612936565b3480156109dd57600080fd5b50610394612970565b6000806109f1611734565b90508015801590610a09575080610a06612975565b10155b91505b5090565b610a1861112a565b60408051808201909152601581527f5641554c545f4e4f545f4445504f53495441424c4500000000000000000000006020820152901515610a9e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601881527f5641554c545f4445504f5349545f56414c55455f5a45524f0000000000000000602082015260008211610b265760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a0382161515610bc35760408051808201909152601481527f5641554c545f56414c55455f4d49534d415443480000000000000000000000006020820152348214610bbd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50610c68565b610bde600160a060020a03831633308463ffffffff61297916565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f524556455254815250901515610c665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b7f6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa81565b6000600160e060020a0319821660e060020a63fb855dc9021480610d1d5750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b90505b919050565b60e060020a63fb855dc90281565b600082815260208190526040812054819060ff1615610d5d57610d5660016129f8565b9150610d9e565b600154600160a060020a03161515610d7757506000610d92565b600154610d8f908590600160a060020a031685612a17565b90505b610d9b816129f8565b91505b5092915050565b600081565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902081565b6000610e47836040518082805190602001908083835b60208310610e145780518252601f199092019160209182019101610df5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902083610d33565b9392505050565b6000610e586109e6565b6040805180820190915260148152600080516020613de28339815191526020820152901515610ecc5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50506002545b90565b6000610edf611b4c565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3d578181015183820152602001610f25565b50505050905090810190601f168015610f6a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610f8957600080fd5b505af1158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b505192915050565b6000610fc5612835565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b5051905090565b7fb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f81565b7f0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b793369481565b7f71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a81565b6110a76109e6565b6040805180820190915260148152600080516020613de2833981519152602082015290151561111b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506111268282610a10565b5050565b60006111557f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea612b92565b905090565b7f0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c61118482612b96565b61118f3383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156112035760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600083815260208190526040808220805460ff1916600117905551849133917fb150212e573caa2a0216cf8f273ef996af143fd7b2d35abd92c8105536cac1609190a3505050565b7f23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c81565b7f71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a61129a82612ba1565b6112a53383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156113195760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061132383612bb5565b60408051808201909152601981527f4147454e545f544f4b454e5f4e4f545f50524f5445435445440000000000000060208201529015156113a95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506113b383612c13565b505050565b7fcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba481565b7f6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa61140682612ba1565b6114113383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156114855760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060025460408051808201909152601881527f4147454e545f544f4b454e535f4341505f524541434845440000000000000000602082015290600a116115105760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061151a83612cd0565b60408051808201909152601581527f4147454e545f544f4b454e5f4e4f545f4552433230000000000000000000000060208201529015156115a05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506115aa83612bb5565b60408051808201909152601d81527f4147454e545f544f4b454e5f414c52454144595f50524f5445435445440000006020820152901561162f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506113b383612cfb565b50600090565b60006111557fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612b92565b611672611734565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116f75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50611700612d80565b61170a6001612e46565b565b600280548290811061171a57fe5b600091825260209091200154600160a060020a0316905081565b60006111557febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612b92565b60e060020a6320c13b0b0281565b600080600061177b84611639565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156118015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061180a610fbb565b925061181583612e7d565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561189b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a03841615156118ec5760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156118e6573d6000803e3d6000fd5b506119ab565b5082611907600160a060020a0382163063ffffffff612ea316565b9150611923600160a060020a038216848463ffffffff612fa316565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156119a95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080611a076109e6565b1515611a165760009150611b44565b611a1e612835565b9050600160a060020a0381161515611a395760009150611b44565b80600160a060020a031663fdef9106863087611a5488613019565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611ac6578181015183820152602001611aae565b50505050905090810190601f168015611af35780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611b1557600080fd5b505af1158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b505191505b509392505050565b600080611b57612835565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f8957600080fd5b60007f23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c611c2d83612ba1565b611c383383836119fc565b60408051808201909152600f8152600080516020613dc28339815191526020820152901515611cac5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601881527f4147454e545f44455349474e415445445f544f5f53454c4600000000000000006020820152600160a060020a038516301415611d3d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060018054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff198316811790935560405191169450849033907f3ecf54ed9acd859c5ee7f080794267b8f08b65d2446d816cef1efccd6d00d73590600090a450505050565b600154600160a060020a031681565b60006060806000806000806000807f0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b7933694600102611e2b8d611e1f8e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843750613023945050505050565b60e060020a900461303c565b611e363383836119fc565b60408051808201909152600f8152600080516020613dc28339815191526020820152901515611eaa5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600254604080518281526020808402820101909152909b508b8015611eda578160200160208202803883390190505b5099508a604051908082528060200260200182016040528015611f07578160200160208202803883390190505b509850600097505b8a88101561201c576002805489908110611f2557fe5b6000918252602091829020015460408051808201909152601681527f4147454e545f5441524745545f50524f5445435445440000000000000000000092810192909252600160a060020a0390811698508f16881415611fc95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50868a89815181101515611fd957fe5b600160a060020a03909216602092830290910190910152611ff987612936565b898981518110151561200757fe5b60209081029091010152600190970196611f0f565b8d600160a060020a03168d8d604051808383808284378201915050925050506000604051808303816000865af191505095503d935060405194503d85016040523d6000863e851561230d5760025460408051808201909152601f81527f4147454e545f50524f5445435445445f544f4b454e535f4d4f444946494544006020820152908c146120f05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600092505b8a8310156122a557898381518110151561210c57fe5b90602001906020020151600160a060020a031660028481548110151561212e57fe5b6000918252602091829020015460408051808201909152601f81527f4147454e545f50524f5445435445445f544f4b454e535f4d4f44494649454400928101929092529091600160a060020a03909116146121ce5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5088838151811015156121dd57fe5b906020019060200201516122136002858154811015156121f957fe5b600091825260209091200154600160a060020a0316612936565b60408051808201909152601f81527f4147454e545f50524f5445435445445f42414c414e43455f4c4f57455245440060208201529111156122995760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506001909201916120f6565b8d600160a060020a031633600160a060020a03167f47f4287d5285559a03d8affeadc53ef3fca238a63c256c08a22bfd30fd5d33ce8f8f6040518080602001828103825284848281815260200192508082843760405192018290039550909350505050a38385f35b8385fd5b600a81565b7f0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c81565b60006020819052908152604090205460ff1681565b60007fcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba46001026123bf86866123b387878080601f01602080910402602001604051908101604052809392919081815260200183838082843750613023945050505050565b60e060020a9004613051565b6123ca3383836119fc565b60408051808201909152600f8152600080516020613dc2833981519152602082015290151561243e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5086600160a060020a03168686866040518083838082843782019150509250505060006040518083038185875af192505050925082156124e55786600160a060020a031633600160a060020a03167fc25cfed0b22da6a56f0e5ff784979a0b8623eddf2aee4acd33c2adefb09cbab6888888604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a35b6040513d6000823e8380156124f8573d82f35b3d82fd5b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902061253984848461306f565b6125443383836119fc565b60408051808201909152600f8152600080516020613dc283398151915260208201529015156125b85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5060408051808201909152601981527f5641554c545f5452414e534645525f56414c55455f5a45524f000000000000006020820152600084116126405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600160a060020a038516151561270457604051600160a060020a0385169084156108fc029085906000818181858888f193505050506040805190810160405280601381526020017f5641554c545f53454e445f5245564552544544000000000000000000000000008152509015156126fe5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506127a6565b61271e600160a060020a038616858563ffffffff612fa316565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156127a45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b6000610e47837fb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f61283061282b8661308e565b613158565b6119fc565b60006111557f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612b92565b60608061286d33846127f8565b60408051808201909152601581527f4147454e545f43414e5f4e4f545f464f5257415244000000000000000000000060208201529015156128f35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5050604080516020808201835260008083528351908152908101909252915061291d838383613199565b50505050565b6000600019612930611734565b14905090565b6000600160a060020a038216151561295057503031610d20565b612969600160a060020a0383163063ffffffff612ea316565b9050610d20565b600190565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd000000000000000000000000000000000000000000000000000000001790526000906129ee868261378c565b9695505050505050565b600081612a06576000610d1d565b5060e060020a6320c13b0b02919050565b6000806000835160001415612a2f5760009250612b89565b836000815181101515612a3e57fe5b016020015160f860020a908190048102049150600460ff831610612a655760009250612b89565b8160ff166004811115612a7457fe5b90506001816004811115612a8457fe5b1415612a9c57612a958686866137da565b9250612b89565b6002816004811115612aaa57fe5b1415612b5d57604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083018a905283518084039091018152605c909201928390528151612a9593918291908401908083835b60208310612b295780518252601f199092019160209182019101612b0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902086866137da565b6003816004811115612b6b57fe5b1415612b8457612a958587612b7f87613888565b61397d565b600092505b50509392505050565b5490565b6060610d1d82613158565b6060610d1d82600160a060020a0316613158565b6000805b600254811015612c085782600160a060020a0316600282815481101515612bdc57fe5b600091825260209091200154600160a060020a03161415612c005760019150612c0d565b600101612bb9565b600091505b50919050565b600280546000198101908110612c2557fe5b600091825260209091200154600160a060020a03166002612c4583613a86565b81548110612c4f57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556002805490612c98906000198301613d88565b50604051600160a060020a038216907f3da25279c93c5b22b359bebff8b5ddbfd9b0506be8344b93c9a7dc999459fe0490600090a250565b6000612cdb82612e7d565b1515612ce957506000610d20565b612cf282612936565b50600192915050565b6002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841690811790915560405190917ff70a5123a7f334e5dac1d9aa3a6aafbc316712bf2519ffe0d3aa4f7cba52767e91a250565b612d88611734565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612e0d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5061170a612e19612975565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff613b5516565b612e767f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea8263ffffffff613b5516565b50565b5490565b600080600160a060020a0383161515612e995760009150612c0d565b50506000903b1190565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180612f0e8684613b59565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515612f995760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090613010858261378c565b95945050505050565b8051602002815290565b600060048251101561303457610d20565b506020015190565b6060610e4783600160a060020a031683613b8a565b606061306784600160a060020a03168484613be5565b949350505050565b606061306784600160a060020a031684600160a060020a031684613be5565b6000816040516020018082805190602001908083835b602083106130c35780518252601f1990920191602091820191016130a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106131265780518252601f199092019160209182019101613107565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110151561318a57fe5b60209081029091010152919050565b60606000806060806131a96109e6565b6040805180820190915260148152600080516020613de2833981519152602082015290151561321d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600080613229612835565b915061323361163f565b905061323e8a610ed5565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a03871615156132d05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561334657818101518382015260200161332e565b50505050905090810190601f1680156133735780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156133a657818101518382015260200161338e565b50505050905090810190601f1680156133d35780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b838110156134085781810151838201526020016133f0565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af460405193508080156134cc57603f3d1180156134815760203d03806020883e86016040526134c6565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b506134d5565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561354a578181015183820152602001613532565b50505050905090810190601f1680156135775780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156135aa578181015183820152602001613592565b50505050905090810190601f1680156135d75780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b8381101561360a5781810151838201526020016135f2565b50505050905090810190601f1680156136375780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a031661365d612835565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156136ef5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50806136f961163f565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544006020820152911461377e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b505050505050509392505050565b6000806040516020818551602087016000895af160008111156137d0573d80156137bd57602081146137c6576137ce565b600193506137ce565b600183511493505b505b5090949350505050565b60008060008060006137eb86613c5e565b93509350935093508315613802576000945061387d565b60408051600080825260208083018085528c905260ff8516838501526060830187905260808301869052925160019360a0808501949193601f19840193928390039091019190865af115801561385c573d6000803e3d6000fd5b50505060206040510351600160a060020a031687600160a060020a03161494505b505050509392505050565b805160408051808201909152601e81527f53494756414c5f494e56414c49445f4c454e4754485f504f505f42595445000060208201526060919060009081908184116139195760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561027c578181015183820152602001610264565b50600183036040519080825280601f01601f19166020018201604052801561394b578160200160208202803883390190505b50935083516000141561395d57613975565b60218501915060208401905061397581838651613cea565b505050919050565b60408051602481018481526044820192835283516064830152835160009360609385937f1626ba7e000000000000000000000000000000000000000000000000000000009389938993909160849091019060208501908083838b5b838110156139f05781810151838201526020016139d8565b50505050905090810190601f168015613a1d5780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509150613a6686836203d090613d2e565b600160e060020a03191660e060020a6320c13b0b02149695505050505050565b6000805b600254811015613ad85782600160a060020a0316600282815481101515613aad57fe5b600091825260209091200154600160a060020a03161415613ad057809150612c0d565b600101613a8a565b604080518082018252601981527f4147454e545f544f4b454e5f4e4f545f50524f544543544544000000000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561027c578181015183820152602001610264565b9055565b6000806000806040516020818751602089018a5afa92506000831115613b7e57805191505b50909590945092505050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515613bba57fe5b602090810290910101528051829082906001908110613bd557fe5b6020908102909101015292915050565b6040805160038082526080820190925260609160208201838038833901905050905083816000815181101515613c1757fe5b602090810290910101528051839082906001908110613c3257fe5b602090810290910101528051829082906002908110613c4d57fe5b602090810290910101529392505050565b60008060008084516042141515613c785760019350613ce3565b846041815181101515613c8757fe5b90602001015160f860020a900460f860020a0260f860020a900490506021850151925060418501519150601b8160ff161015613cc157601b015b8060ff16601b14158015613cd957508060ff16601c14155b15613ce357600193505b9193509193565b60005b60208210613d0f578251845260209384019390920191601f1990910190613ced565b50905182516020929092036101000a6000190180199091169116179052565b60008060008060005a9350858411613d465783613d48565b855b9250600080885160208a018b87fa9150811515613d645761387d565b503d60208114613d735761387d565b604051816000823e5198975050505050505050565b8154818355818111156113b3576000838152602090206113b3918101908301610ed291905b80821115610a0c5760008155600101613dad56004150505f415554485f4641494c45440000000000000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a723058209f4391eb16aae6f737fd53d0dba7a3f3ba45f87e9222054d2ab94a8a5d2241690029", - "sourceMap": "291:13973:13:-;;;344:9:40;:7;;;;:9;:::i;:::-;291:13973:13;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;291:13973:13:-;;;;;;;", - "deployedSourceMap": "291:13973:13:-;;;;;;;;;-1:-1:-1;;;291:13973:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1557:19:23;;;;;;;;;;;;;;;;;1535:8;:20;1527:50;;;;-1:-1:-1;;;;;1527:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1527:50:23;;1587:24;269:1:45;1601:9:23;1587:8;:24::i;:::-;291:13973:13;1242:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1242:117:13;;;;;;;;;;;;;;;;;;;;11309:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11309:200:13;-1:-1:-1;;;;;;11309:200:13;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;353:56:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:56:15;;;;;;;;-1:-1:-1;;;;;;353:56:15;;;;;;;;;;;;;;11867:628:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11867:628:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11867:628:13;;-1:-1:-1;11867:628:13;;-1:-1:-1;;;;;;;11867:628:13;560:68:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:68:15;;;;408:66:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;408:66:23;;;;1904:156:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1904:156:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1904:156:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1904:156:15;;;;-1:-1:-1;1904:156:15;-1:-1:-1;1904:156:15;;-1:-1:-1;1904:156:15;;;;;;;;-1:-1:-1;1904:156:15;;-1:-1:-1;1904:156:15;;-1:-1:-1;;;;;;;1904:156:15;12517:126:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12517:126:13;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;1733:108:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:108:13;;;;1126:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1126:110:13;;;;1365:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1365:120:13;;;;2064:121:23;;-1:-1:-1;;;;;2064:121:23;;;;;;;323:113:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;8410:196:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8410:196:13;;;;;1613:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1613:114:13;;;;8015:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8015:221:13;-1:-1:-1;;;;;8015:221:13;;;;;1015:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1015:105:13;;;;7489:365;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7489:365:13;-1:-1:-1;;;;;7489:365:13;;;;;3332:94:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:94:23;-1:-1:-1;;;;;3332:94:23;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;1776:100:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1776:100:23;;;;2826:32:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2826:32:13;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;450:68:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;450:68:15;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;8854:794:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8854:794:13;-1:-1:-1;;;;;8854:794:13;;;;;2789:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2789:31:13;;;;5088:2247;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5088:2247:13;;;;-1:-1:-1;;;;;5088:2247:13;;;;;;;;;;;;;1848:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1848:49:13;;;;1491:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1491:116:13;;;;2739:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2739:44:13;;;;;3822:918;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3822:918:13;;;;-1:-1:-1;;;;;3822:918:13;;;;;;;;;;;;;;;;2487:462:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2487:462:23;-1:-1:-1;;;;;2487:462:23;;;;;;;;;;;;10807:262:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10807:262:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10807:262:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10807:262:13;;-1:-1:-1;10807:262:13;;-1:-1:-1;;;;;;;10807:262:13;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;10102:427:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10102:427:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10102:427:13;;-1:-1:-1;10102:427:13;;-1:-1:-1;;;;;;;10102:427:13;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;2955:233:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2955:233:23;-1:-1:-1;;;;;2955:233:23;;;;;9826:80:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:80:13;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;;:::o;3432:573:23:-;3509:15;:13;:15::i;:::-;3526:21;;;;;;;;;;;;;;;;;;3501:47;;;;;;-1:-1:-1;;;;;3501:47:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3501:47:23;-1:-1:-1;3578:24:23;;;;;;;;;;;;;;;;;3575:1;3566:10;;3558:45;;;;-1:-1:-1;;;;;3558:45:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3558:45:23;-1:-1:-1;;;;;;3618:13:23;;;3614:329;;;3724:20;;;;;;;;;;;;;;;;;3703:9;:19;;3695:50;;;;-1:-1:-1;;;;;3695:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3695:50:23;;3614:329;;;3801:65;-1:-1:-1;;;;;3801:30:23;;3832:10;3852:4;3859:6;3801:65;:30;:65;:::i;:::-;3884:34;;;;;;;;;;;;;;;;;;3776:156;;;;;;;-1:-1:-1;;;;;3776:156:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3776:156:23;;3614:329;3958:40;;;;;;;;3979:10;;-1:-1:-1;;;;;3958:40:23;;;;;;;;;;;;3432:573;;:::o;1242:117:13:-;1293:66;1242:117;:::o;11309:200::-;11380:4;-1:-1:-1;;;;;;11415:36:13;;-1:-1:-1;;;;;11415:36:13;;:87;;-1:-1:-1;;;;;;;11467:35:13;;11483:19;11467:35;11415:87;11396:106;;11309:200;;;;:::o;353:56:15:-;-1:-1:-1;;;;;353:56:15;:::o;11867:628:13:-;11947:6;12117:18;;;;;;;;;;;11947:6;;12117:18;;12113:95;;;12158:39;12192:4;12158:33;:39::i;:::-;12151:46;;;;12113:95;12244:16;;-1:-1:-1;;;;;12244:16:13;:30;12240:189;;;-1:-1:-1;12300:5:13;12240:189;;;12389:16;;12346:72;;12382:5;;-1:-1:-1;;;;;12389:16:13;12407:10;12346:35;:72::i;:::-;12336:82;;12240:189;12446:42;12480:7;12446:33;:42::i;:::-;12439:49;;11867:628;;;;;;:::o;560:68:15:-;618:10;560:68;:::o;408:66:23:-;448:26;;;;;;;;;;;;;;;;408:66;:::o;1904:156:15:-;1982:6;2007:46;2034:5;2024:16;;;;;;;;;;;;;36:153:-1;66:2;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;;;2024:16:15;;;;;;;;;;;;;;;;2042:10;2007:16;:46::i;:::-;2000:53;1904:156;-1:-1:-1;;;1904:156:15:o;12517:126:13:-;12588:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;12614:15:13;:22;787:1:48;12517:126:13;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;1733:108:13:-;1775:66;1733:108;:::o;1126:110::-;1170:66;1126:110;:::o;1365:120::-;1419:66;1365:120;:::o;2064:121:23:-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;2154:24:23;2163:6;2171;2154:8;:24::i;:::-;2064:121;;:::o;323:113:44:-;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;8410:196:13:-;1541:66;8502:10;8506:5;8502:3;:10::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;8528:11:13;:18;;;;;;;;;;;:25;;-1:-1:-1;;8528:25:13;8549:4;8528:25;;;8569:30;8540:5;;8581:10;;8569:30;;8528:11;8569:30;8410:196;;;:::o;1613:114::-;1661:66;1613:114;:::o;8015:221::-;1419:66;8105:11;8109:6;8105:3;:11::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;8136:25:13;8154:6;8136:17;:25::i;:::-;8163;;;;;;;;;;;;;;;;;;8128:61;;;;;;-1:-1:-1;;;;;8128:61:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8128:61:13;;8200:29;8222:6;8200:21;:29::i;:::-;8015:221;;;:::o;1015:105::-;1054:66;1015:105;:::o;7489:365::-;1293:66;7573:11;7577:6;7573:3;:11::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;7604:15:13;:22;7651:24;;;;;;;;;;;;;;;;;;1895:2;-1:-1:-1;7596:80:13;;;;-1:-1:-1;;;;;7596:80:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7596:80:13;;7694:16;7703:6;7694:8;:16::i;:::-;7712:21;;;;;;;;;;;;;;;;;;7686:48;;;;;;-1:-1:-1;;;;;7686:48:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7686:48:13;;7753:25;7771:6;7753:17;:25::i;:::-;7780:29;;;;;;;;;;;;;;;;;;7752:26;7744:66;;;;-1:-1:-1;;;;;7744:66:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7744:66:13;;7821:26;7840:6;7821:18;:26::i;3332:94:23:-;-1:-1:-1;3391:4:23;;3332:94::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;1776:100:23:-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1826:13:23;:11;:13::i;:::-;1849:20;1864:4;1849:14;:20::i;:::-;1776:100::o;2826:32:13:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2826:32:13;;-1:-1:-1;2826:32:13;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;450:68:15:-;-1:-1:-1;;;;;450:68:15;:::o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;8854:794:13;9462:27;1661:66;8964:22;8968:17;8964:3;:22::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;9426:24:13;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9390:34:13;;9419:4;9390:34;;9382:69;;;;-1:-1:-1;;;;;9382:69:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9382:69:13;-1:-1:-1;9492:16:13;;;-1:-1:-1;;;;;9518:36:13;;;-1:-1:-1;;9518:36:13;;;;;;;9570:71;;9492:16;;;-1:-1:-1;9492:16:13;;9590:10;;9570:71;;9492:16;;9570:71;8854:794;;;;:::o;2789:31::-;;;-1:-1:-1;;;;;2789:31:13;;:::o;5088:2247::-;5423:29;5487:33;5569:25;5649:9;5710:13;6145:11;6189;6210:12;6743:9;1170:66;5296:17;;5315:37;5319:7;5336:14;5344:5;;5336:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5336:7:13;;-1:-1:-1;;;;;5336:14:13:i;:::-;-1:-1:-1;;;5328:23:13;;5315:3;:37::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;5455:15:13;:22;5523:36;;;;;;;;;;;;;;;;5455:22;;-1:-1:-1;5455:22:13;5523:36;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;5523:36:13;;5487:72;;5611:21;5597:36;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;5597:36:13;;5569:64;;5661:1;5649:13;;5644:491;5668:21;5664:1;:25;5644:491;;;5726:15;:18;;5742:1;;5726:18;;;;;;;;;;;;;;;;;5784:22;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5726:18:13;;;;-1:-1:-1;5766:16:13;;;;;5758:49;;;;-1:-1:-1;;;;;5758:49:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5758:49:13;;5973:5;5951:16;5968:1;5951:19;;;;;;;;;;-1:-1:-1;;;;;5951:27:13;;;:19;;;;;;;;;;:27;6110:14;6118:5;6110:7;:14::i;:::-;6096:8;6105:1;6096:11;;;;;;;;;;;;;;;;;;:28;5691:3;;;;;5644:491;;;6159:7;-1:-1:-1;;;;;6159:12:13;6172:5;;6159:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:33;;6263:14;6255:22;;6303:4;6297:11;6290:18;;6343:14;6338:3;6334:24;6328:4;6321:38;6395:14;6392:1;6387:3;6372:38;6434:6;6430:899;;;6643:15;:22;6692:31;;;;;;;;;;;;;;;;;;6643:47;;6635:89;;;;-1:-1:-1;;;;;6635:89:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6635:89:13;;6755:1;6743:13;;6738:270;6762:21;6758:1;:25;6738:270;;;6838:16;6855:1;6838:19;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6816:41:13;:15;6832:1;6816:18;;;;;;;;;;;;;;;;;;;;;6859:31;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6816:18:13;;;:41;6808:83;;;;-1:-1:-1;;;;;6808:83:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6808:83:13;;6948:8;6957:1;6948:11;;;;;;;;;;;;;;;;;;6917:27;6925:15;6941:1;6925:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6925:18:13;6917:7;:27::i;:::-;6961:31;;;;;;;;;;;;;;;;;;-1:-1:-1;6917:42:13;6909:84;;;;-1:-1:-1;;;;;6909:84:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6909:84:13;-1:-1:-1;6785:3:13;;;;;6738:270;;;7051:7;-1:-1:-1;;;;;7027:39:13;7039:10;-1:-1:-1;;;;;7027:39:13;;7060:5;;7027:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7027:39:13;;-1:-1:-1;;;;7027:39:13;7120:4;7115:3;7108:17;7090:49;7300:4;7295:3;7288:17;1848:49;1895:2;1848:49;:::o;1491:116::-;1541:66;1491:116;:::o;2739:44::-;;;;;;;;;;;;;;;;:::o;3822:918::-;4178:11;1054:66;4045:12;;4059:48;4063:7;4072:9;4091:14;4099:5;;4091:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4091:7:13;;-1:-1:-1;;;;;4091:14:13:i;:::-;-1:-1:-1;;;4083:23:13;;4059:3;:48::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;4192:7:13;-1:-1:-1;;;;;4192:12:13;4211:9;4222:5;;4192:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4178:50;;4243:6;4239:88;;;4290:7;-1:-1:-1;;;;;4270:46:13;4278:10;-1:-1:-1;;;;;4270:46:13;;4299:9;4310:5;;4270:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4270:46:13;;-1:-1:-1;;;;;4270:46:13;4239:88;4377:4;4371:11;4418:14;4415:1;4410:3;4395:38;4627:6;4634:38;;;;4707:14;4702:3;4695:27;4634:38;4655:14;4650:3;4643:27;2487:462:23;448:26;;;;;;;;;;;;;;;;2596:24;2600:6;2608:3;2613:6;2596:3;:24::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;2656:25:23;;;;;;;;;;;;;;;;;2653:1;2644:10;;2636:46;;;;-1:-1:-1;;;;;2636:46:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2636:46:23;-1:-1:-1;;;;;;2697:13:23;;;2693:200;;;2734:16;;-1:-1:-1;;;;;2734:8:23;;;:16;;;;;2743:6;;2734:16;;;;2743:6;2734:8;:16;;;;;;;2752:19;;;;;;;;;;;;;;;;;;2726:46;;;;;;;-1:-1:-1;;;;;2726:46:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2726:46:23;;2693:200;;;2811:39;-1:-1:-1;;;;;2811:26:23;;2838:3;2843:6;2811:39;:26;:39;:::i;:::-;2852:29;;;;;;;;;;;;;;;;;;2803:79;;;;;;-1:-1:-1;;;;;2803:79:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2803:79:23;;2693:200;2930:3;-1:-1:-1;;;;;2908:34:23;2922:6;-1:-1:-1;;;;;2908:34:23;;2935:6;2908:34;;;;;;;;;;;;;;;;;;2487:462;;;;;:::o;10807:262:13:-;10883:4;10989:73;11000:7;1775:66;11026:35;11030:30;11049:10;11030:18;:30::i;:::-;11026:3;:35::i;:::-;10989:10;:73::i;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;10102:427:13:-;10231:18;10276:26;10162:34;10173:10;10185;10162;:34::i;:::-;10198:21;;;;;;;;;;;;;;;;;;10154:66;;;;;;-1:-1:-1;;;;;10154:66:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10154:66:13;-1:-1:-1;;10231:23:13;;;;;;;;;-1:-1:-1;10231:23:13;;;10305:16;;;;;;;;;;;10231:23;-1:-1:-1;10380:39:13;10390:10;10231:23;10305:16;10380:9;:39::i;:::-;;10102:427;;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;2955:233:23:-;3009:7;-1:-1:-1;;;;;3032:13:23;;;3028:154;;;-1:-1:-1;3076:4:23;3068:21;3061:28;;3028:154;3127:44;-1:-1:-1;;;;;3127:29:23;;3165:4;3127:44;:29;:44;:::i;:::-;3120:51;;;;9826:80:13;9895:4;9826:80;:::o;347:94:53:-;422:12;347:94;:::o;3586:361:52:-;3741:131;;;-1:-1:-1;;;;;3741:131:52;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3741:131:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3777:28:52;179:29:-1;160:49;;3689:4:52;;3889:51;3777:6;3741:131;3889:21;:51::i;:::-;3882:58;3586:361;-1:-1:-1;;;;;;3586:361:52:o;1183:187:15:-;1263:6;1288:7;:75;;618:10;1288:75;;;-1:-1:-1;;;;;;1298:30:15;1183:187;-1:-1:-1;1183:187:15:o;1189:967:14:-;1285:4;1375:14;1511:18;1305:9;:16;1325:1;1305:21;1301:64;;;1349:5;1342:12;;;;1301:64;1398:9;1408:1;1398:12;;;;;;;;;;;;;;-1:-1:-1;;;1398:12:14;;;;;;1392:19;;-1:-1:-1;1443:19:14;1425:38;;;;1421:81;;1486:5;1479:12;;;;1421:81;1546:8;1532:23;;;;;;;;;;1511:44;-1:-1:-1;1578:20:14;1570:4;:28;;;;;;;;;1566:584;;;1621:33;1630:4;1636:6;1644:9;1621:8;:33::i;:::-;1614:40;;;;1566:584;1683:21;1675:4;:29;;;;;;;;;1671:479;;;1763:58;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1763:58:14;;;;;;;;1753:69;;1727:160;;1763:58;;;1753:69;;;;;1763:58;1753:69;36:153:-1;66:2;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;;;1753:69:14;;;;;;;;;;;;;;;;1840:6;1864:9;1727:8;:160::i;1671:479::-;1916:21;1908:4;:29;;;;;;;;;1904:246;;;2037:59;2058:6;2066:4;2072:23;2085:9;2072:12;:23::i;:::-;2037:20;:59::i;1904:246::-;2134:5;2127:12;;1904:246;1189:967;;;;;;;:::o;105:128:55:-;210:15;;200:27::o;196:101:29:-;244:11;274:16;286:2;274:3;:16::i;435:101::-;483:11;513:16;525:2;-1:-1:-1;;;;;517:11:29;513:3;:16::i;13647:266:13:-;13713:4;;13729:155;13753:15;:22;13749:26;;13729:155;;;13822:6;-1:-1:-1;;;;;13800:28:13;:15;13816:1;13800:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13800:18:13;:28;13796:78;;;13855:4;13848:11;;;;13796:78;13777:3;;13729:155;;;13901:5;13894:12;;13647:266;;;;;:::o;12815:242::-;12929:15;12945:22;;-1:-1:-1;;12945:26:13;;;12929:43;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12929:43:13;12881:15;12897:28;12918:6;12897:20;:28::i;:::-;12881:45;;;;;;;;;;;;;;;;;:91;;-1:-1:-1;;12881:91:13;-1:-1:-1;;;;;12881:91:13;;;;;;;;;;12982:15;:24;;;;;-1:-1:-1;;12982:24:13;;;:::i;:::-;-1:-1:-1;13022:28:13;;-1:-1:-1;;;;;13022:28:13;;;;;;;;12815:242;:::o;13063:287::-;13120:4;13141:18;13152:6;13141:10;:18::i;:::-;13140:19;13136:62;;;-1:-1:-1;13182:5:13;13175:12;;13136:62;13306:15;13314:6;13306:7;:15::i;:::-;-1:-1:-1;13339:4:13;;13063:287;-1:-1:-1;;13063:287:13:o;12670:139::-;12733:15;27:10:-1;;39:1;23:18;;45:23;;-1:-1;12733:28:13;;;;;;;-1:-1:-1;;12733:28:13;-1:-1:-1;;;;;12733:28:13;;;;;;;;12777:25;;12733:28;;12777:25;;;12670:139;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;442:118:44:-;504:49;250:66;540:12;504:49;:35;:49;:::i;:::-;442:118;:::o;519:134:55:-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;-1:-1:-1;;662:1:49;617:20;;655:8;;426:244::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;14075:187:13:-;14128:10;14169:1;14154:5;:12;:16;14150:53;;;14186:7;;14150:53;-1:-1:-1;14248:4:13;14237:16;14231:23;;14222:34::o;968:126:29:-;1028:11;1058:29;1070:2;-1:-1:-1;;;;;1062:11:29;1083:2;1058:3;:29::i;674:133::-;746:11;776:24;788:2;-1:-1:-1;;;;;780:11:29;793:2;797;776:3;:24::i;:::-;769:31;674:133;-1:-1:-1;;;;674:133:29:o;1437:151::-;1509:11;1539:42;1551:2;-1:-1:-1;;;;;1543:11:29;1564:2;-1:-1:-1;;;;;1556:11:29;1577:2;1539:3;:42::i;13919:150:13:-;13988:7;14049:10;14032:28;;;;;;;;;;;;;;;36:153:-1;66:2;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;;;14032:28:13;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14032:28:13;;;14022:39;;;;;;;;;;;;;36:153:-1;66:2;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;;14022:39:13;;;;;;;;;;;13919:150;-1:-1:-1;;;;;13919:150:13:o;1594:117:29:-;1669:16;;;1683:1;1669:16;;;;;;;;;1642:11;;1669:16;;;;;;105:10:-1;1669:16:29;88:34:-1;136:17;;-1:-1;1669:16:29;1665:20;;1702:2;1695:1;1697;1695:4;;;;;;;;;;;;;;;;;;:9;1594:117;;-1:-1:-1;1594:117:29:o;1217:3212:60:-;1364:5;1385:27;1533:10;1584:17;1671:19;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;4467:17:60;4514:16;4495:8;:6;:8::i;:::-;4467:37;;4533:7;:5;:7::i;:::-;4514:26;;1415:29;1436:7;1415:20;:29::i;:::-;1495:26;;;;;;;;;;;;;;;;;1385:59;;-1:-1:-1;;;;;;1462:31:60;;;;1454:68;;;;-1:-1:-1;;;;;1454:68:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1454:68:60;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;1546:28;;-1:-1:-1;1546:28:60;;1632:7;;1641:6;;1649:10;;1604:56;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1604:56:60;;;;-1:-1:-1;;;;;1604:56:60;;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;;;1604:56:60;1584:76;;2067:1;1979;1930:4;1924:11;1880:4;1874;1870:15;1823:8;1768:3;1738:384;2152:4;2146:11;;-1:-1:-1;2198:7:60;2218:195;;;;2478:4;2462:14;2459:24;2500:970;;;;4144:4;4128:14;4124:25;4199:8;4193:4;4185:6;4170:38;4243:21;;4237:4;4230:35;2452:1851;;2500:970;-1:-1:-1;;;;;2845:6:60;2838:82;2995:66;2988:4;2980:6;2976:17;2969:93;3128:66;3121:4;3113:6;3109:17;3102:93;3259:66;3252:4;3244:6;3240:17;3233:93;3373:3;3365:6;3358:19;2452:1851;;2191:2126;;2218:195;2337:14;2334:1;2326:6;2311:41;2384:14;2376:6;2369:30;2191:2126;;1709:2618;4363:8;-1:-1:-1;;;;;4342:56:60;;4374:7;4383:6;4391;4342:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:6;4409:13;;4598:9;-1:-1:-1;;;;;4577:30:60;4585:8;:6;:8::i;:::-;-1:-1:-1;;;;;4577:30:60;;4609;;;;;;;;;;;;;;;;;;4569:71;;;;;;;-1:-1:-1;;;;;4569:71:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4569:71:60;-1:-1:-1;4669:8:60;4658:7;:5;:7::i;:::-;4679:30;;;;;;;;;;;;;;;;;;4658:19;4650:60;;;;-1:-1:-1;;;;;4650:60:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4650:60:60;;787:1:48;;1217:3212:60;;;;;;;;;:::o;800:1342:52:-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;2162:297:14:-;2256:4;2273:11;2286:9;2297;2308:7;2319:22;2331:9;2319:11;:22::i;:::-;2272:69;;;;;;;;2356:6;2352:49;;;2385:5;2378:12;;;;2352:49;2428:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2428:24:14;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2428:24:14;;;;;;;;-1:-1:-1;;;;;2418:34:14;:6;-1:-1:-1;;;;;2418:34:14;;2411:41;;2162:297;;;;;;;;;;:::o;3008:562::-;3125:12;;3172:29;;;;;;;;;;;;;;;;;3072:19;;3125:12;3103:19;;;;3155:15;;;3147:55;;;;-1:-1:-1;;;;;3147:55:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3147:55:14;;3246:1;3232:11;:15;3222:26;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;3222:26:14;;3213:35;;3263:6;:13;3280:1;3263:18;3259:62;;;3297:13;;3259:62;3442:4;3435:5;3431:16;3415:32;;3489:4;3481:6;3477:17;3460:34;;3513:50;3520:13;3535:12;3549:6;:13;3513:6;:50::i;:::-;3008:562;;;;;;:::o;3576:399::-;3721:85;;;;;;;;;;;;;;;;;;;;;;;3685:4;;3701:17;;3685:4;;3744:44;;3790:4;;3796:9;;3721:85;;;;;;;;;;;;;;3685:4;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;3721:85:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3721:85:14;;;;-1:-1:-1;;;;;3721:85:14;;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;;;3721:85:14;3701:105;;3839:65;3860:9;3871:4;726:6;3839:20;:65::i;:::-;-1:-1:-1;;;;;;3921:47:14;-1:-1:-1;;;;;3921:47:14;;;-1:-1:-1;;;;;;3576:399:14:o;13356:285:13:-;13425:7;;13444:147;13465:15;:22;13461:26;;13444:147;;;13534:6;-1:-1:-1;;;;;13512:28:13;:15;13528:1;13512:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13512:18:13;:28;13508:73;;;13565:1;13558:8;;;;13508:73;13489:3;;13444:147;;;13608:25;;;;;;;;;;;;;;;;;;;13601:33;;-1:-1:-1;;;;;13601:33:13;;;;;;;;;;;;;;;;13608:25;;13601:33;;;;;;;;13608:25;13601:33;;13608:25;-1:-1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1028:119:55;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;1871:179::-;1970:16;;;1984:1;1970:16;;;;;;;;;1943:11;;1970:16;;;1943:11;;105:10:-1;1970:16:29;88:34:-1;136:17;;-1:-1;1970:16:29;1966:20;;2003:2;1996:1;1998;1996:4;;;;;;;;;;;;;;;;;;:9;2015:4;;2022:2;;2015:1;;2017;;2015:4;;;;;;;;;;;;;;:9;2034:4;;2041:2;;2034:1;;2036;;2034:4;;;;;;;;;;;;;;:9;1871:179;;-1:-1:-1;;;1871:179:29:o;2465:537:14:-;2532:11;2545:9;2556;2567:7;2590:9;:16;2610:2;2590:22;;2586:86;;;2637:4;2628:13;;2655:7;;2586:86;2692:9;2702:2;2692:13;;;;;;;;;;;;;;;-1:-1:-1;;;2692:13:14;;-1:-1:-1;;;2692:13:14;-1:-1:-1;;;2686:20:14;;2682:24;;2765:2;2754:9;2750:18;2744:25;2739:30;;2808:2;2797:9;2793:18;2787:25;2782:30;;2888:2;2884:1;:6;;;2880:44;;;2911:2;2906:7;2880:44;2938:1;:7;;2943:2;2938:7;;:18;;;;;2949:1;:7;;2954:2;2949:7;;2938:18;2934:62;;;2981:4;2972:13;;2934:62;2465:537;;;;;:::o;4885:558::-;5221:9;5014:165;5028:2;5021:9;;5014:165;;5097:10;;5084:24;;5143:2;5135:10;;;;5159:9;;;;-1:-1:-1;;5032:9:14;;;;5014:165;;;-1:-1:-1;5306:10:14;;5361:11;;5241:2;:8;;;;5233:3;:17;-1:-1:-1;;5233:21:14;5318:9;;5302:26;;;5357:22;;5405:21;5392:35;;5273:164::o;3981:804::-;4077:10;4099:15;4137;4200:7;4379:12;4117:9;4099:27;;4165:6;4155:7;:16;:35;;4183:7;4155:35;;;4174:6;4155:35;4137:53;;4307:1;4304;4297:4;4291:11;4284:4;4278;4274:15;4266:6;4257:7;4246:63;4240:69;;4334:2;4333:3;4329:40;;;4352:7;;4329:40;-1:-1:-1;4420:14:14;4457:2;4449:10;;4445:47;;4475:7;;4445:47;4542:4;4536:11;4617:4;4614:1;4609:3;4594:28;4681:10;;3981:804;-1:-1:-1;;;;;;;;3981:804:14:o;291:13973:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "/*\n * SPDX-License-Identitifer: GPL-3.0-or-later\n */\n\npragma solidity 0.4.24;\n\nimport \"./SignatureValidator.sol\";\nimport \"./standards/IERC165.sol\";\nimport \"./standards/ERC1271.sol\";\n\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\n\nimport \"@aragon/os/contracts/common/IForwarder.sol\";\n\n\ncontract Agent is IERC165, ERC1271Bytes, IForwarder, IsContract, Vault {\n /* Hardcoded constants to save gas\n bytes32 public constant EXECUTE_ROLE = keccak256(\"EXECUTE_ROLE\");\n bytes32 public constant SAFE_EXECUTE_ROLE = keccak256(\"SAFE_EXECUTE_ROLE\");\n bytes32 public constant ADD_PROTECTED_TOKEN_ROLE = keccak256(\"ADD_PROTECTED_TOKEN_ROLE\");\n bytes32 public constant REMOVE_PROTECTED_TOKEN_ROLE = keccak256(\"REMOVE_PROTECTED_TOKEN_ROLE\");\n bytes32 public constant ADD_PRESIGNED_HASH_ROLE = keccak256(\"ADD_PRESIGNED_HASH_ROLE\");\n bytes32 public constant DESIGNATE_SIGNER_ROLE = keccak256(\"DESIGNATE_SIGNER_ROLE\");\n bytes32 public constant RUN_SCRIPT_ROLE = keccak256(\"RUN_SCRIPT_ROLE\");\n */\n\n bytes32 public constant EXECUTE_ROLE = 0xcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba4;\n bytes32 public constant SAFE_EXECUTE_ROLE = 0x0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b7933694;\n bytes32 public constant ADD_PROTECTED_TOKEN_ROLE = 0x6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa;\n bytes32 public constant REMOVE_PROTECTED_TOKEN_ROLE = 0x71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a;\n bytes32 public constant ADD_PRESIGNED_HASH_ROLE = 0x0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c;\n bytes32 public constant DESIGNATE_SIGNER_ROLE = 0x23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c;\n bytes32 public constant RUN_SCRIPT_ROLE = 0xb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f;\n\n uint256 public constant PROTECTED_TOKENS_CAP = 10;\n\n bytes4 private constant ERC165_INTERFACE_ID = 0x01ffc9a7;\n\n string private constant ERROR_TARGET_PROTECTED = \"AGENT_TARGET_PROTECTED\";\n string private constant ERROR_PROTECTED_TOKENS_MODIFIED = \"AGENT_PROTECTED_TOKENS_MODIFIED\";\n string private constant ERROR_PROTECTED_BALANCE_LOWERED = \"AGENT_PROTECTED_BALANCE_LOWERED\";\n string private constant ERROR_TOKENS_CAP_REACHED = \"AGENT_TOKENS_CAP_REACHED\";\n string private constant ERROR_TOKEN_NOT_ERC20 = \"AGENT_TOKEN_NOT_ERC20\";\n string private constant ERROR_TOKEN_ALREADY_PROTECTED = \"AGENT_TOKEN_ALREADY_PROTECTED\";\n string private constant ERROR_TOKEN_NOT_PROTECTED = \"AGENT_TOKEN_NOT_PROTECTED\";\n string private constant ERROR_DESIGNATED_TO_SELF = \"AGENT_DESIGNATED_TO_SELF\";\n string private constant ERROR_CAN_NOT_FORWARD = \"AGENT_CAN_NOT_FORWARD\";\n\n mapping (bytes32 => bool) public isPresigned;\n address public designatedSigner;\n address[] public protectedTokens;\n\n event SafeExecute(address indexed sender, address indexed target, bytes data);\n event Execute(address indexed sender, address indexed target, uint256 ethValue, bytes data);\n event AddProtectedToken(address indexed token);\n event RemoveProtectedToken(address indexed token);\n event PresignHash(address indexed sender, bytes32 indexed hash);\n event SetDesignatedSigner(address indexed sender, address indexed oldSigner, address indexed newSigner);\n\n /**\n * @notice Execute '`@radspec(_target, _data)`' on `_target``_ethValue == 0 ? '' : ' (Sending' + @tokenAmount(0x0000000000000000000000000000000000000000, _ethValue) + ')'`\n * @param _target Address where the action is being executed\n * @param _ethValue Amount of ETH from the contract that is sent with the action\n * @param _data Calldata for the action\n * @return Exits call frame forwarding the return data of the executed call (either error or success data)\n */\n function execute(address _target, uint256 _ethValue, bytes _data)\n external // This function MUST always be external as the function performs a low level return, exiting the Agent app execution context\n authP(EXECUTE_ROLE, arr(_target, _ethValue, uint256(_getSig(_data)))) // bytes4 casted as uint256 sets the bytes as the LSBs\n {\n bool result = _target.call.value(_ethValue)(_data);\n\n if (result) {\n emit Execute(msg.sender, _target, _ethValue, _data);\n }\n\n assembly {\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize)\n\n // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.\n // if the call returned error data, forward it\n switch result case 0 { revert(ptr, returndatasize) }\n default { return(ptr, returndatasize) }\n }\n }\n\n /**\n * @notice Execute '`@radspec(_target, _data)`' on `_target` ensuring that protected tokens can't be spent\n * @param _target Address where the action is being executed\n * @param _data Calldata for the action\n * @return Exits call frame forwarding the return data of the executed call (either error or success data)\n */\n function safeExecute(address _target, bytes _data)\n external // This function MUST always be external as the function performs a low level return, exiting the Agent app execution context\n authP(SAFE_EXECUTE_ROLE, arr(_target, uint256(_getSig(_data)))) // bytes4 casted as uint256 sets the bytes as the LSBs\n {\n uint256 protectedTokensLength = protectedTokens.length;\n address[] memory protectedTokens_ = new address[](protectedTokensLength);\n uint256[] memory balances = new uint256[](protectedTokensLength);\n\n for (uint256 i = 0; i < protectedTokensLength; i++) {\n address token = protectedTokens[i];\n require(_target != token, ERROR_TARGET_PROTECTED);\n // we copy the protected tokens array to check whether the storage array has been modified during the underlying call\n protectedTokens_[i] = token;\n // we copy the balances to check whether they have been modified during the underlying call\n balances[i] = balance(token);\n }\n\n bool result = _target.call(_data);\n\n bytes32 ptr;\n uint256 size;\n assembly {\n size := returndatasize\n ptr := mload(0x40)\n mstore(0x40, add(ptr, returndatasize))\n returndatacopy(ptr, 0, returndatasize)\n }\n\n if (result) {\n // if the underlying call has succeeded, we check that the protected tokens\n // and their balances have not been modified and return the call's return data\n require(protectedTokens.length == protectedTokensLength, ERROR_PROTECTED_TOKENS_MODIFIED);\n for (uint256 j = 0; j < protectedTokensLength; j++) {\n require(protectedTokens[j] == protectedTokens_[j], ERROR_PROTECTED_TOKENS_MODIFIED);\n require(balance(protectedTokens[j]) >= balances[j], ERROR_PROTECTED_BALANCE_LOWERED);\n }\n\n emit SafeExecute(msg.sender, _target, _data);\n\n assembly {\n return(ptr, size)\n }\n } else {\n // if the underlying call has failed, we revert and forward returned error data\n assembly {\n revert(ptr, size)\n }\n }\n }\n\n /**\n * @notice Add `_token.symbol(): string` to the list of protected tokens\n * @param _token Address of the token to be protected\n */\n function addProtectedToken(address _token) external authP(ADD_PROTECTED_TOKEN_ROLE, arr(_token)) {\n require(protectedTokens.length < PROTECTED_TOKENS_CAP, ERROR_TOKENS_CAP_REACHED);\n require(_isERC20(_token), ERROR_TOKEN_NOT_ERC20);\n require(!_tokenIsProtected(_token), ERROR_TOKEN_ALREADY_PROTECTED);\n\n _addProtectedToken(_token);\n }\n\n /**\n * @notice Remove `_token.symbol(): string` from the list of protected tokens\n * @param _token Address of the token to be unprotected\n */\n function removeProtectedToken(address _token) external authP(REMOVE_PROTECTED_TOKEN_ROLE, arr(_token)) {\n require(_tokenIsProtected(_token), ERROR_TOKEN_NOT_PROTECTED);\n\n _removeProtectedToken(_token);\n }\n\n /**\n * @notice Pre-sign hash `_hash`\n * @param _hash Hash that will be considered signed regardless of the signature checked with 'isValidSignature()'\n */\n function presignHash(bytes32 _hash)\n external\n authP(ADD_PRESIGNED_HASH_ROLE, arr(_hash))\n {\n isPresigned[_hash] = true;\n\n emit PresignHash(msg.sender, _hash);\n }\n\n /**\n * @notice Set `_designatedSigner` as the designated signer of the app, which will be able to sign messages on behalf of the app\n * @param _designatedSigner Address that will be able to sign messages on behalf of the app\n */\n function setDesignatedSigner(address _designatedSigner)\n external\n authP(DESIGNATE_SIGNER_ROLE, arr(_designatedSigner))\n {\n // Prevent an infinite loop by setting the app itself as its designated signer.\n // An undetectable loop can be created by setting a different contract as the\n // designated signer which calls back into `isValidSignature`.\n // Given that `isValidSignature` is always called with just 50k gas, the max\n // damage of the loop is wasting 50k gas.\n require(_designatedSigner != address(this), ERROR_DESIGNATED_TO_SELF);\n\n address oldDesignatedSigner = designatedSigner;\n designatedSigner = _designatedSigner;\n\n emit SetDesignatedSigner(msg.sender, oldDesignatedSigner, _designatedSigner);\n }\n\n // Forwarding fns\n\n /**\n * @notice Tells whether the Agent app is a forwarder or not\n * @dev IForwarder interface conformance\n * @return Always true\n */\n function isForwarder() external pure returns (bool) {\n return true;\n }\n\n /**\n * @notice Execute the script as the Agent app\n * @dev IForwarder interface conformance. Forwards any token holder action.\n * @param _evmScript Script being executed\n */\n function forward(bytes _evmScript) public {\n require(canForward(msg.sender, _evmScript), ERROR_CAN_NOT_FORWARD);\n\n bytes memory input = \"\"; // no input\n address[] memory blacklist = new address[](0); // no addr blacklist, can interact with anything\n runScript(_evmScript, input, blacklist);\n // We don't need to emit an event here as EVMScriptRunner will emit ScriptResult if successful\n }\n\n /**\n * @notice Tells whether `_sender` can forward actions or not\n * @dev IForwarder interface conformance\n * @param _sender Address of the account intending to forward an action\n * @return True if the given address can run scripts, false otherwise\n */\n function canForward(address _sender, bytes _evmScript) public view returns (bool) {\n // Note that `canPerform()` implicitly does an initialization check itself\n return canPerform(_sender, RUN_SCRIPT_ROLE, arr(_getScriptACLParam(_evmScript)));\n }\n\n // ERC-165 conformance\n\n /**\n * @notice Tells whether this contract supports a given ERC-165 interface\n * @param _interfaceId Interface bytes to check\n * @return True if this contract supports the interface\n */\n function supportsInterface(bytes4 _interfaceId) external pure returns (bool) {\n return\n _interfaceId == ERC1271_INTERFACE_ID ||\n _interfaceId == ERC165_INTERFACE_ID;\n }\n\n // ERC-1271 conformance\n\n /**\n * @notice Tells whether a signature is seen as valid by this contract through ERC-1271\n * @param _hash Arbitrary length data signed on the behalf of address (this)\n * @param _signature Signature byte array associated with _data\n * @return The ERC-1271 magic value if the signature is valid\n */\n function isValidSignature(bytes32 _hash, bytes _signature) public view returns (bytes4) {\n // Short-circuit in case the hash was presigned. Optimization as performing calls\n // and ecrecover is more expensive than an SLOAD.\n if (isPresigned[_hash]) {\n return returnIsValidSignatureMagicNumber(true);\n }\n\n bool isValid;\n if (designatedSigner == address(0)) {\n isValid = false;\n } else {\n isValid = SignatureValidator.isValidSignature(_hash, designatedSigner, _signature);\n }\n\n return returnIsValidSignatureMagicNumber(isValid);\n }\n\n // Getters\n\n function getProtectedTokensLength() public view isInitialized returns (uint256) {\n return protectedTokens.length;\n }\n\n // Internal fns\n\n function _addProtectedToken(address _token) internal {\n protectedTokens.push(_token);\n\n emit AddProtectedToken(_token);\n }\n\n function _removeProtectedToken(address _token) internal {\n protectedTokens[_protectedTokenIndex(_token)] = protectedTokens[protectedTokens.length - 1];\n protectedTokens.length--;\n\n emit RemoveProtectedToken(_token);\n }\n\n function _isERC20(address _token) internal view returns (bool) {\n if (!isContract(_token)) {\n return false;\n }\n\n // Throwaway sanity check to make sure the token's `balanceOf()` does not error (for now)\n balance(_token);\n\n return true;\n }\n\n function _protectedTokenIndex(address _token) internal view returns (uint256) {\n for (uint i = 0; i < protectedTokens.length; i++) {\n if (protectedTokens[i] == _token) {\n return i;\n }\n }\n\n revert(ERROR_TOKEN_NOT_PROTECTED);\n }\n\n function _tokenIsProtected(address _token) internal view returns (bool) {\n for (uint256 i = 0; i < protectedTokens.length; i++) {\n if (protectedTokens[i] == _token) {\n return true;\n }\n }\n\n return false;\n }\n\n function _getScriptACLParam(bytes _evmScript) internal pure returns (uint256) {\n return uint256(keccak256(abi.encodePacked(_evmScript)));\n }\n\n function _getSig(bytes _data) internal pure returns (bytes4 sig) {\n if (_data.length < 4) {\n return;\n }\n\n assembly { sig := mload(add(_data, 0x20)) }\n }\n}\n", - "sourcePath": "@aragon/apps-agent/contracts/Agent.sol", - "ast": { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "exportedSymbols": { - "Agent": [ - 11529 - ] - }, - "id": 11530, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10788, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:13" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/SignatureValidator.sol", - "file": "./SignatureValidator.sol", - "id": 10789, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11910, - "src": "82:34:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/IERC165.sol", - "file": "./standards/IERC165.sol", - "id": 10790, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11974, - "src": "117:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "file": "./standards/ERC1271.sol", - "id": 10791, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11964, - "src": "151:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 10792, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 19336, - "src": "186:48:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 10793, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 23672, - "src": "236:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10794, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11973, - "src": "309:7:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$11973", - "typeString": "contract IERC165" - } - }, - "id": 10795, - "nodeType": "InheritanceSpecifier", - "src": "309:7:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10796, - "name": "ERC1271Bytes", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11963, - "src": "318:12:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271Bytes_$11963", - "typeString": "contract ERC1271Bytes" - } - }, - "id": 10797, - "nodeType": "InheritanceSpecifier", - "src": "318:12:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10798, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "332:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 10799, - "nodeType": "InheritanceSpecifier", - "src": "332:10:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10800, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "344:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 10801, - "nodeType": "InheritanceSpecifier", - "src": "344:10:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10802, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "356:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 10803, - "nodeType": "InheritanceSpecifier", - "src": "356:5:13" - } - ], - "contractDependencies": [ - 11943, - 11963, - 11973, - 19335, - 22236, - 23329, - 23453, - 23466, - 23641, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 11529, - "linearizedBaseContracts": [ - 11529, - 19335, - 23641, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671, - 11963, - 11943, - 11973 - ], - "name": "Agent", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 10806, - "name": "EXECUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1015:105:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10804, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1015:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863656266353137616134343430643164313235653033353561616536343430313231316430383438613233633032636335643239613134383232353830626134", - "id": 10805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1054:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93514476945392341323698752175392171813594054718404481869820659091053120850852_by_1", - "typeString": "int_const 9351...(69 digits omitted)...0852" - }, - "value": "0xcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10809, - "name": "SAFE_EXECUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1126:110:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10807, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1126:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830613161643762383766353834363135336336643561316637363164373163376430636664313232333834663536303636636433333233396237393333363934", - "id": 10808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1170:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4570555359022623364366161408246930247137478170148955281124061291223599756948_by_1", - "typeString": "int_const 4570...(68 digits omitted)...6948" - }, - "value": "0x0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b7933694" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10812, - "name": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1242:117:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10810, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1242:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836656232613439393535366266613238373266356161313538313262393536636334613731623464363465623335353366373037336337653431343135616161", - "id": 10811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1293:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50070048141958532885390151594543453454252498412769530962629210555815987075754_by_1", - "typeString": "int_const 5007...(69 digits omitted)...5754" - }, - "value": "0x6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10815, - "name": "REMOVE_PROTECTED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1365:120:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10813, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1365:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837316565653933643530306636663036356533386232376432343261373536343636613030613532613164626364366234323630663031613836343034303261", - "id": 10814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51533471251213238639848311106660097917959847668656318606373264472047911714858_by_1", - "typeString": "int_const 5153...(69 digits omitted)...4858" - }, - "value": "0x71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10818, - "name": "ADD_PRESIGNED_HASH_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1491:116:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10816, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1491:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830623239373830626235323361313330623362303166323331656634396564326661323738313634353539316130623061343463613938663135613539393463", - "id": 10817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1541:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5048710589269054215548367542645921883989389101066863949389312863133046774092_by_1", - "typeString": "int_const 5048...(68 digits omitted)...4092" - }, - "value": "0x0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10821, - "name": "DESIGNATE_SIGNER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1613:114:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10819, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1613:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832336365333431363536633366313464663636393265656264343735373739316533333636326237646366393937306338333038333033646135343732623763", - "id": 10820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1661:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16195279688824993743704330879939753562709736882221113052229573625931471727484_by_1", - "typeString": "int_const 1619...(69 digits omitted)...7484" - }, - "value": "0x23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10824, - "name": "RUN_SCRIPT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1733:108:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10822, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1733:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862343231663761643736343637343766333035316335306330623865323337373833393239366364343937336532376636333832316437336533393033333866", - "id": 10823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1775:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81476328105999901226223490645037451521678668244692051057539916724333771240335_by_1", - "typeString": "int_const 8147...(69 digits omitted)...0335" - }, - "value": "0xb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10827, - "name": "PROTECTED_TOKENS_CAP", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1848:49:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1895:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10830, - "name": "ERC165_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1904:56:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 10828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1904:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 10829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1950:10:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10833, - "name": "ERROR_TARGET_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1967:73:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10831, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1967:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f5441524745545f50524f544543544544", - "id": 10832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2016:24:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c85762ac7c1ec3f3d1c10434915e4b771d5774e9dcb2767ce20784a8aad37898", - "typeString": "literal_string \"AGENT_TARGET_PROTECTED\"" - }, - "value": "AGENT_TARGET_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10836, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2046:91:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10834, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2046:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f50524f5445435445445f544f4b454e535f4d4f444946494544", - "id": 10835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:33:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1fc5557ccd4afc8b95b7acc419b1af04ea55f845b301503eccdde8ee3bf51e06", - "typeString": "literal_string \"AGENT_PROTECTED_TOKENS_MODIFIED\"" - }, - "value": "AGENT_PROTECTED_TOKENS_MODIFIED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10839, - "name": "ERROR_PROTECTED_BALANCE_LOWERED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2143:91:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10837, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2143:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f50524f5445435445445f42414c414e43455f4c4f5745524544", - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2201:33:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28414a49c53740740de78add8270fe4f82e095e225b0d2e477cdd49b9a4b388d", - "typeString": "literal_string \"AGENT_PROTECTED_BALANCE_LOWERED\"" - }, - "value": "AGENT_PROTECTED_BALANCE_LOWERED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10842, - "name": "ERROR_TOKENS_CAP_REACHED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2240:77:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2240:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e535f4341505f52454143484544", - "id": 10841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2291:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57663ff4801a3c22d88409cbb8dcfbf916b6c3713e259aca2f593e8697942d0d", - "typeString": "literal_string \"AGENT_TOKENS_CAP_REACHED\"" - }, - "value": "AGENT_TOKENS_CAP_REACHED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10845, - "name": "ERROR_TOKEN_NOT_ERC20", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2323:71:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10843, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2323:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f4e4f545f4552433230", - "id": 10844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2371:23:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_39796f76137f2bbed669458c7ad7191298f7a7c291a99c9d9c9f62a526cd4819", - "typeString": "literal_string \"AGENT_TOKEN_NOT_ERC20\"" - }, - "value": "AGENT_TOKEN_NOT_ERC20" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10848, - "name": "ERROR_TOKEN_ALREADY_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2400:87:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10846, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2400:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f414c52454144595f50524f544543544544", - "id": 10847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2456:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_731b3a84beea2ac39983e0127735a0031295957862816274c0e8ac558724e402", - "typeString": "literal_string \"AGENT_TOKEN_ALREADY_PROTECTED\"" - }, - "value": "AGENT_TOKEN_ALREADY_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10851, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2493:79:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10849, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f4e4f545f50524f544543544544", - "id": 10850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2545:27:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff6159780ef0646c6d669a957f66b4cdc1fa3673e54e6a22ad33efed09c33542", - "typeString": "literal_string \"AGENT_TOKEN_NOT_PROTECTED\"" - }, - "value": "AGENT_TOKEN_NOT_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10854, - "name": "ERROR_DESIGNATED_TO_SELF", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2578:77:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2578:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f44455349474e415445445f544f5f53454c46", - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2629:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2df64caebfdd5bf6921069a1965c1da2d06049cd96fc4b9b57a3d0d223629d5c", - "typeString": "literal_string \"AGENT_DESIGNATED_TO_SELF\"" - }, - "value": "AGENT_DESIGNATED_TO_SELF" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10857, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2661:71:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10855, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2661:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f43414e5f4e4f545f464f5257415244", - "id": 10856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2709:23:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_15935b267bc66bb213603e9467e66dc2a0f614035cd8bc4924f3fad24e9b914a", - "typeString": "literal_string \"AGENT_CAN_NOT_FORWARD\"" - }, - "value": "AGENT_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10861, - "name": "isPresigned", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2739:44:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 10860, - "keyType": { - "id": 10858, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2739:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 10859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2759:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 10863, - "name": "designatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2789:31:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2789:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 10866, - "name": "protectedTokens", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2826:32:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 10864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2826:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10865, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2826:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 10874, - "name": "SafeExecute", - "nodeType": "EventDefinition", - "parameters": { - "id": 10873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10868, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2883:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2883:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10870, - "indexed": true, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2907:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2907:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10872, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2931:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10871, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2931:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2882:60:13" - }, - "src": "2865:78:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10884, - "name": "Execute", - "nodeType": "EventDefinition", - "parameters": { - "id": 10883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10876, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "2962:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10878, - "indexed": true, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "2986:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2986:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10880, - "indexed": false, - "name": "ethValue", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "3010:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3010:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10882, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "3028:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3028:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2961:78:13" - }, - "src": "2948:92:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10888, - "name": "AddProtectedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 10887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10886, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 10888, - "src": "3069:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3069:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3068:23:13" - }, - "src": "3045:47:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10892, - "name": "RemoveProtectedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 10891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10890, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 10892, - "src": "3124:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3124:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:23:13" - }, - "src": "3097:50:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10898, - "name": "PresignHash", - "nodeType": "EventDefinition", - "parameters": { - "id": 10897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10894, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10898, - "src": "3170:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3170:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10896, - "indexed": true, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 10898, - "src": "3194:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10895, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3194:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3169:46:13" - }, - "src": "3152:64:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10906, - "name": "SetDesignatedSigner", - "nodeType": "EventDefinition", - "parameters": { - "id": 10905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10900, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3247:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10899, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3247:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10902, - "indexed": true, - "name": "oldSigner", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3271:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10901, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3271:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10904, - "indexed": true, - "name": "newSigner", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3298:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3298:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3246:78:13" - }, - "src": "3221:104:13" - }, - { - "body": { - "id": 10949, - "nodeType": "Block", - "src": "4168:572:13", - "statements": [ - { - "assignments": [ - 10928 - ], - "declarations": [ - { - "constant": false, - "id": 10928, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "4178:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10927, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4178:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10936, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10934, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4222:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 10932, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4211:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10929, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4192:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", - "typeString": "function () payable returns (bool)" - } - }, - "id": 10931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function () payable returns (bool))" - } - }, - "id": 10933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:29:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value", - "typeString": "function () payable returns (bool)" - } - }, - "id": 10935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:36:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4178:50:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 10937, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10928, - "src": "4243:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10947, - "nodeType": "IfStatement", - "src": "4239:88:13", - "trueBody": { - "id": 10946, - "nodeType": "Block", - "src": "4251:76:13", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10939, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4278:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 10940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4278:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10941, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4290:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10942, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4299:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10943, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4310:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10938, - "name": "Execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10884, - "src": "4270:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 10944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4270:46:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10945, - "nodeType": "EmitStatement", - "src": "4265:51:13" - } - ] - } - }, - { - "externalReferences": [ - { - "result": { - "declaration": 10928, - "isOffset": false, - "isSlot": false, - "src": "4627:6:13", - "valueSize": 1 - } - } - ], - "id": 10948, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize())\n switch result\n case 0 {\n revert(ptr, returndatasize())\n }\n default {\n return(ptr, returndatasize())\n }\n}", - "src": "4337:403:13" - } - ] - }, - "documentation": "@notice Execute '`@radspec(_target, _data)`' on `_target``_ethValue == 0 ? '' : ' (Sending' + @tokenAmount(0x0000000000000000000000000000000000000000, _ethValue) + ')'`\n@param _target Address where the action is being executed\n@param _ethValue Amount of ETH from the contract that is sent with the action\n@param _data Calldata for the action\n@return Exits call frame forwarding the return data of the executed call (either error or success data)", - "id": 10950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10915, - "name": "EXECUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10806, - "src": "4045:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10917, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4063:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10918, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4072:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10921, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4099:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10920, - "name": "_getSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11528, - "src": "4091:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes memory) pure returns (bytes4)" - } - }, - "id": 10922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4091:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 10919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4083:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4083:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10916, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21917, - "src": "4059:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 10924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4059:48:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 10925, - "modifierName": { - "argumentTypes": null, - "id": 10914, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4039:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4039:69:13" - } - ], - "name": "execute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10908, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3839:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3839:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10910, - "name": "_ethValue", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3856:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3856:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10912, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3875:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10911, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3875:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3838:49:13" - }, - "payable": false, - "returnParameters": { - "id": 10926, - "nodeType": "ParameterList", - "parameters": [], - "src": "4168:0:13" - }, - "scope": 11529, - "src": "3822:918:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11103, - "nodeType": "Block", - "src": "5413:1922:13", - "statements": [ - { - "assignments": [ - 10969 - ], - "declarations": [ - { - "constant": false, - "id": 10969, - "name": "protectedTokensLength", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5423:29:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5423:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10972, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10970, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "5455:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 10971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5455:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5423:54:13" - }, - { - "assignments": [ - 10976 - ], - "declarations": [ - { - "constant": false, - "id": 10976, - "name": "protectedTokens_", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5487:33:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 10974, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5487:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10975, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5487:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10982, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10980, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5537:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5523:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 10977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10978, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5527:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 10981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5523:36:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5487:72:13" - }, - { - "assignments": [ - 10986 - ], - "declarations": [ - { - "constant": false, - "id": 10986, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5569:25:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 10984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5569:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10985, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5569:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10992, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10990, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5611:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5597:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 10987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5601:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10988, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5601:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 10991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5597:36:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5569:64:13" - }, - { - "body": { - "id": 11030, - "nodeType": "Block", - "src": "5696:439:13", - "statements": [ - { - "assignments": [ - 11004 - ], - "declarations": [ - { - "constant": false, - "id": 11004, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5710:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5710:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11008, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11005, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "5726:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11007, - "indexExpression": { - "argumentTypes": null, - "id": 11006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5742:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5710:34:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11010, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "5766:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 11011, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5777:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5766:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11013, - "name": "ERROR_TARGET_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10833, - "src": "5784:22:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11009, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5758:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5758:49:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11015, - "nodeType": "ExpressionStatement", - "src": "5758:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11016, - "name": "protectedTokens_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10976, - "src": "5951:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 11018, - "indexExpression": { - "argumentTypes": null, - "id": 11017, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5968:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5951:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11019, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5973:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5951:27:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11021, - "nodeType": "ExpressionStatement", - "src": "5951:27:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11022, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10986, - "src": "6096:8:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 11024, - "indexExpression": { - "argumentTypes": null, - "id": 11023, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "6105:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6096:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11026, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "6118:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11025, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "6110:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6110:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6096:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11029, - "nodeType": "ExpressionStatement", - "src": "6096:28:13" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10997, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5664:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10998, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5668:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5664:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11031, - "initializationExpression": { - "assignments": [ - 10994 - ], - "declarations": [ - { - "constant": false, - "id": 10994, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5649:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5649:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10996, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 10995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5661:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5649:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5691:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11000, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5691:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11002, - "nodeType": "ExpressionStatement", - "src": "5691:3:13" - }, - "nodeType": "ForStatement", - "src": "5644:491:13" - }, - { - "assignments": [ - 11033 - ], - "declarations": [ - { - "constant": false, - "id": 11033, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6145:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11032, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6145:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11038, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11036, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "6172:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 11034, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "6159:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6159:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", - "typeString": "function () payable returns (bool)" - } - }, - "id": 11037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6159:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6145:33:13" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11040, - "name": "ptr", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6189:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11039, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6189:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11041, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6189:11:13" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11043, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6210:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6210:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11044, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6210:12:13" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "6255:4:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6290:3:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6338:3:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6387:3:13", - "valueSize": 1 - } - } - ], - "id": 11045, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n ptr := mload(0x40)\n mstore(0x40, add(ptr, returndatasize()))\n returndatacopy(ptr, 0, returndatasize())\n}", - "src": "6232:200:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 11046, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11033, - "src": "6434:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11101, - "nodeType": "Block", - "src": "7155:174:13", - "statements": [ - { - "externalReferences": [ - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "7295:3:13", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "7300:4:13", - "valueSize": 1 - } - } - ], - "id": 11100, - "nodeType": "InlineAssembly", - "operations": "{\n revert(ptr, size)\n}", - "src": "7261:68:13" - } - ] - }, - "id": 11102, - "nodeType": "IfStatement", - "src": "6430:899:13", - "trueBody": { - "id": 11099, - "nodeType": "Block", - "src": "6442:707:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11048, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6643:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6643:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11050, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "6669:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6643:47:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11052, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10836, - "src": "6692:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11047, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6635:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6635:89:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11054, - "nodeType": "ExpressionStatement", - "src": "6635:89:13" - }, - { - "body": { - "id": 11089, - "nodeType": "Block", - "src": "6790:218:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11066, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6816:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11068, - "indexExpression": { - "argumentTypes": null, - "id": 11067, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6832:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6816:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11069, - "name": "protectedTokens_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10976, - "src": "6838:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 11071, - "indexExpression": { - "argumentTypes": null, - "id": 11070, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6855:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6838:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6816:41:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11073, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10836, - "src": "6859:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11065, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6808:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6808:83:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11075, - "nodeType": "ExpressionStatement", - "src": "6808:83:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11078, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6925:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11080, - "indexExpression": { - "argumentTypes": null, - "id": 11079, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6941:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6925:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11077, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "6917:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6917:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11082, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10986, - "src": "6948:8:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 11084, - "indexExpression": { - "argumentTypes": null, - "id": 11083, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6957:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6948:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6917:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11086, - "name": "ERROR_PROTECTED_BALANCE_LOWERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10839, - "src": "6961:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11076, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6909:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6909:84:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11088, - "nodeType": "ExpressionStatement", - "src": "6909:84:13" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11059, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6758:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11060, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "6762:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6758:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11090, - "initializationExpression": { - "assignments": [ - 11056 - ], - "declarations": [ - { - "constant": false, - "id": 11056, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6743:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11058, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6785:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11062, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6785:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11064, - "nodeType": "ExpressionStatement", - "src": "6785:3:13" - }, - "nodeType": "ForStatement", - "src": "6738:270:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7039:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7039:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11094, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "7051:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11095, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "7060:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 11091, - "name": "SafeExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10874, - "src": "7027:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,bytes memory)" - } - }, - "id": 11096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:39:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11097, - "nodeType": "EmitStatement", - "src": "7022:44:13" - }, - { - "externalReferences": [ - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "7115:3:13", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "7120:4:13", - "valueSize": 1 - } - } - ], - "id": 11098, - "nodeType": "InlineAssembly", - "operations": "{\n return(ptr, size)\n}", - "src": "7081:68:13" - } - ] - } - } - ] - }, - "documentation": "@notice Execute '`@radspec(_target, _data)`' on `_target` ensuring that protected tokens can't be spent\n@param _target Address where the action is being executed\n@param _data Calldata for the action\n@return Exits call frame forwarding the return data of the executed call (either error or success data)", - "id": 11104, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10957, - "name": "SAFE_EXECUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10809, - "src": "5296:17:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10959, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "5319:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10962, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "5344:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10961, - "name": "_getSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11528, - "src": "5336:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes memory) pure returns (bytes4)" - } - }, - "id": 10963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5336:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 10960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5328:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5328:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10958, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5315:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 10965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5315:37:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 10966, - "modifierName": { - "argumentTypes": null, - "id": 10956, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5290:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5290:63:13" - } - ], - "name": "safeExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10955, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10952, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5109:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5109:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10954, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5126:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10953, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5126:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5108:30:13" - }, - "payable": false, - "returnParameters": { - "id": 10967, - "nodeType": "ParameterList", - "parameters": [], - "src": "5413:0:13" - }, - "scope": 11529, - "src": "5088:2247:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11142, - "nodeType": "Block", - "src": "7586:268:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11116, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "7604:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7604:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11118, - "name": "PROTECTED_TOKENS_CAP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "7629:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7604:45:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11120, - "name": "ERROR_TOKENS_CAP_REACHED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10842, - "src": "7651:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11115, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7596:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7596:80:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11122, - "nodeType": "ExpressionStatement", - "src": "7596:80:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11125, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7703:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11124, - "name": "_isERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11429, - "src": "7694:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7694:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11127, - "name": "ERROR_TOKEN_NOT_ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "7712:21:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7686:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7686:48:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11129, - "nodeType": "ExpressionStatement", - "src": "7686:48:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7752:26:13", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11132, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7771:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11131, - "name": "_tokenIsProtected", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11495, - "src": "7753:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7753:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11135, - "name": "ERROR_TOKEN_ALREADY_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10848, - "src": "7780:29:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11130, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7744:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7744:66:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11137, - "nodeType": "ExpressionStatement", - "src": "7744:66:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11139, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7840:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11138, - "name": "_addProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11379, - "src": "7821:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7821:26:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11141, - "nodeType": "ExpressionStatement", - "src": "7821:26:13" - } - ] - }, - "documentation": "@notice Add `_token.symbol(): string` to the list of protected tokens\n@param _token Address of the token to be protected", - "id": 11143, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11109, - "name": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10812, - "src": "7547:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11111, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7577:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11110, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "7573:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:11:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11113, - "modifierName": { - "argumentTypes": null, - "id": 11108, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "7541:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7541:44:13" - } - ], - "name": "addProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11106, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11143, - "src": "7516:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11114, - "nodeType": "ParameterList", - "parameters": [], - "src": "7586:0:13" - }, - "scope": 11529, - "src": "7489:365:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11165, - "nodeType": "Block", - "src": "8118:118:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11156, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8154:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11155, - "name": "_tokenIsProtected", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11495, - "src": "8136:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8136:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11158, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10851, - "src": "8163:25:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8128:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8128:61:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11160, - "nodeType": "ExpressionStatement", - "src": "8128:61:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11162, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8222:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11161, - "name": "_removeProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "8200:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8200:29:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11164, - "nodeType": "ExpressionStatement", - "src": "8200:29:13" - } - ] - }, - "documentation": "@notice Remove `_token.symbol(): string` from the list of protected tokens\n@param _token Address of the token to be unprotected", - "id": 11166, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11148, - "name": "REMOVE_PROTECTED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8076:27:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11150, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8109:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11149, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "8105:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8105:11:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11152, - "modifierName": { - "argumentTypes": null, - "id": 11147, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8070:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8070:47:13" - } - ], - "name": "removeProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11145, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11166, - "src": "8045:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11144, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8045:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8044:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11153, - "nodeType": "ParameterList", - "parameters": [], - "src": "8118:0:13" - }, - "scope": 11529, - "src": "8015:221:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11189, - "nodeType": "Block", - "src": "8518:88:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11177, - "name": "isPresigned", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10861, - "src": "8528:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 11179, - "indexExpression": { - "argumentTypes": null, - "id": 11178, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8540:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8528:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8549:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8528:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11182, - "nodeType": "ExpressionStatement", - "src": "8528:25:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8581:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8581:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11186, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8593:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11183, - "name": "PresignHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10898, - "src": "8569:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 11187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8569:30:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11188, - "nodeType": "EmitStatement", - "src": "8564:35:13" - } - ] - }, - "documentation": "@notice Pre-sign hash `_hash`\n@param _hash Hash that will be considered signed regardless of the signature checked with 'isValidSignature()'", - "id": 11190, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11171, - "name": "ADD_PRESIGNED_HASH_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10818, - "src": "8477:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11173, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8506:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11172, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21841, - "src": "8502:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32) pure returns (uint256[] memory)" - } - }, - "id": 11174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8502:10:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11175, - "modifierName": { - "argumentTypes": null, - "id": 11170, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8471:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8471:42:13" - } - ], - "name": "presignHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11168, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11190, - "src": "8431:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11167, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8431:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8430:15:13" - }, - "payable": false, - "returnParameters": { - "id": 11176, - "nodeType": "ParameterList", - "parameters": [], - "src": "8518:0:13" - }, - "scope": 11529, - "src": "8410:196:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11225, - "nodeType": "Block", - "src": "8992:656:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11202, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9390:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11204, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29865, - "src": "9419:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 11203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9411:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 11205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9411:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9390:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11207, - "name": "ERROR_DESIGNATED_TO_SELF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10854, - "src": "9426:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11201, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9382:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9382:69:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11209, - "nodeType": "ExpressionStatement", - "src": "9382:69:13" - }, - { - "assignments": [ - 11211 - ], - "declarations": [ - { - "constant": false, - "id": 11211, - "name": "oldDesignatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11226, - "src": "9462:27:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9462:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11213, - "initialValue": { - "argumentTypes": null, - "id": 11212, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "9492:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9462:46:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11214, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "9518:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11215, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9537:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9518:36:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11217, - "nodeType": "ExpressionStatement", - "src": "9518:36:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9590:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9590:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11221, - "name": "oldDesignatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11211, - "src": "9602:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11222, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9623:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11218, - "name": "SetDesignatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10906, - "src": "9570:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 11223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9570:71:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11224, - "nodeType": "EmitStatement", - "src": "9565:76:13" - } - ] - }, - "documentation": "@notice Set `_designatedSigner` as the designated signer of the app, which will be able to sign messages on behalf of the app\n@param _designatedSigner Address that will be able to sign messages on behalf of the app", - "id": 11226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11195, - "name": "DESIGNATE_SIGNER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "8941:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11197, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "8968:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11196, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "8964:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8964:22:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11199, - "modifierName": { - "argumentTypes": null, - "id": 11194, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8935:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8935:52:13" - } - ], - "name": "setDesignatedSigner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11192, - "name": "_designatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11226, - "src": "8883:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8883:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8882:27:13" - }, - "payable": false, - "returnParameters": { - "id": 11200, - "nodeType": "ParameterList", - "parameters": [], - "src": "8992:0:13" - }, - "scope": 11529, - "src": "8854:794:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11233, - "nodeType": "Block", - "src": "9878:28:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9895:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11230, - "id": 11232, - "nodeType": "Return", - "src": "9888:11:13" - } - ] - }, - "documentation": "@notice Tells whether the Agent app is a forwarder or not\n@dev IForwarder interface conformance\n@return Always true", - "id": 11234, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11227, - "nodeType": "ParameterList", - "parameters": [], - "src": "9846:2:13" - }, - "payable": false, - "returnParameters": { - "id": 11230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11229, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11234, - "src": "9872:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11228, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9872:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9871:6:13" - }, - "scope": 11529, - "src": "9826:80:13", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 11268, - "nodeType": "Block", - "src": "10144:385:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11241, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10173:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10173:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11243, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "10185:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11240, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11289 - ], - "referencedDeclaration": 11289, - "src": "10162:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 11244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10162:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11245, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10857, - "src": "10198:21:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11239, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10154:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10154:66:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11247, - "nodeType": "ExpressionStatement", - "src": "10154:66:13" - }, - { - "assignments": [ - 11249 - ], - "declarations": [ - { - "constant": false, - "id": 11249, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10231:18:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11248, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10231:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11251, - "initialValue": { - "argumentTypes": null, - "hexValue": "", - "id": 11250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10252:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10231:23:13" - }, - { - "assignments": [ - 11255 - ], - "declarations": [ - { - "constant": false, - "id": 11255, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10276:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 11253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10276:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11254, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10276:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11261, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319: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": 11258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "10305:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 11256, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10309:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11257, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10309:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 11260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10305:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10276:45:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11263, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "10390:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11264, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11249, - "src": "10402:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11265, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11255, - "src": "10409:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 11262, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "10380:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 11266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10380:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11267, - "nodeType": "ExpressionStatement", - "src": "10380:39:13" - } - ] - }, - "documentation": "@notice Execute the script as the Agent app\n@dev IForwarder interface conformance. Forwards any token holder action.\n@param _evmScript Script being executed", - "id": 11269, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11236, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10119:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11235, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10119:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:18:13" - }, - "payable": false, - "returnParameters": { - "id": 11238, - "nodeType": "ParameterList", - "parameters": [], - "src": "10144:0:13" - }, - "scope": 11529, - "src": "10102:427:13", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 11288, - "nodeType": "Block", - "src": "10889:180:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11279, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11271, - "src": "11000:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11280, - "name": "RUN_SCRIPT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10824, - "src": "11009:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11283, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11273, - "src": "11049:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11282, - "name": "_getScriptACLParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11512, - "src": "11030:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 11284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11030:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11281, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "11026:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 11285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11026:35:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 11278, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "10989:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 11286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10989:73:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11277, - "id": 11287, - "nodeType": "Return", - "src": "10982:80:13" - } - ] - }, - "documentation": "@notice Tells whether `_sender` can forward actions or not\n@dev IForwarder interface conformance\n@param _sender Address of the account intending to forward an action\n@return True if the given address can run scripts, false otherwise", - "id": 11289, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11271, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10827:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11270, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10827:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11273, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10844:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11272, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10844:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10826:35:13" - }, - "payable": false, - "returnParameters": { - "id": 11277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11276, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10883:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11275, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10883:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10882:6:13" - }, - "scope": 11529, - "src": "10807:262:13", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 11304, - "nodeType": "Block", - "src": "11386:123:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11296, - "name": "_interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11291, - "src": "11415:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11297, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11914, - "src": "11431:20:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11415:36:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11299, - "name": "_interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11291, - "src": "11467:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11300, - "name": "ERC165_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10830, - "src": "11483:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11467:35:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11415:87:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11295, - "id": 11303, - "nodeType": "Return", - "src": "11396:106:13" - } - ] - }, - "documentation": "@notice Tells whether this contract supports a given ERC-165 interface\n@param _interfaceId Interface bytes to check\n@return True if this contract supports the interface", - "id": 11305, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11291, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 11305, - "src": "11336:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11290, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11336:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11335:21:13" - }, - "payable": false, - "returnParameters": { - "id": 11295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11294, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11305, - "src": "11380:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11293, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11380:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11379:6:13" - }, - "scope": 11529, - "src": "11309:200:13", - "stateMutability": "pure", - "superFunction": 11972, - "visibility": "external" - }, - { - "body": { - "id": 11351, - "nodeType": "Block", - "src": "11955:540:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11314, - "name": "isPresigned", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10861, - "src": "12117:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 11316, - "indexExpression": { - "argumentTypes": null, - "id": 11315, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "12129:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12117:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11322, - "nodeType": "IfStatement", - "src": "12113:95:13", - "trueBody": { - "id": 11321, - "nodeType": "Block", - "src": "12137:71:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12192:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 11317, - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11942, - "src": "12158:33:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_bytes4_$", - "typeString": "function (bool) pure returns (bytes4)" - } - }, - "id": 11319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12158:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11313, - "id": 11320, - "nodeType": "Return", - "src": "12151:46:13" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11324, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "12218:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11323, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12218:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11325, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12218:12:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11326, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "12244:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12272: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": 11327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12264:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 11329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12264:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12244:30:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11345, - "nodeType": "Block", - "src": "12322:107:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11336, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12336:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11339, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "12382:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11340, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "12389:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11341, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "12407:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11337, - "name": "SignatureValidator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11909, - "src": "12346:18:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$11909_$", - "typeString": "type(library SignatureValidator)" - } - }, - "id": 11338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isValidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 11638, - "src": "12346:35:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) view returns (bool)" - } - }, - "id": 11342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12346:72:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12336:82:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11344, - "nodeType": "ExpressionStatement", - "src": "12336:82:13" - } - ] - }, - "id": 11346, - "nodeType": "IfStatement", - "src": "12240:189:13", - "trueBody": { - "id": 11335, - "nodeType": "Block", - "src": "12276:40:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11331, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12290:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12300:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12290:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11334, - "nodeType": "ExpressionStatement", - "src": "12290:15:13" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11348, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12480:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 11347, - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11942, - "src": "12446:33:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_bytes4_$", - "typeString": "function (bool) pure returns (bytes4)" - } - }, - "id": 11349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12446:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11313, - "id": 11350, - "nodeType": "Return", - "src": "12439:49:13" - } - ] - }, - "documentation": "@notice Tells whether a signature is seen as valid by this contract through ERC-1271\n@param _hash Arbitrary length data signed on the behalf of address (this)\n@param _signature Signature byte array associated with _data\n@return The ERC-1271 magic value if the signature is valid", - "id": 11352, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11307, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11893:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11306, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11893:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11309, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11908:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11308, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11908:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11892:33:13" - }, - "payable": false, - "returnParameters": { - "id": 11313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11947:6:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11311, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11947:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11946:8:13" - }, - "scope": 11529, - "src": "11867:628:13", - "stateMutability": "view", - "superFunction": 11929, - "visibility": "public" - }, - { - "body": { - "id": 11362, - "nodeType": "Block", - "src": "12597:46:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11359, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12614:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12614:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11358, - "id": 11361, - "nodeType": "Return", - "src": "12607:29:13" - } - ] - }, - "documentation": null, - "id": 11363, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 11355, - "modifierName": { - "argumentTypes": null, - "id": 11354, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12565:13:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12565:13:13" - } - ], - "name": "getProtectedTokensLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11353, - "nodeType": "ParameterList", - "parameters": [], - "src": "12550:2:13" - }, - "payable": false, - "returnParameters": { - "id": 11358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11357, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11363, - "src": "12588:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12588:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12587:9:13" - }, - "scope": 11529, - "src": "12517:126:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11378, - "nodeType": "Block", - "src": "12723:86:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11371, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11365, - "src": "12754:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 11368, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12733:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12733:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 11372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12733:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11373, - "nodeType": "ExpressionStatement", - "src": "12733:28:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11375, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11365, - "src": "12795:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11374, - "name": "AddProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "12777:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12777:25:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11377, - "nodeType": "EmitStatement", - "src": "12772:30:13" - } - ] - }, - "documentation": null, - "id": 11379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11365, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11379, - "src": "12698:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12698:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12697:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11367, - "nodeType": "ParameterList", - "parameters": [], - "src": "12723:0:13" - }, - "scope": 11529, - "src": "12670:139:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11406, - "nodeType": "Block", - "src": "12871:186:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11384, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12881:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11388, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11386, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11381, - "src": "12918:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11385, - "name": "_protectedTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11463, - "src": "12897:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12897:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12881:45:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11389, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12929:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11394, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11390, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12945:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12945:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12970:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12945:26:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12929:43:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12881:91:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11396, - "nodeType": "ExpressionStatement", - "src": "12881:91:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "12982:24:13", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11397, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12982:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12982:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11401, - "nodeType": "ExpressionStatement", - "src": "12982:24:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11403, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11381, - "src": "13043:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11402, - "name": "RemoveProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10892, - "src": "13022:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13022:28:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11405, - "nodeType": "EmitStatement", - "src": "13017:33:13" - } - ] - }, - "documentation": null, - "id": 11407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11381, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11407, - "src": "12846:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12846:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12845:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11383, - "nodeType": "ParameterList", - "parameters": [], - "src": "12871:0:13" - }, - "scope": 11529, - "src": "12815:242:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11428, - "nodeType": "Block", - "src": "13126:224:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13140:19:13", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11415, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11409, - "src": "13152:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11414, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "13141:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13141:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11421, - "nodeType": "IfStatement", - "src": "13136:62:13", - "trueBody": { - "id": 11420, - "nodeType": "Block", - "src": "13161:37:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13182:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11413, - "id": 11419, - "nodeType": "Return", - "src": "13175:12:13" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11423, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11409, - "src": "13314:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11422, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "13306:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13306:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11425, - "nodeType": "ExpressionStatement", - "src": "13306:15:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13339:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11413, - "id": 11427, - "nodeType": "Return", - "src": "13332:11:13" - } - ] - }, - "documentation": null, - "id": 11429, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isERC20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11409, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11429, - "src": "13081:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13081:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11412, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11429, - "src": "13120:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11411, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13120:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13119:6:13" - }, - "scope": 11529, - "src": "13063:287:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11462, - "nodeType": "Block", - "src": "13434:207:13", - "statements": [ - { - "body": { - "id": 11456, - "nodeType": "Block", - "src": "13494:97:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11447, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13512:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11449, - "indexExpression": { - "argumentTypes": null, - "id": 11448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13528:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13512:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11450, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11431, - "src": "13534:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13512:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11455, - "nodeType": "IfStatement", - "src": "13508:73:13", - "trueBody": { - "id": 11454, - "nodeType": "Block", - "src": "13542:39:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13565:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11435, - "id": 11453, - "nodeType": "Return", - "src": "13558:8:13" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11440, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13461:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11441, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13465:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13465:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13461:26:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11457, - "initializationExpression": { - "assignments": [ - 11437 - ], - "declarations": [ - { - "constant": false, - "id": 11437, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13449:6:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11436, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13449:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11439, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13458:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13449:10:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13489:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11444, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13489:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11446, - "nodeType": "ExpressionStatement", - "src": "13489:3:13" - }, - "nodeType": "ForStatement", - "src": "13444:147:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11459, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10851, - "src": "13608:25:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11458, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "13601:6:13", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 11460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13601:33:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11461, - "nodeType": "ExpressionStatement", - "src": "13601:33:13" - } - ] - }, - "documentation": null, - "id": 11463, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_protectedTokenIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11431, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13386:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13386:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13385:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11434, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13425:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13425:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13424:9:13" - }, - "scope": 11529, - "src": "13356:285:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11494, - "nodeType": "Block", - "src": "13719:194:13", - "statements": [ - { - "body": { - "id": 11490, - "nodeType": "Block", - "src": "13782:102:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11481, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13800:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11483, - "indexExpression": { - "argumentTypes": null, - "id": 11482, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13816:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13800:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11484, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11465, - "src": "13822:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13800:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11489, - "nodeType": "IfStatement", - "src": "13796:78:13", - "trueBody": { - "id": 11488, - "nodeType": "Block", - "src": "13830:44:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13855:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11469, - "id": 11487, - "nodeType": "Return", - "src": "13848:11:13" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11474, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13749:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11475, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13753:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13753:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13749:26:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11491, - "initializationExpression": { - "assignments": [ - 11471 - ], - "declarations": [ - { - "constant": false, - "id": 11471, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13734:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13734:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11473, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13746:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13734:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13777:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11478, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13777:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11480, - "nodeType": "ExpressionStatement", - "src": "13777:3:13" - }, - "nodeType": "ForStatement", - "src": "13729:155:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13901:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11469, - "id": 11493, - "nodeType": "Return", - "src": "13894:12:13" - } - ] - }, - "documentation": null, - "id": 11495, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsProtected", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11465, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13674:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13674:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13673:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11468, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13713:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11467, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13713:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13712:6:13" - }, - "scope": 11529, - "src": "13647:266:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11511, - "nodeType": "Block", - "src": "13997:72:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11506, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11497, - "src": "14049:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11504, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "14032:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14032:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 11507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14032:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11503, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "14022:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14022:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14014:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 11509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14014:48:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11501, - "id": 11510, - "nodeType": "Return", - "src": "14007:55:13" - } - ] - }, - "documentation": null, - "id": 11512, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getScriptACLParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11497, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11512, - "src": "13947:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11496, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13947:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13946:18:13" - }, - "payable": false, - "returnParameters": { - "id": 11501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11512, - "src": "13988:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13988:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13987:9:13" - }, - "scope": 11529, - "src": "13919:150:13", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11527, - "nodeType": "Block", - "src": "14140:122:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11519, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11514, - "src": "14154:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14154:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 11521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14169:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "14154:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11525, - "nodeType": "IfStatement", - "src": "14150:53:13", - "trueBody": { - "id": 11524, - "nodeType": "Block", - "src": "14172:31:13", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11518, - "id": 11523, - "nodeType": "Return", - "src": "14186:7:13" - } - ] - } - }, - { - "externalReferences": [ - { - "sig": { - "declaration": 11517, - "isOffset": false, - "isSlot": false, - "src": "14224:3:13", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 11514, - "isOffset": false, - "isSlot": false, - "src": "14241:5:13", - "valueSize": 1 - } - } - ], - "id": 11526, - "nodeType": "InlineAssembly", - "operations": "{\n sig := mload(add(_data, 0x20))\n}", - "src": "14213:49:13" - } - ] - }, - "documentation": null, - "id": 11528, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11514, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11528, - "src": "14092:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11513, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14092:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14091:13:13" - }, - "payable": false, - "returnParameters": { - "id": 11518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11517, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 11528, - "src": "14128:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11516, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "14128:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14127:12:13" - }, - "scope": 11529, - "src": "14075:187:13", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11530, - "src": "291:13973:13" - } - ], - "src": "57:14208:13" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "exportedSymbols": { - "Agent": [ - 11529 - ] - }, - "id": 11530, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10788, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:13" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/SignatureValidator.sol", - "file": "./SignatureValidator.sol", - "id": 10789, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11910, - "src": "82:34:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/IERC165.sol", - "file": "./standards/IERC165.sol", - "id": 10790, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11974, - "src": "117:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "file": "./standards/ERC1271.sol", - "id": 10791, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 11964, - "src": "151:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 10792, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 19336, - "src": "186:48:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 10793, - "nodeType": "ImportDirective", - "scope": 11530, - "sourceUnit": 23672, - "src": "236:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10794, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11973, - "src": "309:7:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$11973", - "typeString": "contract IERC165" - } - }, - "id": 10795, - "nodeType": "InheritanceSpecifier", - "src": "309:7:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10796, - "name": "ERC1271Bytes", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11963, - "src": "318:12:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271Bytes_$11963", - "typeString": "contract ERC1271Bytes" - } - }, - "id": 10797, - "nodeType": "InheritanceSpecifier", - "src": "318:12:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10798, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "332:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 10799, - "nodeType": "InheritanceSpecifier", - "src": "332:10:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10800, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "344:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 10801, - "nodeType": "InheritanceSpecifier", - "src": "344:10:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10802, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "356:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 10803, - "nodeType": "InheritanceSpecifier", - "src": "356:5:13" - } - ], - "contractDependencies": [ - 11943, - 11963, - 11973, - 19335, - 22236, - 23329, - 23453, - 23466, - 23641, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 11529, - "linearizedBaseContracts": [ - 11529, - 19335, - 23641, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671, - 11963, - 11943, - 11973 - ], - "name": "Agent", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 10806, - "name": "EXECUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1015:105:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10804, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1015:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863656266353137616134343430643164313235653033353561616536343430313231316430383438613233633032636335643239613134383232353830626134", - "id": 10805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1054:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93514476945392341323698752175392171813594054718404481869820659091053120850852_by_1", - "typeString": "int_const 9351...(69 digits omitted)...0852" - }, - "value": "0xcebf517aa4440d1d125e0355aae64401211d0848a23c02cc5d29a14822580ba4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10809, - "name": "SAFE_EXECUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1126:110:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10807, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1126:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830613161643762383766353834363135336336643561316637363164373163376430636664313232333834663536303636636433333233396237393333363934", - "id": 10808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1170:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4570555359022623364366161408246930247137478170148955281124061291223599756948_by_1", - "typeString": "int_const 4570...(68 digits omitted)...6948" - }, - "value": "0x0a1ad7b87f5846153c6d5a1f761d71c7d0cfd122384f56066cd33239b7933694" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10812, - "name": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1242:117:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10810, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1242:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836656232613439393535366266613238373266356161313538313262393536636334613731623464363465623335353366373037336337653431343135616161", - "id": 10811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1293:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50070048141958532885390151594543453454252498412769530962629210555815987075754_by_1", - "typeString": "int_const 5007...(69 digits omitted)...5754" - }, - "value": "0x6eb2a499556bfa2872f5aa15812b956cc4a71b4d64eb3553f7073c7e41415aaa" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10815, - "name": "REMOVE_PROTECTED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1365:120:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10813, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1365:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837316565653933643530306636663036356533386232376432343261373536343636613030613532613164626364366234323630663031613836343034303261", - "id": 10814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51533471251213238639848311106660097917959847668656318606373264472047911714858_by_1", - "typeString": "int_const 5153...(69 digits omitted)...4858" - }, - "value": "0x71eee93d500f6f065e38b27d242a756466a00a52a1dbcd6b4260f01a8640402a" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10818, - "name": "ADD_PRESIGNED_HASH_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1491:116:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10816, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1491:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830623239373830626235323361313330623362303166323331656634396564326661323738313634353539316130623061343463613938663135613539393463", - "id": 10817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1541:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5048710589269054215548367542645921883989389101066863949389312863133046774092_by_1", - "typeString": "int_const 5048...(68 digits omitted)...4092" - }, - "value": "0x0b29780bb523a130b3b01f231ef49ed2fa2781645591a0b0a44ca98f15a5994c" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10821, - "name": "DESIGNATE_SIGNER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1613:114:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10819, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1613:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832336365333431363536633366313464663636393265656264343735373739316533333636326237646366393937306338333038333033646135343732623763", - "id": 10820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1661:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16195279688824993743704330879939753562709736882221113052229573625931471727484_by_1", - "typeString": "int_const 1619...(69 digits omitted)...7484" - }, - "value": "0x23ce341656c3f14df6692eebd4757791e33662b7dcf9970c8308303da5472b7c" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10824, - "name": "RUN_SCRIPT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1733:108:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10822, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1733:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862343231663761643736343637343766333035316335306330623865323337373833393239366364343937336532376636333832316437336533393033333866", - "id": 10823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1775:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81476328105999901226223490645037451521678668244692051057539916724333771240335_by_1", - "typeString": "int_const 8147...(69 digits omitted)...0335" - }, - "value": "0xb421f7ad7646747f3051c50c0b8e2377839296cd4973e27f63821d73e390338f" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10827, - "name": "PROTECTED_TOKENS_CAP", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1848:49:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1895:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 10830, - "name": "ERC165_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1904:56:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 10828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1904:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 10829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1950:10:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10833, - "name": "ERROR_TARGET_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "1967:73:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10831, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1967:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f5441524745545f50524f544543544544", - "id": 10832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2016:24:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c85762ac7c1ec3f3d1c10434915e4b771d5774e9dcb2767ce20784a8aad37898", - "typeString": "literal_string \"AGENT_TARGET_PROTECTED\"" - }, - "value": "AGENT_TARGET_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10836, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2046:91:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10834, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2046:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f50524f5445435445445f544f4b454e535f4d4f444946494544", - "id": 10835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:33:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1fc5557ccd4afc8b95b7acc419b1af04ea55f845b301503eccdde8ee3bf51e06", - "typeString": "literal_string \"AGENT_PROTECTED_TOKENS_MODIFIED\"" - }, - "value": "AGENT_PROTECTED_TOKENS_MODIFIED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10839, - "name": "ERROR_PROTECTED_BALANCE_LOWERED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2143:91:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10837, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2143:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f50524f5445435445445f42414c414e43455f4c4f5745524544", - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2201:33:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28414a49c53740740de78add8270fe4f82e095e225b0d2e477cdd49b9a4b388d", - "typeString": "literal_string \"AGENT_PROTECTED_BALANCE_LOWERED\"" - }, - "value": "AGENT_PROTECTED_BALANCE_LOWERED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10842, - "name": "ERROR_TOKENS_CAP_REACHED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2240:77:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2240:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e535f4341505f52454143484544", - "id": 10841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2291:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57663ff4801a3c22d88409cbb8dcfbf916b6c3713e259aca2f593e8697942d0d", - "typeString": "literal_string \"AGENT_TOKENS_CAP_REACHED\"" - }, - "value": "AGENT_TOKENS_CAP_REACHED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10845, - "name": "ERROR_TOKEN_NOT_ERC20", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2323:71:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10843, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2323:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f4e4f545f4552433230", - "id": 10844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2371:23:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_39796f76137f2bbed669458c7ad7191298f7a7c291a99c9d9c9f62a526cd4819", - "typeString": "literal_string \"AGENT_TOKEN_NOT_ERC20\"" - }, - "value": "AGENT_TOKEN_NOT_ERC20" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10848, - "name": "ERROR_TOKEN_ALREADY_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2400:87:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10846, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2400:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f414c52454144595f50524f544543544544", - "id": 10847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2456:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_731b3a84beea2ac39983e0127735a0031295957862816274c0e8ac558724e402", - "typeString": "literal_string \"AGENT_TOKEN_ALREADY_PROTECTED\"" - }, - "value": "AGENT_TOKEN_ALREADY_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10851, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2493:79:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10849, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f544f4b454e5f4e4f545f50524f544543544544", - "id": 10850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2545:27:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff6159780ef0646c6d669a957f66b4cdc1fa3673e54e6a22ad33efed09c33542", - "typeString": "literal_string \"AGENT_TOKEN_NOT_PROTECTED\"" - }, - "value": "AGENT_TOKEN_NOT_PROTECTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10854, - "name": "ERROR_DESIGNATED_TO_SELF", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2578:77:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2578:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f44455349474e415445445f544f5f53454c46", - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2629:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2df64caebfdd5bf6921069a1965c1da2d06049cd96fc4b9b57a3d0d223629d5c", - "typeString": "literal_string \"AGENT_DESIGNATED_TO_SELF\"" - }, - "value": "AGENT_DESIGNATED_TO_SELF" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10857, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2661:71:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 10855, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2661:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4147454e545f43414e5f4e4f545f464f5257415244", - "id": 10856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2709:23:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_15935b267bc66bb213603e9467e66dc2a0f614035cd8bc4924f3fad24e9b914a", - "typeString": "literal_string \"AGENT_CAN_NOT_FORWARD\"" - }, - "value": "AGENT_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10861, - "name": "isPresigned", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2739:44:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 10860, - "keyType": { - "id": 10858, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2739:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 10859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2759:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 10863, - "name": "designatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2789:31:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2789:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 10866, - "name": "protectedTokens", - "nodeType": "VariableDeclaration", - "scope": 11529, - "src": "2826:32:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 10864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2826:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10865, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2826:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 10874, - "name": "SafeExecute", - "nodeType": "EventDefinition", - "parameters": { - "id": 10873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10868, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2883:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2883:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10870, - "indexed": true, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2907:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2907:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10872, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 10874, - "src": "2931:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10871, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2931:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2882:60:13" - }, - "src": "2865:78:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10884, - "name": "Execute", - "nodeType": "EventDefinition", - "parameters": { - "id": 10883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10876, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "2962:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10878, - "indexed": true, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "2986:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2986:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10880, - "indexed": false, - "name": "ethValue", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "3010:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3010:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10882, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 10884, - "src": "3028:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3028:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2961:78:13" - }, - "src": "2948:92:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10888, - "name": "AddProtectedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 10887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10886, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 10888, - "src": "3069:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3069:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3068:23:13" - }, - "src": "3045:47:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10892, - "name": "RemoveProtectedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 10891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10890, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 10892, - "src": "3124:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3124:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:23:13" - }, - "src": "3097:50:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10898, - "name": "PresignHash", - "nodeType": "EventDefinition", - "parameters": { - "id": 10897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10894, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10898, - "src": "3170:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3170:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10896, - "indexed": true, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 10898, - "src": "3194:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10895, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3194:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3169:46:13" - }, - "src": "3152:64:13" - }, - { - "anonymous": false, - "documentation": null, - "id": 10906, - "name": "SetDesignatedSigner", - "nodeType": "EventDefinition", - "parameters": { - "id": 10905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10900, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3247:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10899, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3247:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10902, - "indexed": true, - "name": "oldSigner", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3271:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10901, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3271:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10904, - "indexed": true, - "name": "newSigner", - "nodeType": "VariableDeclaration", - "scope": 10906, - "src": "3298:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3298:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3246:78:13" - }, - "src": "3221:104:13" - }, - { - "body": { - "id": 10949, - "nodeType": "Block", - "src": "4168:572:13", - "statements": [ - { - "assignments": [ - 10928 - ], - "declarations": [ - { - "constant": false, - "id": 10928, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "4178:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10927, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4178:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10936, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10934, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4222:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 10932, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4211:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10929, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4192:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", - "typeString": "function () payable returns (bool)" - } - }, - "id": 10931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function () payable returns (bool))" - } - }, - "id": 10933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:29:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value", - "typeString": "function () payable returns (bool)" - } - }, - "id": 10935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:36:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4178:50:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 10937, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10928, - "src": "4243:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10947, - "nodeType": "IfStatement", - "src": "4239:88:13", - "trueBody": { - "id": 10946, - "nodeType": "Block", - "src": "4251:76:13", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10939, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4278:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 10940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4278:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10941, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4290:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10942, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4299:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10943, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4310:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10938, - "name": "Execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10884, - "src": "4270:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 10944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4270:46:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10945, - "nodeType": "EmitStatement", - "src": "4265:51:13" - } - ] - } - }, - { - "externalReferences": [ - { - "result": { - "declaration": 10928, - "isOffset": false, - "isSlot": false, - "src": "4627:6:13", - "valueSize": 1 - } - } - ], - "id": 10948, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize())\n switch result\n case 0 {\n revert(ptr, returndatasize())\n }\n default {\n return(ptr, returndatasize())\n }\n}", - "src": "4337:403:13" - } - ] - }, - "documentation": "@notice Execute '`@radspec(_target, _data)`' on `_target``_ethValue == 0 ? '' : ' (Sending' + @tokenAmount(0x0000000000000000000000000000000000000000, _ethValue) + ')'`\n@param _target Address where the action is being executed\n@param _ethValue Amount of ETH from the contract that is sent with the action\n@param _data Calldata for the action\n@return Exits call frame forwarding the return data of the executed call (either error or success data)", - "id": 10950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10915, - "name": "EXECUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10806, - "src": "4045:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10917, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10908, - "src": "4063:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10918, - "name": "_ethValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10910, - "src": "4072:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10921, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10912, - "src": "4099:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10920, - "name": "_getSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11528, - "src": "4091:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes memory) pure returns (bytes4)" - } - }, - "id": 10922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4091:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 10919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4083:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4083:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10916, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21917, - "src": "4059:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 10924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4059:48:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 10925, - "modifierName": { - "argumentTypes": null, - "id": 10914, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4039:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4039:69:13" - } - ], - "name": "execute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10908, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3839:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3839:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10910, - "name": "_ethValue", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3856:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3856:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10912, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 10950, - "src": "3875:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10911, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3875:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3838:49:13" - }, - "payable": false, - "returnParameters": { - "id": 10926, - "nodeType": "ParameterList", - "parameters": [], - "src": "4168:0:13" - }, - "scope": 11529, - "src": "3822:918:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11103, - "nodeType": "Block", - "src": "5413:1922:13", - "statements": [ - { - "assignments": [ - 10969 - ], - "declarations": [ - { - "constant": false, - "id": 10969, - "name": "protectedTokensLength", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5423:29:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5423:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10972, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10970, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "5455:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 10971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5455:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5423:54:13" - }, - { - "assignments": [ - 10976 - ], - "declarations": [ - { - "constant": false, - "id": 10976, - "name": "protectedTokens_", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5487:33:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 10974, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5487:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10975, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5487:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10982, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10980, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5537:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5523:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 10977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10978, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5527:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 10981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5523:36:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5487:72:13" - }, - { - "assignments": [ - 10986 - ], - "declarations": [ - { - "constant": false, - "id": 10986, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5569:25:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 10984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5569:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10985, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5569:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10992, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10990, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5611:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5597:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 10987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5601:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10988, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5601:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 10991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5597:36:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5569:64:13" - }, - { - "body": { - "id": 11030, - "nodeType": "Block", - "src": "5696:439:13", - "statements": [ - { - "assignments": [ - 11004 - ], - "declarations": [ - { - "constant": false, - "id": 11004, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5710:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5710:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11008, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11005, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "5726:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11007, - "indexExpression": { - "argumentTypes": null, - "id": 11006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5742:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5710:34:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11010, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "5766:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 11011, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5777:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5766:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11013, - "name": "ERROR_TARGET_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10833, - "src": "5784:22:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11009, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5758:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5758:49:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11015, - "nodeType": "ExpressionStatement", - "src": "5758:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11016, - "name": "protectedTokens_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10976, - "src": "5951:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 11018, - "indexExpression": { - "argumentTypes": null, - "id": 11017, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5968:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5951:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11019, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5973:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5951:27:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11021, - "nodeType": "ExpressionStatement", - "src": "5951:27:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11022, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10986, - "src": "6096:8:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 11024, - "indexExpression": { - "argumentTypes": null, - "id": 11023, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "6105:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6096:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11026, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "6118:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11025, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "6110:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6110:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6096:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11029, - "nodeType": "ExpressionStatement", - "src": "6096:28:13" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10997, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5664:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10998, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "5668:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5664:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11031, - "initializationExpression": { - "assignments": [ - 10994 - ], - "declarations": [ - { - "constant": false, - "id": 10994, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5649:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5649:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10996, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 10995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5661:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5649:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5691:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11000, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10994, - "src": "5691:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11002, - "nodeType": "ExpressionStatement", - "src": "5691:3:13" - }, - "nodeType": "ForStatement", - "src": "5644:491:13" - }, - { - "assignments": [ - 11033 - ], - "declarations": [ - { - "constant": false, - "id": 11033, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6145:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11032, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6145:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11038, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11036, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "6172:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 11034, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "6159:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6159:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", - "typeString": "function () payable returns (bool)" - } - }, - "id": 11037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6159:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6145:33:13" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11040, - "name": "ptr", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6189:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11039, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6189:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11041, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6189:11:13" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11043, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6210:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6210:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11044, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6210:12:13" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "6255:4:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6290:3:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6338:3:13", - "valueSize": 1 - } - }, - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "6387:3:13", - "valueSize": 1 - } - } - ], - "id": 11045, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n ptr := mload(0x40)\n mstore(0x40, add(ptr, returndatasize()))\n returndatacopy(ptr, 0, returndatasize())\n}", - "src": "6232:200:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 11046, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11033, - "src": "6434:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11101, - "nodeType": "Block", - "src": "7155:174:13", - "statements": [ - { - "externalReferences": [ - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "7295:3:13", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "7300:4:13", - "valueSize": 1 - } - } - ], - "id": 11100, - "nodeType": "InlineAssembly", - "operations": "{\n revert(ptr, size)\n}", - "src": "7261:68:13" - } - ] - }, - "id": 11102, - "nodeType": "IfStatement", - "src": "6430:899:13", - "trueBody": { - "id": 11099, - "nodeType": "Block", - "src": "6442:707:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11048, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6643:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6643:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11050, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "6669:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6643:47:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11052, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10836, - "src": "6692:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11047, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6635:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6635:89:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11054, - "nodeType": "ExpressionStatement", - "src": "6635:89:13" - }, - { - "body": { - "id": 11089, - "nodeType": "Block", - "src": "6790:218:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11066, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6816:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11068, - "indexExpression": { - "argumentTypes": null, - "id": 11067, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6832:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6816:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11069, - "name": "protectedTokens_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10976, - "src": "6838:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 11071, - "indexExpression": { - "argumentTypes": null, - "id": 11070, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6855:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6838:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6816:41:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11073, - "name": "ERROR_PROTECTED_TOKENS_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10836, - "src": "6859:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11065, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6808:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6808:83:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11075, - "nodeType": "ExpressionStatement", - "src": "6808:83:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11078, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "6925:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11080, - "indexExpression": { - "argumentTypes": null, - "id": 11079, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6941:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6925:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11077, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "6917:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6917:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11082, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10986, - "src": "6948:8:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 11084, - "indexExpression": { - "argumentTypes": null, - "id": 11083, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6957:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6948:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6917:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11086, - "name": "ERROR_PROTECTED_BALANCE_LOWERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10839, - "src": "6961:31:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11076, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6909:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6909:84:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11088, - "nodeType": "ExpressionStatement", - "src": "6909:84:13" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11059, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6758:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11060, - "name": "protectedTokensLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10969, - "src": "6762:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6758:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11090, - "initializationExpression": { - "assignments": [ - 11056 - ], - "declarations": [ - { - "constant": false, - "id": 11056, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "6743:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11058, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6785:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11062, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11056, - "src": "6785:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11064, - "nodeType": "ExpressionStatement", - "src": "6785:3:13" - }, - "nodeType": "ForStatement", - "src": "6738:270:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7039:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7039:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11094, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "7051:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11095, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "7060:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 11091, - "name": "SafeExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10874, - "src": "7027:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,bytes memory)" - } - }, - "id": 11096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:39:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11097, - "nodeType": "EmitStatement", - "src": "7022:44:13" - }, - { - "externalReferences": [ - { - "ptr": { - "declaration": 11040, - "isOffset": false, - "isSlot": false, - "src": "7115:3:13", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11043, - "isOffset": false, - "isSlot": false, - "src": "7120:4:13", - "valueSize": 1 - } - } - ], - "id": 11098, - "nodeType": "InlineAssembly", - "operations": "{\n return(ptr, size)\n}", - "src": "7081:68:13" - } - ] - } - } - ] - }, - "documentation": "@notice Execute '`@radspec(_target, _data)`' on `_target` ensuring that protected tokens can't be spent\n@param _target Address where the action is being executed\n@param _data Calldata for the action\n@return Exits call frame forwarding the return data of the executed call (either error or success data)", - "id": 11104, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10957, - "name": "SAFE_EXECUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10809, - "src": "5296:17:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10959, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10952, - "src": "5319:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10962, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10954, - "src": "5344:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 10961, - "name": "_getSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11528, - "src": "5336:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes memory) pure returns (bytes4)" - } - }, - "id": 10963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5336:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 10960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5328:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5328:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10958, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5315:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 10965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5315:37:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 10966, - "modifierName": { - "argumentTypes": null, - "id": 10956, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5290:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5290:63:13" - } - ], - "name": "safeExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10955, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10952, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5109:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5109:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10954, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11104, - "src": "5126:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10953, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5126:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5108:30:13" - }, - "payable": false, - "returnParameters": { - "id": 10967, - "nodeType": "ParameterList", - "parameters": [], - "src": "5413:0:13" - }, - "scope": 11529, - "src": "5088:2247:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11142, - "nodeType": "Block", - "src": "7586:268:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11116, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "7604:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7604:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11118, - "name": "PROTECTED_TOKENS_CAP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "7629:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7604:45:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11120, - "name": "ERROR_TOKENS_CAP_REACHED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10842, - "src": "7651:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11115, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7596:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7596:80:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11122, - "nodeType": "ExpressionStatement", - "src": "7596:80:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11125, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7703:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11124, - "name": "_isERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11429, - "src": "7694:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7694:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11127, - "name": "ERROR_TOKEN_NOT_ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "7712:21:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7686:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7686:48:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11129, - "nodeType": "ExpressionStatement", - "src": "7686:48:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7752:26:13", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11132, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7771:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11131, - "name": "_tokenIsProtected", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11495, - "src": "7753:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7753:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11135, - "name": "ERROR_TOKEN_ALREADY_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10848, - "src": "7780:29:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11130, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7744:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7744:66:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11137, - "nodeType": "ExpressionStatement", - "src": "7744:66:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11139, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7840:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11138, - "name": "_addProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11379, - "src": "7821:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7821:26:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11141, - "nodeType": "ExpressionStatement", - "src": "7821:26:13" - } - ] - }, - "documentation": "@notice Add `_token.symbol(): string` to the list of protected tokens\n@param _token Address of the token to be protected", - "id": 11143, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11109, - "name": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10812, - "src": "7547:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11111, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11106, - "src": "7577:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11110, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "7573:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:11:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11113, - "modifierName": { - "argumentTypes": null, - "id": 11108, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "7541:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7541:44:13" - } - ], - "name": "addProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11106, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11143, - "src": "7516:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11114, - "nodeType": "ParameterList", - "parameters": [], - "src": "7586:0:13" - }, - "scope": 11529, - "src": "7489:365:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11165, - "nodeType": "Block", - "src": "8118:118:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11156, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8154:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11155, - "name": "_tokenIsProtected", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11495, - "src": "8136:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8136:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11158, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10851, - "src": "8163:25:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8128:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8128:61:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11160, - "nodeType": "ExpressionStatement", - "src": "8128:61:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11162, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8222:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11161, - "name": "_removeProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "8200:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8200:29:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11164, - "nodeType": "ExpressionStatement", - "src": "8200:29:13" - } - ] - }, - "documentation": "@notice Remove `_token.symbol(): string` from the list of protected tokens\n@param _token Address of the token to be unprotected", - "id": 11166, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11148, - "name": "REMOVE_PROTECTED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8076:27:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11150, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11145, - "src": "8109:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11149, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "8105:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8105:11:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11152, - "modifierName": { - "argumentTypes": null, - "id": 11147, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8070:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8070:47:13" - } - ], - "name": "removeProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11145, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11166, - "src": "8045:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11144, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8045:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8044:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11153, - "nodeType": "ParameterList", - "parameters": [], - "src": "8118:0:13" - }, - "scope": 11529, - "src": "8015:221:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11189, - "nodeType": "Block", - "src": "8518:88:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11177, - "name": "isPresigned", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10861, - "src": "8528:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 11179, - "indexExpression": { - "argumentTypes": null, - "id": 11178, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8540:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8528:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8549:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8528:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11182, - "nodeType": "ExpressionStatement", - "src": "8528:25:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8581:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8581:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11186, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8593:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11183, - "name": "PresignHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10898, - "src": "8569:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 11187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8569:30:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11188, - "nodeType": "EmitStatement", - "src": "8564:35:13" - } - ] - }, - "documentation": "@notice Pre-sign hash `_hash`\n@param _hash Hash that will be considered signed regardless of the signature checked with 'isValidSignature()'", - "id": 11190, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11171, - "name": "ADD_PRESIGNED_HASH_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10818, - "src": "8477:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11173, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11168, - "src": "8506:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11172, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21841, - "src": "8502:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32) pure returns (uint256[] memory)" - } - }, - "id": 11174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8502:10:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11175, - "modifierName": { - "argumentTypes": null, - "id": 11170, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8471:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8471:42:13" - } - ], - "name": "presignHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11168, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11190, - "src": "8431:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11167, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8431:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8430:15:13" - }, - "payable": false, - "returnParameters": { - "id": 11176, - "nodeType": "ParameterList", - "parameters": [], - "src": "8518:0:13" - }, - "scope": 11529, - "src": "8410:196:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11225, - "nodeType": "Block", - "src": "8992:656:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11202, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9390:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11204, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29865, - "src": "9419:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 11203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9411:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 11205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9411:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9390:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11207, - "name": "ERROR_DESIGNATED_TO_SELF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10854, - "src": "9426:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11201, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9382:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9382:69:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11209, - "nodeType": "ExpressionStatement", - "src": "9382:69:13" - }, - { - "assignments": [ - 11211 - ], - "declarations": [ - { - "constant": false, - "id": 11211, - "name": "oldDesignatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11226, - "src": "9462:27:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9462:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11213, - "initialValue": { - "argumentTypes": null, - "id": 11212, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "9492:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9462:46:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11214, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "9518:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11215, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9537:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9518:36:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11217, - "nodeType": "ExpressionStatement", - "src": "9518:36:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9590:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9590:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11221, - "name": "oldDesignatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11211, - "src": "9602:19:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11222, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "9623:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11218, - "name": "SetDesignatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10906, - "src": "9570:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 11223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9570:71:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11224, - "nodeType": "EmitStatement", - "src": "9565:76:13" - } - ] - }, - "documentation": "@notice Set `_designatedSigner` as the designated signer of the app, which will be able to sign messages on behalf of the app\n@param _designatedSigner Address that will be able to sign messages on behalf of the app", - "id": 11226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11195, - "name": "DESIGNATE_SIGNER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "8941:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11197, - "name": "_designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11192, - "src": "8968:17:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11196, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "8964:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 11198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8964:22:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 11199, - "modifierName": { - "argumentTypes": null, - "id": 11194, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "8935:5:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8935:52:13" - } - ], - "name": "setDesignatedSigner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11192, - "name": "_designatedSigner", - "nodeType": "VariableDeclaration", - "scope": 11226, - "src": "8883:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8883:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8882:27:13" - }, - "payable": false, - "returnParameters": { - "id": 11200, - "nodeType": "ParameterList", - "parameters": [], - "src": "8992:0:13" - }, - "scope": 11529, - "src": "8854:794:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 11233, - "nodeType": "Block", - "src": "9878:28:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9895:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11230, - "id": 11232, - "nodeType": "Return", - "src": "9888:11:13" - } - ] - }, - "documentation": "@notice Tells whether the Agent app is a forwarder or not\n@dev IForwarder interface conformance\n@return Always true", - "id": 11234, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11227, - "nodeType": "ParameterList", - "parameters": [], - "src": "9846:2:13" - }, - "payable": false, - "returnParameters": { - "id": 11230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11229, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11234, - "src": "9872:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11228, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9872:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9871:6:13" - }, - "scope": 11529, - "src": "9826:80:13", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 11268, - "nodeType": "Block", - "src": "10144:385:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11241, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10173:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10173:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11243, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "10185:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11240, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11289 - ], - "referencedDeclaration": 11289, - "src": "10162:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 11244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10162:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11245, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10857, - "src": "10198:21:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11239, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10154:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10154:66:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11247, - "nodeType": "ExpressionStatement", - "src": "10154:66:13" - }, - { - "assignments": [ - 11249 - ], - "declarations": [ - { - "constant": false, - "id": 11249, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10231:18:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11248, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10231:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11251, - "initialValue": { - "argumentTypes": null, - "hexValue": "", - "id": 11250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10252:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10231:23:13" - }, - { - "assignments": [ - 11255 - ], - "declarations": [ - { - "constant": false, - "id": 11255, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10276:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 11253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10276:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11254, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10276:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11261, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319: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": 11258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "10305:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 11256, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10309:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11257, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10309:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 11260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10305:16:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10276:45:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11263, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "10390:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11264, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11249, - "src": "10402:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11265, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11255, - "src": "10409:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 11262, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "10380:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 11266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10380:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11267, - "nodeType": "ExpressionStatement", - "src": "10380:39:13" - } - ] - }, - "documentation": "@notice Execute the script as the Agent app\n@dev IForwarder interface conformance. Forwards any token holder action.\n@param _evmScript Script being executed", - "id": 11269, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11236, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11269, - "src": "10119:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11235, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10119:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:18:13" - }, - "payable": false, - "returnParameters": { - "id": 11238, - "nodeType": "ParameterList", - "parameters": [], - "src": "10144:0:13" - }, - "scope": 11529, - "src": "10102:427:13", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 11288, - "nodeType": "Block", - "src": "10889:180:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11279, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11271, - "src": "11000:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11280, - "name": "RUN_SCRIPT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10824, - "src": "11009:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11283, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11273, - "src": "11049:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11282, - "name": "_getScriptACLParam", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11512, - "src": "11030:18:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 11284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11030:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11281, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "11026:3:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 11285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11026:35:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 11278, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "10989:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 11286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10989:73:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11277, - "id": 11287, - "nodeType": "Return", - "src": "10982:80:13" - } - ] - }, - "documentation": "@notice Tells whether `_sender` can forward actions or not\n@dev IForwarder interface conformance\n@param _sender Address of the account intending to forward an action\n@return True if the given address can run scripts, false otherwise", - "id": 11289, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11271, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10827:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11270, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10827:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11273, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10844:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11272, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10844:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10826:35:13" - }, - "payable": false, - "returnParameters": { - "id": 11277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11276, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11289, - "src": "10883:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11275, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10883:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10882:6:13" - }, - "scope": 11529, - "src": "10807:262:13", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 11304, - "nodeType": "Block", - "src": "11386:123:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11296, - "name": "_interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11291, - "src": "11415:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11297, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11914, - "src": "11431:20:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11415:36:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11299, - "name": "_interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11291, - "src": "11467:12:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11300, - "name": "ERC165_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10830, - "src": "11483:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11467:35:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11415:87:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11295, - "id": 11303, - "nodeType": "Return", - "src": "11396:106:13" - } - ] - }, - "documentation": "@notice Tells whether this contract supports a given ERC-165 interface\n@param _interfaceId Interface bytes to check\n@return True if this contract supports the interface", - "id": 11305, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11291, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 11305, - "src": "11336:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11290, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11336:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11335:21:13" - }, - "payable": false, - "returnParameters": { - "id": 11295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11294, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11305, - "src": "11380:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11293, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11380:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11379:6:13" - }, - "scope": 11529, - "src": "11309:200:13", - "stateMutability": "pure", - "superFunction": 11972, - "visibility": "external" - }, - { - "body": { - "id": 11351, - "nodeType": "Block", - "src": "11955:540:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11314, - "name": "isPresigned", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10861, - "src": "12117:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 11316, - "indexExpression": { - "argumentTypes": null, - "id": 11315, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "12129:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12117:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11322, - "nodeType": "IfStatement", - "src": "12113:95:13", - "trueBody": { - "id": 11321, - "nodeType": "Block", - "src": "12137:71:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12192:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 11317, - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11942, - "src": "12158:33:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_bytes4_$", - "typeString": "function (bool) pure returns (bytes4)" - } - }, - "id": 11319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12158:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11313, - "id": 11320, - "nodeType": "Return", - "src": "12151:46:13" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11324, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "12218:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11323, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12218:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11325, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12218:12:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11326, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "12244:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12272: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": 11327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12264:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 11329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12264:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12244:30:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11345, - "nodeType": "Block", - "src": "12322:107:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11336, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12336:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11339, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "12382:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11340, - "name": "designatedSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10863, - "src": "12389:16:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11341, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "12407:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11337, - "name": "SignatureValidator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11909, - "src": "12346:18:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$11909_$", - "typeString": "type(library SignatureValidator)" - } - }, - "id": 11338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isValidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 11638, - "src": "12346:35:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) view returns (bool)" - } - }, - "id": 11342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12346:72:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12336:82:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11344, - "nodeType": "ExpressionStatement", - "src": "12336:82:13" - } - ] - }, - "id": 11346, - "nodeType": "IfStatement", - "src": "12240:189:13", - "trueBody": { - "id": 11335, - "nodeType": "Block", - "src": "12276:40:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11331, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12290:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12300:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12290:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11334, - "nodeType": "ExpressionStatement", - "src": "12290:15:13" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11348, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11324, - "src": "12480:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 11347, - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11942, - "src": "12446:33:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_bytes4_$", - "typeString": "function (bool) pure returns (bytes4)" - } - }, - "id": 11349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12446:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11313, - "id": 11350, - "nodeType": "Return", - "src": "12439:49:13" - } - ] - }, - "documentation": "@notice Tells whether a signature is seen as valid by this contract through ERC-1271\n@param _hash Arbitrary length data signed on the behalf of address (this)\n@param _signature Signature byte array associated with _data\n@return The ERC-1271 magic value if the signature is valid", - "id": 11352, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11307, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11893:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11306, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11893:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11309, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11908:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11308, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11908:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11892:33:13" - }, - "payable": false, - "returnParameters": { - "id": 11313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11352, - "src": "11947:6:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11311, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11947:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11946:8:13" - }, - "scope": 11529, - "src": "11867:628:13", - "stateMutability": "view", - "superFunction": 11929, - "visibility": "public" - }, - { - "body": { - "id": 11362, - "nodeType": "Block", - "src": "12597:46:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11359, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12614:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12614:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11358, - "id": 11361, - "nodeType": "Return", - "src": "12607:29:13" - } - ] - }, - "documentation": null, - "id": 11363, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 11355, - "modifierName": { - "argumentTypes": null, - "id": 11354, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12565:13:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12565:13:13" - } - ], - "name": "getProtectedTokensLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11353, - "nodeType": "ParameterList", - "parameters": [], - "src": "12550:2:13" - }, - "payable": false, - "returnParameters": { - "id": 11358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11357, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11363, - "src": "12588:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12588:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12587:9:13" - }, - "scope": 11529, - "src": "12517:126:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11378, - "nodeType": "Block", - "src": "12723:86:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11371, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11365, - "src": "12754:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 11368, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12733:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12733:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 11372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12733:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11373, - "nodeType": "ExpressionStatement", - "src": "12733:28:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11375, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11365, - "src": "12795:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11374, - "name": "AddProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "12777:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12777:25:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11377, - "nodeType": "EmitStatement", - "src": "12772:30:13" - } - ] - }, - "documentation": null, - "id": 11379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11365, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11379, - "src": "12698:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12698:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12697:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11367, - "nodeType": "ParameterList", - "parameters": [], - "src": "12723:0:13" - }, - "scope": 11529, - "src": "12670:139:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11406, - "nodeType": "Block", - "src": "12871:186:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11384, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12881:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11388, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11386, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11381, - "src": "12918:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11385, - "name": "_protectedTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11463, - "src": "12897:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12897:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12881:45:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11389, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12929:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11394, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11390, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12945:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12945:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12970:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12945:26:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12929:43:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12881:91:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11396, - "nodeType": "ExpressionStatement", - "src": "12881:91:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 11400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "12982:24:13", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11397, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "12982:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12982:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11401, - "nodeType": "ExpressionStatement", - "src": "12982:24:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11403, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11381, - "src": "13043:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11402, - "name": "RemoveProtectedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10892, - "src": "13022:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 11404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13022:28:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11405, - "nodeType": "EmitStatement", - "src": "13017:33:13" - } - ] - }, - "documentation": null, - "id": 11407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeProtectedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11381, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11407, - "src": "12846:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12846:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12845:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11383, - "nodeType": "ParameterList", - "parameters": [], - "src": "12871:0:13" - }, - "scope": 11529, - "src": "12815:242:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11428, - "nodeType": "Block", - "src": "13126:224:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13140:19:13", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11415, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11409, - "src": "13152:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11414, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "13141:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 11416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13141:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11421, - "nodeType": "IfStatement", - "src": "13136:62:13", - "trueBody": { - "id": 11420, - "nodeType": "Block", - "src": "13161:37:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13182:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11413, - "id": 11419, - "nodeType": "Return", - "src": "13175:12:13" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11423, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11409, - "src": "13314:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11422, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19267, - "src": "13306:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13306:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11425, - "nodeType": "ExpressionStatement", - "src": "13306:15:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13339:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11413, - "id": 11427, - "nodeType": "Return", - "src": "13332:11:13" - } - ] - }, - "documentation": null, - "id": 11429, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isERC20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11409, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11429, - "src": "13081:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13081:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11412, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11429, - "src": "13120:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11411, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13120:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13119:6:13" - }, - "scope": 11529, - "src": "13063:287:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11462, - "nodeType": "Block", - "src": "13434:207:13", - "statements": [ - { - "body": { - "id": 11456, - "nodeType": "Block", - "src": "13494:97:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11447, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13512:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11449, - "indexExpression": { - "argumentTypes": null, - "id": 11448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13528:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13512:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11450, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11431, - "src": "13534:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13512:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11455, - "nodeType": "IfStatement", - "src": "13508:73:13", - "trueBody": { - "id": 11454, - "nodeType": "Block", - "src": "13542:39:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13565:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11435, - "id": 11453, - "nodeType": "Return", - "src": "13558:8:13" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11440, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13461:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11441, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13465:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13465:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13461:26:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11457, - "initializationExpression": { - "assignments": [ - 11437 - ], - "declarations": [ - { - "constant": false, - "id": 11437, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13449:6:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11436, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13449:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11439, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13458:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13449:10:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13489:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11444, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11437, - "src": "13489:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11446, - "nodeType": "ExpressionStatement", - "src": "13489:3:13" - }, - "nodeType": "ForStatement", - "src": "13444:147:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11459, - "name": "ERROR_TOKEN_NOT_PROTECTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10851, - "src": "13608:25:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11458, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "13601:6:13", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 11460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13601:33:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11461, - "nodeType": "ExpressionStatement", - "src": "13601:33:13" - } - ] - }, - "documentation": null, - "id": 11463, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_protectedTokenIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11431, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13386:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13386:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13385:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11434, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11463, - "src": "13425:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13425:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13424:9:13" - }, - "scope": 11529, - "src": "13356:285:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11494, - "nodeType": "Block", - "src": "13719:194:13", - "statements": [ - { - "body": { - "id": 11490, - "nodeType": "Block", - "src": "13782:102:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11481, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13800:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11483, - "indexExpression": { - "argumentTypes": null, - "id": 11482, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13816:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13800:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11484, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11465, - "src": "13822:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13800:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11489, - "nodeType": "IfStatement", - "src": "13796:78:13", - "trueBody": { - "id": 11488, - "nodeType": "Block", - "src": "13830:44:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13855:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11469, - "id": 11487, - "nodeType": "Return", - "src": "13848:11:13" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11474, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13749:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11475, - "name": "protectedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10866, - "src": "13753:15:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 11476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13753:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13749:26:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11491, - "initializationExpression": { - "assignments": [ - 11471 - ], - "declarations": [ - { - "constant": false, - "id": 11471, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13734:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13734:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11473, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 11472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13746:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13734:13:13" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13777:3:13", - "subExpression": { - "argumentTypes": null, - "id": 11478, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11471, - "src": "13777:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11480, - "nodeType": "ExpressionStatement", - "src": "13777:3:13" - }, - "nodeType": "ForStatement", - "src": "13729:155:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13901:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11469, - "id": 11493, - "nodeType": "Return", - "src": "13894:12:13" - } - ] - }, - "documentation": null, - "id": 11495, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsProtected", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11465, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13674:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13674:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13673:16:13" - }, - "payable": false, - "returnParameters": { - "id": 11469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11468, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "13713:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11467, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13713:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13712:6:13" - }, - "scope": 11529, - "src": "13647:266:13", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11511, - "nodeType": "Block", - "src": "13997:72:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11506, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11497, - "src": "14049:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11504, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "14032:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14032:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 11507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14032:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11503, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "14022:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14022:39:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14014:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 11509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14014:48:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11501, - "id": 11510, - "nodeType": "Return", - "src": "14007:55:13" - } - ] - }, - "documentation": null, - "id": 11512, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getScriptACLParam", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11497, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 11512, - "src": "13947:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11496, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13947:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13946:18:13" - }, - "payable": false, - "returnParameters": { - "id": 11501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11512, - "src": "13988:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13988:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13987:9:13" - }, - "scope": 11529, - "src": "13919:150:13", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11527, - "nodeType": "Block", - "src": "14140:122:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11519, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11514, - "src": "14154:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14154:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 11521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14169:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "14154:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11525, - "nodeType": "IfStatement", - "src": "14150:53:13", - "trueBody": { - "id": 11524, - "nodeType": "Block", - "src": "14172:31:13", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11518, - "id": 11523, - "nodeType": "Return", - "src": "14186:7:13" - } - ] - } - }, - { - "externalReferences": [ - { - "sig": { - "declaration": 11517, - "isOffset": false, - "isSlot": false, - "src": "14224:3:13", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 11514, - "isOffset": false, - "isSlot": false, - "src": "14241:5:13", - "valueSize": 1 - } - } - ], - "id": 11526, - "nodeType": "InlineAssembly", - "operations": "{\n sig := mload(add(_data, 0x20))\n}", - "src": "14213:49:13" - } - ] - }, - "documentation": null, - "id": 11528, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11514, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11528, - "src": "14092:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11513, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14092:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14091:13:13" - }, - "payable": false, - "returnParameters": { - "id": 11518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11517, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 11528, - "src": "14128:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11516, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "14128:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14127:12:13" - }, - "scope": 11529, - "src": "14075:187:13", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11530, - "src": "291:13973:13" - } - ], - "src": "57:14208:13" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.382Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AppProxyBase.json b/templates/multisig/build/contracts/AppProxyBase.json deleted file mode 100644 index 84ce22b..0000000 --- a/templates/multisig/build/contracts/AppProxyBase.json +++ /dev/null @@ -1,2005 +0,0 @@ -{ - "contractName": "AppProxyBase", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "codeAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ProxyDeposit", - "type": "event" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\nimport \"./AppStorage.sol\";\nimport \"../common/DepositableDelegateProxy.sol\";\nimport \"../kernel/KernelConstants.sol\";\nimport \"../kernel/IKernel.sol\";\n\n\ncontract AppProxyBase is AppStorage, DepositableDelegateProxy, KernelNamespaceConstants {\n /**\n * @dev Initialize AppProxy\n * @param _kernel Reference to organization kernel for the app\n * @param _appId Identifier for app\n * @param _initializePayload Payload for call to be made after setup to initialize\n */\n constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public {\n setKernel(_kernel);\n setAppId(_appId);\n\n // Implicit check that kernel is actually a Kernel\n // The EVM doesn't actually provide a way for us to make sure, but we can force a revert to\n // occur if the kernel is set to 0x0 or a non-code address when we try to call a method on\n // it.\n address appCode = getAppBase(_appId);\n\n // If initialize payload is provided, it will be executed\n if (_initializePayload.length > 0) {\n require(isContract(appCode));\n // Cannot make delegatecall as a delegateproxy.delegatedFwd as it\n // returns ending execution context and halts contract deployment\n require(appCode.delegatecall(_initializePayload));\n }\n }\n\n function getAppBase(bytes32 _appId) internal view returns (address) {\n return kernel().getApp(KERNEL_APP_BASES_NAMESPACE, _appId);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "exportedSymbols": { - "AppProxyBase": [ - 23144 - ] - }, - "id": 23145, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23075, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:35" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "./AppStorage.sol", - "id": 23076, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 23330, - "src": "25:26:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "file": "../common/DepositableDelegateProxy.sol", - "id": 23077, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 23610, - "src": "52:48:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "../kernel/KernelConstants.sol", - "id": 23078, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 26920, - "src": "101:39:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 23079, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 26406, - "src": "141:31:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23080, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "200:10:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 23081, - "nodeType": "InheritanceSpecifier", - "src": "200:10:35" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23082, - "name": "DepositableDelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23609, - "src": "212:24:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableDelegateProxy_$23609", - "typeString": "contract DepositableDelegateProxy" - } - }, - "id": 23083, - "nodeType": "InheritanceSpecifier", - "src": "212:24:35" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23084, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "238:24:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 23085, - "nodeType": "InheritanceSpecifier", - "src": "238:24:35" - } - ], - "contractDependencies": [ - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23144, - "linearizedBaseContracts": [ - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyBase", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23127, - "nodeType": "Block", - "src": "584:764:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23095, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23087, - "src": "604:7:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23094, - "name": "setKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23316, - "src": "594:9:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$returns$__$", - "typeString": "function (contract IKernel)" - } - }, - "id": 23096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:18:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23097, - "nodeType": "ExpressionStatement", - "src": "594:18:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23099, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23089, - "src": "631:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23098, - "name": "setAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23328, - "src": "622:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 23100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "622:16:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23101, - "nodeType": "ExpressionStatement", - "src": "622:16:35" - }, - { - "assignments": [ - 23103 - ], - "declarations": [ - { - "constant": false, - "id": 23103, - "name": "appCode", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "922:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "922:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23107, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23105, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23089, - "src": "951:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23104, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "940:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:18:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "922:36:35" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23108, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23091, - "src": "1039:18:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1039:25:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1067:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1039:29:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23126, - "nodeType": "IfStatement", - "src": "1035:307:35", - "trueBody": { - "id": 23125, - "nodeType": "Block", - "src": "1070:272:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23114, - "name": "appCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23103, - "src": "1103:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23113, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "1092:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:19:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23112, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1084:7:35", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1084:28:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23117, - "nodeType": "ExpressionStatement", - "src": "1084:28:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23121, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23091, - "src": "1311:18:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23119, - "name": "appCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23103, - "src": "1290:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 23120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:20:35", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 23122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1290:40:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23118, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1282:7:35", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:49:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23124, - "nodeType": "ExpressionStatement", - "src": "1282:49:35" - } - ] - } - } - ] - }, - "documentation": "@dev Initialize AppProxy\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23128, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23087, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "518:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23086, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "518:7:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23089, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "535:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23088, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "535:7:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23091, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "551:24:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23090, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "551:5:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "517:59:35" - }, - "payable": false, - "returnParameters": { - "id": 23093, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:35" - }, - "scope": 23144, - "src": "506:842:35", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23142, - "nodeType": "Block", - "src": "1422:75:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23138, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "1455:26:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23139, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23130, - "src": "1483:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23135, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1439:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:8:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26404, - "src": "1439:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view external returns (address)" - } - }, - "id": 23140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:51:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23134, - "id": 23141, - "nodeType": "Return", - "src": "1432:58:35" - } - ] - }, - "documentation": null, - "id": 23143, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppBase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23130, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23143, - "src": "1374:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23129, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1374:7:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1373:16:35" - }, - "payable": false, - "returnParameters": { - "id": 23134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23133, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23143, - "src": "1413:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:9:35" - }, - "scope": 23144, - "src": "1354:143:35", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23145, - "src": "175:1324:35" - } - ], - "src": "0:1500:35" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "exportedSymbols": { - "AppProxyBase": [ - 23144 - ] - }, - "id": 23145, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23075, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:35" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "./AppStorage.sol", - "id": 23076, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 23330, - "src": "25:26:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "file": "../common/DepositableDelegateProxy.sol", - "id": 23077, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 23610, - "src": "52:48:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "../kernel/KernelConstants.sol", - "id": 23078, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 26920, - "src": "101:39:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 23079, - "nodeType": "ImportDirective", - "scope": 23145, - "sourceUnit": 26406, - "src": "141:31:35", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23080, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "200:10:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 23081, - "nodeType": "InheritanceSpecifier", - "src": "200:10:35" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23082, - "name": "DepositableDelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23609, - "src": "212:24:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableDelegateProxy_$23609", - "typeString": "contract DepositableDelegateProxy" - } - }, - "id": 23083, - "nodeType": "InheritanceSpecifier", - "src": "212:24:35" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23084, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "238:24:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 23085, - "nodeType": "InheritanceSpecifier", - "src": "238:24:35" - } - ], - "contractDependencies": [ - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23144, - "linearizedBaseContracts": [ - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyBase", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23127, - "nodeType": "Block", - "src": "584:764:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23095, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23087, - "src": "604:7:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23094, - "name": "setKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23316, - "src": "594:9:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$returns$__$", - "typeString": "function (contract IKernel)" - } - }, - "id": 23096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:18:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23097, - "nodeType": "ExpressionStatement", - "src": "594:18:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23099, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23089, - "src": "631:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23098, - "name": "setAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23328, - "src": "622:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 23100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "622:16:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23101, - "nodeType": "ExpressionStatement", - "src": "622:16:35" - }, - { - "assignments": [ - 23103 - ], - "declarations": [ - { - "constant": false, - "id": 23103, - "name": "appCode", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "922:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "922:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23107, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23105, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23089, - "src": "951:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23104, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "940:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:18:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "922:36:35" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23108, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23091, - "src": "1039:18:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1039:25:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1067:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1039:29:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23126, - "nodeType": "IfStatement", - "src": "1035:307:35", - "trueBody": { - "id": 23125, - "nodeType": "Block", - "src": "1070:272:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23114, - "name": "appCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23103, - "src": "1103:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23113, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "1092:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:19:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23112, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1084:7:35", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1084:28:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23117, - "nodeType": "ExpressionStatement", - "src": "1084:28:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23121, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23091, - "src": "1311:18:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23119, - "name": "appCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23103, - "src": "1290:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 23120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:20:35", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 23122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1290:40:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23118, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1282:7:35", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:49:35", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23124, - "nodeType": "ExpressionStatement", - "src": "1282:49:35" - } - ] - } - } - ] - }, - "documentation": "@dev Initialize AppProxy\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23128, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23087, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "518:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23086, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "518:7:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23089, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "535:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23088, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "535:7:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23091, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23128, - "src": "551:24:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23090, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "551:5:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "517:59:35" - }, - "payable": false, - "returnParameters": { - "id": 23093, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:35" - }, - "scope": 23144, - "src": "506:842:35", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23142, - "nodeType": "Block", - "src": "1422:75:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23138, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "1455:26:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23139, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23130, - "src": "1483:6:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23135, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1439:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:8:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26404, - "src": "1439:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view external returns (address)" - } - }, - "id": 23140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:51:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23134, - "id": 23141, - "nodeType": "Return", - "src": "1432:58:35" - } - ] - }, - "documentation": null, - "id": 23143, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppBase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23130, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23143, - "src": "1374:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23129, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1374:7:35", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1373:16:35" - }, - "payable": false, - "returnParameters": { - "id": 23134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23133, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23143, - "src": "1413:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:35", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:9:35" - }, - "scope": 23144, - "src": "1354:143:35", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23145, - "src": "175:1324:35" - } - ], - "src": "0:1500:35" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.230Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AppProxyFactory.json b/templates/multisig/build/contracts/AppProxyFactory.json deleted file mode 100644 index 578e3f0..0000000 --- a/templates/multisig/build/contracts/AppProxyFactory.json +++ /dev/null @@ -1,3230 +0,0 @@ -{ - "contractName": "AppProxyFactory", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "name": "isUpgradeable", - "type": "bool" - }, - { - "indexed": false, - "name": "appId", - "type": "bytes32" - } - ], - "name": "NewAppProxy", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611215806100206000396000f3006080604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663d162f8b08114610066578063e156a8f3146100eb578063ede658b01461010f578063ff289fc514610178575b600080fd5b34801561007257600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100cf948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061019c9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156100f757600080fd5b506100cf600160a060020a03600435166024356102a1565b34801561011b57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100cf948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102c59650505050505050565b34801561018457600080fd5b506100cf600160a060020a03600435166024356103ca565b6000808484846101aa6103e7565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801561024b573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b604080516000808252602082019092526102be90849084906102c5565b9392505050565b6000808484846102d36103f7565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101561032457818101518382015260200161030c565b50505050905090810190601f1680156103515780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080158015610374573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b604080516000808252602082019092526102be908490849061019c565b6040516106f98061040883390190565b6040516106e980610b01833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137ba165627a7a723058203d1a287b9235729e36649c7d827241e5d516913fea0dd46974556237713d3e540029", - "deployedBytecode": "0x6080604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663d162f8b08114610066578063e156a8f3146100eb578063ede658b01461010f578063ff289fc514610178575b600080fd5b34801561007257600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100cf948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061019c9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156100f757600080fd5b506100cf600160a060020a03600435166024356102a1565b34801561011b57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100cf948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102c59650505050505050565b34801561018457600080fd5b506100cf600160a060020a03600435166024356103ca565b6000808484846101aa6103e7565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801561024b573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b604080516000808252602082019092526102be90849084906102c5565b9392505050565b6000808484846102d36103f7565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101561032457818101518382015260200161030c565b50505050905090810190601f1680156103515780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080158015610374573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b604080516000808252602082019092526102be908490849061019c565b6040516106f98061040883390190565b6040516106e980610b01833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137ba165627a7a723058203d1a287b9235729e36649c7d827241e5d516913fea0dd46974556237713d3e540029", - "sourceMap": "106:2063:67:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;106:2063:67;;;;;;;", - "deployedSourceMap": "106:2063:67:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1875:292:67;;-1:-1:-1;1875:292:67;;-1:-1:-1;;;;;;;1875:292:67;;;;;-1:-1:-1;;;;;1875:292:67;;;;;;;;;;;;;;433:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;433:157:67;-1:-1:-1;;;;;433:157:67;;;;;;;866:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;866:300:67;;-1:-1:-1;866:300:67;;-1:-1:-1;;;;;;;866:300:67;1384:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1384:164:67;-1:-1:-1;;;;;1384:164:67;;;;;;;1875:292;1977:14;2003:20;2045:7;2054:6;2062:18;2026:55;;:::i;:::-;-1:-1:-1;;;;;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2096:42:67;;;-1:-1:-1;;;;;2096:42:67;;;;2124:5;2096:42;;;;;;;;;;;;2003:78;;-1:-1:-1;2096:42:67;;;;;;;;;;2155:5;1875:292;-1:-1:-1;;;;1875:292:67:o;433:157::-;570:12;;;503:19;570:12;;;;;;;;;541:42;;553:7;;562:6;;541:11;:42::i;:::-;534:49;433:157;-1:-1:-1;;;433:157:67:o;866:300::-;962:19;993:25;1045:7;1054:6;1062:18;1021:60;;:::i;:::-;-1:-1:-1;;;;;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1096:41:67;;;-1:-1:-1;;;;;1096:41:67;;;;1124:4;1096:41;;;;;;;;;;;;993:88;;-1:-1:-1;1096:41:67;;;;;;;;;;1154:5;866:300;-1:-1:-1;;;;866:300:67:o;1384:164::-;1528:12;;;1460:14;1528:12;;;;;;;;;1493:48;;1511:7;;1520:6;;1493:17;:48::i;106:2063::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../apps/AppProxyUpgradeable.sol\";\nimport \"../apps/AppProxyPinned.sol\";\n\n\ncontract AppProxyFactory {\n event NewAppProxy(address proxy, bool isUpgradeable, bytes32 appId);\n\n /**\n * @notice Create a new upgradeable app instance on `_kernel` with identifier `_appId`\n * @param _kernel App's Kernel reference\n * @param _appId Identifier for app\n * @return AppProxyUpgradeable\n */\n function newAppProxy(IKernel _kernel, bytes32 _appId) public returns (AppProxyUpgradeable) {\n return newAppProxy(_kernel, _appId, new bytes(0));\n }\n\n /**\n * @notice Create a new upgradeable app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n * @param _kernel App's Kernel reference\n * @param _appId Identifier for app\n * @return AppProxyUpgradeable\n */\n function newAppProxy(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public returns (AppProxyUpgradeable) {\n AppProxyUpgradeable proxy = new AppProxyUpgradeable(_kernel, _appId, _initializePayload);\n emit NewAppProxy(address(proxy), true, _appId);\n return proxy;\n }\n\n /**\n * @notice Create a new pinned app instance on `_kernel` with identifier `_appId`\n * @param _kernel App's Kernel reference\n * @param _appId Identifier for app\n * @return AppProxyPinned\n */\n function newAppProxyPinned(IKernel _kernel, bytes32 _appId) public returns (AppProxyPinned) {\n return newAppProxyPinned(_kernel, _appId, new bytes(0));\n }\n\n /**\n * @notice Create a new pinned app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n * @param _kernel App's Kernel reference\n * @param _appId Identifier for app\n * @param _initializePayload Proxy initialization payload\n * @return AppProxyPinned\n */\n function newAppProxyPinned(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public returns (AppProxyPinned) {\n AppProxyPinned proxy = new AppProxyPinned(_kernel, _appId, _initializePayload);\n emit NewAppProxy(address(proxy), false, _appId);\n return proxy;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "exportedSymbols": { - "AppProxyFactory": [ - 25961 - ] - }, - "id": 25962, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25850, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:67" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", - "file": "../apps/AppProxyUpgradeable.sol", - "id": 25851, - "nodeType": "ImportDirective", - "scope": 25962, - "sourceUnit": 23268, - "src": "25:41:67", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyPinned.sol", - "file": "../apps/AppProxyPinned.sol", - "id": 25852, - "nodeType": "ImportDirective", - "scope": 25962, - "sourceUnit": 23228, - "src": "67:36:67", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 23227, - 23267 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25961, - "linearizedBaseContracts": [ - 25961 - ], - "name": "AppProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 25860, - "name": "NewAppProxy", - "nodeType": "EventDefinition", - "parameters": { - "id": 25859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25854, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "155:13:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "155:7:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25856, - "indexed": false, - "name": "isUpgradeable", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "170:18:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 25855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:67", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25858, - "indexed": false, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "190:13:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25857, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "190:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "154:50:67" - }, - "src": "137:68:67" - }, - { - "body": { - "id": 25878, - "nodeType": "Block", - "src": "524:66:67", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25870, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25862, - "src": "553:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25871, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25864, - "src": "562:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "580:1:67", - "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": 25873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "570:9:67", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25872, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "574:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "570:12:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 25869, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25910, - "src": "541:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - } - }, - "id": 25876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "541:42:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "functionReturnParameters": 25868, - "id": 25877, - "nodeType": "Return", - "src": "534:49:67" - } - ] - }, - "documentation": "@notice Create a new upgradeable app instance on `_kernel` with identifier `_appId`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyUpgradeable", - "id": 25879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25862, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "454:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25861, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "454:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25864, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "471:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "471:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "453:33:67" - }, - "payable": false, - "returnParameters": { - "id": 25868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "503:19:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25866, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "503:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:21:67" - }, - "scope": 25961, - "src": "433:157:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25909, - "nodeType": "Block", - "src": "983:183:67", - "statements": [ - { - "assignments": [ - 25891 - ], - "declarations": [ - { - "constant": false, - "id": 25891, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "993:25:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25890, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "993:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25898, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25894, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25881, - "src": "1045:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25895, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25883, - "src": "1054:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25896, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25885, - "src": "1062:18:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1021:23:67", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - }, - "typeName": { - "contractScope": null, - "id": 25892, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "1025:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - }, - "id": 25897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1021:60:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "993:88:67" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25901, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25891, - "src": "1116:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 25900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1108:7:67", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1108:14:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 25903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:4:67", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 25904, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25883, - "src": "1130:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 25899, - "name": "NewAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25860, - "src": "1096:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_bytes32_$returns$__$", - "typeString": "function (address,bool,bytes32)" - } - }, - "id": 25905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1096:41:67", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25906, - "nodeType": "EmitStatement", - "src": "1091:46:67" - }, - { - "expression": { - "argumentTypes": null, - "id": 25907, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25891, - "src": "1154:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "functionReturnParameters": 25889, - "id": 25908, - "nodeType": "Return", - "src": "1147:12:67" - } - ] - }, - "documentation": "@notice Create a new upgradeable app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyUpgradeable", - "id": 25910, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25881, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "887:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25880, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "887:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25883, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "904:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25882, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "904:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25885, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "920:24:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25884, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "920:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "886:59:67" - }, - "payable": false, - "returnParameters": { - "id": 25889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25888, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "962:19:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25887, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "962:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "961:21:67" - }, - "scope": 25961, - "src": "866:300:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25928, - "nodeType": "Block", - "src": "1476:72:67", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25920, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25912, - "src": "1511:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25921, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25914, - "src": "1520:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1538:1:67", - "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": 25923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1528:9:67", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25922, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1532:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1528:12:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 25919, - "name": "newAppProxyPinned", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25929, - 25960 - ], - "referencedDeclaration": 25960, - "src": "1493:17:67", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - } - }, - "id": 25926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1493:48:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "functionReturnParameters": 25918, - "id": 25927, - "nodeType": "Return", - "src": "1486:55:67" - } - ] - }, - "documentation": "@notice Create a new pinned app instance on `_kernel` with identifier `_appId`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyPinned", - "id": 25929, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxyPinned", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25912, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1411:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25911, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1411:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25914, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1428:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1428:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1410:33:67" - }, - "payable": false, - "returnParameters": { - "id": 25918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25917, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1460:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25916, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "1460:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1459:16:67" - }, - "scope": 25961, - "src": "1384:164:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25959, - "nodeType": "Block", - "src": "1993:174:67", - "statements": [ - { - "assignments": [ - 25941 - ], - "declarations": [ - { - "constant": false, - "id": 25941, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "2003:20:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25940, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "2003:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25948, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25944, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25931, - "src": "2045:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25945, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25933, - "src": "2054:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25946, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25935, - "src": "2062:18:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2026:18:67", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - }, - "typeName": { - "contractScope": null, - "id": 25942, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "2030:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - } - }, - "id": 25947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2026:55:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2003:78:67" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25951, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25941, - "src": "2116:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - ], - "id": 25950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2108:7:67", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2108:14:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2124:5:67", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 25954, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25933, - "src": "2131:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 25949, - "name": "NewAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25860, - "src": "2096:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_bytes32_$returns$__$", - "typeString": "function (address,bool,bytes32)" - } - }, - "id": 25955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2096:42:67", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25956, - "nodeType": "EmitStatement", - "src": "2091:47:67" - }, - { - "expression": { - "argumentTypes": null, - "id": 25957, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25941, - "src": "2155:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "functionReturnParameters": 25939, - "id": 25958, - "nodeType": "Return", - "src": "2148:12:67" - } - ] - }, - "documentation": "@notice Create a new pinned app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@param _initializePayload Proxy initialization payload\n@return AppProxyPinned", - "id": 25960, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxyPinned", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25931, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1902:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25930, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1902:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25933, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1919:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25932, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1919:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25935, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1935:24:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1935:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1901:59:67" - }, - "payable": false, - "returnParameters": { - "id": 25939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1977:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25937, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "1977:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1976:16:67" - }, - "scope": 25961, - "src": "1875:292:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25962, - "src": "106:2063:67" - } - ], - "src": "0:2170:67" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "exportedSymbols": { - "AppProxyFactory": [ - 25961 - ] - }, - "id": 25962, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25850, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:67" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", - "file": "../apps/AppProxyUpgradeable.sol", - "id": 25851, - "nodeType": "ImportDirective", - "scope": 25962, - "sourceUnit": 23268, - "src": "25:41:67", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyPinned.sol", - "file": "../apps/AppProxyPinned.sol", - "id": 25852, - "nodeType": "ImportDirective", - "scope": 25962, - "sourceUnit": 23228, - "src": "67:36:67", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 23227, - 23267 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25961, - "linearizedBaseContracts": [ - 25961 - ], - "name": "AppProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 25860, - "name": "NewAppProxy", - "nodeType": "EventDefinition", - "parameters": { - "id": 25859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25854, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "155:13:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "155:7:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25856, - "indexed": false, - "name": "isUpgradeable", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "170:18:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 25855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:67", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25858, - "indexed": false, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 25860, - "src": "190:13:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25857, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "190:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "154:50:67" - }, - "src": "137:68:67" - }, - { - "body": { - "id": 25878, - "nodeType": "Block", - "src": "524:66:67", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25870, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25862, - "src": "553:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25871, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25864, - "src": "562:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "580:1:67", - "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": 25873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "570:9:67", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25872, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "574:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "570:12:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 25869, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25910, - "src": "541:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - } - }, - "id": 25876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "541:42:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "functionReturnParameters": 25868, - "id": 25877, - "nodeType": "Return", - "src": "534:49:67" - } - ] - }, - "documentation": "@notice Create a new upgradeable app instance on `_kernel` with identifier `_appId`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyUpgradeable", - "id": 25879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25862, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "454:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25861, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "454:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25864, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "471:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "471:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "453:33:67" - }, - "payable": false, - "returnParameters": { - "id": 25868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25879, - "src": "503:19:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25866, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "503:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:21:67" - }, - "scope": 25961, - "src": "433:157:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25909, - "nodeType": "Block", - "src": "983:183:67", - "statements": [ - { - "assignments": [ - 25891 - ], - "declarations": [ - { - "constant": false, - "id": 25891, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "993:25:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25890, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "993:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25898, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25894, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25881, - "src": "1045:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25895, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25883, - "src": "1054:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25896, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25885, - "src": "1062:18:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1021:23:67", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - }, - "typeName": { - "contractScope": null, - "id": 25892, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "1025:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - }, - "id": 25897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1021:60:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "993:88:67" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25901, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25891, - "src": "1116:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 25900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1108:7:67", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1108:14:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 25903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:4:67", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 25904, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25883, - "src": "1130:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 25899, - "name": "NewAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25860, - "src": "1096:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_bytes32_$returns$__$", - "typeString": "function (address,bool,bytes32)" - } - }, - "id": 25905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1096:41:67", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25906, - "nodeType": "EmitStatement", - "src": "1091:46:67" - }, - { - "expression": { - "argumentTypes": null, - "id": 25907, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25891, - "src": "1154:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "functionReturnParameters": 25889, - "id": 25908, - "nodeType": "Return", - "src": "1147:12:67" - } - ] - }, - "documentation": "@notice Create a new upgradeable app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyUpgradeable", - "id": 25910, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25881, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "887:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25880, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "887:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25883, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "904:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25882, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "904:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25885, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "920:24:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25884, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "920:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "886:59:67" - }, - "payable": false, - "returnParameters": { - "id": 25889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25888, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25910, - "src": "962:19:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - }, - "typeName": { - "contractScope": null, - "id": 25887, - "name": "AppProxyUpgradeable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23267, - "src": "962:19:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "961:21:67" - }, - "scope": 25961, - "src": "866:300:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25928, - "nodeType": "Block", - "src": "1476:72:67", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25920, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25912, - "src": "1511:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25921, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25914, - "src": "1520:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1538:1:67", - "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": 25923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1528:9:67", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25922, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1532:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1528:12:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 25919, - "name": "newAppProxyPinned", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25929, - 25960 - ], - "referencedDeclaration": 25960, - "src": "1493:17:67", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - } - }, - "id": 25926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1493:48:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "functionReturnParameters": 25918, - "id": 25927, - "nodeType": "Return", - "src": "1486:55:67" - } - ] - }, - "documentation": "@notice Create a new pinned app instance on `_kernel` with identifier `_appId`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@return AppProxyPinned", - "id": 25929, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxyPinned", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25912, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1411:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25911, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1411:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25914, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1428:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1428:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1410:33:67" - }, - "payable": false, - "returnParameters": { - "id": 25918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25917, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25929, - "src": "1460:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25916, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "1460:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1459:16:67" - }, - "scope": 25961, - "src": "1384:164:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25959, - "nodeType": "Block", - "src": "1993:174:67", - "statements": [ - { - "assignments": [ - 25941 - ], - "declarations": [ - { - "constant": false, - "id": 25941, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "2003:20:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25940, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "2003:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25948, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25944, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25931, - "src": "2045:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 25945, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25933, - "src": "2054:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25946, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25935, - "src": "2062:18:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2026:18:67", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - }, - "typeName": { - "contractScope": null, - "id": 25942, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "2030:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - } - }, - "id": 25947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2026:55:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2003:78:67" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25951, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25941, - "src": "2116:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - ], - "id": 25950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2108:7:67", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2108:14:67", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 25953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2124:5:67", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 25954, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25933, - "src": "2131:6:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 25949, - "name": "NewAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25860, - "src": "2096:11:67", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_bytes32_$returns$__$", - "typeString": "function (address,bool,bytes32)" - } - }, - "id": 25955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2096:42:67", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25956, - "nodeType": "EmitStatement", - "src": "2091:47:67" - }, - { - "expression": { - "argumentTypes": null, - "id": 25957, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25941, - "src": "2155:5:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "functionReturnParameters": 25939, - "id": 25958, - "nodeType": "Return", - "src": "2148:12:67" - } - ] - }, - "documentation": "@notice Create a new pinned app instance on `_kernel` with identifier `_appId` and initialization payload `_initializePayload`\n@param _kernel App's Kernel reference\n@param _appId Identifier for app\n@param _initializePayload Proxy initialization payload\n@return AppProxyPinned", - "id": 25960, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newAppProxyPinned", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25931, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1902:15:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25930, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1902:7:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25933, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1919:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25932, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1919:7:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25935, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1935:24:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1935:5:67", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1901:59:67" - }, - "payable": false, - "returnParameters": { - "id": 25939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25960, - "src": "1977:14:67", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - }, - "typeName": { - "contractScope": null, - "id": 25937, - "name": "AppProxyPinned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23227, - "src": "1977:14:67", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1976:16:67" - }, - "scope": 25961, - "src": "1875:292:67", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25962, - "src": "106:2063:67" - } - ], - "src": "0:2170:67" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.254Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AppProxyPinned.json b/templates/multisig/build/contracts/AppProxyPinned.json deleted file mode 100644 index 5a01ebd..0000000 --- a/templates/multisig/build/contracts/AppProxyPinned.json +++ /dev/null @@ -1,2125 +0,0 @@ -{ - "contractName": "AppProxyPinned", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ProxyDeposit", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e", - "deployedBytecode": "0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b70029", - "sourceMap": "135:1470:36:-;;;693:281;8:9:-1;5:2;;;30:1;27;20:12;5:2;693:281:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;922:15:35;594:18;693:281:36;594:9:35;;;;:18;:::i;:::-;622:16;631:6;622:8;;;;:16;:::i;:::-;940:18;951:6;940:10;;;;:18;:::i;:::-;922:36;;1067:1;1039:18;:25;:29;1035:307;;;1092:19;1103:7;1092:10;;;;:19;:::i;:::-;1084:28;;;;;;;;1290:7;-1:-1:-1;;;;;1290:20:35;1311:18;1290:40;;;;;;;;;;;;;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;1290:40:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1282:49;;;;;;;;506:842;;;;891:33:36;905:18;916:6;905:10;;;:18;;;:::i;:::-;891:13;;;;:33;:::i;:::-;942:24;953:12;:10;;;;:12;:::i;:::-;942:10;;;;:24;:::i;:::-;934:33;;;;;;;;693:281;;;135:1470;;908:113:38;963:51;-1:-1:-1;;;;;;;;;;;1005:7:38;963:33;;;;;;:51;:::i;:::-;908:113;:::o;1027:101::-;1080:41;601:66;1114:6;1080:33;;;;;;:41;:::i;1354:143:35:-;1413:7;1439:8;:6;;;;:8;:::i;:::-;:51;;;;;;1242:66:73;1439:51:35;;;;;;;;;;;;-1:-1:-1;;;;;1439:15:35;;;;;;;:51;;;;;;;;;;;;;;;;:15;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;1439:51:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1439:51:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1439:51:35;;1354:143;-1:-1:-1;;1354:143:35:o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;1358:121:36:-;1421:51;-1:-1:-1;;;;;;;;;;;1460:11:36;1421:38;;;;;;:51;:::i;1485:118::-;1530:7;1556:40;-1:-1:-1;;;;;;;;;;;1556:38:36;;;;;;:40;:::i;:::-;1549:47;;1485:118;:::o;778:119:55:-;867:22;;865:26::o;674:116:38:-;713:7;747:35;-1:-1:-1;;;;;;;;;;;747:33:38;;;;;;:35;:::i;239:134:55:-;350:15;;340:27::o;135:1470:36:-;;;;;;;", - "deployedSourceMap": "135:1470:36:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:14:43;192:5:42;295:9:43;:25;291:343;;;356:1;344:9;:13;:37;;;;-1:-1:-1;361:8:43;:20;344:37;336:46;;;;;;;;404:15;:13;:15::i;:::-;396:24;;;;;;;;439:35;;;452:10;439:35;;464:9;439:35;;;;;;;;;;;;;;;;;291:343;;;563:16;:14;:16::i;:::-;546:33;;593:30;606:6;614:8;;593:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;593:12:43;;-1:-1:-1;;;;;593:30:43:i;:::-;225:415;135:1470:36;1255:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1255:97:36;;;;;;;;;;;;;;;;;;;;323:113:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;;;;;;;;;;;;;;;;;;;1062:92:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1062:92:36;;;;;;;;;;;;;;;;;;;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;674:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;323:113:44;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;1062:92:36:-;1109:7;1135:12;:10;:12::i;460:679:42:-;567:19;540:16;551:4;540:10;:16::i;:::-;532:25;;;;;;;;192:5;567:35;;735:1;732;720:9;714:16;707:4;696:9;692:20;686:4;672:11;667:3;663:21;650:87;762:14;806:4;800:11;847:4;844:1;839:3;824:28;1046:6;1053:28;;;;1116:4;1111:3;1104:17;1053:28;1074:4;1069:3;1062:17;1255:97:36;134:1:81;1255:97:36;:::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;674:116::-;713:7;747:35;485:66;105:128:55;210:15;;200:27::o;1485:118:36:-;1530:7;1556:40;337:66;1556:38;:40::i;426:244:49:-;486:4;;506:21;;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;778:119:55:-;867:22;;865:26::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../common/UnstructuredStorage.sol\";\nimport \"../common/IsContract.sol\";\nimport \"./AppProxyBase.sol\";\n\n\ncontract AppProxyPinned is IsContract, AppProxyBase {\n using UnstructuredStorage for bytes32;\n\n // keccak256(\"aragonOS.appStorage.pinnedCode\")\n bytes32 internal constant PINNED_CODE_POSITION = 0xdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e;\n\n /**\n * @dev Initialize AppProxyPinned (makes it an un-upgradeable Aragon app)\n * @param _kernel Reference to organization kernel for the app\n * @param _appId Identifier for app\n * @param _initializePayload Payload for call to be made after setup to initialize\n */\n constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload)\n AppProxyBase(_kernel, _appId, _initializePayload)\n public // solium-disable-line visibility-first\n {\n setPinnedCode(getAppBase(_appId));\n require(isContract(pinnedCode()));\n }\n\n /**\n * @dev ERC897, the address the proxy would delegate calls to\n */\n function implementation() public view returns (address) {\n return pinnedCode();\n }\n\n /**\n * @dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy\n */\n function proxyType() public pure returns (uint256 proxyTypeId) {\n return FORWARDING;\n }\n\n function setPinnedCode(address _pinnedCode) internal {\n PINNED_CODE_POSITION.setStorageAddress(_pinnedCode);\n }\n\n function pinnedCode() internal view returns (address) {\n return PINNED_CODE_POSITION.getStorageAddress();\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apps/AppProxyPinned.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyPinned.sol", - "exportedSymbols": { - "AppProxyPinned": [ - 23227 - ] - }, - "id": 23228, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23146, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:36" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23147, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 24261, - "src": "25:43:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 23148, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 23826, - "src": "69:34:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "file": "./AppProxyBase.sol", - "id": 23149, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 23145, - "src": "104:28:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23150, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "162:10:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 23151, - "nodeType": "InheritanceSpecifier", - "src": "162:10:36" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23152, - "name": "AppProxyBase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23144, - "src": "174:12:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyBase_$23144", - "typeString": "contract AppProxyBase" - } - }, - "id": 23153, - "nodeType": "InheritanceSpecifier", - "src": "174:12:36" - } - ], - "contractDependencies": [ - 23144, - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23227, - "linearizedBaseContracts": [ - 23227, - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyPinned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23156, - "libraryName": { - "contractScope": null, - "id": 23154, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "199:19:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "193:38:36", - "typeName": { - "id": 23155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "223:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23159, - "name": "PINNED_CODE_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23227, - "src": "288:115:36", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23157, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "288:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864656536346466323064363565353364376635316362366162366439323161306136613633386139316539343265316438643032646632386533316330333865", - "id": 23158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "337:66:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100820365170570940095149395125004696378246249682938023923674859826976992789390_by_1", - "typeString": "int_const 1008...(70 digits omitted)...9390" - }, - "value": "0xdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23186, - "nodeType": "Block", - "src": "881:93:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23175, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23163, - "src": "916:6:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23174, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "905:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "905:18:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23173, - "name": "setPinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23216, - "src": "891:13:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 23177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:33:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23178, - "nodeType": "ExpressionStatement", - "src": "891:33:36" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23181, - "name": "pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23226, - "src": "953:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "953:12:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23180, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "942:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "942:24:36", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23179, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "934:7:36", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:33:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23185, - "nodeType": "ExpressionStatement", - "src": "934:33:36" - } - ] - }, - "documentation": "@dev Initialize AppProxyPinned (makes it an un-upgradeable Aragon app)\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23187, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 23168, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23161, - "src": "785:7:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 23169, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23163, - "src": "794:6:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23170, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23165, - "src": "802:18:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 23171, - "modifierName": { - "argumentTypes": null, - "id": 23167, - "name": "AppProxyBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23144, - "src": "772:12:36", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppProxyBase_$23144_$", - "typeString": "type(contract AppProxyBase)" - } - }, - "nodeType": "ModifierInvocation", - "src": "772:49:36" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23161, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "705:15:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23160, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "705:7:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23163, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "722:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23162, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "722:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23165, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "738:24:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23164, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "738:5:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "704:59:36" - }, - "payable": false, - "returnParameters": { - "id": 23172, - "nodeType": "ParameterList", - "parameters": [], - "src": "881:0:36" - }, - "scope": 23227, - "src": "693:281:36", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23195, - "nodeType": "Block", - "src": "1118:36:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23192, - "name": "pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23226, - "src": "1135:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:12:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23191, - "id": 23194, - "nodeType": "Return", - "src": "1128:19:36" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 23196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23188, - "nodeType": "ParameterList", - "parameters": [], - "src": "1085:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23196, - "src": "1109:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1109:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1108:9:36" - }, - "scope": 23227, - "src": "1062:92:36", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - }, - { - "body": { - "id": 23203, - "nodeType": "Block", - "src": "1318:34:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 23201, - "name": "FORWARDING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28016, - "src": "1335:10:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23200, - "id": 23202, - "nodeType": "Return", - "src": "1328:17:36" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 23204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23197, - "nodeType": "ParameterList", - "parameters": [], - "src": "1273:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23199, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 23204, - "src": "1297:19:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1297:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1296:21:36" - }, - "scope": 23227, - "src": "1255:97:36", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - }, - { - "body": { - "id": 23215, - "nodeType": "Block", - "src": "1411:68:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23212, - "name": "_pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23206, - "src": "1460:11:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 23209, - "name": "PINNED_CODE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23159, - "src": "1421:20:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24241, - "src": "1421:38:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,address)" - } - }, - "id": 23213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1421:51:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23214, - "nodeType": "ExpressionStatement", - "src": "1421:51:36" - } - ] - }, - "documentation": null, - "id": 23216, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setPinnedCode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23206, - "name": "_pinnedCode", - "nodeType": "VariableDeclaration", - "scope": 23216, - "src": "1381:19:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1380:21:36" - }, - "payable": false, - "returnParameters": { - "id": 23208, - "nodeType": "ParameterList", - "parameters": [], - "src": "1411:0:36" - }, - "scope": 23227, - "src": "1358:121:36", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23225, - "nodeType": "Block", - "src": "1539:64:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23221, - "name": "PINNED_CODE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23159, - "src": "1556:20:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24205, - "src": "1556:38:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:40:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23220, - "id": 23224, - "nodeType": "Return", - "src": "1549:47:36" - } - ] - }, - "documentation": null, - "id": 23226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pinnedCode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23217, - "nodeType": "ParameterList", - "parameters": [], - "src": "1504:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23219, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23226, - "src": "1530:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1530:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1529:9:36" - }, - "scope": 23227, - "src": "1485:118:36", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23228, - "src": "135:1470:36" - } - ], - "src": "0:1606:36" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyPinned.sol", - "exportedSymbols": { - "AppProxyPinned": [ - 23227 - ] - }, - "id": 23228, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23146, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:36" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23147, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 24261, - "src": "25:43:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 23148, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 23826, - "src": "69:34:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "file": "./AppProxyBase.sol", - "id": 23149, - "nodeType": "ImportDirective", - "scope": 23228, - "sourceUnit": 23145, - "src": "104:28:36", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23150, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "162:10:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 23151, - "nodeType": "InheritanceSpecifier", - "src": "162:10:36" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23152, - "name": "AppProxyBase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23144, - "src": "174:12:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyBase_$23144", - "typeString": "contract AppProxyBase" - } - }, - "id": 23153, - "nodeType": "InheritanceSpecifier", - "src": "174:12:36" - } - ], - "contractDependencies": [ - 23144, - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23227, - "linearizedBaseContracts": [ - 23227, - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyPinned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23156, - "libraryName": { - "contractScope": null, - "id": 23154, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "199:19:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "193:38:36", - "typeName": { - "id": 23155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "223:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23159, - "name": "PINNED_CODE_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23227, - "src": "288:115:36", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23157, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "288:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864656536346466323064363565353364376635316362366162366439323161306136613633386139316539343265316438643032646632386533316330333865", - "id": 23158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "337:66:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100820365170570940095149395125004696378246249682938023923674859826976992789390_by_1", - "typeString": "int_const 1008...(70 digits omitted)...9390" - }, - "value": "0xdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23186, - "nodeType": "Block", - "src": "881:93:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23175, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23163, - "src": "916:6:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23174, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "905:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "905:18:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23173, - "name": "setPinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23216, - "src": "891:13:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 23177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:33:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23178, - "nodeType": "ExpressionStatement", - "src": "891:33:36" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23181, - "name": "pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23226, - "src": "953:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "953:12:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23180, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "942:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "942:24:36", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23179, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "934:7:36", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:33:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23185, - "nodeType": "ExpressionStatement", - "src": "934:33:36" - } - ] - }, - "documentation": "@dev Initialize AppProxyPinned (makes it an un-upgradeable Aragon app)\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23187, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 23168, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23161, - "src": "785:7:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 23169, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23163, - "src": "794:6:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23170, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23165, - "src": "802:18:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 23171, - "modifierName": { - "argumentTypes": null, - "id": 23167, - "name": "AppProxyBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23144, - "src": "772:12:36", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppProxyBase_$23144_$", - "typeString": "type(contract AppProxyBase)" - } - }, - "nodeType": "ModifierInvocation", - "src": "772:49:36" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23161, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "705:15:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23160, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "705:7:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23163, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "722:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23162, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "722:7:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23165, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23187, - "src": "738:24:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23164, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "738:5:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "704:59:36" - }, - "payable": false, - "returnParameters": { - "id": 23172, - "nodeType": "ParameterList", - "parameters": [], - "src": "881:0:36" - }, - "scope": 23227, - "src": "693:281:36", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23195, - "nodeType": "Block", - "src": "1118:36:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23192, - "name": "pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23226, - "src": "1135:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:12:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23191, - "id": 23194, - "nodeType": "Return", - "src": "1128:19:36" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 23196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23188, - "nodeType": "ParameterList", - "parameters": [], - "src": "1085:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23196, - "src": "1109:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1109:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1108:9:36" - }, - "scope": 23227, - "src": "1062:92:36", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - }, - { - "body": { - "id": 23203, - "nodeType": "Block", - "src": "1318:34:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 23201, - "name": "FORWARDING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28016, - "src": "1335:10:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23200, - "id": 23202, - "nodeType": "Return", - "src": "1328:17:36" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 23204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23197, - "nodeType": "ParameterList", - "parameters": [], - "src": "1273:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23199, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 23204, - "src": "1297:19:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1297:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1296:21:36" - }, - "scope": 23227, - "src": "1255:97:36", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - }, - { - "body": { - "id": 23215, - "nodeType": "Block", - "src": "1411:68:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23212, - "name": "_pinnedCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23206, - "src": "1460:11:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 23209, - "name": "PINNED_CODE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23159, - "src": "1421:20:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24241, - "src": "1421:38:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,address)" - } - }, - "id": 23213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1421:51:36", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23214, - "nodeType": "ExpressionStatement", - "src": "1421:51:36" - } - ] - }, - "documentation": null, - "id": 23216, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setPinnedCode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23206, - "name": "_pinnedCode", - "nodeType": "VariableDeclaration", - "scope": 23216, - "src": "1381:19:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1380:21:36" - }, - "payable": false, - "returnParameters": { - "id": 23208, - "nodeType": "ParameterList", - "parameters": [], - "src": "1411:0:36" - }, - "scope": 23227, - "src": "1358:121:36", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23225, - "nodeType": "Block", - "src": "1539:64:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23221, - "name": "PINNED_CODE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23159, - "src": "1556:20:36", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24205, - "src": "1556:38:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1556:40:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23220, - "id": 23224, - "nodeType": "Return", - "src": "1549:47:36" - } - ] - }, - "documentation": null, - "id": 23226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pinnedCode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23217, - "nodeType": "ParameterList", - "parameters": [], - "src": "1504:2:36" - }, - "payable": false, - "returnParameters": { - "id": 23220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23219, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23226, - "src": "1530:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1530:7:36", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1529:9:36" - }, - "scope": 23227, - "src": "1485:118:36", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23228, - "src": "135:1470:36" - } - ], - "src": "0:1606:36" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.232Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AppProxyUpgradeable.json b/templates/multisig/build/contracts/AppProxyUpgradeable.json deleted file mode 100644 index f74dd48..0000000 --- a/templates/multisig/build/contracts/AppProxyUpgradeable.json +++ /dev/null @@ -1,1083 +0,0 @@ -{ - "contractName": "AppProxyUpgradeable", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ProxyDeposit", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b", - "deployedBytecode": "0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae60029", - "sourceMap": "56:975:37:-;;;392:251;8:9:-1;5:2;;;30:1;27;20:12;5:2;392:251:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;922:15:35;594:18;392:251:37;594:9:35;;;;:18;:::i;:::-;622:16;631:6;622:8;;;;:16;:::i;:::-;940:18;951:6;940:10;;;;:18;:::i;:::-;922:36;;1067:1;1039:18;:25;:29;1035:307;;;1092:19;1103:7;1092:10;;;;:19;:::i;:::-;1084:28;;;;;;;;1290:7;-1:-1:-1;;;;;1290:20:35;1311:18;1290:40;;;;;;;;;;;;;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;1290:40:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1282:49;;;;;;;;506:842;;;;392:251:37;;;56:975;;908:113:38;963:51;-1:-1:-1;;;;;;;;;;;1005:7:38;963:33;;;;;;:51;:::i;:::-;908:113;:::o;1027:101::-;1080:41;601:66;1114:6;1080:33;;;;;;:41;:::i;1354:143:35:-;1413:7;1439:8;:6;;;;:8;:::i;:::-;:51;;;;;;1242:66:73;1439:51:35;;;;;;;;;;;;-1:-1:-1;;;;;1439:15:35;;;;;;;:51;;;;;;;;;;;;;;;;:15;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;1439:51:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1439:51:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1439:51:35;;1354:143;-1:-1:-1;;1354:143:35:o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;778:119:55:-;867:22;;865:26::o;674:116:38:-;713:7;747:35;-1:-1:-1;;;;;;;;;;;747:33:38;;;;;;:35;:::i;:::-;732:51;;674:116;:::o;239:134:55:-;350:15;;340:27::o;56:975:37:-;;;;;;;", - "deployedSourceMap": "56:975:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:14:43;192:5:42;295:9:43;:25;291:343;;;356:1;344:9;:13;:37;;;;-1:-1:-1;361:8:43;:20;344:37;336:46;;;;;;;;404:15;:13;:15::i;:::-;396:24;;;;;;;;439:35;;;452:10;439:35;;464:9;439:35;;;;;;;;;;;;;;;;;291:343;;;563:16;:14;:16::i;:::-;546:33;;593:30;606:6;614:8;;593:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;593:12:43;;-1:-1:-1;;;;;593:30:43:i;:::-;225:415;56:975:37;931:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;931:98:37;;;;;;;;;;;;;;;;;;;;323:113:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;;;;;;;;;;;;;;;;;;;731:99:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;731:99:37;;;;;;;;;;;;;;;;;;;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;674:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;323:113:44;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;731:99:37:-;778:7;804:19;815:7;:5;:7::i;:::-;804:10;:19::i;460:679:42:-;567:19;540:16;551:4;540:10;:16::i;:::-;532:25;;;;;;;;192:5;567:35;;735:1;732;720:9;714:16;707:4;696:9;692:20;686:4;672:11;667:3;663:21;650:87;762:14;806:4;800:11;847:4;844:1;839:3;824:28;1046:6;1053:28;;;;1116:4;1111:3;1104:17;1053:28;1074:4;1069:3;1062:17;931:98:37;181:1:81;931:98:37;:::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;674:116::-;713:7;747:35;485:66;105:128:55;210:15;;200:27::o;1354:143:35:-;1413:7;1439:8;:6;:8::i;:::-;:51;;;;;;1242:66:73;1439:51:35;;;;;;;;;;;;:15;;;;;;;;:51;;;;;;;;;;;;;;;;:15;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;1439:51:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1439:51:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1439:51:35;;1354:143;-1:-1:-1;;1354:143:35:o;426:244:49:-;486:4;;506:21;;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;778:119:55:-;867:22;;865:26::o", - "source": "pragma solidity 0.4.24;\n\nimport \"./AppProxyBase.sol\";\n\n\ncontract AppProxyUpgradeable is AppProxyBase {\n /**\n * @dev Initialize AppProxyUpgradeable (makes it an upgradeable Aragon app)\n * @param _kernel Reference to organization kernel for the app\n * @param _appId Identifier for app\n * @param _initializePayload Payload for call to be made after setup to initialize\n */\n constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload)\n AppProxyBase(_kernel, _appId, _initializePayload)\n public // solium-disable-line visibility-first\n {\n // solium-disable-previous-line no-empty-blocks\n }\n\n /**\n * @dev ERC897, the address the proxy would delegate calls to\n */\n function implementation() public view returns (address) {\n return getAppBase(appId());\n }\n\n /**\n * @dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy\n */\n function proxyType() public pure returns (uint256 proxyTypeId) {\n return UPGRADEABLE;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", - "exportedSymbols": { - "AppProxyUpgradeable": [ - 23267 - ] - }, - "id": 23268, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23229, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:37" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "file": "./AppProxyBase.sol", - "id": 23230, - "nodeType": "ImportDirective", - "scope": 23268, - "sourceUnit": 23145, - "src": "25:28:37", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23231, - "name": "AppProxyBase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23144, - "src": "88:12:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyBase_$23144", - "typeString": "contract AppProxyBase" - } - }, - "id": 23232, - "nodeType": "InheritanceSpecifier", - "src": "88:12:37" - } - ], - "contractDependencies": [ - 23144, - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23267, - "linearizedBaseContracts": [ - 23267, - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyUpgradeable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23246, - "nodeType": "Block", - "src": "580:63:37", - "statements": [] - }, - "documentation": "@dev Initialize AppProxyUpgradeable (makes it an upgradeable Aragon app)\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23247, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 23241, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23234, - "src": "484:7:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 23242, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23236, - "src": "493:6:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23243, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23238, - "src": "501:18:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 23244, - "modifierName": { - "argumentTypes": null, - "id": 23240, - "name": "AppProxyBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23144, - "src": "471:12:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppProxyBase_$23144_$", - "typeString": "type(contract AppProxyBase)" - } - }, - "nodeType": "ModifierInvocation", - "src": "471:49:37" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23234, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "404:15:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23233, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "404:7:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23236, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "421:14:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "421:7:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23238, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "437:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23237, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "437:5:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:59:37" - }, - "payable": false, - "returnParameters": { - "id": 23245, - "nodeType": "ParameterList", - "parameters": [], - "src": "580:0:37" - }, - "scope": 23267, - "src": "392:251:37", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23257, - "nodeType": "Block", - "src": "787:43:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23253, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "815:5:37", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 23254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "815:7:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23252, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "804:10:37", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "804:19:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23251, - "id": 23256, - "nodeType": "Return", - "src": "797:26:37" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 23258, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23248, - "nodeType": "ParameterList", - "parameters": [], - "src": "754:2:37" - }, - "payable": false, - "returnParameters": { - "id": 23251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23250, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23258, - "src": "778:7:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:9:37" - }, - "scope": 23267, - "src": "731:99:37", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - }, - { - "body": { - "id": 23265, - "nodeType": "Block", - "src": "994:35:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 23263, - "name": "UPGRADEABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28019, - "src": "1011:11:37", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23262, - "id": 23264, - "nodeType": "Return", - "src": "1004:18:37" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 23266, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23259, - "nodeType": "ParameterList", - "parameters": [], - "src": "949:2:37" - }, - "payable": false, - "returnParameters": { - "id": 23262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23261, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 23266, - "src": "973:19:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "973:7:37", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "972:21:37" - }, - "scope": 23267, - "src": "931:98:37", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - } - ], - "scope": 23268, - "src": "56:975:37" - } - ], - "src": "0:1032:37" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", - "exportedSymbols": { - "AppProxyUpgradeable": [ - 23267 - ] - }, - "id": 23268, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23229, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:37" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol", - "file": "./AppProxyBase.sol", - "id": 23230, - "nodeType": "ImportDirective", - "scope": 23268, - "sourceUnit": 23145, - "src": "25:28:37", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23231, - "name": "AppProxyBase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23144, - "src": "88:12:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyBase_$23144", - "typeString": "contract AppProxyBase" - } - }, - "id": 23232, - "nodeType": "InheritanceSpecifier", - "src": "88:12:37" - } - ], - "contractDependencies": [ - 23144, - 23329, - 23547, - 23609, - 23641, - 23825, - 26919, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23267, - "linearizedBaseContracts": [ - 23267, - 23144, - 26919, - 23609, - 23547, - 23825, - 28030, - 23641, - 23329 - ], - "name": "AppProxyUpgradeable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23246, - "nodeType": "Block", - "src": "580:63:37", - "statements": [] - }, - "documentation": "@dev Initialize AppProxyUpgradeable (makes it an upgradeable Aragon app)\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize", - "id": 23247, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 23241, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23234, - "src": "484:7:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - { - "argumentTypes": null, - "id": 23242, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23236, - "src": "493:6:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23243, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23238, - "src": "501:18:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 23244, - "modifierName": { - "argumentTypes": null, - "id": 23240, - "name": "AppProxyBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23144, - "src": "471:12:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppProxyBase_$23144_$", - "typeString": "type(contract AppProxyBase)" - } - }, - "nodeType": "ModifierInvocation", - "src": "471:49:37" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23234, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "404:15:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23233, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "404:7:37", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23236, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "421:14:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "421:7:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23238, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 23247, - "src": "437:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23237, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "437:5:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:59:37" - }, - "payable": false, - "returnParameters": { - "id": 23245, - "nodeType": "ParameterList", - "parameters": [], - "src": "580:0:37" - }, - "scope": 23267, - "src": "392:251:37", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23257, - "nodeType": "Block", - "src": "787:43:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23253, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "815:5:37", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 23254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "815:7:37", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 23252, - "name": "getAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23143, - "src": "804:10:37", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "804:19:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23251, - "id": 23256, - "nodeType": "Return", - "src": "797:26:37" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 23258, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23248, - "nodeType": "ParameterList", - "parameters": [], - "src": "754:2:37" - }, - "payable": false, - "returnParameters": { - "id": 23251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23250, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23258, - "src": "778:7:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:9:37" - }, - "scope": 23267, - "src": "731:99:37", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - }, - { - "body": { - "id": 23265, - "nodeType": "Block", - "src": "994:35:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 23263, - "name": "UPGRADEABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28019, - "src": "1011:11:37", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23262, - "id": 23264, - "nodeType": "Return", - "src": "1004:18:37" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 23266, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23259, - "nodeType": "ParameterList", - "parameters": [], - "src": "949:2:37" - }, - "payable": false, - "returnParameters": { - "id": 23262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23261, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 23266, - "src": "973:19:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "973:7:37", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "972:21:37" - }, - "scope": 23267, - "src": "931:98:37", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - } - ], - "scope": 23268, - "src": "56:975:37" - } - ], - "src": "0:1032:37" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.214Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AppStorage.json b/templates/multisig/build/contracts/AppStorage.json deleted file mode 100644 index 704d25a..0000000 --- a/templates/multisig/build/contracts/AppStorage.json +++ /dev/null @@ -1,1538 +0,0 @@ -{ - "contractName": "AppStorage", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061013c806100206000396000f30060806040526004361061004b5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166380afdea88114610050578063d4aae0c414610077575b600080fd5b34801561005c57600080fd5b506100656100b5565b60408051918252519081900360200190f35b34801561008357600080fd5b5061008c6100e5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006100e07fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61010c565b905090565b60006100e07f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b54905600a165627a7a7230582076dc81089e770bd9b88ba9497916c18b69057201053de7bec80c2bb5cfff9cd80029", - "deployedBytecode": "0x60806040526004361061004b5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166380afdea88114610050578063d4aae0c414610077575b600080fd5b34801561005c57600080fd5b506100656100b5565b60408051918252519081900360200190f35b34801561008357600080fd5b5061008c6100e5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006100e07fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61010c565b905090565b60006100e07f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b54905600a165627a7a7230582076dc81089e770bd9b88ba9497916c18b69057201053de7bec80c2bb5cfff9cd80029", - "sourceMap": "148:982:38:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;148:982:38;;;;;;;", - "deployedSourceMap": "148:982:38:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;796:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;;;;;;;;;;;;;;;;;674:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;;;;;;;;;;;;;;;;;;;;796:106;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;674:116::-;713:7;747:35;485:66;379:134:55;490:15;;480:27::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../common/UnstructuredStorage.sol\";\nimport \"../kernel/IKernel.sol\";\n\n\ncontract AppStorage {\n using UnstructuredStorage for bytes32;\n\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_POSITION = keccak256(\"aragonOS.appStorage.kernel\");\n bytes32 internal constant APP_ID_POSITION = keccak256(\"aragonOS.appStorage.appId\");\n */\n bytes32 internal constant KERNEL_POSITION = 0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b;\n bytes32 internal constant APP_ID_POSITION = 0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b;\n\n function kernel() public view returns (IKernel) {\n return IKernel(KERNEL_POSITION.getStorageAddress());\n }\n\n function appId() public view returns (bytes32) {\n return APP_ID_POSITION.getStorageBytes32();\n }\n\n function setKernel(IKernel _kernel) internal {\n KERNEL_POSITION.setStorageAddress(address(_kernel));\n }\n\n function setAppId(bytes32 _appId) internal {\n APP_ID_POSITION.setStorageBytes32(_appId);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apps/AppStorage.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "exportedSymbols": { - "AppStorage": [ - 23329 - ] - }, - "id": 23330, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23269, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:38" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23270, - "nodeType": "ImportDirective", - "scope": 23330, - "sourceUnit": 24261, - "src": "70:43:38", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 23271, - "nodeType": "ImportDirective", - "scope": 23330, - "sourceUnit": 26406, - "src": "114:31:38", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23329, - "linearizedBaseContracts": [ - 23329 - ], - "name": "AppStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23274, - "libraryName": { - "contractScope": null, - "id": 23272, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "180:19:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "174:38:38", - "typeName": { - "id": 23273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "204:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23277, - "name": "KERNEL_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23329, - "src": "441:110:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "441:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834313732663066376432323839313533303732623061366361333639353965306362653265666333616665353066633831363336636161393633333831333762", - "id": 23276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "485:66:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_29603418823659377402517424791837662213071105721787245324259490738465228198779_by_1", - "typeString": "int_const 2960...(69 digits omitted)...8779" - }, - "value": "0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 23280, - "name": "APP_ID_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23329, - "src": "557:110:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23278, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "557:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363235343936323137616136613334353365656362396333343839646335613533653663363762343434333239656132623263626339666635343736333962", - "id": 23279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:66:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96860829410266183739968109275744835355652829419177135718944944339455505294235_by_1", - "typeString": "int_const 9686...(69 digits omitted)...4235" - }, - "value": "0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23291, - "nodeType": "Block", - "src": "722:68:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23286, - "name": "KERNEL_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23277, - "src": "747:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24205, - "src": "747:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "747:35:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23285, - "name": "IKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26405, - "src": "739:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IKernel_$26405_$", - "typeString": "type(contract IKernel)" - } - }, - "id": 23289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:44:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "functionReturnParameters": 23284, - "id": 23290, - "nodeType": "Return", - "src": "732:51:38" - } - ] - }, - "documentation": null, - "id": 23292, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "kernel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23281, - "nodeType": "ParameterList", - "parameters": [], - "src": "689:2:38" - }, - "payable": false, - "returnParameters": { - "id": 23284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23283, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23292, - "src": "713:7:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23282, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "713:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "712:9:38" - }, - "scope": 23329, - "src": "674:116:38", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23301, - "nodeType": "Block", - "src": "843:59:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23297, - "name": "APP_ID_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23280, - "src": "860:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBytes32", - "nodeType": "MemberAccess", - "referencedDeclaration": 24214, - "src": "860:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 23299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "860:35:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 23296, - "id": 23300, - "nodeType": "Return", - "src": "853:42:38" - } - ] - }, - "documentation": null, - "id": 23302, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "appId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23293, - "nodeType": "ParameterList", - "parameters": [], - "src": "810:2:38" - }, - "payable": false, - "returnParameters": { - "id": 23296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23295, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23302, - "src": "834:7:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23294, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "834:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "833:9:38" - }, - "scope": 23329, - "src": "796:106:38", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23315, - "nodeType": "Block", - "src": "953:68:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23311, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23304, - "src": "1005:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "997:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "997:16:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 23307, - "name": "KERNEL_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23277, - "src": "963:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24241, - "src": "963:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,address)" - } - }, - "id": 23313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "963:51:38", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23314, - "nodeType": "ExpressionStatement", - "src": "963:51:38" - } - ] - }, - "documentation": null, - "id": 23316, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setKernel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23304, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23316, - "src": "927:15:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23303, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "927:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "926:17:38" - }, - "payable": false, - "returnParameters": { - "id": 23306, - "nodeType": "ParameterList", - "parameters": [], - "src": "953:0:38" - }, - "scope": 23329, - "src": "908:113:38", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23327, - "nodeType": "Block", - "src": "1070:58:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23324, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23318, - "src": "1114:6:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 23321, - "name": "APP_ID_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23280, - "src": "1080:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBytes32", - "nodeType": "MemberAccess", - "referencedDeclaration": 24250, - "src": "1080:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 23325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1080:41:38", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23326, - "nodeType": "ExpressionStatement", - "src": "1080:41:38" - } - ] - }, - "documentation": null, - "id": 23328, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23318, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23328, - "src": "1045:14:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23317, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1045:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1044:16:38" - }, - "payable": false, - "returnParameters": { - "id": 23320, - "nodeType": "ParameterList", - "parameters": [], - "src": "1070:0:38" - }, - "scope": 23329, - "src": "1027:101:38", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23330, - "src": "148:982:38" - } - ], - "src": "44:1087:38" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "exportedSymbols": { - "AppStorage": [ - 23329 - ] - }, - "id": 23330, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23269, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:38" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23270, - "nodeType": "ImportDirective", - "scope": 23330, - "sourceUnit": 24261, - "src": "70:43:38", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 23271, - "nodeType": "ImportDirective", - "scope": 23330, - "sourceUnit": 26406, - "src": "114:31:38", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23329, - "linearizedBaseContracts": [ - 23329 - ], - "name": "AppStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23274, - "libraryName": { - "contractScope": null, - "id": 23272, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "180:19:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "174:38:38", - "typeName": { - "id": 23273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "204:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23277, - "name": "KERNEL_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23329, - "src": "441:110:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "441:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834313732663066376432323839313533303732623061366361333639353965306362653265666333616665353066633831363336636161393633333831333762", - "id": 23276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "485:66:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_29603418823659377402517424791837662213071105721787245324259490738465228198779_by_1", - "typeString": "int_const 2960...(69 digits omitted)...8779" - }, - "value": "0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 23280, - "name": "APP_ID_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23329, - "src": "557:110:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23278, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "557:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363235343936323137616136613334353365656362396333343839646335613533653663363762343434333239656132623263626339666635343736333962", - "id": 23279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:66:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96860829410266183739968109275744835355652829419177135718944944339455505294235_by_1", - "typeString": "int_const 9686...(69 digits omitted)...4235" - }, - "value": "0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23291, - "nodeType": "Block", - "src": "722:68:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23286, - "name": "KERNEL_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23277, - "src": "747:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24205, - "src": "747:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 23288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "747:35:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23285, - "name": "IKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26405, - "src": "739:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IKernel_$26405_$", - "typeString": "type(contract IKernel)" - } - }, - "id": 23289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:44:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "functionReturnParameters": 23284, - "id": 23290, - "nodeType": "Return", - "src": "732:51:38" - } - ] - }, - "documentation": null, - "id": 23292, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "kernel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23281, - "nodeType": "ParameterList", - "parameters": [], - "src": "689:2:38" - }, - "payable": false, - "returnParameters": { - "id": 23284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23283, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23292, - "src": "713:7:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23282, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "713:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "712:9:38" - }, - "scope": 23329, - "src": "674:116:38", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23301, - "nodeType": "Block", - "src": "843:59:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23297, - "name": "APP_ID_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23280, - "src": "860:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBytes32", - "nodeType": "MemberAccess", - "referencedDeclaration": 24214, - "src": "860:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 23299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "860:35:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 23296, - "id": 23300, - "nodeType": "Return", - "src": "853:42:38" - } - ] - }, - "documentation": null, - "id": 23302, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "appId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23293, - "nodeType": "ParameterList", - "parameters": [], - "src": "810:2:38" - }, - "payable": false, - "returnParameters": { - "id": 23296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23295, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23302, - "src": "834:7:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23294, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "834:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "833:9:38" - }, - "scope": 23329, - "src": "796:106:38", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23315, - "nodeType": "Block", - "src": "953:68:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23311, - "name": "_kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23304, - "src": "1005:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "997:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "997:16:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 23307, - "name": "KERNEL_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23277, - "src": "963:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 24241, - "src": "963:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,address)" - } - }, - "id": 23313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "963:51:38", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23314, - "nodeType": "ExpressionStatement", - "src": "963:51:38" - } - ] - }, - "documentation": null, - "id": 23316, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setKernel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23304, - "name": "_kernel", - "nodeType": "VariableDeclaration", - "scope": 23316, - "src": "927:15:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23303, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "927:7:38", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "926:17:38" - }, - "payable": false, - "returnParameters": { - "id": 23306, - "nodeType": "ParameterList", - "parameters": [], - "src": "953:0:38" - }, - "scope": 23329, - "src": "908:113:38", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23327, - "nodeType": "Block", - "src": "1070:58:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23324, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23318, - "src": "1114:6:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 23321, - "name": "APP_ID_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23280, - "src": "1080:15:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBytes32", - "nodeType": "MemberAccess", - "referencedDeclaration": 24250, - "src": "1080:33:38", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 23325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1080:41:38", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23326, - "nodeType": "ExpressionStatement", - "src": "1080:41:38" - } - ] - }, - "documentation": null, - "id": 23328, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23318, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 23328, - "src": "1045:14:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23317, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1045:7:38", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1044:16:38" - }, - "payable": false, - "returnParameters": { - "id": 23320, - "nodeType": "ParameterList", - "parameters": [], - "src": "1070:0:38" - }, - "scope": 23329, - "src": "1027:101:38", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23330, - "src": "148:982:38" - } - ], - "src": "44:1087:38" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.223Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ApproveAndCallFallBack.json b/templates/multisig/build/contracts/ApproveAndCallFallBack.json deleted file mode 100644 index 394dd16..0000000 --- a/templates/multisig/build/contracts/ApproveAndCallFallBack.json +++ /dev/null @@ -1,29620 +0,0 @@ -{ - "contractName": "ApproveAndCallFallBack", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "from", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_token", - "type": "address" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "receiveApproval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.24;\n\n/*\n Copyright 2016, Jordi Baylina\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n */\n\n/// @title MiniMeToken Contract\n/// @author Jordi Baylina\n/// @dev This token contract's goal is to make it easy for anyone to clone this\n/// token using the token distribution at a given block, this will allow DAO's\n/// and DApps to upgrade their features in a decentralized manner without\n/// affecting the original token\n/// @dev It is ERC20 compliant, but still needs to under go further testing.\n\nimport \"./ITokenController.sol\";\n\ncontract Controlled {\n /// @notice The address of the controller is the only address that can call\n /// a function with this modifier\n modifier onlyController {\n require(msg.sender == controller);\n _;\n }\n\n address public controller;\n\n function Controlled() public { controller = msg.sender;}\n\n /// @notice Changes the controller of the contract\n /// @param _newController The new controller of the contract\n function changeController(address _newController) onlyController public {\n controller = _newController;\n }\n}\n\ncontract ApproveAndCallFallBack {\n function receiveApproval(\n address from,\n uint256 _amount,\n address _token,\n bytes _data\n ) public;\n}\n\n/// @dev The actual token contract, the default controller is the msg.sender\n/// that deploys the contract, so usually this token will be deployed by a\n/// token controller contract, which Giveth will call a \"Campaign\"\ncontract MiniMeToken is Controlled {\n\n string public name; //The Token's name: e.g. DigixDAO Tokens\n uint8 public decimals; //Number of decimals of the smallest unit\n string public symbol; //An identifier: e.g. REP\n string public version = \"MMT_0.1\"; //An arbitrary versioning scheme\n\n\n /// @dev `Checkpoint` is the structure that attaches a block number to a\n /// given value, the block number attached is the one that last changed the\n /// value\n struct Checkpoint {\n\n // `fromBlock` is the block number that the value was generated from\n uint128 fromBlock;\n\n // `value` is the amount of tokens at a specific block number\n uint128 value;\n }\n\n // `parentToken` is the Token address that was cloned to produce this token;\n // it will be 0x0 for a token that was not cloned\n MiniMeToken public parentToken;\n\n // `parentSnapShotBlock` is the block number from the Parent Token that was\n // used to determine the initial distribution of the Clone Token\n uint public parentSnapShotBlock;\n\n // `creationBlock` is the block number that the Clone Token was created\n uint public creationBlock;\n\n // `balances` is the map that tracks the balance of each address, in this\n // contract when the balance changes the block number that the change\n // occurred is also included in the map\n mapping (address => Checkpoint[]) balances;\n\n // `allowed` tracks any extra transfer rights as in all ERC20 tokens\n mapping (address => mapping (address => uint256)) allowed;\n\n // Tracks the history of the `totalSupply` of the token\n Checkpoint[] totalSupplyHistory;\n\n // Flag that determines if the token is transferable or not.\n bool public transfersEnabled;\n\n // The factory used to create new clone tokens\n MiniMeTokenFactory public tokenFactory;\n\n////////////////\n// Constructor\n////////////////\n\n /// @notice Constructor to create a MiniMeToken\n /// @param _tokenFactory The address of the MiniMeTokenFactory contract that\n /// will create the Clone token contracts, the token factory needs to be\n /// deployed first\n /// @param _parentToken Address of the parent token, set to 0x0 if it is a\n /// new token\n /// @param _parentSnapShotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token, set to 0 if it\n /// is a new token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n function MiniMeToken(\n MiniMeTokenFactory _tokenFactory,\n MiniMeToken _parentToken,\n uint _parentSnapShotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public\n {\n tokenFactory = _tokenFactory;\n name = _tokenName; // Set the name\n decimals = _decimalUnits; // Set the decimals\n symbol = _tokenSymbol; // Set the symbol\n parentToken = _parentToken;\n parentSnapShotBlock = _parentSnapShotBlock;\n transfersEnabled = _transfersEnabled;\n creationBlock = block.number;\n }\n\n\n///////////////////\n// ERC20 Methods\n///////////////////\n\n /// @notice Send `_amount` tokens to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n return doTransfer(msg.sender, _to, _amount);\n }\n\n /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n /// is approved by `_from`\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {\n\n // The controller of this contract can move tokens around at will,\n // this is important to recognize! Confirm that you trust the\n // controller of this contract, which in most situations should be\n // another open source smart contract or 0x0\n if (msg.sender != controller) {\n require(transfersEnabled);\n\n // The standard ERC 20 transferFrom functionality\n if (allowed[_from][msg.sender] < _amount)\n return false;\n allowed[_from][msg.sender] -= _amount;\n }\n return doTransfer(_from, _to, _amount);\n }\n\n /// @dev This is the actual transfer function in the token contract, it can\n /// only be called by other functions in this contract.\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function doTransfer(address _from, address _to, uint _amount) internal returns(bool) {\n if (_amount == 0) {\n return true;\n }\n require(parentSnapShotBlock < block.number);\n // Do not allow transfer to 0x0 or the token contract itself\n require((_to != 0) && (_to != address(this)));\n // If the amount being transfered is more than the balance of the\n // account the transfer returns false\n var previousBalanceFrom = balanceOfAt(_from, block.number);\n if (previousBalanceFrom < _amount) {\n return false;\n }\n // Alerts the token controller of the transfer\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onTransfer(_from, _to, _amount) == true);\n }\n // First update the balance array with the new value for the address\n // sending the tokens\n updateValueAtNow(balances[_from], previousBalanceFrom - _amount);\n // Then update the balance array with the new value for the address\n // receiving the tokens\n var previousBalanceTo = balanceOfAt(_to, block.number);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(balances[_to], previousBalanceTo + _amount);\n // An event to make the transfer easy to find on the blockchain\n Transfer(_from, _to, _amount);\n return true;\n }\n\n /// @param _owner The address that's balance is being requested\n /// @return The balance of `_owner` at the current block\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balanceOfAt(_owner, block.number);\n }\n\n /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n /// its behalf. This is a modified version of the ERC20 approve function\n /// to be a little bit safer\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the approval was successful\n function approve(address _spender, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n\n // To change the approve amount you first have to reduce the addresses`\n // allowance to zero by calling `approve(_spender,0)` if it is not\n // already 0 to mitigate the race condition described here:\n // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n require((_amount == 0) || (allowed[msg.sender][_spender] == 0));\n\n // Alerts the token controller of the approve function call\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onApprove(msg.sender, _spender, _amount) == true);\n }\n\n allowed[msg.sender][_spender] = _amount;\n Approval(msg.sender, _spender, _amount);\n return true;\n }\n\n /// @dev This function makes it easy to read the `allowed[]` map\n /// @param _owner The address of the account that owns the token\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens of _owner that _spender is allowed\n /// to spend\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on\n /// its behalf, and then a function is triggered in the contract that is\n /// being approved, `_spender`. This allows users to use their tokens to\n /// interact with contracts in one function call instead of two\n /// @param _spender The address of the contract able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the function call was successful\n function approveAndCall(ApproveAndCallFallBack _spender, uint256 _amount, bytes _extraData) public returns (bool success) {\n require(approve(_spender, _amount));\n\n _spender.receiveApproval(\n msg.sender,\n _amount,\n this,\n _extraData\n );\n\n return true;\n }\n\n /// @dev This function makes it easy to get the total number of tokens\n /// @return The total number of tokens\n function totalSupply() public constant returns (uint) {\n return totalSupplyAt(block.number);\n }\n\n\n////////////////\n// Query balance and totalSupply in History\n////////////////\n\n /// @dev Queries the balance of `_owner` at a specific `_blockNumber`\n /// @param _owner The address from which the balance will be retrieved\n /// @param _blockNumber The block number when the balance is queried\n /// @return The balance at `_blockNumber`\n function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {\n\n // These next few lines are used when the balance of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.balanceOfAt` be queried at the\n // genesis block for that token as this contains initial balance of\n // this token\n if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock));\n } else {\n // Has no parent\n return 0;\n }\n\n // This will return the expected balance during normal situations\n } else {\n return getValueAt(balances[_owner], _blockNumber);\n }\n }\n\n /// @notice Total amount of tokens at a specific `_blockNumber`.\n /// @param _blockNumber The block number when the totalSupply is queried\n /// @return The total amount of tokens at `_blockNumber`\n function totalSupplyAt(uint _blockNumber) public constant returns(uint) {\n\n // These next few lines are used when the totalSupply of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.totalSupplyAt` be queried at the\n // genesis block for this token as that contains totalSupply of this\n // token at this block number.\n if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock));\n } else {\n return 0;\n }\n\n // This will return the expected totalSupply during normal situations\n } else {\n return getValueAt(totalSupplyHistory, _blockNumber);\n }\n }\n\n////////////////\n// Clone Token Method\n////////////////\n\n /// @notice Creates a new clone token with the initial distribution being\n /// this token at `_snapshotBlock`\n /// @param _cloneTokenName Name of the clone token\n /// @param _cloneDecimalUnits Number of decimals of the smallest unit\n /// @param _cloneTokenSymbol Symbol of the clone token\n /// @param _snapshotBlock Block when the distribution of the parent token is\n /// copied to set the initial distribution of the new clone token;\n /// if the block is zero than the actual block, the current block is used\n /// @param _transfersEnabled True if transfers are allowed in the clone\n /// @return The address of the new MiniMeToken Contract\n function createCloneToken(\n string _cloneTokenName,\n uint8 _cloneDecimalUnits,\n string _cloneTokenSymbol,\n uint _snapshotBlock,\n bool _transfersEnabled\n ) public returns(MiniMeToken)\n {\n uint256 snapshot = _snapshotBlock == 0 ? block.number - 1 : _snapshotBlock;\n\n MiniMeToken cloneToken = tokenFactory.createCloneToken(\n this,\n snapshot,\n _cloneTokenName,\n _cloneDecimalUnits,\n _cloneTokenSymbol,\n _transfersEnabled\n );\n\n cloneToken.changeController(msg.sender);\n\n // An event to make the token easy to find on the blockchain\n NewCloneToken(address(cloneToken), snapshot);\n return cloneToken;\n }\n\n////////////////\n// Generate and destroy tokens\n////////////////\n\n /// @notice Generates `_amount` tokens that are assigned to `_owner`\n /// @param _owner The address that will be assigned the new tokens\n /// @param _amount The quantity of tokens generated\n /// @return True if the tokens are generated correctly\n function generateTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow\n uint previousBalanceTo = balanceOf(_owner);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);\n updateValueAtNow(balances[_owner], previousBalanceTo + _amount);\n Transfer(0, _owner, _amount);\n return true;\n }\n\n\n /// @notice Burns `_amount` tokens from `_owner`\n /// @param _owner The address that will lose the tokens\n /// @param _amount The quantity of tokens to burn\n /// @return True if the tokens are burned correctly\n function destroyTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply >= _amount);\n uint previousBalanceFrom = balanceOf(_owner);\n require(previousBalanceFrom >= _amount);\n updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount);\n updateValueAtNow(balances[_owner], previousBalanceFrom - _amount);\n Transfer(_owner, 0, _amount);\n return true;\n }\n\n////////////////\n// Enable tokens transfers\n////////////////\n\n\n /// @notice Enables token holders to transfer their tokens freely if true\n /// @param _transfersEnabled True if transfers are allowed in the clone\n function enableTransfers(bool _transfersEnabled) onlyController public {\n transfersEnabled = _transfersEnabled;\n }\n\n////////////////\n// Internal helper functions to query and set a value in a snapshot array\n////////////////\n\n /// @dev `getValueAt` retrieves the number of tokens at a given block number\n /// @param checkpoints The history of values being queried\n /// @param _block The block number to retrieve the value at\n /// @return The number of tokens being queried\n function getValueAt(Checkpoint[] storage checkpoints, uint _block) constant internal returns (uint) {\n if (checkpoints.length == 0)\n return 0;\n\n // Shortcut for the actual value\n if (_block >= checkpoints[checkpoints.length-1].fromBlock)\n return checkpoints[checkpoints.length-1].value;\n if (_block < checkpoints[0].fromBlock)\n return 0;\n\n // Binary search of the value in the array\n uint min = 0;\n uint max = checkpoints.length-1;\n while (max > min) {\n uint mid = (max + min + 1) / 2;\n if (checkpoints[mid].fromBlock<=_block) {\n min = mid;\n } else {\n max = mid-1;\n }\n }\n return checkpoints[min].value;\n }\n\n /// @dev `updateValueAtNow` used to update the `balances` map and the\n /// `totalSupplyHistory`\n /// @param checkpoints The history of data being updated\n /// @param _value The new number of tokens\n function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value) internal {\n if ((checkpoints.length == 0) || (checkpoints[checkpoints.length - 1].fromBlock < block.number)) {\n Checkpoint storage newCheckPoint = checkpoints[checkpoints.length++];\n newCheckPoint.fromBlock = uint128(block.number);\n newCheckPoint.value = uint128(_value);\n } else {\n Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length - 1];\n oldCheckPoint.value = uint128(_value);\n }\n }\n\n /// @dev Internal function to determine if an address is a contract\n /// @param _addr The address being queried\n /// @return True if `_addr` is a contract\n function isContract(address _addr) constant internal returns(bool) {\n uint size;\n if (_addr == 0)\n return false;\n\n assembly {\n size := extcodesize(_addr)\n }\n\n return size>0;\n }\n\n /// @dev Helper function to return a min betwen the two uints\n function min(uint a, uint b) pure internal returns (uint) {\n return a < b ? a : b;\n }\n\n /// @notice The fallback function: If the contract's controller has not been\n /// set to 0, then the `proxyPayment` method is called which relays the\n /// ether and creates tokens as described in the token controller contract\n function () external payable {\n require(isContract(controller));\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).proxyPayment.value(msg.value)(msg.sender) == true);\n }\n\n//////////\n// Safety Methods\n//////////\n\n /// @notice This method can be used by the controller to extract mistakenly\n /// sent tokens to this contract.\n /// @param _token The address of the token contract that you want to recover\n /// set to 0 in case you want to extract ether.\n function claimTokens(address _token) onlyController public {\n if (_token == 0x0) {\n controller.transfer(this.balance);\n return;\n }\n\n MiniMeToken token = MiniMeToken(_token);\n uint balance = token.balanceOf(this);\n token.transfer(controller, balance);\n ClaimedTokens(_token, controller, balance);\n }\n\n////////////////\n// Events\n////////////////\n event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount);\n event Transfer(address indexed _from, address indexed _to, uint256 _amount);\n event NewCloneToken(address indexed _cloneToken, uint _snapshotBlock);\n event Approval(\n address indexed _owner,\n address indexed _spender,\n uint256 _amount\n );\n\n}\n\n\n////////////////\n// MiniMeTokenFactory\n////////////////\n\n/// @dev This contract is used to generate clone contracts from a contract.\n/// In solidity this is the way to create a contract from a contract of the\n/// same class\ncontract MiniMeTokenFactory {\n\n /// @notice Update the DApp by creating a new token with new functionalities\n /// the msg.sender becomes the controller of this clone token\n /// @param _parentToken Address of the token being cloned\n /// @param _snapshotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n /// @return The address of the new token contract\n function createCloneToken(\n MiniMeToken _parentToken,\n uint _snapshotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public returns (MiniMeToken)\n {\n MiniMeToken newToken = new MiniMeToken(\n this,\n _parentToken,\n _snapshotBlock,\n _tokenName,\n _decimalUnits,\n _tokenSymbol,\n _transfersEnabled\n );\n\n newToken.changeController(msg.sender);\n return newToken;\n }\n}", - "sourcePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "ast": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.497Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AragonApp.json b/templates/multisig/build/contracts/AragonApp.json deleted file mode 100644 index 3f80765..0000000 --- a/templates/multisig/build/contracts/AragonApp.json +++ /dev/null @@ -1,3506 +0,0 @@ -{ - "contractName": "AragonApp", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062000e1c8339815191526401000000006200096d6200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062000e1c8339815191528264010000000062000ba16200023782021704565b50565b5490565b9055565b610bd1806200024b6000396000f3006080604052600436106100955763ffffffff60e060020a6000350416630803fac0811461009a5780632914b9bd146100c357806332f0a3b5146101385780637e7db6e11461014d57806380afdea81461016e5780638b3dd749146101955780639d4941d8146101aa578063a1658fad146101cd578063a479e50814610234578063d4aae0c414610249578063de4796ed1461025e575b600080fd5b3480156100a657600080fd5b506100af610273565b604080519115158252519081900360200190f35b3480156100cf57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261011c94369492936024939284019190819084018382808284375094975061029c9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561014457600080fd5b5061011c610382565b34801561015957600080fd5b506100af600160a060020a03600435166103fa565b34801561017a57600080fd5b50610183610400565b60408051918252519081900360200190f35b3480156101a157600080fd5b50610183610430565b3480156101b657600080fd5b506101cb600160a060020a036004351661045b565b005b3480156101d957600080fd5b5060408051602060046044358181013583810280860185019096528085526100af958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506107269650505050505050565b34801561024057600080fd5b5061011c610876565b34801561025557600080fd5b5061011c61092b565b34801561026a57600080fd5b506100af610956565b60008061027e610430565b90508015801590610296575080610293610969565b10155b91505090565b60006102a6610876565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103045781810151838201526020016102ec565b50505050905090810190601f1680156103315780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b505050506040513d602081101561037a57600080fd5b505192915050565b600061038c61092b565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505050506040513d60208110156103f357600080fd5b5051905090565b50600190565b600061042b7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61096d565b905090565b600061042b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61096d565b6000806000610469846103fa565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561052b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104f05781810151838201526020016104d8565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610534610382565b925061053f83610975565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156105c55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b50600160a060020a03841615156106165760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610610573d6000803e3d6000fd5b506106d5565b5082610631600160a060020a0382163063ffffffff6109a216565b915061064d600160a060020a038216848463ffffffff610aa216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156106d35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610731610273565b1515610740576000915061086e565b61074861092b565b9050600160a060020a0381161515610763576000915061086e565b80600160a060020a031663fdef910686308761077e88610b18565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156107f05781810151838201526020016107d8565b50505050905090810190601f16801561081d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561083f57600080fd5b505af1158015610853573d6000803e3d6000fd5b505050506040513d602081101561086957600080fd5b505191505b509392505050565b60008061088161092b565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561035057600080fd5b600061042b7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61096d565b6000600019610963610430565b14905090565b4390565b5490565b5490565b600080600160a060020a0383161515610991576000915061099c565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180610a0d8684610b22565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515610a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090610b0f8582610b53565b95945050505050565b8051602002815290565b6000806000806040516020818751602089018a5afa92506000831115610b4757805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115610b97573d8015610b845760208114610b8d57610b95565b60019350610b95565b600183511493505b505b5090949350505050565b90555600a165627a7a72305820d48c46b01d6773782ed24292c8787e1ed35ece1306695389db84c38217bbebda0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100955763ffffffff60e060020a6000350416630803fac0811461009a5780632914b9bd146100c357806332f0a3b5146101385780637e7db6e11461014d57806380afdea81461016e5780638b3dd749146101955780639d4941d8146101aa578063a1658fad146101cd578063a479e50814610234578063d4aae0c414610249578063de4796ed1461025e575b600080fd5b3480156100a657600080fd5b506100af610273565b604080519115158252519081900360200190f35b3480156100cf57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261011c94369492936024939284019190819084018382808284375094975061029c9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561014457600080fd5b5061011c610382565b34801561015957600080fd5b506100af600160a060020a03600435166103fa565b34801561017a57600080fd5b50610183610400565b60408051918252519081900360200190f35b3480156101a157600080fd5b50610183610430565b3480156101b657600080fd5b506101cb600160a060020a036004351661045b565b005b3480156101d957600080fd5b5060408051602060046044358181013583810280860185019096528085526100af958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506107269650505050505050565b34801561024057600080fd5b5061011c610876565b34801561025557600080fd5b5061011c61092b565b34801561026a57600080fd5b506100af610956565b60008061027e610430565b90508015801590610296575080610293610969565b10155b91505090565b60006102a6610876565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103045781810151838201526020016102ec565b50505050905090810190601f1680156103315780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b505050506040513d602081101561037a57600080fd5b505192915050565b600061038c61092b565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505050506040513d60208110156103f357600080fd5b5051905090565b50600190565b600061042b7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61096d565b905090565b600061042b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61096d565b6000806000610469846103fa565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561052b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104f05781810151838201526020016104d8565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610534610382565b925061053f83610975565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156105c55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b50600160a060020a03841615156106165760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610610573d6000803e3d6000fd5b506106d5565b5082610631600160a060020a0382163063ffffffff6109a216565b915061064d600160a060020a038216848463ffffffff610aa216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156106d35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610731610273565b1515610740576000915061086e565b61074861092b565b9050600160a060020a0381161515610763576000915061086e565b80600160a060020a031663fdef910686308761077e88610b18565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156107f05781810151838201526020016107d8565b50505050905090810190601f16801561081d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561083f57600080fd5b505af1158015610853573d6000803e3d6000fd5b505050506040513d602081101561086957600080fd5b505191505b509392505050565b60008061088161092b565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561035057600080fd5b600061042b7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61096d565b6000600019610963610430565b14905090565b4390565b5490565b5490565b600080600160a060020a0383161515610991576000915061099c565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180610a0d8684610b22565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515610a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156104f05781810151838201526020016104d8565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090610b0f8582610b53565b95945050505050565b8051602002815290565b6000806000806040516020818751602089018a5afa92506000831115610b4757805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115610b97573d8015610b845760208114610b8d57610b95565b60019350610b95565b600183511493505b505b5090949350505050565b90555600a165627a7a72305820d48c46b01d6773782ed24292c8787e1ed35ece1306695389db84c38217bbebda0029", - "sourceMap": "753:1731:39:-;;;344:9:40;:7;;;;:9;:::i;:::-;753:1731:39;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;753:1731:39:-;;;;;;;", - "deployedSourceMap": "753:1731:39:-;;;;;;;;;-1:-1:-1;;;753:1731:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;;;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;674:116:38;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:53:-;422:12;347:94;:::o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./AppStorage.sol\";\nimport \"../acl/ACLSyntaxSugar.sol\";\nimport \"../common/Autopetrified.sol\";\nimport \"../common/ConversionHelpers.sol\";\nimport \"../common/ReentrancyGuard.sol\";\nimport \"../common/VaultRecoverable.sol\";\nimport \"../evmscript/EVMScriptRunner.sol\";\n\n\n// Contracts inheriting from AragonApp are, by default, immediately petrified upon deployment so\n// that they can never be initialized.\n// Unless overriden, this behaviour enforces those contracts to be usable only behind an AppProxy.\n// ReentrancyGuard, EVMScriptRunner, and ACLSyntaxSugar are not directly used by this contract, but\n// are included so that they are automatically usable by subclassing contracts\ncontract AragonApp is AppStorage, Autopetrified, VaultRecoverable, ReentrancyGuard, EVMScriptRunner, ACLSyntaxSugar {\n string private constant ERROR_AUTH_FAILED = \"APP_AUTH_FAILED\";\n\n modifier auth(bytes32 _role) {\n require(canPerform(msg.sender, _role, new uint256[](0)), ERROR_AUTH_FAILED);\n _;\n }\n\n modifier authP(bytes32 _role, uint256[] _params) {\n require(canPerform(msg.sender, _role, _params), ERROR_AUTH_FAILED);\n _;\n }\n\n /**\n * @dev Check whether an action can be performed by a sender for a particular role on this app\n * @param _sender Sender of the call\n * @param _role Role on this app\n * @param _params Permission params for the role\n * @return Boolean indicating whether the sender has the permissions to perform the action.\n * Always returns false if the app hasn't been initialized yet.\n */\n function canPerform(address _sender, bytes32 _role, uint256[] _params) public view returns (bool) {\n if (!hasInitialized()) {\n return false;\n }\n\n IKernel linkedKernel = kernel();\n if (address(linkedKernel) == address(0)) {\n return false;\n }\n\n return linkedKernel.hasPermission(\n _sender,\n address(this),\n _role,\n ConversionHelpers.dangerouslyCastUintArrayToBytes(_params)\n );\n }\n\n /**\n * @dev Get the recovery vault for the app\n * @return Recovery vault address for the app\n */\n function getRecoveryVault() public view returns (address) {\n // Funds recovery via a vault is only available when used with a kernel\n return kernel().getRecoveryVault(); // if kernel is not set, it will revert\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apps/AragonApp.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "exportedSymbols": { - "AragonApp": [ - 23453 - ] - }, - "id": 23454, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23331, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:39" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "./AppStorage.sol", - "id": 23332, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23330, - "src": "70:26:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "../acl/ACLSyntaxSugar.sol", - "id": 23333, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 22312, - "src": "97:35:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "file": "../common/Autopetrified.sol", - "id": 23334, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23467, - "src": "133:37:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 23335, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23517, - "src": "171:41:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ReentrancyGuard.sol", - "file": "../common/ReentrancyGuard.sol", - "id": 23336, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23896, - "src": "213:39:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "file": "../common/VaultRecoverable.sol", - "id": 23337, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 24377, - "src": "253:40:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRunner.sol", - "file": "../evmscript/EVMScriptRunner.sol", - "id": 23338, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 25112, - "src": "294:42:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23339, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "775:10:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 23340, - "nodeType": "InheritanceSpecifier", - "src": "775:10:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23341, - "name": "Autopetrified", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23466, - "src": "787:13:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Autopetrified_$23466", - "typeString": "contract Autopetrified" - } - }, - "id": 23342, - "nodeType": "InheritanceSpecifier", - "src": "787:13:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23343, - "name": "VaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24376, - "src": "802:16:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - }, - "id": 23344, - "nodeType": "InheritanceSpecifier", - "src": "802:16:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23345, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23895, - "src": "820:15:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$23895", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 23346, - "nodeType": "InheritanceSpecifier", - "src": "820:15:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23347, - "name": "EVMScriptRunner", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25111, - "src": "837:15:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRunner_$25111", - "typeString": "contract EVMScriptRunner" - } - }, - "id": 23348, - "nodeType": "InheritanceSpecifier", - "src": "837:15:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23349, - "name": "ACLSyntaxSugar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22236, - "src": "854:14:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLSyntaxSugar_$22236", - "typeString": "contract ACLSyntaxSugar" - } - }, - "id": 23350, - "nodeType": "InheritanceSpecifier", - "src": "854:14:39" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23453, - "linearizedBaseContracts": [ - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "AragonApp", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23353, - "name": "ERROR_AUTH_FAILED", - "nodeType": "VariableDeclaration", - "scope": 23453, - "src": "875:61:39", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23351, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "875:6:39", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4150505f415554485f4641494c4544", - "id": 23352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "919:17:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c647f89bc482fba966a87f2618f3643e7330fe1a975a9e059dd461fd318ea46", - "typeString": "literal_string \"APP_AUTH_FAILED\"" - }, - "value": "APP_AUTH_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23372, - "nodeType": "Block", - "src": "972:103:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1001:3:39", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1001:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23361, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23355, - "src": "1013:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1034:1:39", - "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": 23364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1020:13:39", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 23362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1024:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23363, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1024:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 23366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1020:16:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - ], - "id": 23358, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "990:10:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 23367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "990:47:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23368, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23353, - "src": "1039:17:39", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23357, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "982:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:75:39", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23370, - "nodeType": "ExpressionStatement", - "src": "982:75:39" - }, - { - "id": 23371, - "nodeType": "PlaceholderStatement", - "src": "1067:1:39" - } - ] - }, - "documentation": null, - "id": 23373, - "name": "auth", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23355, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23373, - "src": "957:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23354, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "957:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "956:15:39" - }, - "src": "943:132:39", - "visibility": "internal" - }, - { - "body": { - "id": 23391, - "nodeType": "Block", - "src": "1130:94:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1159:3:39", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1159:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23384, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23375, - "src": "1171:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23385, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23378, - "src": "1178:7:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 23381, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "1148:10:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 23386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1148:38:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23387, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23353, - "src": "1188:17:39", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1140:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1140:66:39", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23389, - "nodeType": "ExpressionStatement", - "src": "1140:66:39" - }, - { - "id": 23390, - "nodeType": "PlaceholderStatement", - "src": "1216:1:39" - } - ] - }, - "documentation": null, - "id": 23392, - "name": "authP", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23375, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23392, - "src": "1096:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23374, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1096:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23378, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 23392, - "src": "1111:17:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1111:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23377, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1111:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1095:34:39" - }, - "src": "1081:143:39", - "visibility": "internal" - }, - { - "body": { - "id": 23440, - "nodeType": "Block", - "src": "1739:398:39", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 23406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1753:17:39", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23404, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "1754:14:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1754:16:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23410, - "nodeType": "IfStatement", - "src": "1749:60:39", - "trueBody": { - "id": 23409, - "nodeType": "Block", - "src": "1772:37:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1793:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23403, - "id": 23408, - "nodeType": "Return", - "src": "1786:12:39" - } - ] - } - }, - { - "assignments": [ - 23412 - ], - "declarations": [ - { - "constant": false, - "id": 23412, - "name": "linkedKernel", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1819:20:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23411, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1819:7:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23415, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23413, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1842:6:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:8:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1819:31:39" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 23422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23417, - "name": "linkedKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23412, - "src": "1872:12:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1864:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1864:21:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1897:1:39", - "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": 23419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1889:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1889:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1864:35:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23426, - "nodeType": "IfStatement", - "src": "1860:78:39", - "trueBody": { - "id": 23425, - "nodeType": "Block", - "src": "1901:37:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1922:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23403, - "id": 23424, - "nodeType": "Return", - "src": "1915:12:39" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23429, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23394, - "src": "1995:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23431, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29857, - "src": "2024:4:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - ], - "id": 23430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2016:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2016:13:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23433, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23396, - "src": "2043:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23436, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23399, - "src": "2112:7:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23434, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "2062:17:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 23435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastUintArrayToBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 23488, - "src": "2062:49:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256[] memory) pure returns (bytes memory)" - } - }, - "id": 23437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2062:58:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23427, - "name": "linkedKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23412, - "src": "1955:12:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 26386, - "src": "1955:26:39", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view external returns (bool)" - } - }, - "id": 23438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1955:175:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23403, - "id": 23439, - "nodeType": "Return", - "src": "1948:182:39" - } - ] - }, - "documentation": "@dev Check whether an action can be performed by a sender for a particular role on this app\n@param _sender Sender of the call\n@param _role Role on this app\n@param _params Permission params for the role\n@return Boolean indicating whether the sender has the permissions to perform the action.\n Always returns false if the app hasn't been initialized yet.", - "id": 23441, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canPerform", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23394, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1661:15:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1661:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23396, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1678:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23395, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1678:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23399, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1693:17:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1693:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23398, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1693:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1660:51:39" - }, - "payable": false, - "returnParameters": { - "id": 23403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1733:4:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23401, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1733:4:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1732:6:39" - }, - "scope": 23453, - "src": "1641:496:39", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23451, - "nodeType": "Block", - "src": "2311:171:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23446, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "2408:6:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:8:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getRecoveryVault", - "nodeType": "MemberAccess", - "referencedDeclaration": 23698, - "src": "2408:25:39", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 23449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:27:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23445, - "id": 23450, - "nodeType": "Return", - "src": "2401:34:39" - } - ] - }, - "documentation": "@dev Get the recovery vault for the app\n@return Recovery vault address for the app", - "id": 23452, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23442, - "nodeType": "ParameterList", - "parameters": [], - "src": "2278:2:39" - }, - "payable": false, - "returnParameters": { - "id": 23445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23444, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23452, - "src": "2302:7:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2302:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:39" - }, - "scope": 23453, - "src": "2253:229:39", - "stateMutability": "view", - "superFunction": 24375, - "visibility": "public" - } - ], - "scope": 23454, - "src": "753:1731:39" - } - ], - "src": "44:2441:39" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "exportedSymbols": { - "AragonApp": [ - 23453 - ] - }, - "id": 23454, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23331, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:39" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "./AppStorage.sol", - "id": 23332, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23330, - "src": "70:26:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "../acl/ACLSyntaxSugar.sol", - "id": 23333, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 22312, - "src": "97:35:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "file": "../common/Autopetrified.sol", - "id": 23334, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23467, - "src": "133:37:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 23335, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23517, - "src": "171:41:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ReentrancyGuard.sol", - "file": "../common/ReentrancyGuard.sol", - "id": 23336, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 23896, - "src": "213:39:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "file": "../common/VaultRecoverable.sol", - "id": 23337, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 24377, - "src": "253:40:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRunner.sol", - "file": "../evmscript/EVMScriptRunner.sol", - "id": 23338, - "nodeType": "ImportDirective", - "scope": 23454, - "sourceUnit": 25112, - "src": "294:42:39", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23339, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "775:10:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 23340, - "nodeType": "InheritanceSpecifier", - "src": "775:10:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23341, - "name": "Autopetrified", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23466, - "src": "787:13:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Autopetrified_$23466", - "typeString": "contract Autopetrified" - } - }, - "id": 23342, - "nodeType": "InheritanceSpecifier", - "src": "787:13:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23343, - "name": "VaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24376, - "src": "802:16:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - }, - "id": 23344, - "nodeType": "InheritanceSpecifier", - "src": "802:16:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23345, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23895, - "src": "820:15:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$23895", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 23346, - "nodeType": "InheritanceSpecifier", - "src": "820:15:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23347, - "name": "EVMScriptRunner", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25111, - "src": "837:15:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRunner_$25111", - "typeString": "contract EVMScriptRunner" - } - }, - "id": 23348, - "nodeType": "InheritanceSpecifier", - "src": "837:15:39" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23349, - "name": "ACLSyntaxSugar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22236, - "src": "854:14:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLSyntaxSugar_$22236", - "typeString": "contract ACLSyntaxSugar" - } - }, - "id": 23350, - "nodeType": "InheritanceSpecifier", - "src": "854:14:39" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23453, - "linearizedBaseContracts": [ - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "AragonApp", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23353, - "name": "ERROR_AUTH_FAILED", - "nodeType": "VariableDeclaration", - "scope": 23453, - "src": "875:61:39", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23351, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "875:6:39", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4150505f415554485f4641494c4544", - "id": 23352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "919:17:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c647f89bc482fba966a87f2618f3643e7330fe1a975a9e059dd461fd318ea46", - "typeString": "literal_string \"APP_AUTH_FAILED\"" - }, - "value": "APP_AUTH_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23372, - "nodeType": "Block", - "src": "972:103:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1001:3:39", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1001:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23361, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23355, - "src": "1013:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1034:1:39", - "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": 23364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1020:13:39", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 23362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1024:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23363, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1024:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 23366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1020:16:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - ], - "id": 23358, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "990:10:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 23367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "990:47:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23368, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23353, - "src": "1039:17:39", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23357, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "982:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:75:39", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23370, - "nodeType": "ExpressionStatement", - "src": "982:75:39" - }, - { - "id": 23371, - "nodeType": "PlaceholderStatement", - "src": "1067:1:39" - } - ] - }, - "documentation": null, - "id": 23373, - "name": "auth", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23355, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23373, - "src": "957:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23354, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "957:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "956:15:39" - }, - "src": "943:132:39", - "visibility": "internal" - }, - { - "body": { - "id": 23391, - "nodeType": "Block", - "src": "1130:94:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1159:3:39", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1159:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23384, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23375, - "src": "1171:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 23385, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23378, - "src": "1178:7:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 23381, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "1148:10:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 23386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1148:38:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23387, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23353, - "src": "1188:17:39", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1140:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1140:66:39", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23389, - "nodeType": "ExpressionStatement", - "src": "1140:66:39" - }, - { - "id": 23390, - "nodeType": "PlaceholderStatement", - "src": "1216:1:39" - } - ] - }, - "documentation": null, - "id": 23392, - "name": "authP", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23375, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23392, - "src": "1096:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23374, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1096:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23378, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 23392, - "src": "1111:17:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1111:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23377, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1111:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1095:34:39" - }, - "src": "1081:143:39", - "visibility": "internal" - }, - { - "body": { - "id": 23440, - "nodeType": "Block", - "src": "1739:398:39", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 23406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1753:17:39", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23404, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "1754:14:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1754:16:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23410, - "nodeType": "IfStatement", - "src": "1749:60:39", - "trueBody": { - "id": 23409, - "nodeType": "Block", - "src": "1772:37:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1793:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23403, - "id": 23408, - "nodeType": "Return", - "src": "1786:12:39" - } - ] - } - }, - { - "assignments": [ - 23412 - ], - "declarations": [ - { - "constant": false, - "id": 23412, - "name": "linkedKernel", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1819:20:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 23411, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "1819:7:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23415, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23413, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1842:6:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:8:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1819:31:39" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 23422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23417, - "name": "linkedKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23412, - "src": "1872:12:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 23416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1864:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1864:21:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1897:1:39", - "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": 23419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1889:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1889:10:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1864:35:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23426, - "nodeType": "IfStatement", - "src": "1860:78:39", - "trueBody": { - "id": 23425, - "nodeType": "Block", - "src": "1901:37:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1922:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23403, - "id": 23424, - "nodeType": "Return", - "src": "1915:12:39" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23429, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23394, - "src": "1995:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23431, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29857, - "src": "2024:4:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - ], - "id": 23430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2016:7:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2016:13:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23433, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23396, - "src": "2043:5:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23436, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23399, - "src": "2112:7:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23434, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "2062:17:39", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 23435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastUintArrayToBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 23488, - "src": "2062:49:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256[] memory) pure returns (bytes memory)" - } - }, - "id": 23437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2062:58:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 23427, - "name": "linkedKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23412, - "src": "1955:12:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 26386, - "src": "1955:26:39", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view external returns (bool)" - } - }, - "id": 23438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1955:175:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23403, - "id": 23439, - "nodeType": "Return", - "src": "1948:182:39" - } - ] - }, - "documentation": "@dev Check whether an action can be performed by a sender for a particular role on this app\n@param _sender Sender of the call\n@param _role Role on this app\n@param _params Permission params for the role\n@return Boolean indicating whether the sender has the permissions to perform the action.\n Always returns false if the app hasn't been initialized yet.", - "id": 23441, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canPerform", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23394, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1661:15:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1661:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23396, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1678:13:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23395, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1678:7:39", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23399, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1693:17:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1693:7:39", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23398, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1693:9:39", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1660:51:39" - }, - "payable": false, - "returnParameters": { - "id": 23403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23441, - "src": "1733:4:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23401, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1733:4:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1732:6:39" - }, - "scope": 23453, - "src": "1641:496:39", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23451, - "nodeType": "Block", - "src": "2311:171:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23446, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "2408:6:39", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 23447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:8:39", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 23448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getRecoveryVault", - "nodeType": "MemberAccess", - "referencedDeclaration": 23698, - "src": "2408:25:39", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 23449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:27:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 23445, - "id": 23450, - "nodeType": "Return", - "src": "2401:34:39" - } - ] - }, - "documentation": "@dev Get the recovery vault for the app\n@return Recovery vault address for the app", - "id": 23452, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23442, - "nodeType": "ParameterList", - "parameters": [], - "src": "2278:2:39" - }, - "payable": false, - "returnParameters": { - "id": 23445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23444, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23452, - "src": "2302:7:39", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2302:7:39", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:39" - }, - "scope": 23453, - "src": "2253:229:39", - "stateMutability": "view", - "superFunction": 24375, - "visibility": "public" - } - ], - "scope": 23454, - "src": "753:1731:39" - } - ], - "src": "44:2441:39" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.269Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/AragonFundraisingController.json b/templates/multisig/build/contracts/AragonFundraisingController.json deleted file mode 100644 index a31c50e..0000000 --- a/templates/multisig/build/contracts/AragonFundraisingController.json +++ /dev/null @@ -1,19935 +0,0 @@ -{ - "contractName": "AragonFundraisingController", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TO_RESET_CAP", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_TRADING_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_PRESALE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "marketMaker", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_BUY_ORDER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_BENEFICIARY_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_FEES_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_TOKEN_TAP_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRIBUTE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_TOKEN_TAP_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "reserve", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "toReset", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_SELL_ORDER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "WITHDRAW_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tap", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "presale", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_presale", - "type": "address" - }, - { - "name": "_marketMaker", - "type": "address" - }, - { - "name": "_reserve", - "type": "address" - }, - { - "name": "_tap", - "type": "address" - }, - { - "name": "_toReset", - "type": "address[]" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "updateBeneficiary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyFeePct", - "type": "uint256" - }, - { - "name": "_sellFeePct", - "type": "uint256" - } - ], - "name": "updateFees", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "openPresale", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "closePresale", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_value", - "type": "uint256" - } - ], - "name": "contribute", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_contributor", - "type": "address" - }, - { - "name": "_vestedPurchaseId", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "openTrading", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "openBuyOrder", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "openSellOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyer", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimBuyOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_seller", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimSellOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_virtualSupply", - "type": "uint256" - }, - { - "name": "_virtualBalance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - }, - { - "name": "_slippage", - "type": "uint256" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "addCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_virtualSupply", - "type": "uint256" - }, - { - "name": "_virtualBalance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - }, - { - "name": "_slippage", - "type": "uint256" - } - ], - "name": "reAddCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - } - ], - "name": "removeCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_virtualSupply", - "type": "uint256" - }, - { - "name": "_virtualBalance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - }, - { - "name": "_slippage", - "type": "uint256" - } - ], - "name": "updateCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapRateIncreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "addTokenTap", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "updateTokenTap", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "updateTappedAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "contributionToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "getMaximumWithdrawal", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_collateral", - "type": "address" - } - ], - "name": "collateralsToBeClaimed", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_token", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062003c96833981519152640100000000620035e86200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062003c96833981519152826401000000006200399b6200023782021704565b50565b5490565b9055565b613a4b806200024b6000396000f3006080604052600436106102a55763ffffffff60e060020a60003504166307e18bc881146102aa5780630803fac0146102c45780630aaffd2a146102ed5780630d3047911461030e5780630f97e2fe146103355780631c1966591461034a5780631f21f9af1461035f5780632914b9bd146103905780632cd4a270146103e95780633017dbed146103fe57806332f0a3b5146104135780633b3fadb614610428578063410085df1461044f57806341644f8c146104735780634afe6c47146104885780634bedf9a8146104a957806351cff8d9146104be5780635e6f6c77146104df578063608bac051461050a57806360e14b601461051f578063628b95b51461053457806363cea450146105675780636db794371461057c57806378ea6103146105975780637b0d772e146105c25780637e7db6e1146105e657806380afdea814610607578063846a0a891461061c5780638a9b1e2d1461063d5780638b3dd749146106705780638b488634146106855780638dd983121461069a57806394f9059f146106af57806397ff256a146106d05780639d4941d814610709578063a1658fad1461072a578063a2b96b6f14610791578063a479e508146107a6578063b0d88a40146107bb578063b6e9c826146107d0578063b8fd61a8146107e5578063c102b1b51461080c578063c1cbbca714610821578063c9567bf91461082c578063cc77491b14610841578063cd3293de14610856578063cf6adb401461086b578063cf9d82f214610883578063d21bd82014610898578063d441e2b7146108b0578063d4aae0c4146108c7578063de4796ed146108dc578063e02023a1146108f1578063e2a5aec514610906578063f7888aec14610927578063f8453e7c1461094e578063fc0c546a1461098d578063fd221031146109a2578063fdea8e0b146109b7575b600080fd5b3480156102b657600080fd5b506102c26004356109cc565b005b3480156102d057600080fd5b506102d9610b41565b604080519115158252519081900360200190f35b3480156102f957600080fd5b506102c2600160a060020a0360043516610b6a565b34801561031a57600080fd5b50610323610cd9565b60408051918252519081900360200190f35b34801561034157600080fd5b50610323610cde565b34801561035657600080fd5b50610323610d02565b34801561036b57600080fd5b50610374610d26565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610374943694929360249392840191908190840183828082843750949750610d359650505050505050565b3480156103f557600080fd5b50610323610e1b565b34801561040a57600080fd5b50610323610e3f565b34801561041f57600080fd5b50610374610e63565b34801561043457600080fd5b506102c2600160a060020a0360043516602435604435610edb565b34801561045b57600080fd5b506102c2600160a060020a036004351660243561100d565b34801561047f57600080fd5b506103236110f5565b34801561049457600080fd5b50610323600160a060020a0360043516611119565b3480156104b557600080fd5b50610374611200565b3480156104ca57600080fd5b506102c2600160a060020a03600435166112d1565b3480156104eb57600080fd5b506102c2600160a060020a0360043581169060243590604435166113ed565b34801561051657600080fd5b506103236114fd565b34801561052b57600080fd5b5061032361150f565b34801561054057600080fd5b506102c2600160a060020a036004351660243560443563ffffffff60643516608435611533565b34801561057357600080fd5b506102c2611668565b34801561058857600080fd5b506102c2600435602435611759565b3480156105a357600080fd5b506102c2600160a060020a03600435811690602435906044351661187b565b3480156105ce57600080fd5b506102c2600160a060020a036004351660243561196e565b3480156105f257600080fd5b506102d9600160a060020a0360043516611a97565b34801561061357600080fd5b50610323611a9d565b34801561062857600080fd5b506102c2600160a060020a0360043516611acd565b34801561064957600080fd5b506102c2600160a060020a036004351660243560443563ffffffff60643516608435611b4f565b34801561067c57600080fd5b50610323611c8c565b34801561069157600080fd5b50610323611cb7565b3480156106a657600080fd5b506102c2611cdb565b3480156106bb57600080fd5b506102c2600160a060020a0360043516611dea565b3480156106dc57600080fd5b506102c2600160a060020a036004351660243560443563ffffffff6064351660843560a43560c435611f06565b34801561071557600080fd5b506102c2600160a060020a036004351661214c565b34801561073657600080fd5b5060408051602060046044358181013583810280860185019096528085526102d9958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506123db9650505050505050565b34801561079d57600080fd5b5061032361252b565b3480156107b257600080fd5b5061037461254f565b3480156107c757600080fd5b50610323612604565b3480156107dc57600080fd5b50610323612628565b3480156107f157600080fd5b506102c2600160a060020a036004351660243560443561264c565b34801561081857600080fd5b50610323612776565b6102c260043561279a565b34801561083857600080fd5b506102c26128ba565b34801561084d57600080fd5b50610323612b09565b34801561086257600080fd5b50610374612b2d565b34801561087757600080fd5b50610374600435612b3c565b34801561088f57600080fd5b50610323612b64565b3480156108a457600080fd5b506102c2600435612b88565b6102c2600160a060020a0360043516602435612ca3565b3480156108d357600080fd5b50610374612dcf565b3480156108e857600080fd5b506102d9612dfa565b3480156108fd57600080fd5b50610323612e0d565b34801561091257600080fd5b50610323600160a060020a0360043516612e31565b34801561093357600080fd5b50610323600160a060020a0360043581169060243516612f02565b34801561095a57600080fd5b506102c2600160a060020a0360048035821691602480358216926044358316926064351691608435908101910135613076565b34801561099957600080fd5b506103746134f4565b3480156109ae57600080fd5b506103746135c6565b3480156109c357600080fd5b506103746135d5565b604080516000808252602082019092527f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20791610a0e9133918491905b506123db565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610abe5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a83578181015183820152602001610a6b565b50505050905090810190601f168015610ab05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600354604080517f07e18bc8000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a03909216916307e18bc89160248082019260009290919082900301818387803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050505050565b600080610b4c611c8c565b90508015801590610b64575080610b616135e4565b10155b91505090565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259391610baa913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610c1e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e160020a630557fe95028152600160a060020a03858116600483015291519190921691630aaffd2a91602480830192600092919082900301818387803b158015610c7057600080fd5b505af1158015610c84573d6000803e3d6000fd5b50506003546040805160e160020a630557fe95028152600160a060020a0387811660048301529151919092169350630aaffd2a9250602480830192600092919082900301818387803b158015610b2557600080fd5b600a81565b7f26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf681565b7ff323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c281565b600154600160a060020a031681565b6000610d3f61254f565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d9d578181015183820152602001610d85565b50505050905090810190601f168015610dca5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b505192915050565b7fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea781565b7fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d81565b6000610e6d612dcf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b505af1158015610ebe573d6000803e3d6000fd5b505050506040513d6020811015610ed457600080fd5b5051905090565b604080516000808252602082019092527fbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e59620791610f1b913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610f8f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506003546040805160e360020a631712f6c5028152600160a060020a03878116600483015260248201879052604482018690529151919092169163b897b62891606480830192600092919082900301818387803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b5050505050505050565b611015610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156110895760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f410085df000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151919092169263410085df926044808201939182900301818387803b158015610b2557600080fd5b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b6000611123610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156111975760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f4afe6c47000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921691634afe6c479160248083019260209291908290030181600087803b158015610de957600080fd5b600061120a610b41565b6040805180820190915260148152600080516020613a00833981519152602082015290151561127e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506000809054906101000a9004600160a060020a0316600160a060020a0316634bedf9a86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b604080516000808252602082019092527f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec91611311913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156113855760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517f51cff8d9000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916351cff8d991602480830192600092919082900301818387803b158015610b2557600080fd5b6113f5610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156114695760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f5e6f6c77000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052848116604483015291519190921691635e6f6c7791606480830192600092919082900301818387803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050505050565b6000805160206139e083398151915281565b7f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82281565b604080516000808252602082019092526000805160206139e083398151915291611561913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156115d55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e060020a63fd531e03028152600160a060020a038981166004830152602482018990526044820188905263ffffffff87166064830152608482018690529151919092169163fd531e039160a480830192600092919082900301818387803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b50505050505050505050565b611670610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156116e45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f43d726d60000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216926343d726d69260048084019382900301818387803b15801561173f57600080fd5b505af1158015611753573d6000803e3d6000fd5b50505050565b604080516000808252602082019092527f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82291611799913391849190610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561180d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f6db7943700000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a0390921691636db794379160448082019260009290919082900301818387803b1580156114e057600080fd5b611883610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156118f75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f78ea6103000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690528481166044830152915191909216916378ea610391606480830192600092919082900301818387803b1580156114e057600080fd5b604080516000808252602082019092527fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0916119ae913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611a225760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f0f1ff5ea000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691630f1ff5ea91606480830192600092919082900301818387803b1580156114e057600080fd5b50600190565b6000611ac87fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6135e8565b905090565b600354604080517f846a0a89000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163846a0a8991602480830192600092919082900301818387803b158015611b3457600080fd5b505af1158015611b48573d6000803e3d6000fd5b5050505050565b604080516000808252602082019092527fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d91611b8f913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611c035760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f8a9b1e2d000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018990526044820188905263ffffffff871660648301526084820186905291519190921691638a9b1e2d9160a480830192600092919082900301818387803b15801561164857600080fd5b6000611ac87febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6135e8565b7fbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e59620781565b604080516000808252602082019092527ff323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c291611d1b913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611d8f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517ffcfff16f0000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169263fcfff16f9260048084019382900301818387803b158015611b3457600080fd5b604080516000808252602082019092527f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee291611e2a913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611e9e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f94f9059f000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916394f9059f91602480830192600092919082900301818387803b158015610b2557600080fd5b604080516000808252602082019092526000805160206139e083398151915291611f34913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611fa85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e060020a63fd531e03028152600160a060020a038b81166004830152602482018b9052604482018a905263ffffffff89166064830152608482018890529151919092169163fd531e039160a480830192600092919082900301818387803b15801561201b57600080fd5b505af115801561202f573d6000803e3d6000fd5b50505050600160a060020a038816156120c257600254604080517f6298e902000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015291519190921691636298e90291602480830192600092919082900301818387803b1580156120a957600080fd5b505af11580156120bd573d6000803e3d6000fd5b505050505b6000831115611003576003546040805160e360020a631712f6c5028152600160a060020a038b8116600483015260248201879052604482018690529151919092169163b897b62891606480830192600092919082900301818387803b15801561212a57600080fd5b505af115801561213e573d6000803e3d6000fd5b505050505050505050505050565b600080600061215a84611a97565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156121e05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506121e9610e63565b92506121f4836135f0565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561227a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160a060020a03841615156122cb5760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156122c5573d6000803e3d6000fd5b5061238a565b50826122e6600160a060020a0382163063ffffffff61361d16565b9150612302600160a060020a038216848463ffffffff61371d16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156123885760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806123e6610b41565b15156123f55760009150612523565b6123fd612dcf565b9050600160a060020a03811615156124185760009150612523565b80600160a060020a031663fdef910686308761243388613793565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156124a557818101518382015260200161248d565b50505050905090810190601f1680156124d25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156124f457600080fd5b505af1158015612508573d6000803e3d6000fd5b505050506040513d602081101561251e57600080fd5b505191505b509392505050565b7f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0781565b60008061255a612dcf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610de957600080fd5b7fdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a841681565b7f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee281565b604080516000808252602082019092527fdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a84169161268c913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156127005760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517ff30a00ce000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015260248201879052604482018690529151919092169163f30a00ce91606480830192600092919082900301818387803b158015610fef57600080fd5b7f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20781565b604080516000808252602082019092527f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07916127da913391849190610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561284e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f8418cd99000000000000000000000000000000000000000000000000000000008152336004820152602481018690529051600160a060020a0390921692638418cd99923492604480820193929182900301818588803b1580156114e057600080fd5b604080516000808252602082019092527f26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf6906128fa903390839085610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561296e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600091505b600454821015612ab65760035460048054600092600160a060020a03169163a8734f0b91869081106129a257fe5b60009182526020808320909101546040805160e060020a63ffffffff8716028152600160a060020a0390921660048301525160248083019491928390030190829087803b1580156129f257600080fd5b505af1158015612a06573d6000803e3d6000fd5b505050506040513d6020811015612a1c57600080fd5b505114612aab5760035460048054600160a060020a0390921691639cbbba88919085908110612a4757fe5b60009182526020822001546040805160e060020a63ffffffff8616028152600160a060020a039092166004830152516024808301939282900301818387803b158015612a9257600080fd5b505af1158015612aa6573d6000803e3d6000fd5b505050505b600190910190612974565b600160009054906101000a9004600160a060020a0316600160a060020a031663fcfff16f6040518163ffffffff1660e060020a028152600401600060405180830381600087803b158015610b2557600080fd5b7f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e181565b600254600160a060020a031681565b6004805482908110612b4a57fe5b600091825260209091200154600160a060020a0316905081565b7fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c081565b604080516000808252602082019092527f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e191612bc8913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515612c3c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517fd21bd820000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a039092169163d21bd8209160248082019260009290919082900301818387803b158015610b2557600080fd5b604080516000808252602082019092527fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea791612ce3913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515612d575760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f3fae9bfb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691633fae9bfb91349160648082019260009290919082900301818588803b158015610fef57600080fd5b6000611ac87f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6135e8565b6000600019612e07611c8c565b14905090565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b6000612e3b610b41565b6040805180820190915260148152600080516020613a008339815191526020820152901515612eaf5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506003546040805160e060020a63e2a5aec5028152600160a060020a0385811660048301529151919092169163e2a5aec59160248083019260209291908290030181600087803b158015610de957600080fd5b600080612f0d610b41565b6040805180820190915260148152600080516020613a008339815191526020820152901515612f815760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160a060020a03831615612faf57612faa600160a060020a0384168563ffffffff61361d16565b612fbb565b83600160a060020a0316315b600254909150600160a060020a038581169116141561306b576003546040805160e060020a63e2a5aec5028152600160a060020a038681166004830152915161306493929092169163e2a5aec5916024808201926020929091908290030181600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050506040513d602081101561305557600080fd5b5051829063ffffffff61379d16565b915061306f565b8091505b5092915050565b6000613080611c8c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131055760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061310f876135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156131835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061318d866135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156132015760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061320b856135f0565b60408051808201909152601b81526000805160206139c0833981519152602082015290151561327f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50613289846135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156132fd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060408051808201909152601a81527f46554e4452414953494e475f494e56414c49445f544f4b454e530000000000006020820152600a83106133855760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061338e613831565b5060008054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff19928316178355600180548983169084161790556002805488831690841617905560038054918716919092161790555b818110156114f45761340f8383838181106133fa57fe5b90506020020135600160a060020a03166138f9565b60408051808201909152601a81527f46554e4452414953494e475f494e56414c49445f544f4b454e5300000000000060208201529015156134955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060048383838181106134a457fe5b8354600181810186556000958652602095869020909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03969093029490940135949094161790915550016133e3565b60006134fe610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156135725760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160009054906101000a9004600160a060020a0316600160a060020a031663fc0c546a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b600354600160a060020a031681565b600054600160a060020a031681565b4390565b5490565b5490565b600080600160a060020a038316151561360c5760009150613617565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180613688868461391c565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156137135760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061378a858261394d565b95945050505050565b8051602002815290565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156138295760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b505050900390565b613839611c8c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156138be5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506138f76138ca6135e4565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61399b16565b565b6000613904826135f0565b806139165750600160a060020a038216155b92915050565b6000806000806040516020818751602089018a5afa9250600083111561394157805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115613991573d801561397e57602081146139875761398f565b6001935061398f565b600183511493505b505b5090949350505050565b905556004150505f415554485f4641494c4544000000000000000000000000000000000046554e4452414953494e475f434f4e54524143545f49535f454f410000000000217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a72305820da7c8435e041367d5158e9e9f0e7c0b55b999b1eacc50b97f94fe77b62b9f43c0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106102a55763ffffffff60e060020a60003504166307e18bc881146102aa5780630803fac0146102c45780630aaffd2a146102ed5780630d3047911461030e5780630f97e2fe146103355780631c1966591461034a5780631f21f9af1461035f5780632914b9bd146103905780632cd4a270146103e95780633017dbed146103fe57806332f0a3b5146104135780633b3fadb614610428578063410085df1461044f57806341644f8c146104735780634afe6c47146104885780634bedf9a8146104a957806351cff8d9146104be5780635e6f6c77146104df578063608bac051461050a57806360e14b601461051f578063628b95b51461053457806363cea450146105675780636db794371461057c57806378ea6103146105975780637b0d772e146105c25780637e7db6e1146105e657806380afdea814610607578063846a0a891461061c5780638a9b1e2d1461063d5780638b3dd749146106705780638b488634146106855780638dd983121461069a57806394f9059f146106af57806397ff256a146106d05780639d4941d814610709578063a1658fad1461072a578063a2b96b6f14610791578063a479e508146107a6578063b0d88a40146107bb578063b6e9c826146107d0578063b8fd61a8146107e5578063c102b1b51461080c578063c1cbbca714610821578063c9567bf91461082c578063cc77491b14610841578063cd3293de14610856578063cf6adb401461086b578063cf9d82f214610883578063d21bd82014610898578063d441e2b7146108b0578063d4aae0c4146108c7578063de4796ed146108dc578063e02023a1146108f1578063e2a5aec514610906578063f7888aec14610927578063f8453e7c1461094e578063fc0c546a1461098d578063fd221031146109a2578063fdea8e0b146109b7575b600080fd5b3480156102b657600080fd5b506102c26004356109cc565b005b3480156102d057600080fd5b506102d9610b41565b604080519115158252519081900360200190f35b3480156102f957600080fd5b506102c2600160a060020a0360043516610b6a565b34801561031a57600080fd5b50610323610cd9565b60408051918252519081900360200190f35b34801561034157600080fd5b50610323610cde565b34801561035657600080fd5b50610323610d02565b34801561036b57600080fd5b50610374610d26565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610374943694929360249392840191908190840183828082843750949750610d359650505050505050565b3480156103f557600080fd5b50610323610e1b565b34801561040a57600080fd5b50610323610e3f565b34801561041f57600080fd5b50610374610e63565b34801561043457600080fd5b506102c2600160a060020a0360043516602435604435610edb565b34801561045b57600080fd5b506102c2600160a060020a036004351660243561100d565b34801561047f57600080fd5b506103236110f5565b34801561049457600080fd5b50610323600160a060020a0360043516611119565b3480156104b557600080fd5b50610374611200565b3480156104ca57600080fd5b506102c2600160a060020a03600435166112d1565b3480156104eb57600080fd5b506102c2600160a060020a0360043581169060243590604435166113ed565b34801561051657600080fd5b506103236114fd565b34801561052b57600080fd5b5061032361150f565b34801561054057600080fd5b506102c2600160a060020a036004351660243560443563ffffffff60643516608435611533565b34801561057357600080fd5b506102c2611668565b34801561058857600080fd5b506102c2600435602435611759565b3480156105a357600080fd5b506102c2600160a060020a03600435811690602435906044351661187b565b3480156105ce57600080fd5b506102c2600160a060020a036004351660243561196e565b3480156105f257600080fd5b506102d9600160a060020a0360043516611a97565b34801561061357600080fd5b50610323611a9d565b34801561062857600080fd5b506102c2600160a060020a0360043516611acd565b34801561064957600080fd5b506102c2600160a060020a036004351660243560443563ffffffff60643516608435611b4f565b34801561067c57600080fd5b50610323611c8c565b34801561069157600080fd5b50610323611cb7565b3480156106a657600080fd5b506102c2611cdb565b3480156106bb57600080fd5b506102c2600160a060020a0360043516611dea565b3480156106dc57600080fd5b506102c2600160a060020a036004351660243560443563ffffffff6064351660843560a43560c435611f06565b34801561071557600080fd5b506102c2600160a060020a036004351661214c565b34801561073657600080fd5b5060408051602060046044358181013583810280860185019096528085526102d9958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506123db9650505050505050565b34801561079d57600080fd5b5061032361252b565b3480156107b257600080fd5b5061037461254f565b3480156107c757600080fd5b50610323612604565b3480156107dc57600080fd5b50610323612628565b3480156107f157600080fd5b506102c2600160a060020a036004351660243560443561264c565b34801561081857600080fd5b50610323612776565b6102c260043561279a565b34801561083857600080fd5b506102c26128ba565b34801561084d57600080fd5b50610323612b09565b34801561086257600080fd5b50610374612b2d565b34801561087757600080fd5b50610374600435612b3c565b34801561088f57600080fd5b50610323612b64565b3480156108a457600080fd5b506102c2600435612b88565b6102c2600160a060020a0360043516602435612ca3565b3480156108d357600080fd5b50610374612dcf565b3480156108e857600080fd5b506102d9612dfa565b3480156108fd57600080fd5b50610323612e0d565b34801561091257600080fd5b50610323600160a060020a0360043516612e31565b34801561093357600080fd5b50610323600160a060020a0360043581169060243516612f02565b34801561095a57600080fd5b506102c2600160a060020a0360048035821691602480358216926044358316926064351691608435908101910135613076565b34801561099957600080fd5b506103746134f4565b3480156109ae57600080fd5b506103746135c6565b3480156109c357600080fd5b506103746135d5565b604080516000808252602082019092527f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20791610a0e9133918491905b506123db565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610abe5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a83578181015183820152602001610a6b565b50505050905090810190601f168015610ab05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600354604080517f07e18bc8000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a03909216916307e18bc89160248082019260009290919082900301818387803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050505050565b600080610b4c611c8c565b90508015801590610b64575080610b616135e4565b10155b91505090565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259391610baa913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610c1e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e160020a630557fe95028152600160a060020a03858116600483015291519190921691630aaffd2a91602480830192600092919082900301818387803b158015610c7057600080fd5b505af1158015610c84573d6000803e3d6000fd5b50506003546040805160e160020a630557fe95028152600160a060020a0387811660048301529151919092169350630aaffd2a9250602480830192600092919082900301818387803b158015610b2557600080fd5b600a81565b7f26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf681565b7ff323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c281565b600154600160a060020a031681565b6000610d3f61254f565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d9d578181015183820152602001610d85565b50505050905090810190601f168015610dca5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b505192915050565b7fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea781565b7fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d81565b6000610e6d612dcf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b505af1158015610ebe573d6000803e3d6000fd5b505050506040513d6020811015610ed457600080fd5b5051905090565b604080516000808252602082019092527fbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e59620791610f1b913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515610f8f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506003546040805160e360020a631712f6c5028152600160a060020a03878116600483015260248201879052604482018690529151919092169163b897b62891606480830192600092919082900301818387803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b5050505050505050565b611015610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156110895760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f410085df000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151919092169263410085df926044808201939182900301818387803b158015610b2557600080fd5b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b6000611123610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156111975760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f4afe6c47000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921691634afe6c479160248083019260209291908290030181600087803b158015610de957600080fd5b600061120a610b41565b6040805180820190915260148152600080516020613a00833981519152602082015290151561127e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506000809054906101000a9004600160a060020a0316600160a060020a0316634bedf9a86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b604080516000808252602082019092527f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec91611311913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156113855760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517f51cff8d9000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916351cff8d991602480830192600092919082900301818387803b158015610b2557600080fd5b6113f5610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156114695760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f5e6f6c77000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052848116604483015291519190921691635e6f6c7791606480830192600092919082900301818387803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050505050565b6000805160206139e083398151915281565b7f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82281565b604080516000808252602082019092526000805160206139e083398151915291611561913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156115d55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e060020a63fd531e03028152600160a060020a038981166004830152602482018990526044820188905263ffffffff87166064830152608482018690529151919092169163fd531e039160a480830192600092919082900301818387803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b50505050505050505050565b611670610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156116e45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f43d726d60000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216926343d726d69260048084019382900301818387803b15801561173f57600080fd5b505af1158015611753573d6000803e3d6000fd5b50505050565b604080516000808252602082019092527f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82291611799913391849190610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561180d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f6db7943700000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a0390921691636db794379160448082019260009290919082900301818387803b1580156114e057600080fd5b611883610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156118f75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f78ea6103000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690528481166044830152915191909216916378ea610391606480830192600092919082900301818387803b1580156114e057600080fd5b604080516000808252602082019092527fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0916119ae913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611a225760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f0f1ff5ea000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691630f1ff5ea91606480830192600092919082900301818387803b1580156114e057600080fd5b50600190565b6000611ac87fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6135e8565b905090565b600354604080517f846a0a89000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163846a0a8991602480830192600092919082900301818387803b158015611b3457600080fd5b505af1158015611b48573d6000803e3d6000fd5b5050505050565b604080516000808252602082019092527fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d91611b8f913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611c035760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f8a9b1e2d000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018990526044820188905263ffffffff871660648301526084820186905291519190921691638a9b1e2d9160a480830192600092919082900301818387803b15801561164857600080fd5b6000611ac87febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6135e8565b7fbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e59620781565b604080516000808252602082019092527ff323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c291611d1b913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611d8f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517ffcfff16f0000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169263fcfff16f9260048084019382900301818387803b158015611b3457600080fd5b604080516000808252602082019092527f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee291611e2a913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611e9e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f94f9059f000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916394f9059f91602480830192600092919082900301818387803b158015610b2557600080fd5b604080516000808252602082019092526000805160206139e083398151915291611f34913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515611fa85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506001546040805160e060020a63fd531e03028152600160a060020a038b81166004830152602482018b9052604482018a905263ffffffff89166064830152608482018890529151919092169163fd531e039160a480830192600092919082900301818387803b15801561201b57600080fd5b505af115801561202f573d6000803e3d6000fd5b50505050600160a060020a038816156120c257600254604080517f6298e902000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015291519190921691636298e90291602480830192600092919082900301818387803b1580156120a957600080fd5b505af11580156120bd573d6000803e3d6000fd5b505050505b6000831115611003576003546040805160e360020a631712f6c5028152600160a060020a038b8116600483015260248201879052604482018690529151919092169163b897b62891606480830192600092919082900301818387803b15801561212a57600080fd5b505af115801561213e573d6000803e3d6000fd5b505050505050505050505050565b600080600061215a84611a97565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156121e05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506121e9610e63565b92506121f4836135f0565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561227a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160a060020a03841615156122cb5760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156122c5573d6000803e3d6000fd5b5061238a565b50826122e6600160a060020a0382163063ffffffff61361d16565b9150612302600160a060020a038216848463ffffffff61371d16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156123885760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806123e6610b41565b15156123f55760009150612523565b6123fd612dcf565b9050600160a060020a03811615156124185760009150612523565b80600160a060020a031663fdef910686308761243388613793565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156124a557818101518382015260200161248d565b50505050905090810190601f1680156124d25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156124f457600080fd5b505af1158015612508573d6000803e3d6000fd5b505050506040513d602081101561251e57600080fd5b505191505b509392505050565b7f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0781565b60008061255a612dcf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610de957600080fd5b7fdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a841681565b7f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee281565b604080516000808252602082019092527fdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a84169161268c913391849190610a08565b60408051808201909152600f81526000805160206139a083398151915260208201529015156127005760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517ff30a00ce000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015260248201879052604482018690529151919092169163f30a00ce91606480830192600092919082900301818387803b158015610fef57600080fd5b7f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20781565b604080516000808252602082019092527f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07916127da913391849190610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561284e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060008054604080517f8418cd99000000000000000000000000000000000000000000000000000000008152336004820152602481018690529051600160a060020a0390921692638418cd99923492604480820193929182900301818588803b1580156114e057600080fd5b604080516000808252602082019092527f26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf6906128fa903390839085610a08565b60408051808201909152600f81526000805160206139a0833981519152602082015290151561296e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600091505b600454821015612ab65760035460048054600092600160a060020a03169163a8734f0b91869081106129a257fe5b60009182526020808320909101546040805160e060020a63ffffffff8716028152600160a060020a0390921660048301525160248083019491928390030190829087803b1580156129f257600080fd5b505af1158015612a06573d6000803e3d6000fd5b505050506040513d6020811015612a1c57600080fd5b505114612aab5760035460048054600160a060020a0390921691639cbbba88919085908110612a4757fe5b60009182526020822001546040805160e060020a63ffffffff8616028152600160a060020a039092166004830152516024808301939282900301818387803b158015612a9257600080fd5b505af1158015612aa6573d6000803e3d6000fd5b505050505b600190910190612974565b600160009054906101000a9004600160a060020a0316600160a060020a031663fcfff16f6040518163ffffffff1660e060020a028152600401600060405180830381600087803b158015610b2557600080fd5b7f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e181565b600254600160a060020a031681565b6004805482908110612b4a57fe5b600091825260209091200154600160a060020a0316905081565b7fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c081565b604080516000808252602082019092527f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e191612bc8913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515612c3c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600354604080517fd21bd820000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a039092169163d21bd8209160248082019260009290919082900301818387803b158015610b2557600080fd5b604080516000808252602082019092527fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea791612ce3913391849190610a08565b60408051808201909152600f81526000805160206139a08339815191526020820152901515612d575760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600154604080517f3fae9bfb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691633fae9bfb91349160648082019260009290919082900301818588803b158015610fef57600080fd5b6000611ac87f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6135e8565b6000600019612e07611c8c565b14905090565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b6000612e3b610b41565b6040805180820190915260148152600080516020613a008339815191526020820152901515612eaf5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506003546040805160e060020a63e2a5aec5028152600160a060020a0385811660048301529151919092169163e2a5aec59160248083019260209291908290030181600087803b158015610de957600080fd5b600080612f0d610b41565b6040805180820190915260148152600080516020613a008339815191526020820152901515612f815760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160a060020a03831615612faf57612faa600160a060020a0384168563ffffffff61361d16565b612fbb565b83600160a060020a0316315b600254909150600160a060020a038581169116141561306b576003546040805160e060020a63e2a5aec5028152600160a060020a038681166004830152915161306493929092169163e2a5aec5916024808201926020929091908290030181600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050506040513d602081101561305557600080fd5b5051829063ffffffff61379d16565b915061306f565b8091505b5092915050565b6000613080611c8c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131055760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061310f876135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156131835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061318d866135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156132015760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061320b856135f0565b60408051808201909152601b81526000805160206139c0833981519152602082015290151561327f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50613289846135f0565b60408051808201909152601b81526000805160206139c083398151915260208201529015156132fd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060408051808201909152601a81527f46554e4452414953494e475f494e56414c49445f544f4b454e530000000000006020820152600a83106133855760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5061338e613831565b5060008054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff19928316178355600180548983169084161790556002805488831690841617905560038054918716919092161790555b818110156114f45761340f8383838181106133fa57fe5b90506020020135600160a060020a03166138f9565b60408051808201909152601a81527f46554e4452414953494e475f494e56414c49445f544f4b454e5300000000000060208201529015156134955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5060048383838181106134a457fe5b8354600181810186556000958652602095869020909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03969093029490940135949094161790915550016133e3565b60006134fe610b41565b6040805180820190915260148152600080516020613a0083398151915260208201529015156135725760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b50600160009054906101000a9004600160a060020a0316600160a060020a031663fc0c546a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610eaa57600080fd5b600354600160a060020a031681565b600054600160a060020a031681565b4390565b5490565b5490565b600080600160a060020a038316151561360c5760009150613617565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180613688868461391c565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156137135760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061378a858261394d565b95945050505050565b8051602002815290565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156138295760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b505050900390565b613839611c8c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156138be5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a83578181015183820152602001610a6b565b506138f76138ca6135e4565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61399b16565b565b6000613904826135f0565b806139165750600160a060020a038216155b92915050565b6000806000806040516020818751602089018a5afa9250600083111561394157805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115613991573d801561397e57602081146139875761398f565b6001935061398f565b600183511493505b505b5090949350505050565b905556004150505f415554485f4641494c4544000000000000000000000000000000000046554e4452414953494e475f434f4e54524143545f49535f454f410000000000217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a72305820da7c8435e041367d5158e9e9f0e7c0b55b999b1eacc50b97f94fe77b62b9f43c0029", - "sourceMap": "722:18294:3:-;;;344:9:40;:7;;;;:9;:::i;:::-;722:18294:3;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;722:18294:3:-;;;;;;;", - "deployedSourceMap": "722:18294:3:-;;;;;;;;;-1:-1:-1;;;722:18294:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15337:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15337:214:3;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;6829:193:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6829:193:3;-1:-1:-1;;;;;6829:193:3;;;;;4735:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4735:41:3;;;;;;;;;;;;;;;;;;;;4029:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4029:135:3;;;;3888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3888:135:3;;;;4994:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4994:43:3;;;;;;;;-1:-1:-1;;;;;4994:43:3;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;4311:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4311:135:3;;;;3183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3183:135:3;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;16438:160:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16438:160:3;-1:-1:-1;;;;;16438:160:3;;;;;;;;;8443:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8443:152:3;-1:-1:-1;;;;;8443:152:3;;;;;;;2619:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2619:135:3;;;;18304:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18304:168:3;-1:-1:-1;;;;;18304:168:3;;;;;18022:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18022:124:3;;;;17765:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17765:100:3;-1:-1:-1;;;;;17765:100:3;;;;;10870:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10870:178:3;-1:-1:-1;;;;;10870:178:3;;;;;;;;;;;;;2901:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2901:135:3;;;;2760;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2760:135:3;;;;13180:365;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13180:365:3;-1:-1:-1;;;;;13180:365:3;;;;;;;;;;;;;;;7741:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7741:79:3;;;;7344:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7344:157:3;;;;;;;10296:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10296:174:3;-1:-1:-1;;;;;10296:174:3;;;;;;;;;;;;;9727:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9727:173:3;-1:-1:-1;;;;;9727:173:3;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;17412:100:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17412:100:3;-1:-1:-1;;;;;17412:100:3;;;;;14690:375;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14690:375:3;-1:-1:-1;;;;;14690:375:3;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;3606:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3606:135:3;;;;7587:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7587:87:3;;;;13738:293;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13738:293:3;-1:-1:-1;;;;;13738:293:3;;;;;11918:601;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11918:601:3;-1:-1:-1;;;;;11918:601:3;;;;;;;;;;;;;;;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;4170:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4170:135:3;;;;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;3747:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3747:135:3;;;;3042;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3042:135:3;;;;17073:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17073:169:3;-1:-1:-1;;;;;17073:169:3;;;;;;;;;3324:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3324:135:3;;;;8012:147;;;;;;8732:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8732:276:3;;;;3465:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3465:135:3;;;;5043:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5043:39:3;;;;5129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5129:39:3;;;;;4452:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4452:135:3;;;;15794:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15794:219:3;;;;;9246:193;;-1:-1:-1;;;;;9246:193:3;;;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;4593:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4593:135:3;;;;18152:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18152:146:3;-1:-1:-1;;;;;18152:146:3;;;;;18478:356;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18478:356:3;-1:-1:-1;;;;;18478:356:3;;;;;;;;;;5682:967;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5682:967:3;-1:-1:-1;;;;;5682:967:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17912:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17912:104:3;;;;5088:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5088:35:3;;;;4949:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4949:39:3;;;;15337:214;1020:16:39;;;1034:1;1020:16;;;;;;;;;3393:66:3;;990:47:39;;1001:10;;3393:66:3;;1020:16:39;;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15481:3:3;;:63;;;;;;;;;;;;;;-1:-1:-1;;;;;15481:3:3;;;;:35;;:63;;;;;:3;;:63;;;;;;;;:3;;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;15481:63:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15481:63:3;;;;15337:214;;:::o;1128:208:48:-;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;6829:193:3:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2688:66:3;;990:47:39;;1001:10;;2688:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;6927:11:3;;:43;;;-1:-1:-1;;;;;6927:43:3;;-1:-1:-1;;;;;6927:43:3;;;;;;;;;:11;;;;;:29;;:43;;;;;:11;;:43;;;;;;;:11;;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;6927:43:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6980:3:3;;:35;;;-1:-1:-1;;;;;6980:35:3;;-1:-1:-1;;;;;6980:35:3;;;;;;;;;:3;;;;;-1:-1:-1;6980:21:3;;-1:-1:-1;6980:35:3;;;;;:3;;:35;;;;;;;:3;;:35;;;5:2:-1;;;;30:1;27;20:12;4735:41:3;4774:2;4735:41;:::o;4029:135::-;4098:66;4029:135;:::o;3888:::-;3957:66;3888:135;:::o;4994:43::-;;;-1:-1:-1;;;;;4994:43:3;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;4311:135:3:-;4380:66;4311:135;:::o;3183:::-;3252:66;3183:135;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;16438:160:3:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3675:66:3;;990:47:39;;1001:10;;3675:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;16550:3:3;;:41;;;-1:-1:-1;;;;;16550:41:3;;-1:-1:-1;;;;;16550:41:3;;;;;;;;;;;;;;;;;;;;;:3;;;;;:18;;:41;;;;;:3;;:41;;;;;;;:3;;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;16550:41:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16550:41:3;;;;16438:160;;;;:::o;8443:152::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;8541:7:3;;;:47;;;;;;-1:-1:-1;;;;;8541:47:3;;;;;;;;;;;;;;;:7;;;;;:14;;:47;;;;;;;;;;;:7;;:47;;;5:2:-1;;;;30:1;27;20:12;2619:135:3;2688:66;2619:135;:::o;18304:168::-;18392:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;18418:11:3;;:47;;;;;;-1:-1:-1;;;;;18418:47:3;;;;;;;;;:11;;;;;:34;;:47;;;;;;;;;;;;;;:11;;:47;;;5:2:-1;;;;30:1;27;20:12;18022:124:3;18086:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;18112:7:3;;;;;;;;;-1:-1:-1;;;;;18112:7:3;-1:-1:-1;;;;;18112:25:3;;:27;;;;;-1:-1:-1;;;18112:27:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;17765:100:3;1020:16:39;;;1034:1;1020:16;;;;;;;;;4662:66:3;;990:47:39;;1001:10;;4662:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;17838:3:3;;:20;;;;;;-1:-1:-1;;;;;17838:20:3;;;;;;;;;:3;;;;;:12;;:20;;;;;:3;;:20;;;;;;;:3;;:20;;;5:2:-1;;;;30:1;27;20:12;10870:178:3;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;10983:11:3;;:58;;;;;;-1:-1:-1;;;;;10983:58:3;;;;;;;;;;;;;;;;;;;;;;:11;;;;;:26;;:58;;;;;:11;;:58;;;;;;;:11;;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;10983:58:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10983:58:3;;;;10870:178;;;:::o;2901:135::-;-1:-1:-1;;;;;;;;;;;2901:135:3;:::o;2760:::-;2829:66;2760:135;:::o;13180:365::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;-1:-1:-1;;;;;;;;;;;2970:66:3;990:47:39;;1001:10;;2970:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;13436:11:3;;:102;;;-1:-1:-1;;;;;13436:102:3;;-1:-1:-1;;;;;13436:102:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;;;;;:30;;:102;;;;;:11;;:102;;;;;;;:11;;:102;;;5:2:-1;;;;30:1;27;20:12;5:2;13436:102:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13436:102:3;;;;13180:365;;;;;;:::o;7741:79::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;7798:7:3;;;:15;;;;;;;;-1:-1:-1;;;;;7798:7:3;;;;:13;;:15;;;;;;;;;;:7;;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;7798:15:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7798:15:3;;;;7741:79::o;7344:157::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2829:66:3;;990:47:39;;1001:10;;2829:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;7447:11:3;;:47;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7447:11:3;;;;:22;;:47;;;;;:11;;:47;;;;;;;;:11;;:47;;;5:2:-1;;;;30:1;27;20:12;10296:174:3;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;10407:11:3;;:56;;;;;;-1:-1:-1;;;;;10407:56:3;;;;;;;;;;;;;;;;;;;;;;:11;;;;;:25;;:56;;;;;:11;;:56;;;;;;;:11;;:56;;;5:2:-1;;;;30:1;27;20:12;9727:173:3;1020:16:39;;;1034:1;1020:16;;;;;;;;;4521:66:3;;990:47:39;;1001:10;;4521:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;9834:11:3;;:59;;;;;;9860:10;9834:59;;;;-1:-1:-1;;;;;9834:59:3;;;;;;;;;;;;;;;:11;;;;;:25;;:59;;;;;:11;;:59;;;;;;;:11;;:59;;;5:2:-1;;;;30:1;27;20:12;1659:99:56;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;17412:100:3:-;17475:3;;:30;;;;;;-1:-1:-1;;;;;17475:30:3;;;;;;;;;:3;;;;;:22;;:30;;;;;:3;;:30;;;;;;;:3;;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;17475:30:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17475:30:3;;;;17412:100;:::o;14690:375::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3252:66:3;;990:47:39;;1001:10;;3252:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;14953:11:3;;:105;;;;;;-1:-1:-1;;;;;14953:105:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;;;;;:33;;:105;;;;;:11;;:105;;;;;;;:11;;:105;;;5:2:-1;;;;30:1;27;20:12;881:137:48;936:7;962:49;345:66;962:47;:49::i;3606:135:3:-;3675:66;3606:135;:::o;7587:87::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3957:66:3;;990:47:39;;1001:10;;3957:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;7653:7:3;;;:14;;;;;;;;-1:-1:-1;;;;;7653:7:3;;;;:12;;:14;;;;;;;;;;:7;;:14;;;5:2:-1;;;;30:1;27;20:12;13738:293:3;1020:16:39;;;1034:1;1020:16;;;;;;;;;3111:66:3;;990:47:39;;1001:10;;3111:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;13844:11:3;;:46;;;;;;-1:-1:-1;;;;;13844:46:3;;;;;;;;;:11;;;;;:33;;:46;;;;;:11;;:46;;;;;;;:11;;:46;;;5:2:-1;;;;30:1;27;20:12;11918:601:3;1020:16:39;;;1034:1;1020:16;;;;;;;;;-1:-1:-1;;;;;;;;;;;2970:66:3;990:47:39;;1001:10;;2970:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;12219:11:3;;:102;;;-1:-1:-1;;;;;12219:102:3;;-1:-1:-1;;;;;12219:102:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;;;;;:30;;:102;;;;;:11;;:102;;;;;;;:11;;:102;;;5:2:-1;;;;30:1;27;20:12;5:2;12219:102:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;;12335:18:3;;;12331:87;;12369:7;;:38;;;;;;-1:-1:-1;;;;;12369:38:3;;;;;;;;;:7;;;;;:25;;:38;;;;;:7;;:38;;;;;;;:7;;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;12369:38:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12369:38:3;;;;12331:87;12439:1;12431:5;:9;12427:86;;;12456:3;;:46;;;-1:-1:-1;;;;;12456:46:3;;-1:-1:-1;;;;;12456:46:3;;;;;;;;;;;;;;;;;;;;;:3;;;;;:18;;:46;;;;;:3;;:46;;;;;;;:3;;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;12456:46:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12456:46:3;;;;11918:601;;;;;;;;:::o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;4170:135:3:-;4239:66;4170:135;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;3747:135:3;3816:66;3747:135;:::o;3042:::-;3111:66;3042:135;:::o;17073:169::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3816:66:3;;990:47:39;;1001:10;;3816:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;17191:3:3;;:44;;;;;;-1:-1:-1;;;;;17191:44:3;;;;;;;;;;;;;;;;;;;;;:3;;;;;:21;;:44;;;;;:3;;:44;;;;;;;:3;;:44;;;5:2:-1;;;;30:1;27;20:12;3324:135:3;3393:66;3324:135;:::o;8012:147::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;4239:66:3;;990:47:39;;1001:10;;4239:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;8097:7:3;;;:55;;;;;;8133:10;8097:55;;;;;;;;;;;;-1:-1:-1;;;;;8097:7:3;;;;:18;;8122:9;;8097:55;;;;;:7;:55;;;;;;8122:9;8097:7;:55;;;5:2:-1;;;;30:1;27;20:12;8732:276:3;1020:16:39;;;8803:9:3;1020:16:39;;;;;;;;;4098:66:3;;990:47:39;;1001:10;;4098:66:3;;8803:9;1020:16:39;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;8815:1:3;8803:13;;8798:175;8822:7;:14;8818:18;;8798:175;;;8861:3;;8871:7;:10;;8894:1;;-1:-1:-1;;;;;8861:3:3;;:9;;8879:1;;8871:10;;;;;;;;;;;;;;;;;;8861:21;;;-1:-1:-1;;;8861:21:3;;;;;;-1:-1:-1;;;;;8871:10:3;;;8861:21;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;8861:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8861:21:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8861:21:3;:35;8857:106;;8916:3;;8937:7;:10;;-1:-1:-1;;;;;8916:3:3;;;;:20;;8937:7;8945:1;;8937:10;;;;;;;;;;;;;;;8916:32;;;-1:-1:-1;;;8916:32:3;;;;;;-1:-1:-1;;;;;8937:10:3;;;8916:32;;;;;;;;;;8937:10;8916:32;;;;;8937:10;8916:32;;;;5:2:-1;;;;30:1;27;20:12;5:2;8916:32:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8916:32:3;;;;8857:106;8838:3;;;;;8798:175;;;8983:11;;;;;;;;;-1:-1:-1;;;;;8983:11:3;-1:-1:-1;;;;;8983:16:3;;:18;;;;;-1:-1:-1;;;8983:18:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;3465:135:3;3534:66;3465:135;:::o;5043:39::-;;;-1:-1:-1;;;;;5043:39:3;;:::o;5129:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5129:39:3;;-1:-1:-1;5129:39:3;:::o;4452:135::-;4521:66;4452:135;:::o;15794:219::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3534:66:3;;990:47:39;;1001:10;;3534:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;15941:3:3;;:65;;;;;;;;;;;;;;-1:-1:-1;;;;;15941:3:3;;;;:36;;:65;;;;;:3;;:65;;;;;;;;:3;;:65;;;5:2:-1;;;;30:1;27;20:12;9246:193:3;1020:16:39;;;1034:1;1020:16;;;;;;;;;4380:66:3;;990:47:39;;1001:10;;4380:66:3;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;9358:11:3;;:74;;;;;;9400:10;9358:74;;;;-1:-1:-1;;;;;9358:74:3;;;;;;;;;;;;;;;:11;;;;;:24;;9389:9;;9358:74;;;;;:11;;:74;;;;;;;;9389:9;9358:11;:74;;;5:2:-1;;;;30:1;27;20:12;674:116:38;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;4593:135:3:-;4662:66;4593:135;:::o;18152:146::-;18233:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;18259:3:3;;:32;;;-1:-1:-1;;;;;18259:32:3;;-1:-1:-1;;;;;18259:32:3;;;;;;;;;:3;;;;;:24;;:32;;;;;;;;;;;;;;:3;;:32;;;5:2:-1;;;;30:1;27;20:12;18478:356:3;18562:7;18581:15;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;;;;;18599:13:3;;;:66;;18630:35;-1:-1:-1;;;;;18630:29:3;;18660:4;18630:35;:29;:35;:::i;:::-;18599:66;;;18615:4;-1:-1:-1;;;;;18615:12:3;;18599:66;18696:7;;18581:84;;-1:-1:-1;;;;;;18680:24:3;;;18696:7;;18680:24;18676:152;;;18739:3;;:32;;;-1:-1:-1;;;;;18739:32:3;;-1:-1:-1;;;;;18739:32:3;;;;;;;;;18727:45;;18739:3;;;;;:24;;:32;;;;;;;;;;;;;;;:3;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;18739:32:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18739:32:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18739:32:3;18727:7;;:45;:11;:45;:::i;:::-;18720:52;;;;18676:152;18810:7;18803:14;;18676:152;18478:356;;;;;:::o;5682:967::-;6473:9;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;5979:20:3;5990:8;5979:10;:20::i;:::-;6011:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6011:21:3;;;;;5971:62;;;;;;-1:-1:-1;;;;;5971:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5971:62:3;;6051:24;6062:12;6051:10;:24::i;:::-;6083:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6083:21:3;;;;;6043:62;;;;;;-1:-1:-1;;;;;6043:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6043:62:3;;6123:20;6134:8;6123:10;:20::i;:::-;6155:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6155:21:3;;;;;6115:62;;;;;;-1:-1:-1;;;;;6115:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6115:62:3;;6195:16;6206:4;6195:10;:16::i;:::-;6227:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6227:21:3;;;;;6187:62;;;;;;-1:-1:-1;;;;;6187:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6187:62:3;-1:-1:-1;6299:20:3;;;;;;;;;;;;;;;;;4774:2;6267:30;;6259:61;;;;-1:-1:-1;;;;;6259:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6259:61:3;;6331:13;:11;:13::i;:::-;-1:-1:-1;6355:7:3;:18;;-1:-1:-1;;;;;6355:18:3;;;-1:-1:-1;;6355:18:3;;;;;;;6383:26;;;;;;;;;;;6419:7;:18;;;;;;;;;;;6447:3;:10;;;;;;;;;;;;6468:175;6488:19;;;6468:175;;;6536:34;6558:8;;6567:1;6558:11;;;;;;;;;;;;;-1:-1:-1;;;;;6558:11:3;6536:21;:34::i;:::-;6572:20;;;;;;;;;;;;;;;;;;6528:65;;;;;;-1:-1:-1;;;;;6528:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6528:65:3;-1:-1:-1;6607:7:3;6620:8;;6629:1;6620:11;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;6607:25:3;;;6620:11;6607:25;;;;;;;;;-1:-1:-1;;6607:25:3;-1:-1:-1;;;;;6620:11:3;;;;;;;;;;;;;6607:25;;;;-1:-1:-1;6509:3:3;6468:175;;17912:104;17964:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;17990:11:3;;;;;;;;;-1:-1:-1;;;;;17990:11:3;-1:-1:-1;;;;;17990:17:3;;:19;;;;;-1:-1:-1;;;17990:19:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5088:35:3;;;-1:-1:-1;;;;;5088:35:3;;:::o;4949:39::-;;;-1:-1:-1;;;;;4949:39:3;;:::o;347:94:53:-;422:12;347:94;:::o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;18879:135:3:-;18949:4;18972:18;18983:6;18972:10;:18::i;:::-;:35;;;-1:-1:-1;;;;;;18994:13:3;;;18972:35;18965:42;18879:135;-1:-1:-1;;18879:135:3:o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\nimport \"@aragon/apps-agent/contracts/Agent.sol\";\nimport \"@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IPresale.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/ITap.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol\";\n\n\ncontract AragonFundraisingController is EtherTokenConstant, IsContract, IAragonFundraisingController, AragonApp {\n using SafeERC20 for ERC20;\n using SafeMath for uint256;\n\n /**\n Hardcoded constants to save gas\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = keccak256(\"UPDATE_BENEFICIARY_ROLE\");\n bytes32 public constant UPDATE_FEES_ROLE = keccak256(\"UPDATE_FEES_ROLE\");\n bytes32 public constant ADD_COLLATERAL_TOKEN_ROLE = keccak256(\"ADD_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant REMOVE_COLLATERAL_TOKEN_ROLE = keccak256(\"REMOVE_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant UPDATE_COLLATERAL_TOKEN_ROLE = keccak256(\"UPDATE_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE = keccak256(\"UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE\");\n bytes32 public constant UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE = keccak256(\"UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE\");\n bytes32 public constant ADD_TOKEN_TAP_ROLE = keccak256(\"ADD_TOKEN_TAP_ROLE\");\n bytes32 public constant UPDATE_TOKEN_TAP_ROLE = keccak256(\"UPDATE_TOKEN_TAP_ROLE\");\n bytes32 public constant OPEN_PRESALE_ROLE = keccak256(\"OPEN_PRESALE_ROLE\");\n bytes32 public constant OPEN_TRADING_ROLE = keccak256(\"OPEN_TRADING_ROLE\");\n bytes32 public constant CONTRIBUTE_ROLE = keccak256(\"CONTRIBUTE_ROLE\");\n bytes32 public constant OPEN_BUY_ORDER_ROLE = keccak256(\"OPEN_BUY_ORDER_ROLE\");\n bytes32 public constant OPEN_SELL_ORDER_ROLE = keccak256(\"OPEN_SELL_ORDER_ROLE\");\n bytes32 public constant WITHDRAW_ROLE = keccak256(\"WITHDRAW_ROLE\");\n */\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = 0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593;\n bytes32 public constant UPDATE_FEES_ROLE = 0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822;\n bytes32 public constant ADD_COLLATERAL_TOKEN_ROLE = 0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d;\n bytes32 public constant REMOVE_COLLATERAL_TOKEN_ROLE = 0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2;\n bytes32 public constant UPDATE_COLLATERAL_TOKEN_ROLE = 0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d;\n bytes32 public constant UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE = 0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207;\n bytes32 public constant UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE = 0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1;\n bytes32 public constant ADD_TOKEN_TAP_ROLE = 0xbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e596207;\n bytes32 public constant UPDATE_TOKEN_TAP_ROLE = 0xdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a8416;\n bytes32 public constant OPEN_PRESALE_ROLE = 0xf323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c2;\n bytes32 public constant OPEN_TRADING_ROLE = 0x26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf6;\n bytes32 public constant CONTRIBUTE_ROLE = 0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07;\n bytes32 public constant OPEN_BUY_ORDER_ROLE = 0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7;\n bytes32 public constant OPEN_SELL_ORDER_ROLE = 0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0;\n bytes32 public constant WITHDRAW_ROLE = 0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec;\n\n uint256 public constant TO_RESET_CAP = 10;\n\n string private constant ERROR_CONTRACT_IS_EOA = \"FUNDRAISING_CONTRACT_IS_EOA\";\n string private constant ERROR_INVALID_TOKENS = \"FUNDRAISING_INVALID_TOKENS\";\n\n IPresale public presale;\n BatchedBancorMarketMaker public marketMaker;\n Agent public reserve;\n ITap public tap;\n address[] public toReset;\n\n\n /***** external functions *****/\n\n /**\n * @notice Initialize Aragon Fundraising controller\n * @param _presale The address of the presale contract\n * @param _marketMaker The address of the market maker contract\n * @param _reserve The address of the reserve [pool] contract\n * @param _tap The address of the tap contract\n * @param _toReset The addresses of the tokens whose tap timestamps are to be reset [when presale is closed and trading is open]\n */\n function initialize(\n IPresale _presale,\n BatchedBancorMarketMaker _marketMaker,\n Agent _reserve,\n ITap _tap,\n address[] _toReset\n )\n external\n onlyInit\n {\n require(isContract(_presale), ERROR_CONTRACT_IS_EOA);\n require(isContract(_marketMaker), ERROR_CONTRACT_IS_EOA);\n require(isContract(_reserve), ERROR_CONTRACT_IS_EOA);\n require(isContract(_tap), ERROR_CONTRACT_IS_EOA);\n require(_toReset.length < TO_RESET_CAP, ERROR_INVALID_TOKENS);\n\n initialized();\n\n presale = _presale;\n marketMaker = _marketMaker;\n reserve = _reserve;\n tap = _tap;\n\n for (uint256 i = 0; i < _toReset.length; i++) {\n require(_tokenIsContractOrETH(_toReset[i]), ERROR_INVALID_TOKENS);\n toReset.push(_toReset[i]);\n }\n }\n\n /* generic settings related function */\n\n /**\n * @notice Update beneficiary to `_beneficiary`\n * @param _beneficiary The address of the new beneficiary\n */\n function updateBeneficiary(address _beneficiary) external auth(UPDATE_BENEFICIARY_ROLE) {\n marketMaker.updateBeneficiary(_beneficiary);\n tap.updateBeneficiary(_beneficiary);\n }\n\n /**\n * @notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n * @param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n * @param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]\n */\n function updateFees(uint256 _buyFeePct, uint256 _sellFeePct) external auth(UPDATE_FEES_ROLE) {\n marketMaker.updateFees(_buyFeePct, _sellFeePct);\n }\n\n /* presale related functions */\n\n /**\n * @notice Open presale\n */\n function openPresale() external auth(OPEN_PRESALE_ROLE) {\n presale.open();\n }\n\n /**\n * @notice Close presale and open trading\n */\n function closePresale() external isInitialized {\n presale.close();\n }\n\n /**\n * @notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n * @param _value The amount of contribution token to be spent\n */\n function contribute(uint256 _value) external payable auth(CONTRIBUTE_ROLE) {\n presale.contribute.value(msg.value)(msg.sender, _value);\n }\n\n /**\n * @notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n * @param _contributor The address of the contributor whose presale contribution is to be refunded\n * @param _vestedPurchaseId The id of the contribution to be refunded\n */\n function refund(address _contributor, uint256 _vestedPurchaseId) external isInitialized {\n presale.refund(_contributor, _vestedPurchaseId);\n }\n\n /* market making related functions */\n\n /**\n * @notice Open trading [enabling users to open buy and sell orders]\n */\n function openTrading() external auth(OPEN_TRADING_ROLE) {\n for (uint256 i = 0; i < toReset.length; i++) {\n if (tap.rates(toReset[i]) != uint256(0)) {\n tap.resetTappedToken(toReset[i]);\n }\n }\n\n marketMaker.open();\n }\n\n /**\n * @notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n * @param _collateral The address of the collateral token to be spent\n * @param _value The amount of collateral token to be spent\n */\n function openBuyOrder(address _collateral, uint256 _value) external payable auth(OPEN_BUY_ORDER_ROLE) {\n marketMaker.openBuyOrder.value(msg.value)(msg.sender, _collateral, _value);\n }\n\n /**\n * @notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n * @param _collateral The address of the collateral token to be returned\n * @param _amount The amount of bonded token to be spent\n */\n function openSellOrder(address _collateral, uint256 _amount) external auth(OPEN_SELL_ORDER_ROLE) {\n marketMaker.openSellOrder(msg.sender, _collateral, _amount);\n }\n\n /**\n * @notice Claim the results of `_collateral.symbol(): string` buy orders from batch #`_batchId`\n * @param _buyer The address of the user whose buy orders are to be claimed\n * @param _batchId The id of the batch in which buy orders are to be claimed\n * @param _collateral The address of the collateral token against which buy orders are to be claimed\n */\n function claimBuyOrder(address _buyer, uint256 _batchId, address _collateral) external isInitialized {\n marketMaker.claimBuyOrder(_buyer, _batchId, _collateral);\n }\n\n /**\n * @notice Claim the results of `_collateral.symbol(): string` sell orders from batch #`_batchId`\n * @param _seller The address of the user whose sell orders are to be claimed\n * @param _batchId The id of the batch in which sell orders are to be claimed\n * @param _collateral The address of the collateral token against which sell orders are to be claimed\n */\n function claimSellOrder(address _seller, uint256 _batchId, address _collateral) external isInitialized {\n marketMaker.claimSellOrder(_seller, _batchId, _collateral);\n }\n\n /* collateral tokens related functions */\n\n /**\n * @notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n * @param _collateral The address of the collateral token to be whitelisted\n * @param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n * @param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n * @param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n * @param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]\n * @param _rate The rate at which that token is to be tapped [in wei / block]\n * @param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]\n */\n function addCollateralToken(\n address _collateral,\n uint256 _virtualSupply,\n uint256 _virtualBalance,\n uint32 _reserveRatio,\n uint256 _slippage,\n uint256 _rate,\n uint256 _floor\n )\n \texternal\n auth(ADD_COLLATERAL_TOKEN_ROLE)\n {\n marketMaker.addCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n if (_collateral != ETH) {\n reserve.addProtectedToken(_collateral);\n }\n if (_rate > 0) {\n tap.addTappedToken(_collateral, _rate, _floor);\n }\n }\n\n /**\n * @notice Re-add `_collateral.symbol(): string` as a whitelisted collateral token [if it has been un-whitelisted in the past]\n * @param _collateral The address of the collateral token to be whitelisted\n * @param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n * @param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n * @param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n * @param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]\n */\n function reAddCollateralToken(\n address _collateral,\n uint256 _virtualSupply,\n uint256 _virtualBalance,\n uint32 _reserveRatio,\n uint256 _slippage\n )\n \texternal\n auth(ADD_COLLATERAL_TOKEN_ROLE)\n {\n marketMaker.addCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n /**\n * @notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n * @param _collateral The address of the collateral token to be un-whitelisted\n */\n function removeCollateralToken(address _collateral) external auth(REMOVE_COLLATERAL_TOKEN_ROLE) {\n marketMaker.removeCollateralToken(_collateral);\n // the token should still be tapped to avoid being locked\n // the token should still be protected to avoid being spent\n }\n\n /**\n * @notice Update `_collateral.symbol(): string` collateralization settings\n * @param _collateral The address of the collateral token whose collateralization settings are to be updated\n * @param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n * @param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n * @param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n * @param _slippage The new price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]\n */\n function updateCollateralToken(\n address _collateral,\n uint256 _virtualSupply,\n uint256 _virtualBalance,\n uint32 _reserveRatio,\n uint256 _slippage\n )\n external\n auth(UPDATE_COLLATERAL_TOKEN_ROLE)\n {\n marketMaker.updateCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n /* tap related functions */\n\n /**\n * @notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n * @param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]\n */\n function updateMaximumTapRateIncreasePct(uint256 _maximumTapRateIncreasePct) external auth(UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE) {\n tap.updateMaximumTapRateIncreasePct(_maximumTapRateIncreasePct);\n }\n\n /**\n * @notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n * @param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]\n */\n function updateMaximumTapFloorDecreasePct(uint256 _maximumTapFloorDecreasePct) external auth(UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE) {\n tap.updateMaximumTapFloorDecreasePct(_maximumTapFloorDecreasePct);\n }\n\n /**\n * @notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n * @param _token The address of the token to be tapped\n * @param _rate The rate at which that token is to be tapped [in wei / block]\n * @param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]\n */\n function addTokenTap(address _token, uint256 _rate, uint256 _floor) external auth(ADD_TOKEN_TAP_ROLE) {\n tap.addTappedToken(_token, _rate, _floor);\n }\n\n /**\n * @notice Update tap for `_token.symbol(): string` with a rate of about `@tokenAmount(_token, 4 * 60 * 24 * 30 * _rate)` per month and a floor of `@tokenAmount(_token, _floor)`\n * @param _token The address of the token whose tap is to be updated\n * @param _rate The new rate at which that token is to be tapped [in wei / block]\n * @param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]\n */\n function updateTokenTap(address _token, uint256 _rate, uint256 _floor) external auth(UPDATE_TOKEN_TAP_ROLE) {\n tap.updateTappedToken(_token, _rate, _floor);\n }\n\n /**\n * @notice Update tapped amount for `_token.symbol(): string`\n * @param _token The address of the token whose tapped amount is to be updated\n */\n function updateTappedAmount(address _token) external {\n tap.updateTappedAmount(_token);\n }\n\n /**\n * @notice Transfer about `@tokenAmount(_token, self.getMaximumWithdrawal(_token): uint256)` from the reserve to the beneficiary\n * @param _token The address of the token to be transfered from the reserve to the beneficiary\n */\n function withdraw(address _token) external auth(WITHDRAW_ROLE) {\n tap.withdraw(_token);\n }\n\n /***** public view functions *****/\n\n function token() public view isInitialized returns (address) {\n return marketMaker.token();\n }\n\n function contributionToken() public view isInitialized returns (address) {\n return presale.contributionToken();\n }\n\n function getMaximumWithdrawal(address _token) public view isInitialized returns (uint256) {\n return tap.getMaximumWithdrawal(_token);\n }\n\n function collateralsToBeClaimed(address _collateral) public view isInitialized returns (uint256) {\n return marketMaker.collateralsToBeClaimed(_collateral);\n }\n\n function balanceOf(address _who, address _token) public view isInitialized returns (uint256) {\n uint256 balance = _token == ETH ? _who.balance : ERC20(_token).staticBalanceOf(_who);\n\n if (_who == address(reserve)) {\n return balance.sub(tap.getMaximumWithdrawal(_token));\n } else {\n return balance;\n }\n }\n\n /***** internal functions *****/\n\n function _tokenIsContractOrETH(address _token) internal view returns (bool) {\n return isContract(_token) || _token == ETH;\n }\n}\n", - "sourcePath": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "ast": { - "absolutePath": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "exportedSymbols": { - "AragonFundraisingController": [ - 3335 - ] - }, - "id": 3336, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2573, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 2574, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23454, - "src": "25:49:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 2575, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23650, - "src": "75:60:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 2576, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23826, - "src": "136:52:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 2577, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 24108, - "src": "189:51:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 2578, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 27870, - "src": "241:52:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 2579, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 28100, - "src": "294:50:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 2580, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 11530, - "src": "345:48:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "file": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "id": 2581, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 8579, - "src": "394:96:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "id": 2582, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9642, - "src": "491:70:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "id": 2583, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9707, - "src": "562:66:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 2584, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9607, - "src": "629:90:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2585, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "762:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 2586, - "nodeType": "InheritanceSpecifier", - "src": "762:18:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2587, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "782:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 2588, - "nodeType": "InheritanceSpecifier", - "src": "782:10:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2589, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "794:28:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 2590, - "nodeType": "InheritanceSpecifier", - "src": "794:28:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2591, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "824:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 2592, - "nodeType": "InheritanceSpecifier", - "src": "824:9:3" - } - ], - "contractDependencies": [ - 9606, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3335, - "linearizedBaseContracts": [ - 3335, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 9606, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "AragonFundraisingController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2595, - "libraryName": { - "contractScope": null, - "id": 2593, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "846:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "840:26:3", - "typeName": { - "contractScope": null, - "id": 2594, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "860:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 2598, - "libraryName": { - "contractScope": null, - "id": 2596, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "877:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "871:28:3", - "typeName": { - "id": 2597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "891:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 2601, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2619:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2599, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2619:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 2600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2688:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2604, - "name": "UPDATE_FEES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2760:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2602, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2760:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663962653239333265643361373233663239356137363362653138303463376562666431613431633133343866623862646635626531633563646361383232", - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2829:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43245145673168925571563649325145709611164663756998149195724414801912339933218_by_1", - "typeString": "int_const 4324...(69 digits omitted)...3218" - }, - "value": "0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2607, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2901:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2605, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2901:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832313762373963623262633737363064656663383835323938353365663831616233336165356262333135343038636539663561663039633837373636363264", - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2970:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15144486781003149278302303915639999182740100159752824079265178216709076969005_by_1", - "typeString": "int_const 1514...(69 digits omitted)...9005" - }, - "value": "0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2610, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3042:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2608, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3042:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832303434653536646532323338343565346265376430613666346539613239623633353534376631363431336136643133323763353864396462343338656532", - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3111:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14595740217432245110586185713053284721170097726977563463766954419142971854562_by_1", - "typeString": "int_const 1459...(69 digits omitted)...4562" - }, - "value": "0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2613, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3183:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2611, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3183:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865303536356332633433653064383431653230366262333661333766313266323235383462343635326363656536663965306330373162363937613265313364", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3252:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101470663084272589443640010826168505403047938469021583920932387593436059066685_by_1", - "typeString": "int_const 1014...(70 digits omitted)...6685" - }, - "value": "0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2616, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3324:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3324:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643934646537653432393235306565653466663937653330616239663338336265613363643536346436373830653061396539363562316164643164323037", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42328123875484044786714676363886707536613321598827999033773583507089796485639_by_1", - "typeString": "int_const 4232...(69 digits omitted)...5639" - }, - "value": "0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2619, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3465:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2617, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835376339633637383936636630613466666539326362656136366332663763333433383061663036626631343231356461626230373863663861366439396531", - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3534:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39707723883616910811070684472502419160349445362132466926300379747285497387489_by_1", - "typeString": "int_const 3970...(69 digits omitted)...7489" - }, - "value": "0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2622, - "name": "ADD_TOKEN_TAP_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3606:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2620, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3606:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862633963623565336637636538316334666430323164383661346263623139336465653964663331356235343038303863336564353961383165353936323037", - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3675:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85311699037853259563199756935523866666381221923469517077774536939314234352135_by_1", - "typeString": "int_const 8531...(69 digits omitted)...2135" - }, - "value": "0xbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e596207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2625, - "name": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3747:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2623, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3747:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864623863383862656462633631656130663932653163653436646130623761393135616666626434366431633736633462626163396132303965346138343136", - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3816:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99304816211842236704785212832174700436470612073321699763860620524307859801110_by_1", - "typeString": "int_const 9930...(69 digits omitted)...1110" - }, - "value": "0xdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a8416" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2628, - "name": "OPEN_PRESALE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3888:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2626, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3888:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866333233616134316565663438353061386165376562643034376434633839663031636534396337383166333330386265363733303364623963646434386332", - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3957:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109975036927441378570938708489787503200288936667147202996037050682741224196290_by_1", - "typeString": "int_const 1099...(70 digits omitted)...6290" - }, - "value": "0xf323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2631, - "name": "OPEN_TRADING_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4029:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2629, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4029:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832366365303334323034323038633062626361346338613739336431376239396535343630303962316464333164336331656637363166363633373263616636", - "id": 2630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17551881226538628581846709607708678341150964819497410122678523206009529486070_by_1", - "typeString": "int_const 1755...(69 digits omitted)...6070" - }, - "value": "0x26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2634, - "name": "CONTRIBUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4170:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2632, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839636361636134656466323132376632306334323566646438366166316261313738623965356265653238306364373064383861633566363837346334663037", - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4239:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70919103765210962597078456092644523779665220219512086497638370503967881580295_by_1", - "typeString": "int_const 7091...(69 digits omitted)...0295" - }, - "value": "0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2637, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4311:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2635, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4311:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307861353839633866323834623736666338643531306439643535333438356334376462656631623037343561653030653066336664346532386663643737656137", - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4380:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74875064951666728262478327895309352630719236443135036862611625946537069608615_by_1", - "typeString": "int_const 7487...(69 digits omitted)...8615" - }, - "value": "0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2640, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4452:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2638, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4452:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363862613262373639666133376132613762643462656439323431623434386263393965636134316635313965663033373430363338366138663239316330", - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4521:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97041664366562346756231049942652716525890363183279880200358210036101134062016_by_1", - "typeString": "int_const 9704...(69 digits omitted)...2016" - }, - "value": "0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2643, - "name": "WITHDRAW_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4593:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2641, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4593:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643865313263333931343266663936643739643034643135643162613132363965346665353762623964323666343335323336323862333462613130386563", - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4662:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42316116705363990851232871325518885526905562683539808675587814484451545647340_by_1", - "typeString": "int_const 4231...(69 digits omitted)...7340" - }, - "value": "0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2646, - "name": "TO_RESET_CAP", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4735:41:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4735:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4774:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2649, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4783:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 2647, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4783:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46554e4452414953494e475f434f4e54524143545f49535f454f41", - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4831:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_74c5454ba995c9b7845bc2dd61e33ec1ab9206baff3e59698516f34d2f8b27be", - "typeString": "literal_string \"FUNDRAISING_CONTRACT_IS_EOA\"" - }, - "value": "FUNDRAISING_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 2652, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4866:76:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 2650, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4866:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46554e4452414953494e475f494e56414c49445f544f4b454e53", - "id": 2651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4914:28:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a6a0a80f3f0d4ec543d1e4604d37d3e478e1cec5c91f33496db28572ac1c7e16", - "typeString": "literal_string \"FUNDRAISING_INVALID_TOKENS\"" - }, - "value": "FUNDRAISING_INVALID_TOKENS" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2654, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4949:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - }, - "typeName": { - "contractScope": null, - "id": 2653, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "4949:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2656, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4994:43:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 2655, - "name": "BatchedBancorMarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "4994:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2658, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5043:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2657, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "5043:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2660, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5088:35:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - }, - "typeName": { - "contractScope": null, - "id": 2659, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "5088:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2663, - "name": "toReset", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5129:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5129:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2662, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5129:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2764, - "nodeType": "Block", - "src": "5961:688:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2681, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2665, - "src": "5990:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - ], - "id": 2680, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "5979:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5979:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6011:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5971:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5971:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2685, - "nodeType": "ExpressionStatement", - "src": "5971:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2688, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2667, - "src": "6062:12:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 2687, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6051:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6051:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2690, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6083:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2686, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6043:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2692, - "nodeType": "ExpressionStatement", - "src": "6043:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2695, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "6134:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 2694, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6123:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6123:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6155:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6115:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "6115:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2702, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "6206:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - ], - "id": 2701, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6195:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6195:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2704, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6227:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2700, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6187:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6187:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "6187:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2708, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6267:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6267:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 2710, - "name": "TO_RESET_CAP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "6285:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6267:30:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2712, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6299:20:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2707, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6259:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6259:61:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "6259:61:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2715, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "6331:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6331:13:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2717, - "nodeType": "ExpressionStatement", - "src": "6331:13:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2718, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "6355:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2719, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2665, - "src": "6365:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "src": "6355:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2721, - "nodeType": "ExpressionStatement", - "src": "6355:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2722, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "6383:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2723, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2667, - "src": "6397:12:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "src": "6383:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2725, - "nodeType": "ExpressionStatement", - "src": "6383:26:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2726, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "6419:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2727, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "6429:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "6419:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 2729, - "nodeType": "ExpressionStatement", - "src": "6419:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2730, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "6447:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2731, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "6453:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "src": "6447:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2733, - "nodeType": "ExpressionStatement", - "src": "6447:10:3" - }, - { - "body": { - "id": 2762, - "nodeType": "Block", - "src": "6514:129:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2747, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6558:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2749, - "indexExpression": { - "argumentTypes": null, - "id": 2748, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6567:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6558:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2746, - "name": "_tokenIsContractOrETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3334, - "src": "6536:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6536:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2751, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6572:20:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2745, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6528:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6528:65:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2753, - "nodeType": "ExpressionStatement", - "src": "6528:65:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2757, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6620:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2759, - "indexExpression": { - "argumentTypes": null, - "id": 2758, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6629:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6620:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2754, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "6607:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6607:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6607:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2761, - "nodeType": "ExpressionStatement", - "src": "6607:25:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2738, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6488:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2739, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6492:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6492:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6488:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2763, - "initializationExpression": { - "assignments": [ - 2735 - ], - "declarations": [ - { - "constant": false, - "id": 2735, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "6473:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2737, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6485:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6473:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6509:3:3", - "subExpression": { - "argumentTypes": null, - "id": 2742, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6509:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2744, - "nodeType": "ExpressionStatement", - "src": "6509:3:3" - }, - "nodeType": "ForStatement", - "src": "6468:175:3" - } - ] - }, - "documentation": "@notice Initialize Aragon Fundraising controller\n@param _presale The address of the presale contract\n@param _marketMaker The address of the market maker contract\n@param _reserve The address of the reserve [pool] contract\n@param _tap The address of the tap contract\n@param _toReset The addresses of the tokens whose tap timestamps are to be reset [when presale is closed and trading is open]", - "id": 2765, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2677, - "modifierName": { - "argumentTypes": null, - "id": 2676, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "5948:8:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5948:8:3" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2665, - "name": "_presale", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5711:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - }, - "typeName": { - "contractScope": null, - "id": 2664, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "5711:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2667, - "name": "_marketMaker", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5754:37:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 2666, - "name": "BatchedBancorMarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "5754:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2669, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5801:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2668, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "5801:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2671, - "name": "_tap", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5844:29:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - }, - "typeName": { - "contractScope": null, - "id": 2670, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "5844:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2674, - "name": "_toReset", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5883:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2672, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5883:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2673, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5883:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5701:221:3" - }, - "payable": false, - "returnParameters": { - "id": 2678, - "nodeType": "ParameterList", - "parameters": [], - "src": "5961:0:3" - }, - "scope": 3335, - "src": "5682:967:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2785, - "nodeType": "Block", - "src": "6917:105:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2776, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "6957:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2773, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "6927:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateBeneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 6431, - "src": "6927:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6927:43:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2778, - "nodeType": "ExpressionStatement", - "src": "6927:43:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2782, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "7002:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2779, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "6980:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateBeneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 9648, - "src": "6980:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6980:35:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2784, - "nodeType": "ExpressionStatement", - "src": "6980:35:3" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary", - "id": 2786, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2770, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2601, - "src": "6892:23:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2771, - "modifierName": { - "argumentTypes": null, - "id": 2769, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "6887:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6887:29:3" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 2786, - "src": "6856:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6856:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6855:22:3" - }, - "payable": false, - "returnParameters": { - "id": 2772, - "nodeType": "ParameterList", - "parameters": [], - "src": "6917:0:3" - }, - "scope": 3335, - "src": "6829:193:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2803, - "nodeType": "Block", - "src": "7437:64:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2799, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "7470:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2800, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2790, - "src": "7482:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2796, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "7447:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 6458, - "src": "7447:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7447:47:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2802, - "nodeType": "ExpressionStatement", - "src": "7447:47:3" - } - ] - }, - "documentation": "@notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n@param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]", - "id": 2804, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2793, - "name": "UPDATE_FEES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "7419:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2794, - "modifierName": { - "argumentTypes": null, - "id": 2792, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7414:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7414:22:3" - } - ], - "name": "updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2788, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "7364:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7364:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2790, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "7384:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7384:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7363:41:3" - }, - "payable": false, - "returnParameters": { - "id": 2795, - "nodeType": "ParameterList", - "parameters": [], - "src": "7437:0:3" - }, - "scope": 3335, - "src": "7344:157:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2815, - "nodeType": "Block", - "src": "7643:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2810, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "7653:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "open", - "nodeType": "MemberAccess", - "referencedDeclaration": 9611, - "src": "7653:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7653:14:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2814, - "nodeType": "ExpressionStatement", - "src": "7653:14:3" - } - ] - }, - "documentation": "@notice Open presale", - "id": 2816, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2807, - "name": "OPEN_PRESALE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "7624:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2808, - "modifierName": { - "argumentTypes": null, - "id": 2806, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7619:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7619:23:3" - } - ], - "name": "openPresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [], - "src": "7607:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2809, - "nodeType": "ParameterList", - "parameters": [], - "src": "7643:0:3" - }, - "scope": 3335, - "src": "7587:87:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2826, - "nodeType": "Block", - "src": "7788:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2821, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "7798:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "close", - "nodeType": "MemberAccess", - "referencedDeclaration": 9614, - "src": "7798:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7798:15:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2825, - "nodeType": "ExpressionStatement", - "src": "7798:15:3" - } - ] - }, - "documentation": "@notice Close presale and open trading", - "id": 2827, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2819, - "modifierName": { - "argumentTypes": null, - "id": 2818, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "7774:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7774:13:3" - } - ], - "name": "closePresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2817, - "nodeType": "ParameterList", - "parameters": [], - "src": "7762:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2820, - "nodeType": "ParameterList", - "parameters": [], - "src": "7788:0:3" - }, - "scope": 3335, - "src": "7741:79:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2848, - "nodeType": "Block", - "src": "8087:72:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2843, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8133:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8133:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2845, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "8145:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2840, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8122:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8122:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2835, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "8097:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 9621, - "src": "8097:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8097:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,uint256) payable external)" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8097:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8097:55:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2847, - "nodeType": "ExpressionStatement", - "src": "8097:55:3" - } - ] - }, - "documentation": "@notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n@param _value The amount of contribution token to be spent", - "id": 2849, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2832, - "name": "CONTRIBUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "8070:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2833, - "modifierName": { - "argumentTypes": null, - "id": 2831, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8065:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8065:21:3" - } - ], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2829, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2849, - "src": "8032:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8032:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8031:16:3" - }, - "payable": true, - "returnParameters": { - "id": 2834, - "nodeType": "ParameterList", - "parameters": [], - "src": "8087:0:3" - }, - "scope": 3335, - "src": "8012:147:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2865, - "nodeType": "Block", - "src": "8531:64:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2861, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "8556:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2862, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2853, - "src": "8570:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2858, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "8541:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "refund", - "nodeType": "MemberAccess", - "referencedDeclaration": 9628, - "src": "8541:14:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8541:47:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2864, - "nodeType": "ExpressionStatement", - "src": "8541:47:3" - } - ] - }, - "documentation": "@notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n@param _contributor The address of the contributor whose presale contribution is to be refunded\n@param _vestedPurchaseId The id of the contribution to be refunded", - "id": 2866, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2856, - "modifierName": { - "argumentTypes": null, - "id": 2855, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "8517:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8517:13:3" - } - ], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2851, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 2866, - "src": "8459:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8459:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2853, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 2866, - "src": "8481:25:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8481:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8458:49:3" - }, - "payable": false, - "returnParameters": { - "id": 2857, - "nodeType": "ParameterList", - "parameters": [], - "src": "8531:0:3" - }, - "scope": 3335, - "src": "8443:152:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2910, - "nodeType": "Block", - "src": "8788:220:3", - "statements": [ - { - "body": { - "id": 2903, - "nodeType": "Block", - "src": "8843:130:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2885, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2887, - "indexExpression": { - "argumentTypes": null, - "id": 2886, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8879:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8871:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2883, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "8861:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rates", - "nodeType": "MemberAccess", - "referencedDeclaration": 9705, - "src": "8861:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8861:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8894: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": 2889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8886:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 2891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8886:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8861:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2902, - "nodeType": "IfStatement", - "src": "8857:106:3", - "trueBody": { - "id": 2901, - "nodeType": "Block", - "src": "8898:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2896, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8937:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2898, - "indexExpression": { - "argumentTypes": null, - "id": 2897, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8945:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8937:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2893, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "8916:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resetTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9681, - "src": "8916:20:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8916:32:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2900, - "nodeType": "ExpressionStatement", - "src": "8916:32:3" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8818:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8822:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8822:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8818:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2904, - "initializationExpression": { - "assignments": [ - 2873 - ], - "declarations": [ - { - "constant": false, - "id": 2873, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2911, - "src": "8803:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8803:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2875, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8815:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8803:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8838:3:3", - "subExpression": { - "argumentTypes": null, - "id": 2880, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8838:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2882, - "nodeType": "ExpressionStatement", - "src": "8838:3:3" - }, - "nodeType": "ForStatement", - "src": "8798:175:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2905, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "8983:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "open", - "nodeType": "MemberAccess", - "referencedDeclaration": 6391, - "src": "8983:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:18:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2909, - "nodeType": "ExpressionStatement", - "src": "8983:18:3" - } - ] - }, - "documentation": "@notice Open trading [enabling users to open buy and sell orders]", - "id": 2911, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2869, - "name": "OPEN_TRADING_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2631, - "src": "8769:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2870, - "modifierName": { - "argumentTypes": null, - "id": 2868, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8764:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8764:23:3" - } - ], - "name": "openTrading", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2867, - "nodeType": "ParameterList", - "parameters": [], - "src": "8752:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2871, - "nodeType": "ParameterList", - "parameters": [], - "src": "8788:0:3" - }, - "scope": 3335, - "src": "8732:276:3", - "stateMutability": "nonpayable", - "superFunction": 9584, - "visibility": "external" - }, - { - "body": { - "id": 2935, - "nodeType": "Block", - "src": "9348:91:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9400:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9400:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2931, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2913, - "src": "9412:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2932, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "9425:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9389:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9389:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2921, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "9358:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openBuyOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6620, - "src": "9358:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) payable external" - } - }, - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9358:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,address,uint256) payable external)" - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9358:41:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,address,uint256) payable external" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9358:74:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2934, - "nodeType": "ExpressionStatement", - "src": "9358:74:3" - } - ] - }, - "documentation": "@notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n@param _collateral The address of the collateral token to be spent\n@param _value The amount of collateral token to be spent", - "id": 2936, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2918, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2637, - "src": "9327:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2919, - "modifierName": { - "argumentTypes": null, - "id": 2917, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9322:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9322:25:3" - } - ], - "name": "openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2913, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2936, - "src": "9268:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2912, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2915, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2936, - "src": "9289:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9267:37:3" - }, - "payable": true, - "returnParameters": { - "id": 2920, - "nodeType": "ParameterList", - "parameters": [], - "src": "9348:0:3" - }, - "scope": 3335, - "src": "9246:193:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2955, - "nodeType": "Block", - "src": "9824:76:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2949, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9860:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9860:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2951, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "9872:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "9885:7: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": 2946, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "9834:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openSellOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6669, - "src": "9834:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9834:59:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "ExpressionStatement", - "src": "9834:59:3" - } - ] - }, - "documentation": "@notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n@param _collateral The address of the collateral token to be returned\n@param _amount The amount of bonded token to be spent", - "id": 2956, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2943, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2640, - "src": "9802:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2944, - "modifierName": { - "argumentTypes": null, - "id": 2942, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9797:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9797:26:3" - } - ], - "name": "openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "9750:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9750:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2940, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "9771:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9771:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9749:38:3" - }, - "payable": false, - "returnParameters": { - "id": 2945, - "nodeType": "ParameterList", - "parameters": [], - "src": "9824:0:3" - }, - "scope": 3335, - "src": "9727:173:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2975, - "nodeType": "Block", - "src": "10397:73:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2970, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2958, - "src": "10433:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2971, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2960, - "src": "10441:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2972, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "10451:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "10407:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimBuyOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6721, - "src": "10407:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10407:56:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2974, - "nodeType": "ExpressionStatement", - "src": "10407:56:3" - } - ] - }, - "documentation": "@notice Claim the results of `_collateral.symbol(): string` buy orders from batch #`_batchId`\n@param _buyer The address of the user whose buy orders are to be claimed\n@param _batchId The id of the batch in which buy orders are to be claimed\n@param _collateral The address of the collateral token against which buy orders are to be claimed", - "id": 2976, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2965, - "modifierName": { - "argumentTypes": null, - "id": 2964, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10383:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10383:13:3" - } - ], - "name": "claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2958, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2960, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10335:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10335:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2962, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10353:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10353:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10318:55:3" - }, - "payable": false, - "returnParameters": { - "id": 2966, - "nodeType": "ParameterList", - "parameters": [], - "src": "10397:0:3" - }, - "scope": 3335, - "src": "10296:174:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2995, - "nodeType": "Block", - "src": "10973:75:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2990, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2978, - "src": "11010:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2991, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "11019:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2992, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "11029:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2987, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "10983:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimSellOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6773, - "src": "10983:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10983:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2994, - "nodeType": "ExpressionStatement", - "src": "10983:58:3" - } - ] - }, - "documentation": "@notice Claim the results of `_collateral.symbol(): string` sell orders from batch #`_batchId`\n@param _seller The address of the user whose sell orders are to be claimed\n@param _batchId The id of the batch in which sell orders are to be claimed\n@param _collateral The address of the collateral token against which sell orders are to be claimed", - "id": 2996, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2985, - "modifierName": { - "argumentTypes": null, - "id": 2984, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10959:13:3" - } - ], - "name": "claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2978, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10894:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2980, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10911:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10911:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2982, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10929:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10893:56:3" - }, - "payable": false, - "returnParameters": { - "id": 2986, - "nodeType": "ParameterList", - "parameters": [], - "src": "10973:0:3" - }, - "scope": 3335, - "src": "10870:178:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3050, - "nodeType": "Block", - "src": "12209:310:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3019, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12250:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3020, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3000, - "src": "12263:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3021, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "12279:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3022, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "12296:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3023, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "12311:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "12219:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6509, - "src": "12219:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12219:102:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3025, - "nodeType": "ExpressionStatement", - "src": "12219:102:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12335:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3027, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12350:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12335:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3036, - "nodeType": "IfStatement", - "src": "12331:87:3", - "trueBody": { - "id": 3035, - "nodeType": "Block", - "src": "12355:63:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3032, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12395:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "12369:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addProtectedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11143, - "src": "12369:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12369:38:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3034, - "nodeType": "ExpressionStatement", - "src": "12369:38:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3037, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "12431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12439:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12431:9:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3049, - "nodeType": "IfStatement", - "src": "12427:86:3", - "trueBody": { - "id": 3048, - "nodeType": "Block", - "src": "12442:71:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3043, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12475:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3044, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "12488:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3045, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "12495:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3040, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "12456:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9667, - "src": "12456:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12456:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "12456:46:3" - } - ] - } - } - ] - }, - "documentation": "@notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3051, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3013, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2607, - "src": "12178:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3014, - "modifierName": { - "argumentTypes": null, - "id": 3012, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12173:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12173:31:3" - } - ], - "name": "addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2998, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "11955:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11955:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3000, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "11984:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11984:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3002, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12016:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12016:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12049:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3003, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12049:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3006, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12080:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12080:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3008, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12107:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12107:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12130:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12130:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11945:205:3" - }, - "payable": false, - "returnParameters": { - "id": 3015, - "nodeType": "ParameterList", - "parameters": [], - "src": "12209:0:3" - }, - "scope": 3335, - "src": "11918:601:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3077, - "nodeType": "Block", - "src": "13426:119:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3070, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3053, - "src": "13467:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3071, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3055, - "src": "13480:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3072, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "13496:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3073, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "13513:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3074, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3061, - "src": "13528:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3067, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "13436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6509, - "src": "13436:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13436:102:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3076, - "nodeType": "ExpressionStatement", - "src": "13436:102:3" - } - ] - }, - "documentation": "@notice Re-add `_collateral.symbol(): string` as a whitelisted collateral token [if it has been un-whitelisted in the past]\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]", - "id": 3078, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3064, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2607, - "src": "13395:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3065, - "modifierName": { - "argumentTypes": null, - "id": 3063, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13390:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13390:31:3" - } - ], - "name": "reAddCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3053, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13219:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13219:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3055, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13248:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13248:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3057, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13280:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13280:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3059, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13313:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3058, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13313:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3061, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13344:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13344:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13209:158:3" - }, - "payable": false, - "returnParameters": { - "id": 3066, - "nodeType": "ParameterList", - "parameters": [], - "src": "13426:0:3" - }, - "scope": 3335, - "src": "13180:365:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3092, - "nodeType": "Block", - "src": "13834:197:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3089, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3080, - "src": "13878:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3086, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "13844:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removeCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6529, - "src": "13844:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13844:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3091, - "nodeType": "ExpressionStatement", - "src": "13844:46:3" - } - ] - }, - "documentation": "@notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be un-whitelisted", - "id": 3093, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3083, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "13804:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3084, - "modifierName": { - "argumentTypes": null, - "id": 3082, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13799:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13799:34:3" - } - ], - "name": "removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3080, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3093, - "src": "13769:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13769:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:21:3" - }, - "payable": false, - "returnParameters": { - "id": 3085, - "nodeType": "ParameterList", - "parameters": [], - "src": "13834:0:3" - }, - "scope": 3335, - "src": "13738:293:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3119, - "nodeType": "Block", - "src": "14943:122:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3095, - "src": "14987:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3097, - "src": "15000:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3099, - "src": "15016:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3101, - "src": "15033:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3116, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3103, - "src": "15048:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3109, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "14953:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6568, - "src": "14953:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14953:105:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3118, - "nodeType": "ExpressionStatement", - "src": "14953:105:3" - } - ] - }, - "documentation": "@notice Update `_collateral.symbol(): string` collateralization settings\n@param _collateral The address of the collateral token whose collateralization settings are to be updated\n@param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The new price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]", - "id": 3120, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3106, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2613, - "src": "14909:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3107, - "modifierName": { - "argumentTypes": null, - "id": 3105, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "14904:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14904:34:3" - } - ], - "name": "updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3095, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14730:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3097, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14759:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14759:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3099, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14791:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14791:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3101, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14824:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3100, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14824:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3103, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14855:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14855:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14720:158:3" - }, - "payable": false, - "returnParameters": { - "id": 3108, - "nodeType": "ParameterList", - "parameters": [], - "src": "14943:0:3" - }, - "scope": 3335, - "src": "14690:375:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3134, - "nodeType": "Block", - "src": "15471:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3131, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3122, - "src": "15517:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3128, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "15481:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateMaximumTapRateIncreasePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 9653, - "src": "15481:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15481:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3133, - "nodeType": "ExpressionStatement", - "src": "15481:63:3" - } - ] - }, - "documentation": "@notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n@param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]", - "id": 3135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3125, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "15428:41:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3126, - "modifierName": { - "argumentTypes": null, - "id": 3124, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15423:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15423:47:3" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3122, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 3135, - "src": "15378:34:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15378:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15377:36:3" - }, - "payable": false, - "returnParameters": { - "id": 3127, - "nodeType": "ParameterList", - "parameters": [], - "src": "15471:0:3" - }, - "scope": 3335, - "src": "15337:214:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3149, - "nodeType": "Block", - "src": "15931:82:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3146, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3137, - "src": "15978:27:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "15941:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateMaximumTapFloorDecreasePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 9658, - "src": "15941:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15941:65:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3148, - "nodeType": "ExpressionStatement", - "src": "15941:65:3" - } - ] - }, - "documentation": "@notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n@param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]", - "id": 3150, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3140, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2619, - "src": "15887:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3141, - "modifierName": { - "argumentTypes": null, - "id": 3139, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15882:48:3" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3137, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 3150, - "src": "15836:35:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15836:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15835:37:3" - }, - "payable": false, - "returnParameters": { - "id": 3142, - "nodeType": "ParameterList", - "parameters": [], - "src": "15931:0:3" - }, - "scope": 3335, - "src": "15794:219:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3170, - "nodeType": "Block", - "src": "16540:58:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3165, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "16569:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3154, - "src": "16577:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3156, - "src": "16584:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3162, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "16550:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9667, - "src": "16550:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:41:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3169, - "nodeType": "ExpressionStatement", - "src": "16550:41:3" - } - ] - }, - "documentation": "@notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token to be tapped\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3171, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "ADD_TOKEN_TAP_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2622, - "src": "16520:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3160, - "modifierName": { - "argumentTypes": null, - "id": 3158, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "16515:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16515:24:3" - } - ], - "name": "addTokenTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3152, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16459:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16459:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3154, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16475:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16475:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3156, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16490:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16490:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16458:47:3" - }, - "payable": false, - "returnParameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [], - "src": "16540:0:3" - }, - "scope": 3335, - "src": "16438:160:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3191, - "nodeType": "Block", - "src": "17181:61:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3186, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "17213:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3187, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "17221:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3188, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "17228:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3183, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17191:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9676, - "src": "17191:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17191:44:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3190, - "nodeType": "ExpressionStatement", - "src": "17191:44:3" - } - ] - }, - "documentation": "@notice Update tap for `_token.symbol(): string` with a rate of about `@tokenAmount(_token, 4 * 60 * 24 * 30 * _rate)` per month and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token whose tap is to be updated\n@param _rate The new rate at which that token is to be tapped [in wei / block]\n@param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3192, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3180, - "name": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2625, - "src": "17158:21:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3181, - "modifierName": { - "argumentTypes": null, - "id": 3179, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "17153:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "17153:27:3" - } - ], - "name": "updateTokenTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3173, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17097:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17097:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3175, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17113:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17113:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17128:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17128:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17096:47:3" - }, - "payable": false, - "returnParameters": { - "id": 3182, - "nodeType": "ParameterList", - "parameters": [], - "src": "17181:0:3" - }, - "scope": 3335, - "src": "17073:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3203, - "nodeType": "Block", - "src": "17465:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3200, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3194, - "src": "17498:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3197, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17475:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 9686, - "src": "17475:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17475:30:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3202, - "nodeType": "ExpressionStatement", - "src": "17475:30:3" - } - ] - }, - "documentation": "@notice Update tapped amount for `_token.symbol(): string`\n@param _token The address of the token whose tapped amount is to be updated", - "id": 3204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3194, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3204, - "src": "17440:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17440:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17439:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3196, - "nodeType": "ParameterList", - "parameters": [], - "src": "17465:0:3" - }, - "scope": 3335, - "src": "17412:100:3", - "stateMutability": "nonpayable", - "superFunction": 9589, - "visibility": "external" - }, - { - "body": { - "id": 3218, - "nodeType": "Block", - "src": "17828:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3215, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "17851:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3212, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17838:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 9691, - "src": "17838:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17838:20:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3217, - "nodeType": "ExpressionStatement", - "src": "17838:20:3" - } - ] - }, - "documentation": "@notice Transfer about `@tokenAmount(_token, self.getMaximumWithdrawal(_token): uint256)` from the reserve to the beneficiary\n@param _token The address of the token to be transfered from the reserve to the beneficiary", - "id": 3219, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3209, - "name": "WITHDRAW_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2643, - "src": "17813:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3210, - "modifierName": { - "argumentTypes": null, - "id": 3208, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "17808:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "17808:19:3" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3206, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3219, - "src": "17783:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17783:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17782:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3211, - "nodeType": "ParameterList", - "parameters": [], - "src": "17828:0:3" - }, - "scope": 3335, - "src": "17765:100:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3230, - "nodeType": "Block", - "src": "17973:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3226, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "17990:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 6068, - "src": "17990:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_ERC20_$28099_$", - "typeString": "function () view external returns (contract ERC20)" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17990:19:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "functionReturnParameters": 3225, - "id": 3229, - "nodeType": "Return", - "src": "17983:26:3" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 3231, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3222, - "modifierName": { - "argumentTypes": null, - "id": 3221, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17941:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17941:13:3" - } - ], - "name": "token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3220, - "nodeType": "ParameterList", - "parameters": [], - "src": "17926:2:3" - }, - "payable": false, - "returnParameters": { - "id": 3225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3224, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3231, - "src": "17964:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17964:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17963:9:3" - }, - "scope": 3335, - "src": "17912:104:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3242, - "nodeType": "Block", - "src": "18095:51:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3238, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "18112:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contributionToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9640, - "src": "18112:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18112:27:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 3237, - "id": 3241, - "nodeType": "Return", - "src": "18105:34:3" - } - ] - }, - "documentation": null, - "id": 3243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3234, - "modifierName": { - "argumentTypes": null, - "id": 3233, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18063:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18063:13:3" - } - ], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3232, - "nodeType": "ParameterList", - "parameters": [], - "src": "18048:2:3" - }, - "payable": false, - "returnParameters": { - "id": 3237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3243, - "src": "18086:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18086:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18085:9:3" - }, - "scope": 3335, - "src": "18022:124:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3257, - "nodeType": "Block", - "src": "18242:56:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3254, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3245, - "src": "18284:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3252, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "18259:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMaximumWithdrawal", - "nodeType": "MemberAccess", - "referencedDeclaration": 9698, - "src": "18259:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18259:32:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3251, - "id": 3256, - "nodeType": "Return", - "src": "18252:39:3" - } - ] - }, - "documentation": null, - "id": 3258, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3248, - "modifierName": { - "argumentTypes": null, - "id": 3247, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18210:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18210:13:3" - } - ], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3245, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3258, - "src": "18182:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18182:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18181:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3250, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3258, - "src": "18233:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18233:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18232:9:3" - }, - "scope": 3335, - "src": "18152:146:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3272, - "nodeType": "Block", - "src": "18401:71:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3269, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "18453:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3267, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "18418:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "collateralsToBeClaimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 6088, - "src": "18418:34:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18418:47:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3266, - "id": 3271, - "nodeType": "Return", - "src": "18411:54:3" - } - ] - }, - "documentation": null, - "id": 3273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3263, - "modifierName": { - "argumentTypes": null, - "id": 3262, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18369:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18369:13:3" - } - ], - "name": "collateralsToBeClaimed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3260, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "18336:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18336:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18335:21:3" - }, - "payable": false, - "returnParameters": { - "id": 3266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "18392:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18392:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18391:9:3" - }, - "scope": 3335, - "src": "18304:168:3", - "stateMutability": "view", - "superFunction": 9596, - "visibility": "public" - }, - { - "body": { - "id": 3317, - "nodeType": "Block", - "src": "18571:263:3", - "statements": [ - { - "assignments": [ - 3285 - ], - "declarations": [ - { - "constant": false, - "id": 3285, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18581:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18581:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3298, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18599:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3287, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "18609:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18599:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3295, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18660:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3292, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18636:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3291, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "18630:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18630:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "18630:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18630:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "18599:66:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3289, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18615:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18615:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18581:84:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3299, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18680:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3301, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "18696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 3300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18688:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18688:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18680:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3315, - "nodeType": "Block", - "src": "18789:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3313, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "18810:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3283, - "id": 3314, - "nodeType": "Return", - "src": "18803:14:3" - } - ] - }, - "id": 3316, - "nodeType": "IfStatement", - "src": "18676:152:3", - "trueBody": { - "id": 3312, - "nodeType": "Block", - "src": "18706:77:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3308, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3306, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "18739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMaximumWithdrawal", - "nodeType": "MemberAccess", - "referencedDeclaration": 9698, - "src": "18739:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18739:32:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3304, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "18727:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18727:11: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": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18727:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3283, - "id": 3311, - "nodeType": "Return", - "src": "18720:52:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 3318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3280, - "modifierName": { - "argumentTypes": null, - "id": 3279, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18539:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18539:13:3" - } - ], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3275, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18497:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18497:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3277, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18511:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3276, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18511:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18496:30:3" - }, - "payable": false, - "returnParameters": { - "id": 3283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3282, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18562:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18562:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18561:9:3" - }, - "scope": 3335, - "src": "18478:356:3", - "stateMutability": "view", - "superFunction": 9605, - "visibility": "public" - }, - { - "body": { - "id": 3333, - "nodeType": "Block", - "src": "18955:59:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3326, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "18983:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3325, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "18972:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18972:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3328, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "18994:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3329, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "19004:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18994:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18972:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3324, - "id": 3332, - "nodeType": "Return", - "src": "18965:42:3" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 3334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsContractOrETH", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3320, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "18910:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18910:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18909:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3323, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "18949:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3322, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18949:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:6:3" - }, - "scope": 3335, - "src": "18879:135:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3336, - "src": "722:18294:3" - } - ], - "src": "0:19017:3" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "exportedSymbols": { - "AragonFundraisingController": [ - 3335 - ] - }, - "id": 3336, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2573, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 2574, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23454, - "src": "25:49:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 2575, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23650, - "src": "75:60:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 2576, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 23826, - "src": "136:52:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 2577, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 24108, - "src": "189:51:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 2578, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 27870, - "src": "241:52:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 2579, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 28100, - "src": "294:50:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 2580, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 11530, - "src": "345:48:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "file": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "id": 2581, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 8579, - "src": "394:96:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "id": 2582, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9642, - "src": "491:70:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "id": 2583, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9707, - "src": "562:66:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 2584, - "nodeType": "ImportDirective", - "scope": 3336, - "sourceUnit": 9607, - "src": "629:90:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2585, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "762:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 2586, - "nodeType": "InheritanceSpecifier", - "src": "762:18:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2587, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "782:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 2588, - "nodeType": "InheritanceSpecifier", - "src": "782:10:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2589, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "794:28:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 2590, - "nodeType": "InheritanceSpecifier", - "src": "794:28:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2591, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "824:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 2592, - "nodeType": "InheritanceSpecifier", - "src": "824:9:3" - } - ], - "contractDependencies": [ - 9606, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3335, - "linearizedBaseContracts": [ - 3335, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 9606, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "AragonFundraisingController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2595, - "libraryName": { - "contractScope": null, - "id": 2593, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "846:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "840:26:3", - "typeName": { - "contractScope": null, - "id": 2594, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "860:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 2598, - "libraryName": { - "contractScope": null, - "id": 2596, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "877:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "871:28:3", - "typeName": { - "id": 2597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "891:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 2601, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2619:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2599, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2619:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 2600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2688:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2604, - "name": "UPDATE_FEES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2760:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2602, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2760:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663962653239333265643361373233663239356137363362653138303463376562666431613431633133343866623862646635626531633563646361383232", - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2829:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43245145673168925571563649325145709611164663756998149195724414801912339933218_by_1", - "typeString": "int_const 4324...(69 digits omitted)...3218" - }, - "value": "0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2607, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "2901:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2605, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2901:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832313762373963623262633737363064656663383835323938353365663831616233336165356262333135343038636539663561663039633837373636363264", - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2970:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15144486781003149278302303915639999182740100159752824079265178216709076969005_by_1", - "typeString": "int_const 1514...(69 digits omitted)...9005" - }, - "value": "0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2610, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3042:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2608, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3042:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832303434653536646532323338343565346265376430613666346539613239623633353534376631363431336136643133323763353864396462343338656532", - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3111:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14595740217432245110586185713053284721170097726977563463766954419142971854562_by_1", - "typeString": "int_const 1459...(69 digits omitted)...4562" - }, - "value": "0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2613, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3183:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2611, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3183:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865303536356332633433653064383431653230366262333661333766313266323235383462343635326363656536663965306330373162363937613265313364", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3252:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101470663084272589443640010826168505403047938469021583920932387593436059066685_by_1", - "typeString": "int_const 1014...(70 digits omitted)...6685" - }, - "value": "0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2616, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3324:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3324:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643934646537653432393235306565653466663937653330616239663338336265613363643536346436373830653061396539363562316164643164323037", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42328123875484044786714676363886707536613321598827999033773583507089796485639_by_1", - "typeString": "int_const 4232...(69 digits omitted)...5639" - }, - "value": "0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2619, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3465:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2617, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835376339633637383936636630613466666539326362656136366332663763333433383061663036626631343231356461626230373863663861366439396531", - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3534:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39707723883616910811070684472502419160349445362132466926300379747285497387489_by_1", - "typeString": "int_const 3970...(69 digits omitted)...7489" - }, - "value": "0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2622, - "name": "ADD_TOKEN_TAP_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3606:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2620, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3606:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862633963623565336637636538316334666430323164383661346263623139336465653964663331356235343038303863336564353961383165353936323037", - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3675:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85311699037853259563199756935523866666381221923469517077774536939314234352135_by_1", - "typeString": "int_const 8531...(69 digits omitted)...2135" - }, - "value": "0xbc9cb5e3f7ce81c4fd021d86a4bcb193dee9df315b540808c3ed59a81e596207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2625, - "name": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3747:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2623, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3747:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864623863383862656462633631656130663932653163653436646130623761393135616666626434366431633736633462626163396132303965346138343136", - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3816:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99304816211842236704785212832174700436470612073321699763860620524307859801110_by_1", - "typeString": "int_const 9930...(69 digits omitted)...1110" - }, - "value": "0xdb8c88bedbc61ea0f92e1ce46da0b7a915affbd46d1c76c4bbac9a209e4a8416" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2628, - "name": "OPEN_PRESALE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "3888:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2626, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3888:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866333233616134316565663438353061386165376562643034376434633839663031636534396337383166333330386265363733303364623963646434386332", - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3957:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109975036927441378570938708489787503200288936667147202996037050682741224196290_by_1", - "typeString": "int_const 1099...(70 digits omitted)...6290" - }, - "value": "0xf323aa41eef4850a8ae7ebd047d4c89f01ce49c781f3308be67303db9cdd48c2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2631, - "name": "OPEN_TRADING_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4029:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2629, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4029:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832366365303334323034323038633062626361346338613739336431376239396535343630303962316464333164336331656637363166363633373263616636", - "id": 2630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17551881226538628581846709607708678341150964819497410122678523206009529486070_by_1", - "typeString": "int_const 1755...(69 digits omitted)...6070" - }, - "value": "0x26ce034204208c0bbca4c8a793d17b99e546009b1dd31d3c1ef761f66372caf6" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2634, - "name": "CONTRIBUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4170:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2632, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839636361636134656466323132376632306334323566646438366166316261313738623965356265653238306364373064383861633566363837346334663037", - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4239:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70919103765210962597078456092644523779665220219512086497638370503967881580295_by_1", - "typeString": "int_const 7091...(69 digits omitted)...0295" - }, - "value": "0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2637, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4311:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2635, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4311:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307861353839633866323834623736666338643531306439643535333438356334376462656631623037343561653030653066336664346532386663643737656137", - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4380:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74875064951666728262478327895309352630719236443135036862611625946537069608615_by_1", - "typeString": "int_const 7487...(69 digits omitted)...8615" - }, - "value": "0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2640, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4452:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2638, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4452:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363862613262373639666133376132613762643462656439323431623434386263393965636134316635313965663033373430363338366138663239316330", - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4521:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97041664366562346756231049942652716525890363183279880200358210036101134062016_by_1", - "typeString": "int_const 9704...(69 digits omitted)...2016" - }, - "value": "0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2643, - "name": "WITHDRAW_ROLE", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4593:135:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2641, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4593:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643865313263333931343266663936643739643034643135643162613132363965346665353762623964323666343335323336323862333462613130386563", - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4662:66:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42316116705363990851232871325518885526905562683539808675587814484451545647340_by_1", - "typeString": "int_const 4231...(69 digits omitted)...7340" - }, - "value": "0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2646, - "name": "TO_RESET_CAP", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4735:41:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4735:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4774:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 2649, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4783:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 2647, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4783:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46554e4452414953494e475f434f4e54524143545f49535f454f41", - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4831:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_74c5454ba995c9b7845bc2dd61e33ec1ab9206baff3e59698516f34d2f8b27be", - "typeString": "literal_string \"FUNDRAISING_CONTRACT_IS_EOA\"" - }, - "value": "FUNDRAISING_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 2652, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4866:76:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 2650, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4866:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46554e4452414953494e475f494e56414c49445f544f4b454e53", - "id": 2651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4914:28:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a6a0a80f3f0d4ec543d1e4604d37d3e478e1cec5c91f33496db28572ac1c7e16", - "typeString": "literal_string \"FUNDRAISING_INVALID_TOKENS\"" - }, - "value": "FUNDRAISING_INVALID_TOKENS" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2654, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4949:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - }, - "typeName": { - "contractScope": null, - "id": 2653, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "4949:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2656, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "4994:43:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 2655, - "name": "BatchedBancorMarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "4994:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2658, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5043:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2657, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "5043:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2660, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5088:35:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - }, - "typeName": { - "contractScope": null, - "id": 2659, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "5088:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2663, - "name": "toReset", - "nodeType": "VariableDeclaration", - "scope": 3335, - "src": "5129:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5129:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2662, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5129:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2764, - "nodeType": "Block", - "src": "5961:688:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2681, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2665, - "src": "5990:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - ], - "id": 2680, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "5979:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5979:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6011:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5971:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5971:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2685, - "nodeType": "ExpressionStatement", - "src": "5971:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2688, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2667, - "src": "6062:12:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 2687, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6051:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6051:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2690, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6083:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2686, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6043:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2692, - "nodeType": "ExpressionStatement", - "src": "6043:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2695, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "6134:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 2694, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6123:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6123:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6155:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6115:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "6115:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2702, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "6206:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - ], - "id": 2701, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6195:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6195:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2704, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2649, - "src": "6227:21:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2700, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6187:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6187:62:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "6187:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2708, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6267:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6267:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 2710, - "name": "TO_RESET_CAP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "6285:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6267:30:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2712, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6299:20:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2707, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6259:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6259:61:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "6259:61:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2715, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "6331:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6331:13:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2717, - "nodeType": "ExpressionStatement", - "src": "6331:13:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2718, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "6355:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2719, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2665, - "src": "6365:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "src": "6355:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2721, - "nodeType": "ExpressionStatement", - "src": "6355:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2722, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "6383:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2723, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2667, - "src": "6397:12:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "src": "6383:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2725, - "nodeType": "ExpressionStatement", - "src": "6383:26:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2726, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "6419:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2727, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "6429:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "6419:18:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 2729, - "nodeType": "ExpressionStatement", - "src": "6419:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2730, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "6447:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2731, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "6453:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "src": "6447:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2733, - "nodeType": "ExpressionStatement", - "src": "6447:10:3" - }, - { - "body": { - "id": 2762, - "nodeType": "Block", - "src": "6514:129:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2747, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6558:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2749, - "indexExpression": { - "argumentTypes": null, - "id": 2748, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6567:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6558:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2746, - "name": "_tokenIsContractOrETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3334, - "src": "6536:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6536:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2751, - "name": "ERROR_INVALID_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6572:20:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2745, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6528:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6528:65:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2753, - "nodeType": "ExpressionStatement", - "src": "6528:65:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2757, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6620:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2759, - "indexExpression": { - "argumentTypes": null, - "id": 2758, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6629:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6620:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2754, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "6607:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6607:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6607:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2761, - "nodeType": "ExpressionStatement", - "src": "6607:25:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2738, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6488:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2739, - "name": "_toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2674, - "src": "6492:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6492:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6488:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2763, - "initializationExpression": { - "assignments": [ - 2735 - ], - "declarations": [ - { - "constant": false, - "id": 2735, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "6473:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2737, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6485:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6473:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6509:3:3", - "subExpression": { - "argumentTypes": null, - "id": 2742, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "6509:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2744, - "nodeType": "ExpressionStatement", - "src": "6509:3:3" - }, - "nodeType": "ForStatement", - "src": "6468:175:3" - } - ] - }, - "documentation": "@notice Initialize Aragon Fundraising controller\n@param _presale The address of the presale contract\n@param _marketMaker The address of the market maker contract\n@param _reserve The address of the reserve [pool] contract\n@param _tap The address of the tap contract\n@param _toReset The addresses of the tokens whose tap timestamps are to be reset [when presale is closed and trading is open]", - "id": 2765, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2677, - "modifierName": { - "argumentTypes": null, - "id": 2676, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "5948:8:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5948:8:3" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2665, - "name": "_presale", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5711:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - }, - "typeName": { - "contractScope": null, - "id": 2664, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "5711:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2667, - "name": "_marketMaker", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5754:37:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 2666, - "name": "BatchedBancorMarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "5754:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2669, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5801:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2668, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "5801:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2671, - "name": "_tap", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5844:29:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - }, - "typeName": { - "contractScope": null, - "id": 2670, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "5844:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2674, - "name": "_toReset", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "5883:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2672, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5883:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2673, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5883:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5701:221:3" - }, - "payable": false, - "returnParameters": { - "id": 2678, - "nodeType": "ParameterList", - "parameters": [], - "src": "5961:0:3" - }, - "scope": 3335, - "src": "5682:967:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2785, - "nodeType": "Block", - "src": "6917:105:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2776, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "6957:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2773, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "6927:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateBeneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 6431, - "src": "6927:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6927:43:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2778, - "nodeType": "ExpressionStatement", - "src": "6927:43:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2782, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "7002:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2779, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "6980:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateBeneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 9648, - "src": "6980:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6980:35:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2784, - "nodeType": "ExpressionStatement", - "src": "6980:35:3" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary", - "id": 2786, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2770, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2601, - "src": "6892:23:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2771, - "modifierName": { - "argumentTypes": null, - "id": 2769, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "6887:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6887:29:3" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 2786, - "src": "6856:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6856:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6855:22:3" - }, - "payable": false, - "returnParameters": { - "id": 2772, - "nodeType": "ParameterList", - "parameters": [], - "src": "6917:0:3" - }, - "scope": 3335, - "src": "6829:193:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2803, - "nodeType": "Block", - "src": "7437:64:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2799, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "7470:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2800, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2790, - "src": "7482:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2796, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "7447:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 6458, - "src": "7447:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7447:47:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2802, - "nodeType": "ExpressionStatement", - "src": "7447:47:3" - } - ] - }, - "documentation": "@notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n@param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]", - "id": 2804, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2793, - "name": "UPDATE_FEES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "7419:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2794, - "modifierName": { - "argumentTypes": null, - "id": 2792, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7414:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7414:22:3" - } - ], - "name": "updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2788, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "7364:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7364:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2790, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "7384:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7384:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7363:41:3" - }, - "payable": false, - "returnParameters": { - "id": 2795, - "nodeType": "ParameterList", - "parameters": [], - "src": "7437:0:3" - }, - "scope": 3335, - "src": "7344:157:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2815, - "nodeType": "Block", - "src": "7643:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2810, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "7653:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "open", - "nodeType": "MemberAccess", - "referencedDeclaration": 9611, - "src": "7653:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7653:14:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2814, - "nodeType": "ExpressionStatement", - "src": "7653:14:3" - } - ] - }, - "documentation": "@notice Open presale", - "id": 2816, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2807, - "name": "OPEN_PRESALE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "7624:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2808, - "modifierName": { - "argumentTypes": null, - "id": 2806, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7619:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7619:23:3" - } - ], - "name": "openPresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [], - "src": "7607:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2809, - "nodeType": "ParameterList", - "parameters": [], - "src": "7643:0:3" - }, - "scope": 3335, - "src": "7587:87:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2826, - "nodeType": "Block", - "src": "7788:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2821, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "7798:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "close", - "nodeType": "MemberAccess", - "referencedDeclaration": 9614, - "src": "7798:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7798:15:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2825, - "nodeType": "ExpressionStatement", - "src": "7798:15:3" - } - ] - }, - "documentation": "@notice Close presale and open trading", - "id": 2827, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2819, - "modifierName": { - "argumentTypes": null, - "id": 2818, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "7774:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7774:13:3" - } - ], - "name": "closePresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2817, - "nodeType": "ParameterList", - "parameters": [], - "src": "7762:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2820, - "nodeType": "ParameterList", - "parameters": [], - "src": "7788:0:3" - }, - "scope": 3335, - "src": "7741:79:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2848, - "nodeType": "Block", - "src": "8087:72:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2843, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8133:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8133:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2845, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "8145:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2840, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8122:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8122:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2835, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "8097:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 9621, - "src": "8097:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8097:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,uint256) payable external)" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8097:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8097:55:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2847, - "nodeType": "ExpressionStatement", - "src": "8097:55:3" - } - ] - }, - "documentation": "@notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n@param _value The amount of contribution token to be spent", - "id": 2849, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2832, - "name": "CONTRIBUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "8070:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2833, - "modifierName": { - "argumentTypes": null, - "id": 2831, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8065:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8065:21:3" - } - ], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2829, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2849, - "src": "8032:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8032:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8031:16:3" - }, - "payable": true, - "returnParameters": { - "id": 2834, - "nodeType": "ParameterList", - "parameters": [], - "src": "8087:0:3" - }, - "scope": 3335, - "src": "8012:147:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2865, - "nodeType": "Block", - "src": "8531:64:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2861, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "8556:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2862, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2853, - "src": "8570:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2858, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "8541:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "refund", - "nodeType": "MemberAccess", - "referencedDeclaration": 9628, - "src": "8541:14:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8541:47:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2864, - "nodeType": "ExpressionStatement", - "src": "8541:47:3" - } - ] - }, - "documentation": "@notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n@param _contributor The address of the contributor whose presale contribution is to be refunded\n@param _vestedPurchaseId The id of the contribution to be refunded", - "id": 2866, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2856, - "modifierName": { - "argumentTypes": null, - "id": 2855, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "8517:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8517:13:3" - } - ], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2851, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 2866, - "src": "8459:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8459:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2853, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 2866, - "src": "8481:25:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8481:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8458:49:3" - }, - "payable": false, - "returnParameters": { - "id": 2857, - "nodeType": "ParameterList", - "parameters": [], - "src": "8531:0:3" - }, - "scope": 3335, - "src": "8443:152:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2910, - "nodeType": "Block", - "src": "8788:220:3", - "statements": [ - { - "body": { - "id": 2903, - "nodeType": "Block", - "src": "8843:130:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2885, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2887, - "indexExpression": { - "argumentTypes": null, - "id": 2886, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8879:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8871:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2883, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "8861:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rates", - "nodeType": "MemberAccess", - "referencedDeclaration": 9705, - "src": "8861:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8861:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8894: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": 2889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8886:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 2891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8886:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8861:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2902, - "nodeType": "IfStatement", - "src": "8857:106:3", - "trueBody": { - "id": 2901, - "nodeType": "Block", - "src": "8898:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2896, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8937:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2898, - "indexExpression": { - "argumentTypes": null, - "id": 2897, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8945:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8937:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2893, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "8916:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resetTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9681, - "src": "8916:20:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8916:32:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2900, - "nodeType": "ExpressionStatement", - "src": "8916:32:3" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8818:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "8822:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8822:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8818:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2904, - "initializationExpression": { - "assignments": [ - 2873 - ], - "declarations": [ - { - "constant": false, - "id": 2873, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2911, - "src": "8803:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8803:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2875, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8815:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8803:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8838:3:3", - "subExpression": { - "argumentTypes": null, - "id": 2880, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "8838:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2882, - "nodeType": "ExpressionStatement", - "src": "8838:3:3" - }, - "nodeType": "ForStatement", - "src": "8798:175:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2905, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "8983:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "open", - "nodeType": "MemberAccess", - "referencedDeclaration": 6391, - "src": "8983:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:18:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2909, - "nodeType": "ExpressionStatement", - "src": "8983:18:3" - } - ] - }, - "documentation": "@notice Open trading [enabling users to open buy and sell orders]", - "id": 2911, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2869, - "name": "OPEN_TRADING_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2631, - "src": "8769:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2870, - "modifierName": { - "argumentTypes": null, - "id": 2868, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8764:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8764:23:3" - } - ], - "name": "openTrading", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2867, - "nodeType": "ParameterList", - "parameters": [], - "src": "8752:2:3" - }, - "payable": false, - "returnParameters": { - "id": 2871, - "nodeType": "ParameterList", - "parameters": [], - "src": "8788:0:3" - }, - "scope": 3335, - "src": "8732:276:3", - "stateMutability": "nonpayable", - "superFunction": 9584, - "visibility": "external" - }, - { - "body": { - "id": 2935, - "nodeType": "Block", - "src": "9348:91:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9400:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9400:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2931, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2913, - "src": "9412:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2932, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "9425:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9389:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9389:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2921, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "9358:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openBuyOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6620, - "src": "9358:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) payable external" - } - }, - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9358:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,address,uint256) payable external)" - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9358:41:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,address,uint256) payable external" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9358:74:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2934, - "nodeType": "ExpressionStatement", - "src": "9358:74:3" - } - ] - }, - "documentation": "@notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n@param _collateral The address of the collateral token to be spent\n@param _value The amount of collateral token to be spent", - "id": 2936, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2918, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2637, - "src": "9327:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2919, - "modifierName": { - "argumentTypes": null, - "id": 2917, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9322:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9322:25:3" - } - ], - "name": "openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2913, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2936, - "src": "9268:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2912, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2915, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2936, - "src": "9289:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9267:37:3" - }, - "payable": true, - "returnParameters": { - "id": 2920, - "nodeType": "ParameterList", - "parameters": [], - "src": "9348:0:3" - }, - "scope": 3335, - "src": "9246:193:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2955, - "nodeType": "Block", - "src": "9824:76:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2949, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9860:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9860:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2951, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "9872:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "9885:7: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": 2946, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "9834:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openSellOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6669, - "src": "9834:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9834:59:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "ExpressionStatement", - "src": "9834:59:3" - } - ] - }, - "documentation": "@notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n@param _collateral The address of the collateral token to be returned\n@param _amount The amount of bonded token to be spent", - "id": 2956, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2943, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2640, - "src": "9802:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2944, - "modifierName": { - "argumentTypes": null, - "id": 2942, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9797:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9797:26:3" - } - ], - "name": "openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "9750:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9750:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2940, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "9771:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9771:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9749:38:3" - }, - "payable": false, - "returnParameters": { - "id": 2945, - "nodeType": "ParameterList", - "parameters": [], - "src": "9824:0:3" - }, - "scope": 3335, - "src": "9727:173:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2975, - "nodeType": "Block", - "src": "10397:73:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2970, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2958, - "src": "10433:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2971, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2960, - "src": "10441:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2972, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "10451:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "10407:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimBuyOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6721, - "src": "10407:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10407:56:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2974, - "nodeType": "ExpressionStatement", - "src": "10407:56:3" - } - ] - }, - "documentation": "@notice Claim the results of `_collateral.symbol(): string` buy orders from batch #`_batchId`\n@param _buyer The address of the user whose buy orders are to be claimed\n@param _batchId The id of the batch in which buy orders are to be claimed\n@param _collateral The address of the collateral token against which buy orders are to be claimed", - "id": 2976, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2965, - "modifierName": { - "argumentTypes": null, - "id": 2964, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10383:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10383:13:3" - } - ], - "name": "claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2958, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2960, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10335:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10335:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2962, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "10353:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10353:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10318:55:3" - }, - "payable": false, - "returnParameters": { - "id": 2966, - "nodeType": "ParameterList", - "parameters": [], - "src": "10397:0:3" - }, - "scope": 3335, - "src": "10296:174:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2995, - "nodeType": "Block", - "src": "10973:75:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2990, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2978, - "src": "11010:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2991, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "11019:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2992, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "11029:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2987, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "10983:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimSellOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 6773, - "src": "10983:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10983:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2994, - "nodeType": "ExpressionStatement", - "src": "10983:58:3" - } - ] - }, - "documentation": "@notice Claim the results of `_collateral.symbol(): string` sell orders from batch #`_batchId`\n@param _seller The address of the user whose sell orders are to be claimed\n@param _batchId The id of the batch in which sell orders are to be claimed\n@param _collateral The address of the collateral token against which sell orders are to be claimed", - "id": 2996, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 2985, - "modifierName": { - "argumentTypes": null, - "id": 2984, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10959:13:3" - } - ], - "name": "claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2978, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10894:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2980, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10911:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10911:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2982, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 2996, - "src": "10929:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10893:56:3" - }, - "payable": false, - "returnParameters": { - "id": 2986, - "nodeType": "ParameterList", - "parameters": [], - "src": "10973:0:3" - }, - "scope": 3335, - "src": "10870:178:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3050, - "nodeType": "Block", - "src": "12209:310:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3019, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12250:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3020, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3000, - "src": "12263:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3021, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "12279:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3022, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "12296:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3023, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "12311:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "12219:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6509, - "src": "12219:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12219:102:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3025, - "nodeType": "ExpressionStatement", - "src": "12219:102:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12335:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3027, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12350:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12335:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3036, - "nodeType": "IfStatement", - "src": "12331:87:3", - "trueBody": { - "id": 3035, - "nodeType": "Block", - "src": "12355:63:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3032, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12395:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "12369:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addProtectedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11143, - "src": "12369:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12369:38:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3034, - "nodeType": "ExpressionStatement", - "src": "12369:38:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3037, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "12431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12439:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12431:9:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3049, - "nodeType": "IfStatement", - "src": "12427:86:3", - "trueBody": { - "id": 3048, - "nodeType": "Block", - "src": "12442:71:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3043, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "12475:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3044, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "12488:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3045, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "12495:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3040, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "12456:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9667, - "src": "12456:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12456:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "12456:46:3" - } - ] - } - } - ] - }, - "documentation": "@notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3051, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3013, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2607, - "src": "12178:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3014, - "modifierName": { - "argumentTypes": null, - "id": 3012, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12173:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12173:31:3" - } - ], - "name": "addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2998, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "11955:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11955:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3000, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "11984:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11984:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3002, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12016:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12016:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12049:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3003, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12049:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3006, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12080:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12080:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3008, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12107:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12107:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3051, - "src": "12130:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12130:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11945:205:3" - }, - "payable": false, - "returnParameters": { - "id": 3015, - "nodeType": "ParameterList", - "parameters": [], - "src": "12209:0:3" - }, - "scope": 3335, - "src": "11918:601:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3077, - "nodeType": "Block", - "src": "13426:119:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3070, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3053, - "src": "13467:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3071, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3055, - "src": "13480:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3072, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "13496:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3073, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "13513:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3074, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3061, - "src": "13528:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3067, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "13436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6509, - "src": "13436:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13436:102:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3076, - "nodeType": "ExpressionStatement", - "src": "13436:102:3" - } - ] - }, - "documentation": "@notice Re-add `_collateral.symbol(): string` as a whitelisted collateral token [if it has been un-whitelisted in the past]\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]", - "id": 3078, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3064, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2607, - "src": "13395:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3065, - "modifierName": { - "argumentTypes": null, - "id": 3063, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13390:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13390:31:3" - } - ], - "name": "reAddCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3053, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13219:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13219:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3055, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13248:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13248:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3057, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13280:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13280:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3059, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13313:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3058, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13313:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3061, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "13344:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13344:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13209:158:3" - }, - "payable": false, - "returnParameters": { - "id": 3066, - "nodeType": "ParameterList", - "parameters": [], - "src": "13426:0:3" - }, - "scope": 3335, - "src": "13180:365:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3092, - "nodeType": "Block", - "src": "13834:197:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3089, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3080, - "src": "13878:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3086, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "13844:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removeCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6529, - "src": "13844:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13844:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3091, - "nodeType": "ExpressionStatement", - "src": "13844:46:3" - } - ] - }, - "documentation": "@notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be un-whitelisted", - "id": 3093, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3083, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "13804:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3084, - "modifierName": { - "argumentTypes": null, - "id": 3082, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13799:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13799:34:3" - } - ], - "name": "removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3080, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3093, - "src": "13769:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13769:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:21:3" - }, - "payable": false, - "returnParameters": { - "id": 3085, - "nodeType": "ParameterList", - "parameters": [], - "src": "13834:0:3" - }, - "scope": 3335, - "src": "13738:293:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3119, - "nodeType": "Block", - "src": "14943:122:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3095, - "src": "14987:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3097, - "src": "15000:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3099, - "src": "15016:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3101, - "src": "15033:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 3116, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3103, - "src": "15048:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3109, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "14953:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 6568, - "src": "14953:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256) external" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14953:105:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3118, - "nodeType": "ExpressionStatement", - "src": "14953:105:3" - } - ] - }, - "documentation": "@notice Update `_collateral.symbol(): string` collateralization settings\n@param _collateral The address of the collateral token whose collateralization settings are to be updated\n@param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The new price slippage below which each market making batch is to be kept for that collateral token [in PCT_BASE]", - "id": 3120, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3106, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2613, - "src": "14909:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3107, - "modifierName": { - "argumentTypes": null, - "id": 3105, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "14904:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14904:34:3" - } - ], - "name": "updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3095, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14730:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3097, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14759:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14759:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3099, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14791:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14791:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3101, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14824:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3100, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14824:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3103, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 3120, - "src": "14855:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14855:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14720:158:3" - }, - "payable": false, - "returnParameters": { - "id": 3108, - "nodeType": "ParameterList", - "parameters": [], - "src": "14943:0:3" - }, - "scope": 3335, - "src": "14690:375:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3134, - "nodeType": "Block", - "src": "15471:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3131, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3122, - "src": "15517:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3128, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "15481:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateMaximumTapRateIncreasePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 9653, - "src": "15481:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15481:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3133, - "nodeType": "ExpressionStatement", - "src": "15481:63:3" - } - ] - }, - "documentation": "@notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n@param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]", - "id": 3135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3125, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "15428:41:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3126, - "modifierName": { - "argumentTypes": null, - "id": 3124, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15423:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15423:47:3" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3122, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 3135, - "src": "15378:34:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15378:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15377:36:3" - }, - "payable": false, - "returnParameters": { - "id": 3127, - "nodeType": "ParameterList", - "parameters": [], - "src": "15471:0:3" - }, - "scope": 3335, - "src": "15337:214:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3149, - "nodeType": "Block", - "src": "15931:82:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3146, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3137, - "src": "15978:27:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "15941:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateMaximumTapFloorDecreasePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 9658, - "src": "15941:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15941:65:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3148, - "nodeType": "ExpressionStatement", - "src": "15941:65:3" - } - ] - }, - "documentation": "@notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n@param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]", - "id": 3150, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3140, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2619, - "src": "15887:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3141, - "modifierName": { - "argumentTypes": null, - "id": 3139, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15882:48:3" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3137, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 3150, - "src": "15836:35:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15836:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15835:37:3" - }, - "payable": false, - "returnParameters": { - "id": 3142, - "nodeType": "ParameterList", - "parameters": [], - "src": "15931:0:3" - }, - "scope": 3335, - "src": "15794:219:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3170, - "nodeType": "Block", - "src": "16540:58:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3165, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "16569:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3154, - "src": "16577:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3156, - "src": "16584:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3162, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "16550:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9667, - "src": "16550:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:41:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3169, - "nodeType": "ExpressionStatement", - "src": "16550:41:3" - } - ] - }, - "documentation": "@notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token to be tapped\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3171, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "ADD_TOKEN_TAP_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2622, - "src": "16520:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3160, - "modifierName": { - "argumentTypes": null, - "id": 3158, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "16515:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16515:24:3" - } - ], - "name": "addTokenTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3152, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16459:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16459:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3154, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16475:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16475:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3156, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3171, - "src": "16490:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16490:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16458:47:3" - }, - "payable": false, - "returnParameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [], - "src": "16540:0:3" - }, - "scope": 3335, - "src": "16438:160:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3191, - "nodeType": "Block", - "src": "17181:61:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3186, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "17213:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3187, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "17221:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3188, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "17228:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3183, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17191:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9676, - "src": "17191:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256) external" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17191:44:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3190, - "nodeType": "ExpressionStatement", - "src": "17191:44:3" - } - ] - }, - "documentation": "@notice Update tap for `_token.symbol(): string` with a rate of about `@tokenAmount(_token, 4 * 60 * 24 * 30 * _rate)` per month and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token whose tap is to be updated\n@param _rate The new rate at which that token is to be tapped [in wei / block]\n@param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 3192, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3180, - "name": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2625, - "src": "17158:21:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3181, - "modifierName": { - "argumentTypes": null, - "id": 3179, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "17153:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "17153:27:3" - } - ], - "name": "updateTokenTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3173, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17097:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17097:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3175, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17113:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17113:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "17128:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17128:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17096:47:3" - }, - "payable": false, - "returnParameters": { - "id": 3182, - "nodeType": "ParameterList", - "parameters": [], - "src": "17181:0:3" - }, - "scope": 3335, - "src": "17073:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3203, - "nodeType": "Block", - "src": "17465:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3200, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3194, - "src": "17498:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3197, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17475:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 9686, - "src": "17475:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17475:30:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3202, - "nodeType": "ExpressionStatement", - "src": "17475:30:3" - } - ] - }, - "documentation": "@notice Update tapped amount for `_token.symbol(): string`\n@param _token The address of the token whose tapped amount is to be updated", - "id": 3204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3194, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3204, - "src": "17440:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17440:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17439:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3196, - "nodeType": "ParameterList", - "parameters": [], - "src": "17465:0:3" - }, - "scope": 3335, - "src": "17412:100:3", - "stateMutability": "nonpayable", - "superFunction": 9589, - "visibility": "external" - }, - { - "body": { - "id": 3218, - "nodeType": "Block", - "src": "17828:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3215, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "17851:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3212, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "17838:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 9691, - "src": "17838:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17838:20:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3217, - "nodeType": "ExpressionStatement", - "src": "17838:20:3" - } - ] - }, - "documentation": "@notice Transfer about `@tokenAmount(_token, self.getMaximumWithdrawal(_token): uint256)` from the reserve to the beneficiary\n@param _token The address of the token to be transfered from the reserve to the beneficiary", - "id": 3219, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 3209, - "name": "WITHDRAW_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2643, - "src": "17813:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3210, - "modifierName": { - "argumentTypes": null, - "id": 3208, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "17808:4:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "17808:19:3" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3206, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3219, - "src": "17783:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17783:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17782:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3211, - "nodeType": "ParameterList", - "parameters": [], - "src": "17828:0:3" - }, - "scope": 3335, - "src": "17765:100:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3230, - "nodeType": "Block", - "src": "17973:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3226, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "17990:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 6068, - "src": "17990:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_ERC20_$28099_$", - "typeString": "function () view external returns (contract ERC20)" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17990:19:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "functionReturnParameters": 3225, - "id": 3229, - "nodeType": "Return", - "src": "17983:26:3" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 3231, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3222, - "modifierName": { - "argumentTypes": null, - "id": 3221, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17941:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17941:13:3" - } - ], - "name": "token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3220, - "nodeType": "ParameterList", - "parameters": [], - "src": "17926:2:3" - }, - "payable": false, - "returnParameters": { - "id": 3225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3224, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3231, - "src": "17964:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17964:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17963:9:3" - }, - "scope": 3335, - "src": "17912:104:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3242, - "nodeType": "Block", - "src": "18095:51:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3238, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "18112:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contributionToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 9640, - "src": "18112:25:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18112:27:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 3237, - "id": 3241, - "nodeType": "Return", - "src": "18105:34:3" - } - ] - }, - "documentation": null, - "id": 3243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3234, - "modifierName": { - "argumentTypes": null, - "id": 3233, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18063:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18063:13:3" - } - ], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3232, - "nodeType": "ParameterList", - "parameters": [], - "src": "18048:2:3" - }, - "payable": false, - "returnParameters": { - "id": 3237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3243, - "src": "18086:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18086:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18085:9:3" - }, - "scope": 3335, - "src": "18022:124:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3257, - "nodeType": "Block", - "src": "18242:56:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3254, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3245, - "src": "18284:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3252, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "18259:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMaximumWithdrawal", - "nodeType": "MemberAccess", - "referencedDeclaration": 9698, - "src": "18259:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18259:32:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3251, - "id": 3256, - "nodeType": "Return", - "src": "18252:39:3" - } - ] - }, - "documentation": null, - "id": 3258, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3248, - "modifierName": { - "argumentTypes": null, - "id": 3247, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18210:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18210:13:3" - } - ], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3245, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3258, - "src": "18182:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18182:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18181:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3250, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3258, - "src": "18233:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18233:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18232:9:3" - }, - "scope": 3335, - "src": "18152:146:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3272, - "nodeType": "Block", - "src": "18401:71:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3269, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "18453:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3267, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "18418:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "collateralsToBeClaimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 6088, - "src": "18418:34:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18418:47:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3266, - "id": 3271, - "nodeType": "Return", - "src": "18411:54:3" - } - ] - }, - "documentation": null, - "id": 3273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3263, - "modifierName": { - "argumentTypes": null, - "id": 3262, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18369:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18369:13:3" - } - ], - "name": "collateralsToBeClaimed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3260, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "18336:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18336:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18335:21:3" - }, - "payable": false, - "returnParameters": { - "id": 3266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "18392:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18392:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18391:9:3" - }, - "scope": 3335, - "src": "18304:168:3", - "stateMutability": "view", - "superFunction": 9596, - "visibility": "public" - }, - { - "body": { - "id": 3317, - "nodeType": "Block", - "src": "18571:263:3", - "statements": [ - { - "assignments": [ - 3285 - ], - "declarations": [ - { - "constant": false, - "id": 3285, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18581:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18581:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3298, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18599:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3287, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "18609:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18599:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3295, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18660:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3292, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18636:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3291, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "18630:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18630:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "18630:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18630:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "18599:66:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3289, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18615:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18615:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18581:84:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3299, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "18680:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3301, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "18696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 3300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18688:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18688:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18680:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3315, - "nodeType": "Block", - "src": "18789:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3313, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "18810:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3283, - "id": 3314, - "nodeType": "Return", - "src": "18803:14:3" - } - ] - }, - "id": 3316, - "nodeType": "IfStatement", - "src": "18676:152:3", - "trueBody": { - "id": 3312, - "nodeType": "Block", - "src": "18706:77:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3308, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3277, - "src": "18764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3306, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "18739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 3307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMaximumWithdrawal", - "nodeType": "MemberAccess", - "referencedDeclaration": 9698, - "src": "18739:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18739:32:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3304, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "18727:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18727:11: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": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18727:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3283, - "id": 3311, - "nodeType": "Return", - "src": "18720:52:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 3318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 3280, - "modifierName": { - "argumentTypes": null, - "id": 3279, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18539:13:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18539:13:3" - } - ], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3275, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18497:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18497:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3277, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18511:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3276, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18511:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18496:30:3" - }, - "payable": false, - "returnParameters": { - "id": 3283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3282, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "18562:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18562:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18561:9:3" - }, - "scope": 3335, - "src": "18478:356:3", - "stateMutability": "view", - "superFunction": 9605, - "visibility": "public" - }, - { - "body": { - "id": 3333, - "nodeType": "Block", - "src": "18955:59:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3326, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "18983:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3325, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "18972:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18972:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3328, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "18994:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3329, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "19004:3:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18994:13:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18972:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3324, - "id": 3332, - "nodeType": "Return", - "src": "18965:42:3" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 3334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsContractOrETH", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3320, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "18910:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18910:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18909:16:3" - }, - "payable": false, - "returnParameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3323, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "18949:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3322, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18949:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:6:3" - }, - "scope": 3335, - "src": "18879:135:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3336, - "src": "722:18294:3" - } - ], - "src": "0:19017:3" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.369Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Autopetrified.json b/templates/multisig/build/contracts/Autopetrified.json deleted file mode 100644 index 2a21fce..0000000 --- a/templates/multisig/build/contracts/Autopetrified.json +++ /dev/null @@ -1,362 +0,0 @@ -{ - "contractName": "Autopetrified", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610022640100000000610027810204565b610230565b610038640100000000610127810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610110576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156100d55781810151838201526020016100bd565b50505050905090810190601f1680156101025780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610125600019640100000000610152810204565b565b600061014d6000805160206103a383398151915264010000000061013061022882021704565b905090565b610163640100000000610127810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156101ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156100d55781810151838201526020016100bd565b506102256000805160206103a38339815191528264010000000061013461022c82021704565b50565b5490565b9055565b6101648061023f6000396000f3006080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac0811461005b5780638b3dd74914610084578063de4796ed146100ab575b600080fd5b34801561006757600080fd5b506100706100c0565b604080519115158252519081900360200190f35b34801561009057600080fd5b506100996100e9565b60408051918252519081900360200190f35b3480156100b757600080fd5b50610070610119565b6000806100cb6100e9565b905080158015906100e35750806100e061012c565b10155b91505090565b60006101147febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e610130565b905090565b60006000196101266100e9565b14905090565b4390565b5490565b90555600a165627a7a72305820d232fdb2ec9067d336c34fc2741a7e07cd13afbd77f627483894dd4ac20bdb0b0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac0811461005b5780638b3dd74914610084578063de4796ed146100ab575b600080fd5b34801561006757600080fd5b506100706100c0565b604080519115158252519081900360200190f35b34801561009057600080fd5b506100996100e9565b60408051918252519081900360200190f35b3480156100b757600080fd5b50610070610119565b6000806100cb6100e9565b905080158015906100e35750806100e061012c565b10155b91505090565b60006101147febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e610130565b905090565b60006000196101266100e9565b14905090565b4390565b5490565b90555600a165627a7a72305820d232fdb2ec9067d336c34fc2741a7e07cd13afbd77f627483894dd4ac20bdb0b0029", - "sourceMap": "100:262:40:-;;;144:216;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;344:9:40;:7;;;;:9;:::i;:::-;100:262;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;100:262:40:-;;;;;;;", - "deployedSourceMap": "100:262:40:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;881:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;;;;;;;;;;;;;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;881:137::-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:53:-;422:12;347:94;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./Petrifiable.sol\";\n\n\ncontract Autopetrified is Petrifiable {\n constructor() public {\n // Immediately petrify base (non-proxy) instances of inherited contracts on deploy.\n // This renders them uninitializable (and unusable without a proxy).\n petrify();\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/Autopetrified.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "exportedSymbols": { - "Autopetrified": [ - 23466 - ] - }, - "id": 23467, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23455, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:40" - }, - { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "file": "./Petrifiable.sol", - "id": 23456, - "nodeType": "ImportDirective", - "scope": 23467, - "sourceUnit": 23859, - "src": "70:27:40", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23457, - "name": "Petrifiable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23858, - "src": "126:11:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Petrifiable_$23858", - "typeString": "contract Petrifiable" - } - }, - "id": 23458, - "nodeType": "InheritanceSpecifier", - "src": "126:11:40" - } - ], - "contractDependencies": [ - 23797, - 23858, - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23466, - "linearizedBaseContracts": [ - 23466, - 23858, - 23797, - 24154 - ], - "name": "Autopetrified", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23464, - "nodeType": "Block", - "src": "165:195:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23461, - "name": "petrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23857, - "src": "344:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 23462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "344:9:40", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23463, - "nodeType": "ExpressionStatement", - "src": "344:9:40" - } - ] - }, - "documentation": null, - "id": 23465, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23459, - "nodeType": "ParameterList", - "parameters": [], - "src": "155:2:40" - }, - "payable": false, - "returnParameters": { - "id": 23460, - "nodeType": "ParameterList", - "parameters": [], - "src": "165:0:40" - }, - "scope": 23466, - "src": "144:216:40", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 23467, - "src": "100:262:40" - } - ], - "src": "44:319:40" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "exportedSymbols": { - "Autopetrified": [ - 23466 - ] - }, - "id": 23467, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23455, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:40" - }, - { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "file": "./Petrifiable.sol", - "id": 23456, - "nodeType": "ImportDirective", - "scope": 23467, - "sourceUnit": 23859, - "src": "70:27:40", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23457, - "name": "Petrifiable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23858, - "src": "126:11:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Petrifiable_$23858", - "typeString": "contract Petrifiable" - } - }, - "id": 23458, - "nodeType": "InheritanceSpecifier", - "src": "126:11:40" - } - ], - "contractDependencies": [ - 23797, - 23858, - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23466, - "linearizedBaseContracts": [ - 23466, - 23858, - 23797, - 24154 - ], - "name": "Autopetrified", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23464, - "nodeType": "Block", - "src": "165:195:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23461, - "name": "petrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23857, - "src": "344:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 23462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "344:9:40", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23463, - "nodeType": "ExpressionStatement", - "src": "344:9:40" - } - ] - }, - "documentation": null, - "id": 23465, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23459, - "nodeType": "ParameterList", - "parameters": [], - "src": "155:2:40" - }, - "payable": false, - "returnParameters": { - "id": 23460, - "nodeType": "ParameterList", - "parameters": [], - "src": "165:0:40" - }, - "scope": 23466, - "src": "144:216:40", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 23467, - "src": "100:262:40" - } - ], - "src": "44:319:40" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.196Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/BancorFormula.json b/templates/multisig/build/contracts/BancorFormula.json deleted file mode 100644 index 96f28a0..0000000 --- a/templates/multisig/build/contracts/BancorFormula.json +++ /dev/null @@ -1,68177 +0,0 @@ -{ - "contractName": "BancorFormula", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_depositAmount", - "type": "uint256" - } - ], - "name": "calculatePurchaseReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_sellAmount", - "type": "uint256" - } - ], - "name": "calculateSaleReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_fromConnectorBalance", - "type": "uint256" - }, - { - "name": "_fromConnectorWeight", - "type": "uint32" - }, - { - "name": "_toConnectorBalance", - "type": "uint256" - }, - { - "name": "_toConnectorWeight", - "type": "uint32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "calculateCrossConnectorReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60c0604052600360808190527f302e33000000000000000000000000000000000000000000000000000000000060a0908152620000409160009190620007f7565b503480156200004e57600080fd5b506001606060020a641c35fedd1502036021556001605e60020a646c3390ecc902036022556001606160020a640cf801476102036023556001605f60020a6431bdb23e1d02036024556001605b60020a6502fb1d8fe08302036025556001605a60020a6505b771955b3702036026556001605960020a650af67a93bb5102036027556001605860020a6515060c256cb302036028556001605860020a651428a2f98d7302036029556001605660020a654d51566397090203602a556001605560020a65944620b0e70f0203602b557011c592761c666fffffffffffffffffffff602c5570110a688680a757ffffffffffffffffffff602d55701056f1b5bedf77ffffffffffffffffffff602e55700faadceceeff8bffffffffffffffffffff602f55700f05dc6b27edadffffffffffffffffffff603055700e67a5a25da4107fffffffffffffffffff603155700dcff115b14eedffffffffffffffffffff603255700d3e7a392431239fffffffffffffffffff603355700cb2ff529eb71e4fffffffffffffffffff603455700c2d415c3db974afffffffffffffffffff603555700bad03e7d883f69bffffffffffffffffff603655700b320d03b2c343d5ffffffffffffffffff603755700abc25204e02828dffffffffffffffffff603855700a4b16f74ee4bb207fffffffffffffffff6039557009deaf736ac1f569ffffffffffffffffff603a55700976bd9952c7aa957fffffffffffffffff603b557009131271922eaa606fffffffffffffffff603c557008b380f3558668c46fffffffffffffffff603d55700857ddf0117efa215bffffffffffffffff603e556001608360020a03603f557007abbf6f6abb9d087fffffffffffffffff60405570075af62cbac95f7dfa7fffffffffffffff60415570070d7fb7452e187ac13fffffffffffffff6042557006c3390ecc8af379295fffffffffffffff60435570067c00a3b07ffc01fd6fffffffffffffff604455700637b647c39cbb9d3d27ffffffffffffff6045557005f63b1fc104dbd39587ffffffffffffff6046557005b771955b36e12f7235ffffffffffffff60475570057b3d49dda84556d6f6ffffffffffffff60485570054183095b2c8ececf30ffffffffffffff60495570050a28be635ca2b888f77fffffffffffff604a557004d5156639708c9db33c3fffffffffffff604b557004a23105873875bd52dfdfffffffffffff604c55700471649d87199aa990756fffffffffffff604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001608160020a036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e66080556200089c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200083a57805160ff19168380011785556200086a565b828001600101855582156200086a579182015b828111156200086a5782518255916020019190600101906200084d565b50620008789291506200087c565b5090565b6200089991905b8082111562000878576000815560010162000883565b90565b61155880620008ac6000396000f3006080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166329a00e7c811461006657806349f9b0f71461009f57806354fd4d50146100c657806365098bb314610150575b600080fd5b34801561007257600080fd5b5061008d60043560243563ffffffff6044351660643561017e565b60408051918252519081900360200190f35b3480156100ab57600080fd5b5061008d60043560243563ffffffff6044351660643561025e565b3480156100d257600080fd5b506100db61035b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b5061008d60043563ffffffff60243581169060443590606435166084356103e9565b600080600080600080891180156101955750600088115b80156101a7575060008763ffffffff16115b80156101bc5750620f424063ffffffff881611155b15156101c757600080fd5b8515156101d75760009450610252565b63ffffffff8716620f4240141561020a57876101f98a8863ffffffff6104fe16565b81151561020257fe5b049450610252565b61021a868963ffffffff6105f116565b915061022b828989620f424061067f565b909450925060ff83166102448a8663ffffffff6104fe16565b9060020a9004905088810394505b50505050949350505050565b60008060008060008060008a1180156102775750600089115b8015610289575060008863ffffffff16115b801561029e5750620f424063ffffffff891611155b80156102aa5750898711155b15156102b557600080fd5b8615156102c5576000955061034e565b898714156102d55788955061034e565b63ffffffff8816620f4240141561030857896102f78a8963ffffffff6104fe16565b81151561030057fe5b04955061034e565b868a03925061031c8a84620f42408b61067f565b9095509350610331898663ffffffff6104fe16565b91505060ff831660020a88028481830381151561034a57fe5b0495505b5050505050949350505050565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b60008060008060008060008b118015610408575060008a63ffffffff16115b801561041d5750620f424063ffffffff8b1611155b80156104295750600089115b801561043b575060008863ffffffff16115b80156104505750620f424063ffffffff891611155b151561045b57600080fd5b8763ffffffff168a63ffffffff1614156104a05761047f8b8863ffffffff6105f116565b61048f8a8963ffffffff6104fe16565b81151561049857fe5b0495506104f0565b6104b08b8863ffffffff6105f116565b92506104be838c8c8b61067f565b90955093506104d3898663ffffffff6104fe16565b91505060ff831660020a8802848183038115156104ec57fe5b0495505b505050505095945050505050565b60008083151561051157600091506105ea565b5082820282848281151561052157fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146105e55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105aa578181015183820152602001610592565b50505050905090810190601f1680156105d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508091505b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156105e55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156105aa578181015183820152602001610592565b60008080808080608160020a8a1061069657600080fd5b88607f60020a8b028115156106a757fe5b04925070015bf0a8b1457695355fb8ac404e7a79e38310156106d3576106cc8361075c565b93506106df565b6106dc83610b67565b93505b8663ffffffff168863ffffffff1685028115156106f857fe5b0491507008000000000000000000000000000000008210156107285761071d82610c20565b607f9550955061074f565b61073182611013565b905061074960ff607f8390031660020a8304826110a0565b81955095505b5050505094509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd886106107ab576f4000000000000000000000000000000093909301926fd3094c70f034de4b96ff7d5b6f99fcd8607f60020a87020495505b6fa45af1e1f40c333b3de1db4dd55f29a786106107f4576f2000000000000000000000000000000093909301926fa45af1e1f40c333b3de1db4dd55f29a7607f60020a87020495505b6f910b022db7ae67ce76b441c27035c6a1861061083d576f1000000000000000000000000000000093909301926f910b022db7ae67ce76b441c27035c6a1607f60020a87020495505b6f88415abbe9a76bead8d00cf112e4d4a88610610886576f0800000000000000000000000000000093909301926f88415abbe9a76bead8d00cf112e4d4a8607f60020a87020495505b6f84102b00893f64c705e841d5d4064bd386106108cf576f0400000000000000000000000000000093909301926f84102b00893f64c705e841d5d4064bd3607f60020a87020495505b6f8204055aaef1c8bd5c3259f4822735a28610610918576f0200000000000000000000000000000093909301926f8204055aaef1c8bd5c3259f4822735a2607f60020a87020495505b6f810100ab00222d861931c15e39b44e998610610961576f0100000000000000000000000000000093909301926f810100ab00222d861931c15e39b44e99607f60020a87020495505b6f808040155aabbbe9451521693554f73386106109a9576e80000000000000000000000000000093909301926f808040155aabbbe9451521693554f733607f60020a87020495505b6f7fffffffffffffffffffffffffffffff1986019250829150607f60020a828002049050608060020a8381038302049390930192607f60020a828202049150608160020a6faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8490038302049390930192607f60020a8282020491507003000000000000000000000000000000006f999999999999999999999999999999998490038302049390930192607f60020a8282020491507004000000000000000000000000000000006f924924924924924924924924924924928490038302049390930192607f60020a8282020491507005000000000000000000000000000000006f8e38e38e38e38e38e38e38e38e38e38e8490038302049390930192607f60020a8282020491507006000000000000000000000000000000006f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b8490038302049390930192607f60020a8282020491507007000000000000000000000000000000006f89d89d89d89d89d89d89d89d89d89d898490038302049390930192607f60020a8282020491507008000000000000000000000000000000006f888888888888888888888888888888888490038302049390930195945050505050565b6000808080608060020a8510610b9e57610b86607f60020a86046114c3565b60ff8116600281900a90960495607f60020a02935091505b607f60020a851115610bf05750607f5b60008160ff161115610bf057607f60020a858002049450608060020a8510610be7576002948590049460ff600019830116900a92909201915b60001901610bae565b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f884020493505b505050919050565b6000670168244fdac78000607f60020a6f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc180000283019250607f60020a828202811515610c9b57fe5b04905080660c0135dca040000283019250607f60020a828202811515610cbd57fe5b049050806601b707b1cdc0000283019250607f60020a828202811515610cdf57fe5b049050806536e0f639b8000283019250607f60020a828202811515610d0057fe5b04905080650618fee9f8000283019250607f60020a828202811515610d2157fe5b04905080649c197dcc000283019250607f60020a828202811515610d4157fe5b04905080640e30dce4000283019250607f60020a828202811515610d6157fe5b0490508064012ebd13000283019250607f60020a828202811515610d8157fe5b049050806317499f000283019250607f60020a828202811515610da057fe5b049050806301a9d4800283019250607f60020a828202811515610dbf57fe5b04905080621c63800283019250607f60020a828202811515610ddd57fe5b049050806201c6380283019250607f60020a828202811515610dfb57fe5b04905080611ab80283019250607f60020a828202811515610e1857fe5b0490508061017c0283019250607f60020a828202811515610e3557fe5b0490508060140283019250607f60020a828202811515610e5157fe5b6721c3677c82b40000919004938401048201607f60020a019290506f10000000000000000000000000000000851615610eae5770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6f20000000000000000000000000000000851615610ef0577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6f40000000000000000000000000000000851615610f31576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b607f60020a851615610f65576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b608060020a851615610f99576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b608160020a851615610fcc576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b70040000000000000000000000000000000085161561100a576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f825b8160ff168360010160ff16101561106057600260ff8484011604905084600160ff83166080811061104857fe5b0154106110575780925061105b565b8091505b61101b565b84600160ff84166080811061107157fe5b01541061108057819350610c18565b84600160ff85166080811061109157fe5b01541061006157829350610c18565b6000806000849150600090508360ff168583029060020a90049150816f03442c4e6074a82f1797f72ac000000002810190508360ff168583029060020a90049150816f0116b96f757c380fb287fd0e4000000002810190508360ff168583029060020a90049150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff168583029060020a90049150816e0defabf91302cd95b9ffda5000000002810190508360ff168583029060020a90049150816e02529ca9832b22439efff9b800000002810190508360ff168583029060020a90049150816d54f1cf12bd04e516b6da8800000002810190508360ff168583029060020a90049150816d0a9e39e257a09ca2d6db5100000002810190508360ff168583029060020a90049150816d012e066e7b839fa050c30900000002810190508360ff168583029060020a90049150816c1e33d7d926c329a1ad1a80000002810190508360ff168583029060020a90049150816c02bee513bdb4a6b19b5f80000002810190508360ff168583029060020a90049150816b3a9316fa79b88eccf2a0000002810190508360ff168583029060020a90049150816b048177ebe1fa81237520000002810190508360ff168583029060020a90049150816a5263fe90242dcbacf0000002810190508360ff168583029060020a90049150816a057e22099c030d9410000002810190508360ff168583029060020a90049150816957e22099c030d941000002810190508360ff168583029060020a900491508169052b6b5456997631000002810190508360ff168583029060020a9004915081684985f67696bf74800002810190508360ff168583029060020a90049150816803dea12ea99e49800002810190508360ff168583029060020a90049150816731880f2214b6e00002810190508360ff168583029060020a900491508167025bcff56eb3600002810190508360ff168583029060020a9004915081661b722e10ab100002810190508360ff168583029060020a90049150816601317c7007700002810190508360ff168583029060020a9004915081650cba84aafa0002810190508360ff168583029060020a90049150816482573a0a0002810190508360ff168583029060020a90049150816405035ad90002810190508360ff168583029060020a9004915081632f881b0002810190508360ff168583029060020a90049150816301b2934002810190508360ff168583029060020a9004915081620efc4002810190508360ff168583029060020a9004915081617fe002810190508360ff168583029060020a900491508161042002810190508360ff168583029060020a9004915081602102810190508360ff168583029060020a9004915081600102810190508360ff1660019060020a02856f0688589cc0e9505e2f2fee5580000000838115156114b757fe5b04010195945050505050565b600080806101008410156114f2575b60018411156114ed57600290930492600191909101906114d2565b6105ea565b5060805b60008160ff1611156105ea5760ff811660020a841061151f5760ff811660020a90930492908117905b600260ff909116046114f65600a165627a7a72305820b50c4e54e79f6dbddc7b66fd4a85104a438d308a9eb28fcb1118dd6a8c01158e0029", - "deployedBytecode": "0x6080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166329a00e7c811461006657806349f9b0f71461009f57806354fd4d50146100c657806365098bb314610150575b600080fd5b34801561007257600080fd5b5061008d60043560243563ffffffff6044351660643561017e565b60408051918252519081900360200190f35b3480156100ab57600080fd5b5061008d60043560243563ffffffff6044351660643561025e565b3480156100d257600080fd5b506100db61035b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b5061008d60043563ffffffff60243581169060443590606435166084356103e9565b600080600080600080891180156101955750600088115b80156101a7575060008763ffffffff16115b80156101bc5750620f424063ffffffff881611155b15156101c757600080fd5b8515156101d75760009450610252565b63ffffffff8716620f4240141561020a57876101f98a8863ffffffff6104fe16565b81151561020257fe5b049450610252565b61021a868963ffffffff6105f116565b915061022b828989620f424061067f565b909450925060ff83166102448a8663ffffffff6104fe16565b9060020a9004905088810394505b50505050949350505050565b60008060008060008060008a1180156102775750600089115b8015610289575060008863ffffffff16115b801561029e5750620f424063ffffffff891611155b80156102aa5750898711155b15156102b557600080fd5b8615156102c5576000955061034e565b898714156102d55788955061034e565b63ffffffff8816620f4240141561030857896102f78a8963ffffffff6104fe16565b81151561030057fe5b04955061034e565b868a03925061031c8a84620f42408b61067f565b9095509350610331898663ffffffff6104fe16565b91505060ff831660020a88028481830381151561034a57fe5b0495505b5050505050949350505050565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b60008060008060008060008b118015610408575060008a63ffffffff16115b801561041d5750620f424063ffffffff8b1611155b80156104295750600089115b801561043b575060008863ffffffff16115b80156104505750620f424063ffffffff891611155b151561045b57600080fd5b8763ffffffff168a63ffffffff1614156104a05761047f8b8863ffffffff6105f116565b61048f8a8963ffffffff6104fe16565b81151561049857fe5b0495506104f0565b6104b08b8863ffffffff6105f116565b92506104be838c8c8b61067f565b90955093506104d3898663ffffffff6104fe16565b91505060ff831660020a8802848183038115156104ec57fe5b0495505b505050505095945050505050565b60008083151561051157600091506105ea565b5082820282848281151561052157fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146105e55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105aa578181015183820152602001610592565b50505050905090810190601f1680156105d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508091505b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156105e55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156105aa578181015183820152602001610592565b60008080808080608160020a8a1061069657600080fd5b88607f60020a8b028115156106a757fe5b04925070015bf0a8b1457695355fb8ac404e7a79e38310156106d3576106cc8361075c565b93506106df565b6106dc83610b67565b93505b8663ffffffff168863ffffffff1685028115156106f857fe5b0491507008000000000000000000000000000000008210156107285761071d82610c20565b607f9550955061074f565b61073182611013565b905061074960ff607f8390031660020a8304826110a0565b81955095505b5050505094509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd886106107ab576f4000000000000000000000000000000093909301926fd3094c70f034de4b96ff7d5b6f99fcd8607f60020a87020495505b6fa45af1e1f40c333b3de1db4dd55f29a786106107f4576f2000000000000000000000000000000093909301926fa45af1e1f40c333b3de1db4dd55f29a7607f60020a87020495505b6f910b022db7ae67ce76b441c27035c6a1861061083d576f1000000000000000000000000000000093909301926f910b022db7ae67ce76b441c27035c6a1607f60020a87020495505b6f88415abbe9a76bead8d00cf112e4d4a88610610886576f0800000000000000000000000000000093909301926f88415abbe9a76bead8d00cf112e4d4a8607f60020a87020495505b6f84102b00893f64c705e841d5d4064bd386106108cf576f0400000000000000000000000000000093909301926f84102b00893f64c705e841d5d4064bd3607f60020a87020495505b6f8204055aaef1c8bd5c3259f4822735a28610610918576f0200000000000000000000000000000093909301926f8204055aaef1c8bd5c3259f4822735a2607f60020a87020495505b6f810100ab00222d861931c15e39b44e998610610961576f0100000000000000000000000000000093909301926f810100ab00222d861931c15e39b44e99607f60020a87020495505b6f808040155aabbbe9451521693554f73386106109a9576e80000000000000000000000000000093909301926f808040155aabbbe9451521693554f733607f60020a87020495505b6f7fffffffffffffffffffffffffffffff1986019250829150607f60020a828002049050608060020a8381038302049390930192607f60020a828202049150608160020a6faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8490038302049390930192607f60020a8282020491507003000000000000000000000000000000006f999999999999999999999999999999998490038302049390930192607f60020a8282020491507004000000000000000000000000000000006f924924924924924924924924924924928490038302049390930192607f60020a8282020491507005000000000000000000000000000000006f8e38e38e38e38e38e38e38e38e38e38e8490038302049390930192607f60020a8282020491507006000000000000000000000000000000006f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b8490038302049390930192607f60020a8282020491507007000000000000000000000000000000006f89d89d89d89d89d89d89d89d89d89d898490038302049390930192607f60020a8282020491507008000000000000000000000000000000006f888888888888888888888888888888888490038302049390930195945050505050565b6000808080608060020a8510610b9e57610b86607f60020a86046114c3565b60ff8116600281900a90960495607f60020a02935091505b607f60020a851115610bf05750607f5b60008160ff161115610bf057607f60020a858002049450608060020a8510610be7576002948590049460ff600019830116900a92909201915b60001901610bae565b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f884020493505b505050919050565b6000670168244fdac78000607f60020a6f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc180000283019250607f60020a828202811515610c9b57fe5b04905080660c0135dca040000283019250607f60020a828202811515610cbd57fe5b049050806601b707b1cdc0000283019250607f60020a828202811515610cdf57fe5b049050806536e0f639b8000283019250607f60020a828202811515610d0057fe5b04905080650618fee9f8000283019250607f60020a828202811515610d2157fe5b04905080649c197dcc000283019250607f60020a828202811515610d4157fe5b04905080640e30dce4000283019250607f60020a828202811515610d6157fe5b0490508064012ebd13000283019250607f60020a828202811515610d8157fe5b049050806317499f000283019250607f60020a828202811515610da057fe5b049050806301a9d4800283019250607f60020a828202811515610dbf57fe5b04905080621c63800283019250607f60020a828202811515610ddd57fe5b049050806201c6380283019250607f60020a828202811515610dfb57fe5b04905080611ab80283019250607f60020a828202811515610e1857fe5b0490508061017c0283019250607f60020a828202811515610e3557fe5b0490508060140283019250607f60020a828202811515610e5157fe5b6721c3677c82b40000919004938401048201607f60020a019290506f10000000000000000000000000000000851615610eae5770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6f20000000000000000000000000000000851615610ef0577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6f40000000000000000000000000000000851615610f31576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b607f60020a851615610f65576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b608060020a851615610f99576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b608160020a851615610fcc576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b70040000000000000000000000000000000085161561100a576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f825b8160ff168360010160ff16101561106057600260ff8484011604905084600160ff83166080811061104857fe5b0154106110575780925061105b565b8091505b61101b565b84600160ff84166080811061107157fe5b01541061108057819350610c18565b84600160ff85166080811061109157fe5b01541061006157829350610c18565b6000806000849150600090508360ff168583029060020a90049150816f03442c4e6074a82f1797f72ac000000002810190508360ff168583029060020a90049150816f0116b96f757c380fb287fd0e4000000002810190508360ff168583029060020a90049150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff168583029060020a90049150816e0defabf91302cd95b9ffda5000000002810190508360ff168583029060020a90049150816e02529ca9832b22439efff9b800000002810190508360ff168583029060020a90049150816d54f1cf12bd04e516b6da8800000002810190508360ff168583029060020a90049150816d0a9e39e257a09ca2d6db5100000002810190508360ff168583029060020a90049150816d012e066e7b839fa050c30900000002810190508360ff168583029060020a90049150816c1e33d7d926c329a1ad1a80000002810190508360ff168583029060020a90049150816c02bee513bdb4a6b19b5f80000002810190508360ff168583029060020a90049150816b3a9316fa79b88eccf2a0000002810190508360ff168583029060020a90049150816b048177ebe1fa81237520000002810190508360ff168583029060020a90049150816a5263fe90242dcbacf0000002810190508360ff168583029060020a90049150816a057e22099c030d9410000002810190508360ff168583029060020a90049150816957e22099c030d941000002810190508360ff168583029060020a900491508169052b6b5456997631000002810190508360ff168583029060020a9004915081684985f67696bf74800002810190508360ff168583029060020a90049150816803dea12ea99e49800002810190508360ff168583029060020a90049150816731880f2214b6e00002810190508360ff168583029060020a900491508167025bcff56eb3600002810190508360ff168583029060020a9004915081661b722e10ab100002810190508360ff168583029060020a90049150816601317c7007700002810190508360ff168583029060020a9004915081650cba84aafa0002810190508360ff168583029060020a90049150816482573a0a0002810190508360ff168583029060020a90049150816405035ad90002810190508360ff168583029060020a9004915081632f881b0002810190508360ff168583029060020a90049150816301b2934002810190508360ff168583029060020a9004915081620efc4002810190508360ff168583029060020a9004915081617fe002810190508360ff168583029060020a900491508161042002810190508360ff168583029060020a9004915081602102810190508360ff168583029060020a9004915081600102810190508360ff1660019060020a02856f0688589cc0e9505e2f2fee5580000000838115156114b757fe5b04010195945050505050565b600080806101008410156114f2575b60018411156114ed57600290930492600191909101906114d2565b6105ea565b5060805b60008160ff1611156105ea5760ff811660020a841061151f5760ff811660020a90930492908117905b600260ff909116046114f65600a165627a7a72305820b50c4e54e79f6dbddc7b66fd4a85104a438d308a9eb28fcb1118dd6a8c01158e0029", - "sourceMap": "238:29:4:-;150:30964;238:29;;150:30964;238:29;;;;;;;;;;-1:-1:-1;;238:29:4;;:::i;:::-;;1375:8348;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;;;;;;;;3486:16:4;:55;-1:-1:-1;;;;;;;3551:16:4;:55;-1:-1:-1;;;;;;;3616:16:4;:55;-1:-1:-1;;;;;;;3681:16:4;:55;-1:-1:-1;;;;;;;3746:16:4;:55;-1:-1:-1;;;;;;;3811:16:4;:55;-1:-1:-1;;;;;;;3876:16:4;:55;-1:-1:-1;;;;;;;3941:16:4;:55;-1:-1:-1;;;;;;;4006:16:4;:55;-1:-1:-1;;;;;;;4071:16:4;:55;-1:-1:-1;;;;;;;4136:16:4;:55;4220:36;4201:16;:55;4285:36;4266:16;:55;4350:36;4331:16;:55;4415:36;4396:16;:55;4480:36;4461:16;:55;4545:36;4526:16;:55;4610:36;4591:16;:55;4675:36;4656:16;:55;4740:36;4721:16;:55;4805:36;4786:16;:55;4870:36;4851:16;:55;4935:36;4916:16;:55;5000:36;4981:16;:55;5065:36;5046:16;:55;5130:36;5111:16;:55;5195:36;5176:16;:55;5260:36;5241:16;:55;5325:36;5306:16;:55;5390:36;5371:16;:55;-1:-1:-1;;;;;5436:16:4;:55;5520:36;5501:16;:55;5585:36;5566:16;:55;5650:36;5631:16;:55;5715:36;5696:16;:55;5780:36;5761:16;:55;5845:36;5826:16;:55;5910:36;5891:16;:55;5975:36;5956:16;:55;6040:36;6021:16;:55;6105:36;6086:16;:55;6170:36;6151:16;:55;6235:36;6216:16;:55;6300:36;6281:16;:55;6365:36;6346:16;:55;6430:36;6411:16;:55;6495:36;6476:16;:55;6560:36;6541:16;:55;6625:36;6606:16;:55;6690:36;6671:16;:55;6755:36;6736:16;:55;6820:36;6801:16;:55;6885:36;6866:16;:55;6950:36;6931:16;:55;7015:36;6996:16;:55;7080:36;7061:16;:55;7145:36;7126:16;:55;7210:36;7191:16;:55;7275:36;7256:16;:55;7340:36;7321:16;:55;7405:36;7386:16;:55;7470:36;7451:16;:55;7535:36;7516:16;:55;-1:-1:-1;;;;;7581:16:4;:55;7665:36;7646:16;:55;7730:36;7711:16;:55;7795:36;7776:16;:55;7860:36;7841:16;:55;7925:36;7906:16;:55;7990:36;7971:16;:55;8055:36;8036:16;:55;8120:36;8101:16;:55;8185:36;8166:16;:55;8250:36;8231:16;:55;8315:36;8296:16;:55;8380:36;8361:16;:55;8445:36;8426:16;:55;8510:36;8491:16;:55;8575:36;8556:16;:55;8640:36;8621:16;:55;8705:36;8686:16;:55;8770:36;8751:16;:55;8835:36;8816:16;:55;8900:36;8881:16;:55;8965:36;8946:16;:55;9030:36;9011:16;:55;9095:36;9076:16;:55;9160:36;9141:16;:55;9225:36;9206:16;:55;9290:36;9271:16;:55;9355:36;9336:16;:55;9420:36;9401:16;:55;9485:36;9466:16;:55;9550:36;9531:16;:55;9615:36;9596:16;:55;9680:36;9661:16;:55;150:30964;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;150:30964:4;;;-1:-1:-1;150:30964:4;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "150:30964:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10359:855;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10359:855:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11845:1032;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11845:1032:4;;;;;;;;;;;;;238:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;238:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13730:998;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13730:998:4;;;;;;;;;;;;;;;;;;;10359:855;10506:7;10924:14;10948:15;10973:13;11129:12;10569:1;10559:7;:11;:36;;;;;10594:1;10574:17;:21;10559:36;:60;;;;;10618:1;10599:16;:20;;;10559:60;:94;;;;-1:-1:-1;349:7:4;10623:30;;;;;10559:94;10551:103;;;;;;;;10714:19;;10710:45;;;10754:1;10747:8;;;;10710:45;10815:30;;;349:7;10815:30;10811:102;;;10896:17;10866:27;:7;10878:14;10866:27;:11;:27;:::i;:::-;:47;;;;;;;;10859:54;;;;10811:102;10989:37;:14;11008:17;10989:37;:18;:37;:::i;:::-;10973:53;;11058:61;11064:5;11071:17;11090:16;349:7;11058:5;:61::i;:::-;11036:83;;-1:-1:-1;11036:83:4;-1:-1:-1;11144:32:4;;;:19;:7;11036:83;11144:19;:11;:19;:::i;:::-;:32;;;;;11129:47;;11200:7;11193:4;:14;11186:21;;10359:855;;;;;;;;;;;:::o;11845:1032::-;11985:7;12549:14;12573:15;12598:13;12728;12783;12048:1;12038:7;:11;:36;;;;;12073:1;12053:17;:21;12038:36;:60;;;;;12097:1;12078:16;:20;;;12038:60;:94;;;;-1:-1:-1;349:7:4;12102:30;;;;;12038:94;:120;;;;;12151:7;12136:11;:22;;12038:120;12030:129;;;;;;;;12216:16;;12212:42;;;12253:1;12246:8;;;;12212:42;12338:7;12323:11;:22;12319:64;;;12366:17;12359:24;;;;12319:64;12443:30;;;349:7;12443:30;12439:99;;;12531:7;12494:34;:17;12516:11;12494:34;:21;:34;:::i;:::-;:44;;;;;;;;12487:51;;;;12439:99;12624:11;12614:7;:21;12598:37;;12667:51;12673:7;12682:5;349:7;12701:16;12667:5;:51::i;:::-;12645:73;;-1:-1:-1;12645:73:4;-1:-1:-1;12744:29:4;:17;12645:73;12744:29;:21;:29;:::i;:::-;12728:45;-1:-1:-1;;12799:30:4;;;;;;;12864:6;12847:13;;;12846:24;;;;;;;;12839:31;;11845:1032;;;;;;;;;;;;:::o;238:29::-;;;;;;;;;;;;;;;-1:-1:-1;;238:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13730:998::-;13923:7;14357:14;14381:15;14406:13;14575;14632;14000:1;13976:21;:25;:53;;;;;14028:1;14005:20;:24;;;13976:53;:91;;;;-1:-1:-1;349:7:4;14033:34;;;;;13976:91;:118;;;;;14093:1;14071:19;:23;13976:118;:144;;;;;14119:1;14098:18;:22;;;13976:144;:180;;;;-1:-1:-1;349:7:4;14124:32;;;;;13976:180;13968:189;;;;;;;;14238:18;14214:42;;:20;:42;;;14210:136;;;14312:34;:21;14338:7;14312:34;:25;:34;:::i;:::-;14277:32;:19;14301:7;14277:32;:23;:32;:::i;:::-;:69;;;;;;;;14270:76;;;;14210:136;14422:34;:21;14448:7;14422:34;:25;:34;:::i;:::-;14406:50;;14488:77;14494:5;14501:21;14524:20;14546:18;14488:5;:77::i;:::-;14466:99;;-1:-1:-1;14466:99:4;-1:-1:-1;14591:31:4;:19;14466:99;14591:31;:23;:31;:::i;:::-;14575:47;-1:-1:-1;;14648:32:4;;;;;;;14715:6;14698:13;;;14697:24;;;;;;;;14690:31;;13730:998;;;;;;;;;;;;;:::o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1125:1;1118:8;;685:448;;;;;;:::o;1928:170::-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16143:771:4;16241:7;;;;;;-1:-1:-1;;;16275:16:4;;16267:25;;;;;;16362:6;-1:-1:-1;;;16343:6:4;:16;:25;;;;;;;;16328:40;;1139:35;16382:4;:22;16378:144;;;16430:16;16441:4;16430:10;:16::i;:::-;16420:26;;16378:144;;;16495:16;16506:4;16495:10;:16::i;:::-;16485:26;;16378:144;16576:5;16558:23;;16568:5;16558:15;;:7;:15;:23;;;;;;;;16532:49;;1223:35;16595:15;:33;16591:317;;;16652:27;16663:15;16652:10;:27::i;:::-;448:3;16644:51;;;;;;16591:317;16752:42;16778:15;16752:25;:42::i;:::-;16734:60;-1:-1:-1;16816:69:4;16827:46;448:3;16847:25;;;16827:46;;;;;16734:60;16816:10;:69::i;:::-;16887:9;16808:89;;;;16591:317;16143:771;;;;;;;;;;;:::o;24486:2770::-;24540:7;;;;;24652:34;24647:39;;24643:143;;24696:34;24689:41;;;;;24750:34;-1:-1:-1;;;24736:11:4;;:48;24732:52;;24643:143;24819:34;24814:39;;24810:143;;24863:34;24856:41;;;;;24917:34;-1:-1:-1;;;24903:11:4;;:48;24899:52;;24810:143;24986:34;24981:39;;24977:143;;25030:34;25023:41;;;;;25084:34;-1:-1:-1;;;25070:11:4;;:48;25066:52;;24977:143;25153:34;25148:39;;25144:143;;25197:34;25190:41;;;;;25251:34;-1:-1:-1;;;25237:11:4;;:48;25233:52;;25144:143;25320:34;25315:39;;25311:143;;25364:34;25357:41;;;;;25418:34;-1:-1:-1;;;25404:11:4;;:48;25400:52;;25311:143;25487:34;25482:39;;25478:143;;25531:34;25524:41;;;;;25585:34;-1:-1:-1;;;25571:11:4;;:48;25567:52;;25478:143;25654:34;25649:39;;25645:143;;25698:34;25691:41;;;;;25752:34;-1:-1:-1;;;25738:11:4;;:48;25734:52;;25645:143;25821:34;25816:39;;25812:143;;25865:34;25858:41;;;;;25919:34;-1:-1:-1;;;25905:11:4;;:48;25901:52;;25812:143;-1:-1:-1;;25988:11:4;;;-1:-1:-1;25988:11:4;;-1:-1:-1;;;;26013:5:4;;;:15;;-1:-1:-1;;;;26050:39:4;;;26045:45;;:83;26038:90;;;;;-1:-1:-1;;;26134:5:4;;;:15;;-1:-1:-1;;;;26200:35:4;:39;;;26195:45;;:83;26188:90;;;;;-1:-1:-1;;;26284:5:4;;;:15;;-1:-1:-1;26393:35:4;26350;:39;;;26345:45;;:83;26338:90;;;;;-1:-1:-1;;;26434:5:4;;;:15;;-1:-1:-1;26543:35:4;26500;:39;;;26495:45;;:83;26488:90;;;;;-1:-1:-1;;;26584:5:4;;;:15;;-1:-1:-1;26693:35:4;26650;:39;;;26645:45;;:83;26638:90;;;;;-1:-1:-1;;;26734:5:4;;;:15;;-1:-1:-1;26843:35:4;26800;:39;;;26795:45;;:83;26788:90;;;;;-1:-1:-1;;;26884:5:4;;;:15;;-1:-1:-1;26993:35:4;26950;:39;;;26945:45;;:83;26938:90;;;;;-1:-1:-1;;;27034:5:4;;;:15;;-1:-1:-1;27143:35:4;27100;:39;;;27095:45;;:83;27088:90;;;;;24486:2770;-1:-1:-1;;;;;24486:2770:4:o;17079:801::-;17133:7;;;;-1:-1:-1;;;17273:12:4;;17269:152;;17315:22;-1:-1:-1;;;17325:1:4;:11;17315:9;:22::i;:::-;17351:11;;;;;;;;;;;-1:-1:-1;;;17395:15:4;;-1:-1:-1;17301:36:4;-1:-1:-1;17269:152:4;-1:-1:-1;;;17526:1:4;:11;17522:297;;;-1:-1:-1;448:3:4;17553:256;17587:1;17583;:5;;;17553:256;;;-1:-1:-1;;;17618:5:4;;;17617:17;;-1:-1:-1;;;;17673:12:4;;17669:126;;17709:7;;;;;;17762:14;-1:-1:-1;;17770:5:4;;17762:14;;;17755:21;;;;;17669:126;-1:-1:-1;;17590:3:4;17553:256;;;952:33;870;17836:19;;:37;17829:44;;17079:801;;;;;;;:::o;27933:3179::-;27987:7;28362:18;-1:-1:-1;;;28079:38:4;;;28162:5;;;:15;;;28248:5;;;:15;;;28334:5;;;:15;;;28358:22;;;28190:18;28186:22;;;28276:18;28272:22;;;;28265:29;28351;;28079:38;;28420:5;;;:15;28416:19;;28444:1;28448:18;28444:22;28437:29;;;;-1:-1:-1;;;28510:1:4;28506;:5;:15;;;;;;;;28502:19;;28530:1;28534:18;28530:22;28523:29;;;;-1:-1:-1;;;28596:1:4;28592;:5;:15;;;;;;;;28588:19;;28616:1;28620:18;28616:22;28609:29;;;;-1:-1:-1;;;28682:1:4;28678;:5;:15;;;;;;;;28674:19;;28702:1;28706:18;28702:22;28695:29;;;;-1:-1:-1;;;28768:1:4;28764;:5;:15;;;;;;;;28760:19;;28788:1;28792:18;28788:22;28781:29;;;;-1:-1:-1;;;28854:1:4;28850;:5;:15;;;;;;;;28846:19;;28874:1;28878:18;28874:22;28867:29;;;;-1:-1:-1;;;28940:1:4;28936;:5;:15;;;;;;;;28932:19;;28960:1;28964:18;28960:22;28953:29;;;;-1:-1:-1;;;29026:1:4;29022;:5;:15;;;;;;;;29018:19;;29046:1;29050:18;29046:22;29039:29;;;;-1:-1:-1;;;29112:1:4;29108;:5;:15;;;;;;;;29104:19;;29132:1;29136:18;29132:22;29125:29;;;;-1:-1:-1;;;29198:1:4;29194;:5;:15;;;;;;;;29190:19;;29218:1;29222:18;29218:22;29211:29;;;;-1:-1:-1;;;29284:1:4;29280;:5;:15;;;;;;;;29276:19;;29304:1;29308:18;29304:22;29297:29;;;;-1:-1:-1;;;29370:1:4;29366;:5;:15;;;;;;;;29362:19;;29390:1;29394:18;29390:22;29383:29;;;;-1:-1:-1;;;29456:1:4;29452;:5;:15;;;;;;;;29448:19;;29476:1;29480:18;29476:22;29469:29;;;;-1:-1:-1;;;29542:1:4;29538;:5;:15;;;;;;;;29534:19;;29562:1;29566:18;29562:22;29555:29;;;;-1:-1:-1;;;29628:1:4;29624;:5;:15;;;;;;;;29620:19;;29648:1;29652:18;29648:22;29641:29;;;;-1:-1:-1;;;29714:1:4;29710;:5;:15;;;;;;;29804:18;29710:15;;;29727:29;;;29798:24;:28;;-1:-1:-1;;;29798:38:4;;29710:15;-1:-1:-1;29906:35:4;29902:39;;29901:46;29897:137;;29999:35;29961;29955:41;;:79;29949:85;;29897:137;30077:35;30073:39;;30072:46;30068:137;;30170:35;30132;30126:41;;:79;30120:85;;30068:137;30248:35;30244:39;;30243:46;30239:137;;30341:35;30303;30297:41;;:79;30291:85;;30239:137;-1:-1:-1;;;30415:39:4;;30414:46;30410:137;;30512:35;30474;30468:41;;:79;30462:85;;30410:137;-1:-1:-1;;;30586:39:4;;30585:46;30581:137;;30683:35;30645;30639:41;;:79;30633:85;;30581:137;-1:-1:-1;;;30757:39:4;;30756:46;30752:137;;30854:35;30816;30810:41;;:79;30804:85;;30752:137;30932:35;30928:39;;30927:46;30923:137;;31025:35;30987;30981:41;;:79;30975:85;;30923:137;-1:-1:-1;31102:3:4;;27933:3179;-1:-1:-1;;;27933:3179:4:o;18879:501::-;18949:5;401:2;448:3;18949:5;19035:179;19051:2;19042:11;;:2;19047:1;19042:6;:11;;;19035:179;;;19093:1;19081:13;19082:7;;;19081:13;;;-1:-1:-1;19132:2:4;19112:11;:16;;;;;;;;;;;;:22;19108:95;;19157:3;19152:8;;19108:95;;;19200:3;19195:8;;19108:95;19035:179;;;19247:2;19228:11;:15;;;;;;;;;;;;:21;19224:48;;19270:2;19263:9;;;;19224:48;19305:2;19286:11;:15;;;;;;;;;;;;:21;19282:48;;19328:2;19321:9;;;;19938:3826;20011:7;20030:10;20055:11;20043:2;20030:15;;20069:1;20055:15;;20099:10;20086:23;;20092:2;20087;:7;20086:23;;;;;20081:28;;20118:2;20123:33;20118:38;20111:45;;;;20210:10;20197:23;;20203:2;20198;:7;20197:23;;;;;20192:28;;20229:2;20234:33;20229:38;20222:45;;;;20321:10;20308:23;;20314:2;20309;:7;20308:23;;;;;20303:28;;20340:2;20345:33;20340:38;20333:45;;;;20432:10;20419:23;;20425:2;20420;:7;20419:23;;;;;20414:28;;20451:2;20456:33;20451:38;20444:45;;;;20543:10;20530:23;;20536:2;20531;:7;20530:23;;;;;20525:28;;20562:2;20567:33;20562:38;20555:45;;;;20654:10;20641:23;;20647:2;20642;:7;20641:23;;;;;20636:28;;20673:2;20678:33;20673:38;20666:45;;;;20765:10;20752:23;;20758:2;20753;:7;20752:23;;;;;20747:28;;20784:2;20789:33;20784:38;20777:45;;;;20876:10;20863:23;;20869:2;20864;:7;20863:23;;;;;20858:28;;20895:2;20900:33;20895:38;20888:45;;;;20987:10;20974:23;;20980:2;20975;:7;20974:23;;;;;20969:28;;21006:2;21011:33;21006:38;20999:45;;;;21098:10;21085:23;;21091:2;21086;:7;21085:23;;;;;21080:28;;21117:2;21122:33;21117:38;21110:45;;;;21209:10;21196:23;;21202:2;21197;:7;21196:23;;;;;21191:28;;21228:2;21233:33;21228:38;21221:45;;;;21320:10;21307:23;;21313:2;21308;:7;21307:23;;;;;21302:28;;21339:2;21344:33;21339:38;21332:45;;;;21431:10;21418:23;;21424:2;21419;:7;21418:23;;;;;21413:28;;21450:2;21455:33;21450:38;21443:45;;;;21542:10;21529:23;;21535:2;21530;:7;21529:23;;;;;21524:28;;21561:2;21566:33;21561:38;21554:45;;;;21653:10;21640:23;;21646:2;21641;:7;21640:23;;;;;21635:28;;21672:2;21677:33;21672:38;21665:45;;;;21764:10;21751:23;;21757:2;21752;:7;21751:23;;;;;21746:28;;21783:2;21788:33;21783:38;21776:45;;;;21875:10;21862:23;;21868:2;21863;:7;21862:23;;;;;21857:28;;21894:2;21899:33;21894:38;21887:45;;;;21986:10;21973:23;;21979:2;21974;:7;21973:23;;;;;21968:28;;22005:2;22010:33;22005:38;21998:45;;;;22097:10;22084:23;;22090:2;22085;:7;22084:23;;;;;22079:28;;22116:2;22121:33;22116:38;22109:45;;;;22208:10;22195:23;;22201:2;22196;:7;22195:23;;;;;22190:28;;22227:2;22232:33;22227:38;22220:45;;;;22319:10;22306:23;;22312:2;22307;:7;22306:23;;;;;22301:28;;22338:2;22343:33;22338:38;22331:45;;;;22430:10;22417:23;;22423:2;22418;:7;22417:23;;;;;22412:28;;22449:2;22454:33;22449:38;22442:45;;;;22541:10;22528:23;;22534:2;22529;:7;22528:23;;;;;22523:28;;22560:2;22565:33;22560:38;22553:45;;;;22652:10;22639:23;;22645:2;22640;:7;22639:23;;;;;22634:28;;22671:2;22676:33;22671:38;22664:45;;;;22763:10;22750:23;;22756:2;22751;:7;22750:23;;;;;22745:28;;22782:2;22787:33;22782:38;22775:45;;;;22874:10;22861:23;;22867:2;22862;:7;22861:23;;;;;22856:28;;22893:2;22898:33;22893:38;22886:45;;;;22985:10;22972:23;;22978:2;22973;:7;22972:23;;;;;22967:28;;23004:2;23009:33;23004:38;22997:45;;;;23096:10;23083:23;;23089:2;23084;:7;23083:23;;;;;23078:28;;23115:2;23120:33;23115:38;23108:45;;;;23207:10;23194:23;;23200:2;23195;:7;23194:23;;;;;23189:28;;23226:2;23231:33;23226:38;23219:45;;;;23318:10;23305:23;;23311:2;23306;:7;23305:23;;;;;23300:28;;23337:2;23342:33;23337:38;23330:45;;;;23429:10;23416:23;;23422:2;23417;:7;23416:23;;;;;23411:28;;23448:2;23453:33;23448:38;23441:45;;;;23540:10;23527:23;;23533:2;23528;:7;23527:23;;;;;23522:28;;23559:2;23564:33;23559:38;23552:45;;;;23696:10;23689:17;;305:1;23689:17;;;;23683:2;23647:33;23641:3;:39;;;;;;;;:44;:66;;19938:3826;-1:-1:-1;;;;;19938:3826:4:o;17997:521::-;18051:5;;;18101:3;18096:8;;18092:399;;;18156:82;18168:1;18163:2;:6;18156:82;;;18189:8;;;;;18196:1;18215:8;;;;;18156:82;;;18092:399;;;-1:-1:-1;18327:3:4;18312:169;18336:1;18332;:5;;;18312:169;;;18377:8;;;;;18370:16;;18366:101;;18410:8;;;;;;;;;18440;;;;18366:101;18339:7;;;;;;18312:169;", - "source": "pragma solidity 0.4.24;\nimport './interfaces/IBancorFormula.sol';\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport './utility/Utils.sol';\n\ncontract BancorFormula is IBancorFormula, Utils {\n using SafeMath for uint256;\n\n\n string public version = '0.3';\n\n uint256 private constant ONE = 1;\n uint32 private constant MAX_WEIGHT = 1000000;\n uint8 private constant MIN_PRECISION = 32;\n uint8 private constant MAX_PRECISION = 127;\n\n /**\n Auto-generated via 'PrintIntScalingFactors.py'\n */\n uint256 private constant FIXED_1 = 0x080000000000000000000000000000000;\n uint256 private constant FIXED_2 = 0x100000000000000000000000000000000;\n uint256 private constant MAX_NUM = 0x200000000000000000000000000000000;\n\n /**\n Auto-generated via 'PrintLn2ScalingFactors.py'\n */\n uint256 private constant LN2_NUMERATOR = 0x3f80fe03f80fe03f80fe03f80fe03f8;\n uint256 private constant LN2_DENOMINATOR = 0x5b9de1d10bf4103d647b0955897ba80;\n\n /**\n Auto-generated via 'PrintFunctionOptimalLog.py' and 'PrintFunctionOptimalExp.py'\n */\n uint256 private constant OPT_LOG_MAX_VAL = 0x15bf0a8b1457695355fb8ac404e7a79e3;\n uint256 private constant OPT_EXP_MAX_VAL = 0x800000000000000000000000000000000;\n\n /**\n Auto-generated via 'PrintFunctionConstructor.py'\n */\n uint256[128] private maxExpArray;\n constructor() public {\n // maxExpArray[ 0] = 0x6bffffffffffffffffffffffffffffffff;\n // maxExpArray[ 1] = 0x67ffffffffffffffffffffffffffffffff;\n // maxExpArray[ 2] = 0x637fffffffffffffffffffffffffffffff;\n // maxExpArray[ 3] = 0x5f6fffffffffffffffffffffffffffffff;\n // maxExpArray[ 4] = 0x5b77ffffffffffffffffffffffffffffff;\n // maxExpArray[ 5] = 0x57b3ffffffffffffffffffffffffffffff;\n // maxExpArray[ 6] = 0x5419ffffffffffffffffffffffffffffff;\n // maxExpArray[ 7] = 0x50a2ffffffffffffffffffffffffffffff;\n // maxExpArray[ 8] = 0x4d517fffffffffffffffffffffffffffff;\n // maxExpArray[ 9] = 0x4a233fffffffffffffffffffffffffffff;\n // maxExpArray[ 10] = 0x47165fffffffffffffffffffffffffffff;\n // maxExpArray[ 11] = 0x4429afffffffffffffffffffffffffffff;\n // maxExpArray[ 12] = 0x415bc7ffffffffffffffffffffffffffff;\n // maxExpArray[ 13] = 0x3eab73ffffffffffffffffffffffffffff;\n // maxExpArray[ 14] = 0x3c1771ffffffffffffffffffffffffffff;\n // maxExpArray[ 15] = 0x399e96ffffffffffffffffffffffffffff;\n // maxExpArray[ 16] = 0x373fc47fffffffffffffffffffffffffff;\n // maxExpArray[ 17] = 0x34f9e8ffffffffffffffffffffffffffff;\n // maxExpArray[ 18] = 0x32cbfd5fffffffffffffffffffffffffff;\n // maxExpArray[ 19] = 0x30b5057fffffffffffffffffffffffffff;\n // maxExpArray[ 20] = 0x2eb40f9fffffffffffffffffffffffffff;\n // maxExpArray[ 21] = 0x2cc8340fffffffffffffffffffffffffff;\n // maxExpArray[ 22] = 0x2af09481ffffffffffffffffffffffffff;\n // maxExpArray[ 23] = 0x292c5bddffffffffffffffffffffffffff;\n // maxExpArray[ 24] = 0x277abdcdffffffffffffffffffffffffff;\n // maxExpArray[ 25] = 0x25daf6657fffffffffffffffffffffffff;\n // maxExpArray[ 26] = 0x244c49c65fffffffffffffffffffffffff;\n // maxExpArray[ 27] = 0x22ce03cd5fffffffffffffffffffffffff;\n // maxExpArray[ 28] = 0x215f77c047ffffffffffffffffffffffff;\n // maxExpArray[ 29] = 0x1fffffffffffffffffffffffffffffffff;\n // maxExpArray[ 30] = 0x1eaefdbdabffffffffffffffffffffffff;\n // maxExpArray[ 31] = 0x1d6bd8b2ebffffffffffffffffffffffff;\n maxExpArray[ 32] = 0x1c35fedd14ffffffffffffffffffffffff;\n maxExpArray[ 33] = 0x1b0ce43b323fffffffffffffffffffffff;\n maxExpArray[ 34] = 0x19f0028ec1ffffffffffffffffffffffff;\n maxExpArray[ 35] = 0x18ded91f0e7fffffffffffffffffffffff;\n maxExpArray[ 36] = 0x17d8ec7f0417ffffffffffffffffffffff;\n maxExpArray[ 37] = 0x16ddc6556cdbffffffffffffffffffffff;\n maxExpArray[ 38] = 0x15ecf52776a1ffffffffffffffffffffff;\n maxExpArray[ 39] = 0x15060c256cb2ffffffffffffffffffffff;\n maxExpArray[ 40] = 0x1428a2f98d72ffffffffffffffffffffff;\n maxExpArray[ 41] = 0x13545598e5c23fffffffffffffffffffff;\n maxExpArray[ 42] = 0x1288c4161ce1dfffffffffffffffffffff;\n maxExpArray[ 43] = 0x11c592761c666fffffffffffffffffffff;\n maxExpArray[ 44] = 0x110a688680a757ffffffffffffffffffff;\n maxExpArray[ 45] = 0x1056f1b5bedf77ffffffffffffffffffff;\n maxExpArray[ 46] = 0x0faadceceeff8bffffffffffffffffffff;\n maxExpArray[ 47] = 0x0f05dc6b27edadffffffffffffffffffff;\n maxExpArray[ 48] = 0x0e67a5a25da4107fffffffffffffffffff;\n maxExpArray[ 49] = 0x0dcff115b14eedffffffffffffffffffff;\n maxExpArray[ 50] = 0x0d3e7a392431239fffffffffffffffffff;\n maxExpArray[ 51] = 0x0cb2ff529eb71e4fffffffffffffffffff;\n maxExpArray[ 52] = 0x0c2d415c3db974afffffffffffffffffff;\n maxExpArray[ 53] = 0x0bad03e7d883f69bffffffffffffffffff;\n maxExpArray[ 54] = 0x0b320d03b2c343d5ffffffffffffffffff;\n maxExpArray[ 55] = 0x0abc25204e02828dffffffffffffffffff;\n maxExpArray[ 56] = 0x0a4b16f74ee4bb207fffffffffffffffff;\n maxExpArray[ 57] = 0x09deaf736ac1f569ffffffffffffffffff;\n maxExpArray[ 58] = 0x0976bd9952c7aa957fffffffffffffffff;\n maxExpArray[ 59] = 0x09131271922eaa606fffffffffffffffff;\n maxExpArray[ 60] = 0x08b380f3558668c46fffffffffffffffff;\n maxExpArray[ 61] = 0x0857ddf0117efa215bffffffffffffffff;\n maxExpArray[ 62] = 0x07ffffffffffffffffffffffffffffffff;\n maxExpArray[ 63] = 0x07abbf6f6abb9d087fffffffffffffffff;\n maxExpArray[ 64] = 0x075af62cbac95f7dfa7fffffffffffffff;\n maxExpArray[ 65] = 0x070d7fb7452e187ac13fffffffffffffff;\n maxExpArray[ 66] = 0x06c3390ecc8af379295fffffffffffffff;\n maxExpArray[ 67] = 0x067c00a3b07ffc01fd6fffffffffffffff;\n maxExpArray[ 68] = 0x0637b647c39cbb9d3d27ffffffffffffff;\n maxExpArray[ 69] = 0x05f63b1fc104dbd39587ffffffffffffff;\n maxExpArray[ 70] = 0x05b771955b36e12f7235ffffffffffffff;\n maxExpArray[ 71] = 0x057b3d49dda84556d6f6ffffffffffffff;\n maxExpArray[ 72] = 0x054183095b2c8ececf30ffffffffffffff;\n maxExpArray[ 73] = 0x050a28be635ca2b888f77fffffffffffff;\n maxExpArray[ 74] = 0x04d5156639708c9db33c3fffffffffffff;\n maxExpArray[ 75] = 0x04a23105873875bd52dfdfffffffffffff;\n maxExpArray[ 76] = 0x0471649d87199aa990756fffffffffffff;\n maxExpArray[ 77] = 0x04429a21a029d4c1457cfbffffffffffff;\n maxExpArray[ 78] = 0x0415bc6d6fb7dd71af2cb3ffffffffffff;\n maxExpArray[ 79] = 0x03eab73b3bbfe282243ce1ffffffffffff;\n maxExpArray[ 80] = 0x03c1771ac9fb6b4c18e229ffffffffffff;\n maxExpArray[ 81] = 0x0399e96897690418f785257fffffffffff;\n maxExpArray[ 82] = 0x0373fc456c53bb779bf0ea9fffffffffff;\n maxExpArray[ 83] = 0x034f9e8e490c48e67e6ab8bfffffffffff;\n maxExpArray[ 84] = 0x032cbfd4a7adc790560b3337ffffffffff;\n maxExpArray[ 85] = 0x030b50570f6e5d2acca94613ffffffffff;\n maxExpArray[ 86] = 0x02eb40f9f620fda6b56c2861ffffffffff;\n maxExpArray[ 87] = 0x02cc8340ecb0d0f520a6af58ffffffffff;\n maxExpArray[ 88] = 0x02af09481380a0a35cf1ba02ffffffffff;\n maxExpArray[ 89] = 0x0292c5bdd3b92ec810287b1b3fffffffff;\n maxExpArray[ 90] = 0x0277abdcdab07d5a77ac6d6b9fffffffff;\n maxExpArray[ 91] = 0x025daf6654b1eaa55fd64df5efffffffff;\n maxExpArray[ 92] = 0x0244c49c648baa98192dce88b7ffffffff;\n maxExpArray[ 93] = 0x022ce03cd5619a311b2471268bffffffff;\n maxExpArray[ 94] = 0x0215f77c045fbe885654a44a0fffffffff;\n maxExpArray[ 95] = 0x01ffffffffffffffffffffffffffffffff;\n maxExpArray[ 96] = 0x01eaefdbdaaee7421fc4d3ede5ffffffff;\n maxExpArray[ 97] = 0x01d6bd8b2eb257df7e8ca57b09bfffffff;\n maxExpArray[ 98] = 0x01c35fedd14b861eb0443f7f133fffffff;\n maxExpArray[ 99] = 0x01b0ce43b322bcde4a56e8ada5afffffff;\n maxExpArray[100] = 0x019f0028ec1fff007f5a195a39dfffffff;\n maxExpArray[101] = 0x018ded91f0e72ee74f49b15ba527ffffff;\n maxExpArray[102] = 0x017d8ec7f04136f4e5615fd41a63ffffff;\n maxExpArray[103] = 0x016ddc6556cdb84bdc8d12d22e6fffffff;\n maxExpArray[104] = 0x015ecf52776a1155b5bd8395814f7fffff;\n maxExpArray[105] = 0x015060c256cb23b3b3cc3754cf40ffffff;\n maxExpArray[106] = 0x01428a2f98d728ae223ddab715be3fffff;\n maxExpArray[107] = 0x013545598e5c23276ccf0ede68034fffff;\n maxExpArray[108] = 0x01288c4161ce1d6f54b7f61081194fffff;\n maxExpArray[109] = 0x011c592761c666aa641d5a01a40f17ffff;\n maxExpArray[110] = 0x0110a688680a7530515f3e6e6cfdcdffff;\n maxExpArray[111] = 0x01056f1b5bedf75c6bcb2ce8aed428ffff;\n maxExpArray[112] = 0x00faadceceeff8a0890f3875f008277fff;\n maxExpArray[113] = 0x00f05dc6b27edad306388a600f6ba0bfff;\n maxExpArray[114] = 0x00e67a5a25da41063de1495d5b18cdbfff;\n maxExpArray[115] = 0x00dcff115b14eedde6fc3aa5353f2e4fff;\n maxExpArray[116] = 0x00d3e7a3924312399f9aae2e0f868f8fff;\n maxExpArray[117] = 0x00cb2ff529eb71e41582cccd5a1ee26fff;\n maxExpArray[118] = 0x00c2d415c3db974ab32a51840c0b67edff;\n maxExpArray[119] = 0x00bad03e7d883f69ad5b0a186184e06bff;\n maxExpArray[120] = 0x00b320d03b2c343d4829abd6075f0cc5ff;\n maxExpArray[121] = 0x00abc25204e02828d73c6e80bcdb1a95bf;\n maxExpArray[122] = 0x00a4b16f74ee4bb2040a1ec6c15fbbf2df;\n maxExpArray[123] = 0x009deaf736ac1f569deb1b5ae3f36c130f;\n maxExpArray[124] = 0x00976bd9952c7aa957f5937d790ef65037;\n maxExpArray[125] = 0x009131271922eaa6064b73a22d0bd4f2bf;\n maxExpArray[126] = 0x008b380f3558668c46c91c49a2f8e967b9;\n maxExpArray[127] = 0x00857ddf0117efa215952912839f6473e6;\n }\n\n /**\n @dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\n calculates the return for a given conversion (in the main token)\n\n Formula:\n Return = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n\n @param _supply token total supply\n @param _connectorBalance total connector balance\n @param _connectorWeight connector weight, represented in ppm, 1-1000000\n @param _depositAmount deposit amount, in connector token\n\n @return purchase return amount\n */\n function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256) {\n // validate input\n require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT);\n\n // special case for 0 deposit amount\n if (_depositAmount == 0)\n return 0;\n\n // special case if the weight = 100%\n if (_connectorWeight == MAX_WEIGHT)\n return _supply.mul(_depositAmount) / _connectorBalance;\n\n uint256 result;\n uint8 precision;\n uint256 baseN = _depositAmount.add(_connectorBalance);\n (result, precision) = power(baseN, _connectorBalance, _connectorWeight, MAX_WEIGHT);\n uint256 temp = _supply.mul(result) >> precision;\n return temp - _supply;\n }\n\n /**\n @dev given a token supply, connector balance, weight and a sell amount (in the main token),\n calculates the return for a given conversion (in the connector token)\n\n Formula:\n Return = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n\n @param _supply token total supply\n @param _connectorBalance total connector\n @param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n @param _sellAmount sell amount, in the token itself\n\n @return sale return amount\n */\n function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256) {\n // validate input\n require(_supply > 0 && _connectorBalance > 0 && _connectorWeight > 0 && _connectorWeight <= MAX_WEIGHT && _sellAmount <= _supply);\n\n // special case for 0 sell amount\n if (_sellAmount == 0)\n return 0;\n\n // special case for selling the entire supply\n if (_sellAmount == _supply)\n return _connectorBalance;\n\n // special case if the weight = 100%\n if (_connectorWeight == MAX_WEIGHT)\n return _connectorBalance.mul(_sellAmount) / _supply;\n\n uint256 result;\n uint8 precision;\n uint256 baseD = _supply - _sellAmount;\n (result, precision) = power(_supply, baseD, MAX_WEIGHT, _connectorWeight);\n uint256 temp1 = _connectorBalance.mul(result);\n uint256 temp2 = _connectorBalance << precision;\n return (temp1 - temp2) / result;\n }\n\n /**\n @dev given two connector balances/weights and a sell amount (in the first connector token),\n calculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\n\n Formula:\n Return = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n\n @param _fromConnectorBalance input connector balance\n @param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n @param _toConnectorBalance output connector balance\n @param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n @param _amount input connector amount\n\n @return second connector amount\n */\n function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256) {\n // validate input\n require(_fromConnectorBalance > 0 && _fromConnectorWeight > 0 && _fromConnectorWeight <= MAX_WEIGHT && _toConnectorBalance > 0 && _toConnectorWeight > 0 && _toConnectorWeight <= MAX_WEIGHT);\n\n // special case for equal weights\n if (_fromConnectorWeight == _toConnectorWeight)\n return _toConnectorBalance.mul(_amount) / _fromConnectorBalance.add(_amount);\n\n uint256 result;\n uint8 precision;\n uint256 baseN = _fromConnectorBalance.add(_amount);\n (result, precision) = power(baseN, _fromConnectorBalance, _fromConnectorWeight, _toConnectorWeight);\n uint256 temp1 = _toConnectorBalance.mul(result);\n uint256 temp2 = _toConnectorBalance << precision;\n return (temp1 - temp2) / result;\n }\n\n /**\n General Description:\n Determine a value of precision.\n Calculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\n Return the result along with the precision used.\n\n Detailed Description:\n Instead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\n The value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\n The larger \"precision\" is, the more accurately this value represents the real value.\n However, the larger \"precision\" is, the more bits are required in order to store this value.\n And the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\n This maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\n Hence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\n This allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\n This functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".\n */\n function power(uint256 _baseN, uint256 _baseD, uint32 _expN, uint32 _expD) internal view returns (uint256, uint8) {\n require(_baseN < MAX_NUM);\n\n uint256 baseLog;\n uint256 base = _baseN * FIXED_1 / _baseD;\n if (base < OPT_LOG_MAX_VAL) {\n baseLog = optimalLog(base);\n }\n else {\n baseLog = generalLog(base);\n }\n\n uint256 baseLogTimesExp = baseLog * _expN / _expD;\n if (baseLogTimesExp < OPT_EXP_MAX_VAL) {\n return (optimalExp(baseLogTimesExp), MAX_PRECISION);\n }\n else {\n uint8 precision = findPositionInMaxExpArray(baseLogTimesExp);\n return (generalExp(baseLogTimesExp >> (MAX_PRECISION - precision), precision), precision);\n }\n }\n\n /**\n Compute log(x / FIXED_1) * FIXED_1.\n This functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.\n */\n function generalLog(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n // If x >= 2, then we compute the integer part of log2(x), which is larger than 0.\n if (x >= FIXED_2) {\n uint8 count = floorLog2(x / FIXED_1);\n x >>= count; // now x < 2\n res = count * FIXED_1;\n }\n\n // If x > 1, then we compute the fraction part of log2(x), which is larger than 0.\n if (x > FIXED_1) {\n for (uint8 i = MAX_PRECISION; i > 0; --i) {\n x = (x * x) / FIXED_1; // now 1 < x < 4\n if (x >= FIXED_2) {\n x >>= 1; // now 1 < x < 2\n res += ONE << (i - 1);\n }\n }\n }\n\n return res * LN2_NUMERATOR / LN2_DENOMINATOR;\n }\n\n /**\n Compute the largest integer smaller than or equal to the binary logarithm of the input.\n */\n function floorLog2(uint256 _n) internal pure returns (uint8) {\n uint8 res = 0;\n\n if (_n < 256) {\n // At most 8 iterations\n while (_n > 1) {\n _n >>= 1;\n res += 1;\n }\n }\n else {\n // Exactly 8 iterations\n for (uint8 s = 128; s > 0; s >>= 1) {\n if (_n >= (ONE << s)) {\n _n >>= s;\n res |= s;\n }\n }\n }\n\n return res;\n }\n\n /**\n The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n - This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n - This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]\n */\n function findPositionInMaxExpArray(uint256 _x) internal view returns (uint8) {\n uint8 lo = MIN_PRECISION;\n uint8 hi = MAX_PRECISION;\n\n while (lo + 1 < hi) {\n uint8 mid = (lo + hi) / 2;\n if (maxExpArray[mid] >= _x)\n lo = mid;\n else\n hi = mid;\n }\n\n if (maxExpArray[hi] >= _x)\n return hi;\n if (maxExpArray[lo] >= _x)\n return lo;\n\n require(false);\n return 0;\n }\n\n /**\n This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\n It approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\n It returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\n The global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\n The maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\n */\n function generalExp(uint256 _x, uint8 _precision) internal pure returns (uint256) {\n uint256 xi = _x;\n uint256 res = 0;\n\n xi = (xi * _x) >> _precision; res += xi * 0x3442c4e6074a82f1797f72ac0000000; // add x^02 * (33! / 02!)\n xi = (xi * _x) >> _precision; res += xi * 0x116b96f757c380fb287fd0e40000000; // add x^03 * (33! / 03!)\n xi = (xi * _x) >> _precision; res += xi * 0x045ae5bdd5f0e03eca1ff4390000000; // add x^04 * (33! / 04!)\n xi = (xi * _x) >> _precision; res += xi * 0x00defabf91302cd95b9ffda50000000; // add x^05 * (33! / 05!)\n xi = (xi * _x) >> _precision; res += xi * 0x002529ca9832b22439efff9b8000000; // add x^06 * (33! / 06!)\n xi = (xi * _x) >> _precision; res += xi * 0x00054f1cf12bd04e516b6da88000000; // add x^07 * (33! / 07!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000a9e39e257a09ca2d6db51000000; // add x^08 * (33! / 08!)\n xi = (xi * _x) >> _precision; res += xi * 0x000012e066e7b839fa050c309000000; // add x^09 * (33! / 09!)\n xi = (xi * _x) >> _precision; res += xi * 0x000001e33d7d926c329a1ad1a800000; // add x^10 * (33! / 10!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000002bee513bdb4a6b19b5f800000; // add x^11 * (33! / 11!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000003a9316fa79b88eccf2a00000; // add x^12 * (33! / 12!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000048177ebe1fa812375200000; // add x^13 * (33! / 13!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000005263fe90242dcbacf00000; // add x^14 * (33! / 14!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000057e22099c030d94100000; // add x^15 * (33! / 15!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000057e22099c030d9410000; // add x^16 * (33! / 16!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000052b6b54569976310000; // add x^17 * (33! / 17!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000004985f67696bf748000; // add x^18 * (33! / 18!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000003dea12ea99e498000; // add x^19 * (33! / 19!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000031880f2214b6e000; // add x^20 * (33! / 20!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000025bcff56eb36000; // add x^21 * (33! / 21!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000001b722e10ab1000; // add x^22 * (33! / 22!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000001317c70077000; // add x^23 * (33! / 23!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000cba84aafa00; // add x^24 * (33! / 24!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000082573a0a00; // add x^25 * (33! / 25!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000005035ad900; // add x^26 * (33! / 26!)\n xi = (xi * _x) >> _precision; res += xi * 0x000000000000000000000002f881b00; // add x^27 * (33! / 27!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000001b29340; // add x^28 * (33! / 28!)\n xi = (xi * _x) >> _precision; res += xi * 0x00000000000000000000000000efc40; // add x^29 * (33! / 29!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000007fe0; // add x^30 * (33! / 30!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000420; // add x^31 * (33! / 31!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000021; // add x^32 * (33! / 32!)\n xi = (xi * _x) >> _precision; res += xi * 0x0000000000000000000000000000001; // add x^33 * (33! / 33!)\n\n return res / 0x688589cc0e9505e2f2fee5580000000 + _x + (ONE << _precision); // divide by 33! and then add x^1 / 1! + x^0 / 0!\n }\n\n /**\n Return log(x / FIXED_1) * FIXED_1\n Input range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\n Auto-generated via 'PrintFunctionOptimalLog.py'\n Detailed description:\n - Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n - The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n - The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n - The natural logarithm of the input is calculated by summing up the intermediate results above\n - For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)\n */\n function optimalLog(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n uint256 y;\n uint256 z;\n uint256 w;\n\n if (x >= 0xd3094c70f034de4b96ff7d5b6f99fcd8) {res += 0x40000000000000000000000000000000; x = x * FIXED_1 / 0xd3094c70f034de4b96ff7d5b6f99fcd8;} // add 1 / 2^1\n if (x >= 0xa45af1e1f40c333b3de1db4dd55f29a7) {res += 0x20000000000000000000000000000000; x = x * FIXED_1 / 0xa45af1e1f40c333b3de1db4dd55f29a7;} // add 1 / 2^2\n if (x >= 0x910b022db7ae67ce76b441c27035c6a1) {res += 0x10000000000000000000000000000000; x = x * FIXED_1 / 0x910b022db7ae67ce76b441c27035c6a1;} // add 1 / 2^3\n if (x >= 0x88415abbe9a76bead8d00cf112e4d4a8) {res += 0x08000000000000000000000000000000; x = x * FIXED_1 / 0x88415abbe9a76bead8d00cf112e4d4a8;} // add 1 / 2^4\n if (x >= 0x84102b00893f64c705e841d5d4064bd3) {res += 0x04000000000000000000000000000000; x = x * FIXED_1 / 0x84102b00893f64c705e841d5d4064bd3;} // add 1 / 2^5\n if (x >= 0x8204055aaef1c8bd5c3259f4822735a2) {res += 0x02000000000000000000000000000000; x = x * FIXED_1 / 0x8204055aaef1c8bd5c3259f4822735a2;} // add 1 / 2^6\n if (x >= 0x810100ab00222d861931c15e39b44e99) {res += 0x01000000000000000000000000000000; x = x * FIXED_1 / 0x810100ab00222d861931c15e39b44e99;} // add 1 / 2^7\n if (x >= 0x808040155aabbbe9451521693554f733) {res += 0x00800000000000000000000000000000; x = x * FIXED_1 / 0x808040155aabbbe9451521693554f733;} // add 1 / 2^8\n\n z = y = x - FIXED_1;\n w = y * y / FIXED_1;\n res += z * (0x100000000000000000000000000000000 - y) / 0x100000000000000000000000000000000; z = z * w / FIXED_1; // add y^01 / 01 - y^02 / 02\n res += z * (0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - y) / 0x200000000000000000000000000000000; z = z * w / FIXED_1; // add y^03 / 03 - y^04 / 04\n res += z * (0x099999999999999999999999999999999 - y) / 0x300000000000000000000000000000000; z = z * w / FIXED_1; // add y^05 / 05 - y^06 / 06\n res += z * (0x092492492492492492492492492492492 - y) / 0x400000000000000000000000000000000; z = z * w / FIXED_1; // add y^07 / 07 - y^08 / 08\n res += z * (0x08e38e38e38e38e38e38e38e38e38e38e - y) / 0x500000000000000000000000000000000; z = z * w / FIXED_1; // add y^09 / 09 - y^10 / 10\n res += z * (0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b - y) / 0x600000000000000000000000000000000; z = z * w / FIXED_1; // add y^11 / 11 - y^12 / 12\n res += z * (0x089d89d89d89d89d89d89d89d89d89d89 - y) / 0x700000000000000000000000000000000; z = z * w / FIXED_1; // add y^13 / 13 - y^14 / 14\n res += z * (0x088888888888888888888888888888888 - y) / 0x800000000000000000000000000000000; // add y^15 / 15 - y^16 / 16\n\n return res;\n }\n\n /**\n Return e ^ (x / FIXED_1) * FIXED_1\n Input range: 0 <= x <= OPT_EXP_MAX_VAL - 1\n Auto-generated via 'PrintFunctionOptimalExp.py'\n Detailed description:\n - Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n - The exponentiation of each binary exponent is given (pre-calculated)\n - The exponentiation of r is calculated via Taylor series for e^x, where x = r\n - The exponentiation of the input is calculated by multiplying the intermediate results above\n - For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859\n */\n function optimalExp(uint256 x) internal pure returns (uint256) {\n uint256 res = 0;\n\n uint256 y;\n uint256 z;\n\n z = y = x % 0x10000000000000000000000000000000; // get the input modulo 2^(-3)\n z = z * y / FIXED_1; res += z * 0x10e1b3be415a0000; // add y^02 * (20! / 02!)\n z = z * y / FIXED_1; res += z * 0x05a0913f6b1e0000; // add y^03 * (20! / 03!)\n z = z * y / FIXED_1; res += z * 0x0168244fdac78000; // add y^04 * (20! / 04!)\n z = z * y / FIXED_1; res += z * 0x004807432bc18000; // add y^05 * (20! / 05!)\n z = z * y / FIXED_1; res += z * 0x000c0135dca04000; // add y^06 * (20! / 06!)\n z = z * y / FIXED_1; res += z * 0x0001b707b1cdc000; // add y^07 * (20! / 07!)\n z = z * y / FIXED_1; res += z * 0x000036e0f639b800; // add y^08 * (20! / 08!)\n z = z * y / FIXED_1; res += z * 0x00000618fee9f800; // add y^09 * (20! / 09!)\n z = z * y / FIXED_1; res += z * 0x0000009c197dcc00; // add y^10 * (20! / 10!)\n z = z * y / FIXED_1; res += z * 0x0000000e30dce400; // add y^11 * (20! / 11!)\n z = z * y / FIXED_1; res += z * 0x000000012ebd1300; // add y^12 * (20! / 12!)\n z = z * y / FIXED_1; res += z * 0x0000000017499f00; // add y^13 * (20! / 13!)\n z = z * y / FIXED_1; res += z * 0x0000000001a9d480; // add y^14 * (20! / 14!)\n z = z * y / FIXED_1; res += z * 0x00000000001c6380; // add y^15 * (20! / 15!)\n z = z * y / FIXED_1; res += z * 0x000000000001c638; // add y^16 * (20! / 16!)\n z = z * y / FIXED_1; res += z * 0x0000000000001ab8; // add y^17 * (20! / 17!)\n z = z * y / FIXED_1; res += z * 0x000000000000017c; // add y^18 * (20! / 18!)\n z = z * y / FIXED_1; res += z * 0x0000000000000014; // add y^19 * (20! / 19!)\n z = z * y / FIXED_1; res += z * 0x0000000000000001; // add y^20 * (20! / 20!)\n res = res / 0x21c3677c82b40000 + y + FIXED_1; // divide by 20! and then add y^1 / 1! + y^0 / 0!\n\n if ((x & 0x010000000000000000000000000000000) != 0) res = res * 0x1c3d6a24ed82218787d624d3e5eba95f9 / 0x18ebef9eac820ae8682b9793ac6d1e776; // multiply by e^2^(-3)\n if ((x & 0x020000000000000000000000000000000) != 0) res = res * 0x18ebef9eac820ae8682b9793ac6d1e778 / 0x1368b2fc6f9609fe7aceb46aa619baed4; // multiply by e^2^(-2)\n if ((x & 0x040000000000000000000000000000000) != 0) res = res * 0x1368b2fc6f9609fe7aceb46aa619baed5 / 0x0bc5ab1b16779be3575bd8f0520a9f21f; // multiply by e^2^(-1)\n if ((x & 0x080000000000000000000000000000000) != 0) res = res * 0x0bc5ab1b16779be3575bd8f0520a9f21e / 0x0454aaa8efe072e7f6ddbab84b40a55c9; // multiply by e^2^(+0)\n if ((x & 0x100000000000000000000000000000000) != 0) res = res * 0x0454aaa8efe072e7f6ddbab84b40a55c5 / 0x00960aadc109e7a3bf4578099615711ea; // multiply by e^2^(+1)\n if ((x & 0x200000000000000000000000000000000) != 0) res = res * 0x00960aadc109e7a3bf4578099615711d7 / 0x0002bf84208204f5977f9a8cf01fdce3d; // multiply by e^2^(+2)\n if ((x & 0x400000000000000000000000000000000) != 0) res = res * 0x0002bf84208204f5977f9a8cf01fdc307 / 0x0000003c6ab775dd0b95b4cbee7e65d11; // multiply by e^2^(+3)\n\n return res;\n }\n}", - "sourcePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "ast": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "exportedSymbols": { - "BancorFormula": [ - 5797 - ] - }, - "id": 5798, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3337, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/interfaces/IBancorFormula.sol", - "file": "./interfaces/IBancorFormula.sol", - "id": 3338, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 5842, - "src": "24:41:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 3339, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 27870, - "src": "66:52:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/utility/Utils.sol", - "file": "./utility/Utils.sol", - "id": 3340, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 5889, - "src": "119:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3341, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "176:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 3342, - "nodeType": "InheritanceSpecifier", - "src": "176:14:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3343, - "name": "Utils", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5888, - "src": "192:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - }, - "id": 3344, - "nodeType": "InheritanceSpecifier", - "src": "192:5:4" - } - ], - "contractDependencies": [ - 5841, - 5888 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5797, - "linearizedBaseContracts": [ - 5797, - 5888, - 5841 - ], - "name": "BancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3347, - "libraryName": { - "contractScope": null, - "id": 3345, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "210:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "204:27:4", - "typeName": { - "id": 3346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 3350, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "238:29:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3348, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "238:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "302e33", - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "262:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a25c22aa6f10fa2261b798fea6b4e2f0567ea2644e38ffd2fdadd1108b091261", - "typeString": "literal_string \"0.3\"" - }, - "value": "0.3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 3353, - "name": "ONE", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "274:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "305:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3356, - "name": "MAX_WEIGHT", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "312:44:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3354, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "312:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 3355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:7:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3359, - "name": "MIN_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "362:41:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3357, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "362:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3332", - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "401:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3362, - "name": "MAX_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "409:42:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3360, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "409:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313237", - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "448:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3365, - "name": "FIXED_1", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "528:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 3364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "563:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3368, - "name": "FIXED_2", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "604:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 3367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "639:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3371, - "name": "MAX_NUM", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "680:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "715:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3374, - "name": "LN2_NUMERATOR", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "827:76:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3372, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833663830666530336638306665303366383066653033663830666530336638", - "id": 3373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5275695611177340518812009417546793976_by_1", - "typeString": "int_const 5275...(29 digits omitted)...3976" - }, - "value": "0x3f80fe03f80fe03f80fe03f80fe03f8" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3377, - "name": "LN2_DENOMINATOR", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "909:76:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835623964653164313062663431303364363437623039353538393762613830", - "id": 3376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7611219895485218073587121647846406784_by_1", - "typeString": "int_const 7611...(29 digits omitted)...6784" - }, - "value": "0x5b9de1d10bf4103d647b0955897ba80" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3380, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1096:78:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1096:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313562663061386231343537363935333535666238616334303465376137396533", - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1139:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_462491687273110168575455517921668397539_by_1", - "typeString": "int_const 4624...(31 digits omitted)...7539" - }, - "value": "0x15bf0a8b1457695355fb8ac404e7a79e3" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3383, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1180:78:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1180:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 3382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1223:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 3387, - "name": "maxExpArray", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1337:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128]" - }, - "typeName": { - "baseType": { - "id": 3384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1337:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3386, - "length": { - "argumentTypes": null, - "hexValue": "313238", - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1345:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "128" - }, - "nodeType": "ArrayTypeName", - "src": "1337:12:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage_ptr", - "typeString": "uint256[128]" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 3966, - "nodeType": "Block", - "src": "1396:8327:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3390, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3486:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3392, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 3391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3499:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3486:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831633335666564643134666666666666666666666666666666666666666666666666", - "id": 3393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3505:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9599678685041259184274752310158947254271_by_1", - "typeString": "int_const 9599...(32 digits omitted)...4271" - }, - "value": "0x1c35fedd14ffffffffffffffffffffffff" - }, - "src": "3486:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3395, - "nodeType": "ExpressionStatement", - "src": "3486:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3396, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3551:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3398, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3333", - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3564:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3551:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831623063653433623332336666666666666666666666666666666666666666666666", - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9204759687141885226475603015507577405439_by_1", - "typeString": "int_const 9204...(32 digits omitted)...5439" - }, - "value": "0x1b0ce43b323fffffffffffffffffffffff" - }, - "src": "3551:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3401, - "nodeType": "ExpressionStatement", - "src": "3551:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3402, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3616:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3404, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3334", - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3629:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_34_by_1", - "typeString": "int_const 34" - }, - "value": "34" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3616:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831396630303238656331666666666666666666666666666666666666666666666666", - "id": 3405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3635:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8826087172077985712041017634911355404287_by_1", - "typeString": "int_const 8826...(32 digits omitted)...4287" - }, - "value": "0x19f0028ec1ffffffffffffffffffffffff" - }, - "src": "3616:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3407, - "nodeType": "ExpressionStatement", - "src": "3616:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3408, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3681:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3410, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3335", - "id": 3409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3694:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35_by_1", - "typeString": "int_const 35" - }, - "value": "35" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3681:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831386465643931663065376666666666666666666666666666666666666666666666", - "id": 3411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3700:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8462992779488582574159642900919291478015_by_1", - "typeString": "int_const 8462...(32 digits omitted)...8015" - }, - "value": "0x18ded91f0e7fffffffffffffffffffffff" - }, - "src": "3681:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3413, - "nodeType": "ExpressionStatement", - "src": "3681:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3414, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3746:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3416, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3336", - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3759:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3746:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831376438656337663034313766666666666666666666666666666666666666666666", - "id": 3417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3765:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8114835644520100661580084966409403105279_by_1", - "typeString": "int_const 8114...(32 digits omitted)...5279" - }, - "value": "0x17d8ec7f0417ffffffffffffffffffffff" - }, - "src": "3746:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3419, - "nodeType": "ExpressionStatement", - "src": "3746:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3420, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3811:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3422, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3337", - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3824:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_37_by_1", - "typeString": "int_const 37" - }, - "value": "37" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3811:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831366464633635353663646266666666666666666666666666666666666666666666", - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3830:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7781001266736647064069662172832600162303_by_1", - "typeString": "int_const 7781...(32 digits omitted)...2303" - }, - "value": "0x16ddc6556cdbffffffffffffffffffffff" - }, - "src": "3811:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3425, - "nodeType": "ExpressionStatement", - "src": "3811:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3426, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3876:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3338", - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3889:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_38_by_1", - "typeString": "int_const 38" - }, - "value": "38" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3876:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831356563663532373736613166666666666666666666666666666666666666666666", - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3895:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7460900425488323202194551465008353509375_by_1", - "typeString": "int_const 7460...(32 digits omitted)...9375" - }, - "value": "0x15ecf52776a1ffffffffffffffffffffff" - }, - "src": "3876:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3431, - "nodeType": "ExpressionStatement", - "src": "3876:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3432, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3941:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3434, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3339", - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39_by_1", - "typeString": "int_const 39" - }, - "value": "39" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831353036306332353663623266666666666666666666666666666666666666666666", - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3960:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7153968139937914349310206877837545177087_by_1", - "typeString": "int_const 7153...(32 digits omitted)...7087" - }, - "value": "0x15060c256cb2ffffffffffffffffffffff" - }, - "src": "3941:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "nodeType": "ExpressionStatement", - "src": "3941:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3438, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4006:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3440, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3430", - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4019:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4006:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831343238613266393864373266666666666666666666666666666666666666666666", - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4025:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6859662671868001546166128217910528704511_by_1", - "typeString": "int_const 6859...(32 digits omitted)...4511" - }, - "value": "0x1428a2f98d72ffffffffffffffffffffff" - }, - "src": "4006:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3443, - "nodeType": "ExpressionStatement", - "src": "4006:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3444, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4071:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3446, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3431", - "id": 3445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4084:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41_by_1", - "typeString": "int_const 41" - }, - "value": "41" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4071:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831333534353539386535633233666666666666666666666666666666666666666666", - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4090:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6577464569506365633454696454958677491711_by_1", - "typeString": "int_const 6577...(32 digits omitted)...1711" - }, - "value": "0x13545598e5c23fffffffffffffffffffff" - }, - "src": "4071:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3449, - "nodeType": "ExpressionStatement", - "src": "4071:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3450, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4136:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3452, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3432", - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42_by_1", - "typeString": "int_const 42" - }, - "value": "42" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831323838633431363163653164666666666666666666666666666666666666666666", - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4155:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6306875750689218484600399768107450630143_by_1", - "typeString": "int_const 6306...(32 digits omitted)...0143" - }, - "value": "0x1288c4161ce1dfffffffffffffffffffff" - }, - "src": "4136:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3455, - "nodeType": "ExpressionStatement", - "src": "4136:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3456, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4201:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3458, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3433", - "id": 3457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4214:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43_by_1", - "typeString": "int_const 43" - }, - "value": "43" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4201:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831316335393237363163363636666666666666666666666666666666666666666666", - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4220:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6047418623741353042663269283551730728959_by_1", - "typeString": "int_const 6047...(32 digits omitted)...8959" - }, - "value": "0x11c592761c666fffffffffffffffffffff" - }, - "src": "4201:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3461, - "nodeType": "ExpressionStatement", - "src": "4201:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3462, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4266:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3464, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3434", - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4279:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_44_by_1", - "typeString": "int_const 44" - }, - "value": "44" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4266:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831313061363838363830613735376666666666666666666666666666666666666666", - "id": 3465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4285:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5798635244522972732941736303310812479487_by_1", - "typeString": "int_const 5798...(32 digits omitted)...9487" - }, - "value": "0x110a688680a757ffffffffffffffffffff" - }, - "src": "4266:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3467, - "nodeType": "ExpressionStatement", - "src": "4266:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3468, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4331:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3470, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3435", - "id": 3469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4344:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_45_by_1", - "typeString": "int_const 45" - }, - "value": "45" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4331:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831303536663162356265646637376666666666666666666666666666666666666666", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4350:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5560086508154074440893281558760167309311_by_1", - "typeString": "int_const 5560...(32 digits omitted)...9311" - }, - "value": "0x1056f1b5bedf77ffffffffffffffffffff" - }, - "src": "4331:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3473, - "nodeType": "ExpressionStatement", - "src": "4331:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3474, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4396:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3476, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3436", - "id": 3475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4409:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46_by_1", - "typeString": "int_const 46" - }, - "value": "46" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4396:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830666161646365636565666638626666666666666666666666666666666666666666", - "id": 3477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5331351373990447379730864460340651884543_by_1", - "typeString": "int_const 5331...(32 digits omitted)...4543" - }, - "value": "0x0faadceceeff8bffffffffffffffffffff" - }, - "src": "4396:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3479, - "nodeType": "ExpressionStatement", - "src": "4396:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3480, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4461:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3482, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3437", - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4474:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47_by_1", - "typeString": "int_const 47" - }, - "value": "47" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4461:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830663035646336623237656461646666666666666666666666666666666666666666", - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4480:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5112026122483163422598731111238626967551_by_1", - "typeString": "int_const 5112...(32 digits omitted)...7551" - }, - "value": "0x0f05dc6b27edadffffffffffffffffffff" - }, - "src": "4461:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3485, - "nodeType": "ExpressionStatement", - "src": "4461:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3486, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4526:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3488, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4539:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4526:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830653637613561323564613431303766666666666666666666666666666666666666", - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4545:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4901723642609993464238960471454494228479_by_1", - "typeString": "int_const 4901...(32 digits omitted)...8479" - }, - "value": "0x0e67a5a25da4107fffffffffffffffffff" - }, - "src": "4526:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3491, - "nodeType": "ExpressionStatement", - "src": "4526:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3492, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4591:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3494, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3439", - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49_by_1", - "typeString": "int_const 49" - }, - "value": "49" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4591:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830646366663131356231346565646666666666666666666666666666666666666666", - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4610:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4700072748620998500994433661760029327359_by_1", - "typeString": "int_const 4700...(32 digits omitted)...7359" - }, - "value": "0x0dcff115b14eedffffffffffffffffffff" - }, - "src": "4591:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3497, - "nodeType": "ExpressionStatement", - "src": "4591:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3498, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4656:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3500, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3530", - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4669:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4656:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830643365376133393234333132333966666666666666666666666666666666666666", - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4675:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4506717524892375150236886652795301658623_by_1", - "typeString": "int_const 4506...(32 digits omitted)...8623" - }, - "value": "0x0d3e7a392431239fffffffffffffffffff" - }, - "src": "4656:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3503, - "nodeType": "ExpressionStatement", - "src": "4656:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3504, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3506, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3531", - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51_by_1", - "typeString": "int_const 51" - }, - "value": "51" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4721:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830636232666635323965623731653466666666666666666666666666666666666666", - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4740:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4321316697732212547034601541953113817087_by_1", - "typeString": "int_const 4321...(32 digits omitted)...7087" - }, - "value": "0x0cb2ff529eb71e4fffffffffffffffffff" - }, - "src": "4721:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3509, - "nodeType": "ExpressionStatement", - "src": "4721:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3510, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4786:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3512, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3532", - "id": 3511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52_by_1", - "typeString": "int_const 52" - }, - "value": "52" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4786:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830633264343135633364623937346166666666666666666666666666666666666666", - "id": 3513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4805:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4143543033029384782309349805264440655871_by_1", - "typeString": "int_const 4143...(32 digits omitted)...5871" - }, - "value": "0x0c2d415c3db974afffffffffffffffffff" - }, - "src": "4786:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3515, - "nodeType": "ExpressionStatement", - "src": "4786:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3516, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4851:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3518, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3533", - "id": 3517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_53_by_1", - "typeString": "int_const 53" - }, - "value": "53" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4851:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830626164303365376438383366363962666666666666666666666666666666666666", - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4870:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3973082758682431363936722477132055314431_by_1", - "typeString": "int_const 3973...(32 digits omitted)...4431" - }, - "value": "0x0bad03e7d883f69bffffffffffffffffff" - }, - "src": "4851:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3521, - "nodeType": "ExpressionStatement", - "src": "4851:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3522, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4916:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3524, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3534", - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4929:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54_by_1", - "typeString": "int_const 54" - }, - "value": "54" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4916:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830623332306430336232633334336435666666666666666666666666666666666666", - "id": 3525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4935:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3809635010789003168527049097368437784575_by_1", - "typeString": "int_const 3809...(32 digits omitted)...4575" - }, - "value": "0x0b320d03b2c343d5ffffffffffffffffff" - }, - "src": "4916:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3527, - "nodeType": "ExpressionStatement", - "src": "4916:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3528, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4981:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3530, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3535", - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55_by_1", - "typeString": "int_const 55" - }, - "value": "55" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4981:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830616263323532303465303238323864666666666666666666666666666666666666", - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5000:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652911302618395401280222488042819026943_by_1", - "typeString": "int_const 3652...(32 digits omitted)...6943" - }, - "value": "0x0abc25204e02828dffffffffffffffffff" - }, - "src": "4981:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3533, - "nodeType": "ExpressionStatement", - "src": "4981:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3534, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5046:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3536, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3536", - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5059:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_56_by_1", - "typeString": "int_const 56" - }, - "value": "56" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5046:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830613462313666373465653462623230376666666666666666666666666666666666", - "id": 3537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3502635015429898674229017626613836152831_by_1", - "typeString": "int_const 3502...(32 digits omitted)...2831" - }, - "value": "0x0a4b16f74ee4bb207fffffffffffffffff" - }, - "src": "5046:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3539, - "nodeType": "ExpressionStatement", - "src": "5046:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3540, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5111:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3542, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3537", - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5124:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57_by_1", - "typeString": "int_const 57" - }, - "value": "57" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5111:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830396465616637333661633166353639666666666666666666666666666666666666", - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5130:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3358540910238258030536300376569398951935_by_1", - "typeString": "int_const 3358...(32 digits omitted)...1935" - }, - "value": "0x09deaf736ac1f569ffffffffffffffffff" - }, - "src": "5111:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3545, - "nodeType": "ExpressionStatement", - "src": "5111:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3546, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5176:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3548, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3538", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5189:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_58_by_1", - "typeString": "int_const 58" - }, - "value": "58" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5176:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393736626439393532633761613935376666666666666666666666666666666666", - "id": 3549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5195:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3220374659664501751807634855053158776831_by_1", - "typeString": "int_const 3220...(32 digits omitted)...6831" - }, - "value": "0x0976bd9952c7aa957fffffffffffffffff" - }, - "src": "5176:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3551, - "nodeType": "ExpressionStatement", - "src": "5176:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3552, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5241:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3554, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3539", - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5254:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59_by_1", - "typeString": "int_const 59" - }, - "value": "59" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5241:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393133313237313932326561613630366666666666666666666666666666666666", - "id": 3555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5260:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3087892399045852422628542596524428754943_by_1", - "typeString": "int_const 3087...(32 digits omitted)...4943" - }, - "value": "0x09131271922eaa606fffffffffffffffff" - }, - "src": "5241:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3557, - "nodeType": "ExpressionStatement", - "src": "5241:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3558, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5306:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3630", - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5319:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "60" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5306:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830386233383066333535383636386334366666666666666666666666666666666666", - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5325:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2960860296012425255212778080756987592703_by_1", - "typeString": "int_const 2960...(32 digits omitted)...2703" - }, - "value": "0x08b380f3558668c46fffffffffffffffff" - }, - "src": "5306:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3563, - "nodeType": "ExpressionStatement", - "src": "5306:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3564, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5371:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3566, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3631", - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_61_by_1", - "typeString": "int_const 61" - }, - "value": "61" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5371:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830383537646466303131376566613231356266666666666666666666666666666666", - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5390:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2839054137771012724926516325250418868223_by_1", - "typeString": "int_const 2839...(32 digits omitted)...8223" - }, - "value": "0x0857ddf0117efa215bffffffffffffffff" - }, - "src": "5371:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3569, - "nodeType": "ExpressionStatement", - "src": "5371:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3570, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5436:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3572, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3632", - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5449:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_62_by_1", - "typeString": "int_const 62" - }, - "value": "62" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5436:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376666666666666666666666666666666666666666666666666666666666666666", - "id": 3573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691647_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1647" - }, - "value": "0x07ffffffffffffffffffffffffffffffff" - }, - "src": "5436:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3575, - "nodeType": "ExpressionStatement", - "src": "5436:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3576, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5501:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3578, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3633", - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_63_by_1", - "typeString": "int_const 63" - }, - "value": "63" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5501:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376162626636663661626239643038376666666666666666666666666666666666", - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5520:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2610268544229484780765045556213696167935_by_1", - "typeString": "int_const 2610...(32 digits omitted)...7935" - }, - "value": "0x07abbf6f6abb9d087fffffffffffffffff" - }, - "src": "5501:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3581, - "nodeType": "ExpressionStatement", - "src": "5501:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3582, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5566:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3584, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3634", - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5579:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5566:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373561663632636261633935663764666137666666666666666666666666666666", - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5585:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2502885300319193958571922333378000453631_by_1", - "typeString": "int_const 2502...(32 digits omitted)...3631" - }, - "value": "0x075af62cbac95f7dfa7fffffffffffffff" - }, - "src": "5566:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3587, - "nodeType": "ExpressionStatement", - "src": "5566:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3588, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5631:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3590, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5644:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5631:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373064376662373435326531383761633133666666666666666666666666666666", - "id": 3591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5650:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2399919671254773659805118819743970623487_by_1", - "typeString": "int_const 2399...(32 digits omitted)...3487" - }, - "value": "0x070d7fb7452e187ac13fffffffffffffff" - }, - "src": "5631:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3593, - "nodeType": "ExpressionStatement", - "src": "5631:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3594, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3596, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 3595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5709:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5696:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830366333333930656363386166333739323935666666666666666666666666666666", - "id": 3597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5715:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2301189921783908737703717501630802821119_by_1", - "typeString": "int_const 2301...(32 digits omitted)...1119" - }, - "value": "0x06c3390ecc8af379295fffffffffffffff" - }, - "src": "5696:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3599, - "nodeType": "ExpressionStatement", - "src": "5696:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3600, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5761:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3602, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3637", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5774:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_67_by_1", - "typeString": "int_const 67" - }, - "value": "67" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5761:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363763303061336230376666633031666436666666666666666666666666666666", - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5780:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2206521793019491601704439134261549727743_by_1", - "typeString": "int_const 2206...(32 digits omitted)...7743" - }, - "value": "0x067c00a3b07ffc01fd6fffffffffffffff" - }, - "src": "5761:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3605, - "nodeType": "ExpressionStatement", - "src": "5761:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3606, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5826:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3608, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3638", - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5839:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_68_by_1", - "typeString": "int_const 68" - }, - "value": "68" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5826:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363337623634376333396362623964336432376666666666666666666666666666", - "id": 3609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5845:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2115748194871134515168564783402692116479_by_1", - "typeString": "int_const 2115...(32 digits omitted)...6479" - }, - "value": "0x0637b647c39cbb9d3d27ffffffffffffff" - }, - "src": "5826:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3611, - "nodeType": "ExpressionStatement", - "src": "5826:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3612, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5891:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3614, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3639", - "id": 3613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5904:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5891:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356636336231666331303464626433393538376666666666666666666666666666", - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2028708911129671949307566740521183346687_by_1", - "typeString": "int_const 2028...(32 digits omitted)...6687" - }, - "value": "0x05f63b1fc104dbd39587ffffffffffffff" - }, - "src": "5891:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3617, - "nodeType": "ExpressionStatement", - "src": "5891:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3618, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5956:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3620, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3730", - "id": 3619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5969:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70_by_1", - "typeString": "int_const 70" - }, - "value": "70" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5956:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356237373139353562333665313266373233356666666666666666666666666666", - "id": 3621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1945250316684124513375052119057996185599_by_1", - "typeString": "int_const 1945...(32 digits omitted)...5599" - }, - "value": "0x05b771955b36e12f7235ffffffffffffff" - }, - "src": "5956:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "nodeType": "ExpressionStatement", - "src": "5956:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3624, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6021:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3626, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3731", - "id": 3625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6034:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71_by_1", - "typeString": "int_const 71" - }, - "value": "71" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6021:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353762336434396464613834353536643666366666666666666666666666666666", - "id": 3627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6040:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1865225106372009884014199587421481336831_by_1", - "typeString": "int_const 1865...(32 digits omitted)...6831" - }, - "value": "0x057b3d49dda84556d6f6ffffffffffffff" - }, - "src": "6021:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3629, - "nodeType": "ExpressionStatement", - "src": "6021:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3630, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6086:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3632, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3732", - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6099:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72_by_1", - "typeString": "int_const 72" - }, - "value": "72" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6086:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353431383330393562326338656365636633306666666666666666666666666666", - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6105:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1788492034984419117666073304513300660223_by_1", - "typeString": "int_const 1788...(32 digits omitted)...0223" - }, - "value": "0x054183095b2c8ececf30ffffffffffffff" - }, - "src": "6086:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3635, - "nodeType": "ExpressionStatement", - "src": "6086:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3636, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6151:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3638, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3733", - "id": 3637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6164:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_73_by_1", - "typeString": "int_const 73" - }, - "value": "73" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6151:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353061323862653633356361326238383866373766666666666666666666666666", - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6170:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1714915667966964990208967912165996494847_by_1", - "typeString": "int_const 1714...(32 digits omitted)...4847" - }, - "value": "0x050a28be635ca2b888f77fffffffffffff" - }, - "src": "6151:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3641, - "nodeType": "ExpressionStatement", - "src": "6151:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3642, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6216:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3644, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3734", - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6229:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74_by_1", - "typeString": "int_const 74" - }, - "value": "74" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6216:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346435313536363339373038633964623333633366666666666666666666666666", - "id": 3645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6235:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1644366142376587317378242124992063995903_by_1", - "typeString": "int_const 1644...(32 digits omitted)...5903" - }, - "value": "0x04d5156639708c9db33c3fffffffffffff" - }, - "src": "6216:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3647, - "nodeType": "ExpressionStatement", - "src": "6216:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3648, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6281:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3650, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3735", - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6294:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6281:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346132333130353837333837356264353264666466666666666666666666666666", - "id": 3651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6300:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1576718937672301888428671268411708276735_by_1", - "typeString": "int_const 1576...(32 digits omitted)...6735" - }, - "value": "0x04a23105873875bd52dfdfffffffffffff" - }, - "src": "6281:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3653, - "nodeType": "ExpressionStatement", - "src": "6281:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3654, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6346:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3656, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3736", - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6359:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76_by_1", - "typeString": "int_const 76" - }, - "value": "76" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6346:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343731363439643837313939616139393037353666666666666666666666666666", - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1511854655935336643558907106913628979199_by_1", - "typeString": "int_const 1511...(32 digits omitted)...9199" - }, - "value": "0x0471649d87199aa990756fffffffffffff" - }, - "src": "6346:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3659, - "nodeType": "ExpressionStatement", - "src": "6346:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3660, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6411:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3662, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3737", - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6424:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_77_by_1", - "typeString": "int_const 77" - }, - "value": "77" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6411:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343432396132316130323964346331343537636662666666666666666666666666", - "id": 3663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6430:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1449658811130741678082357454851673161727_by_1", - "typeString": "int_const 1449...(32 digits omitted)...1727" - }, - "value": "0x04429a21a029d4c1457cfbffffffffffff" - }, - "src": "6411:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3665, - "nodeType": "ExpressionStatement", - "src": "6411:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3666, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6476:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3668, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3738", - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6489:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_78_by_1", - "typeString": "int_const 78" - }, - "value": "78" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6476:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343135626336643666623764643731616632636233666666666666666666666666", - "id": 3669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1390021627038517938156314751863424548863_by_1", - "typeString": "int_const 1390...(32 digits omitted)...8863" - }, - "value": "0x0415bc6d6fb7dd71af2cb3ffffffffffff" - }, - "src": "6476:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3671, - "nodeType": "ExpressionStatement", - "src": "6476:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3672, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6541:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3739", - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6554:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_79_by_1", - "typeString": "int_const 79" - }, - "value": "79" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6541:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336561623733623362626665323832323433636531666666666666666666666666", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6560:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1332837843497611250583009129150422188031_by_1", - "typeString": "int_const 1332...(32 digits omitted)...8031" - }, - "value": "0x03eab73b3bbfe282243ce1ffffffffffff" - }, - "src": "6541:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3677, - "nodeType": "ExpressionStatement", - "src": "6541:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3678, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6606:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3680, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6619:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6606:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336331373731616339666236623463313865323239666666666666666666666666", - "id": 3681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6625:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1278006530620790610545644364558728429567_by_1", - "typeString": "int_const 1278...(32 digits omitted)...9567" - }, - "value": "0x03c1771ac9fb6b4c18e229ffffffffffff" - }, - "src": "6606:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3683, - "nodeType": "ExpressionStatement", - "src": "6606:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3684, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6671:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3686, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3831", - "id": 3685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6684:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81_by_1", - "typeString": "int_const 81" - }, - "value": "81" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6671:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333939653936383937363930343138663738353235376666666666666666666666", - "id": 3687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6690:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1225430910652498332846748256431392161791_by_1", - "typeString": "int_const 1225...(32 digits omitted)...1791" - }, - "value": "0x0399e96897690418f785257fffffffffff" - }, - "src": "6671:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3689, - "nodeType": "ExpressionStatement", - "src": "6671:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3690, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6736:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3692, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3832", - "id": 3691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6749:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82_by_1", - "typeString": "int_const 82" - }, - "value": "82" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6736:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333733666334353663353362623737396266306561396666666666666666666666", - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1175018187155249585623915264673694351359_by_1", - "typeString": "int_const 1175...(32 digits omitted)...1359" - }, - "value": "0x0373fc456c53bb779bf0ea9fffffffffff" - }, - "src": "6736:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3695, - "nodeType": "ExpressionStatement", - "src": "6736:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3696, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6801:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3698, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3833", - "id": 3697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6814:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_83_by_1", - "typeString": "int_const 83" - }, - "value": "83" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6801:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333466396538653439306334386536376536616238626666666666666666666666", - "id": 3699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6820:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1126679381223093780446468558216906145791_by_1", - "typeString": "int_const 1126...(32 digits omitted)...5791" - }, - "value": "0x034f9e8e490c48e67e6ab8bfffffffffff" - }, - "src": "6801:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3701, - "nodeType": "ExpressionStatement", - "src": "6801:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3702, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6866:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3704, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3834", - "id": 3703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6879:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_84_by_1", - "typeString": "int_const 84" - }, - "value": "84" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6866:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333263626664346137616463373930353630623333333766666666666666666666", - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6885:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1080329174433053119456411494679599644671_by_1", - "typeString": "int_const 1080...(32 digits omitted)...4671" - }, - "value": "0x032cbfd4a7adc790560b3337ffffffffff" - }, - "src": "6866:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3707, - "nodeType": "ExpressionStatement", - "src": "6866:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3708, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6931:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3710, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3835", - "id": 3709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6944:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85_by_1", - "typeString": "int_const 85" - }, - "value": "85" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6931:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333062353035373066366535643261636361393436313366666666666666666666", - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6950:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1035885758257346189907937735244580388863_by_1", - "typeString": "int_const 1035...(32 digits omitted)...8863" - }, - "value": "0x030b50570f6e5d2acca94613ffffffffff" - }, - "src": "6931:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3713, - "nodeType": "ExpressionStatement", - "src": "6931:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3714, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6996:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3716, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3836", - "id": 3715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86_by_1", - "typeString": "int_const 86" - }, - "value": "86" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6996:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326562343066396636323066646136623536633238363166666666666666666666", - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7015:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993270689670607839608468400662101622783_by_1", - "typeString": "int_const 9932...(31 digits omitted)...2783" - }, - "value": "0x02eb40f9f620fda6b56c2861ffffffffff" - }, - "src": "6996:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3719, - "nodeType": "ExpressionStatement", - "src": "6996:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3720, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7061:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3722, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3837", - "id": 3721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7074:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87_by_1", - "typeString": "int_const 87" - }, - "value": "87" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7061:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326363383334306563623064306635323061366166353866666666666666666666", - "id": 3723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7080:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_952408752697250790372885759853747765247_by_1", - "typeString": "int_const 9524...(31 digits omitted)...5247" - }, - "value": "0x02cc8340ecb0d0f520a6af58ffffffffff" - }, - "src": "7061:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3725, - "nodeType": "ExpressionStatement", - "src": "7061:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3726, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7126:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3728, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3838", - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7139:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326166303934383133383061306133356366316261303266666666666666666666", - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7145:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_913227825654598849673391073164504596479_by_1", - "typeString": "int_const 9132...(31 digits omitted)...6479" - }, - "value": "0x02af09481380a0a35cf1ba02ffffffffff" - }, - "src": "7126:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3731, - "nodeType": "ExpressionStatement", - "src": "7126:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3732, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7191:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3734, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3839", - "id": 3733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89_by_1", - "typeString": "int_const 89" - }, - "value": "89" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7191:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323932633562646433623932656338313032383762316233666666666666666666", - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7210:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_875658753857474668265023456619450597375_by_1", - "typeString": "int_const 8756...(31 digits omitted)...7375" - }, - "value": "0x0292c5bdd3b92ec810287b1b3fffffffff" - }, - "src": "7191:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3737, - "nodeType": "ExpressionStatement", - "src": "7191:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3738, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7256:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3740, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3930", - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7269:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_90_by_1", - "typeString": "int_const 90" - }, - "value": "90" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7256:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323737616264636461623037643561373761633664366239666666666666666666", - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7275:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_839635227559564507480479102760887779327_by_1", - "typeString": "int_const 8396...(31 digits omitted)...9327" - }, - "value": "0x0277abdcdab07d5a77ac6d6b9fffffffff" - }, - "src": "7256:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3743, - "nodeType": "ExpressionStatement", - "src": "7256:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3744, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7321:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3746, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3931", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7334:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_91_by_1", - "typeString": "int_const 91" - }, - "value": "91" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7321:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323564616636363534623165616135356664363464663565666666666666666666", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7340:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_805093664916125437948904238798044397567_by_1", - "typeString": "int_const 8050...(31 digits omitted)...7567" - }, - "value": "0x025daf6654b1eaa55fd64df5efffffffff" - }, - "src": "7321:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "7321:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3750, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7386:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3752, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3932", - "id": 3751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7399:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92_by_1", - "typeString": "int_const 92" - }, - "value": "92" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7386:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323434633439633634386261613938313932646365383862376666666666666666", - "id": 3753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7405:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_771973099761463105605096142810743046143_by_1", - "typeString": "int_const 7719...(31 digits omitted)...6143" - }, - "value": "0x0244c49c648baa98192dce88b7ffffffff" - }, - "src": "7386:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3755, - "nodeType": "ExpressionStatement", - "src": "7386:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3756, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7451:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3758, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3933", - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93_by_1", - "typeString": "int_const 93" - }, - "value": "93" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7451:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323263653033636435363139613331316232343731323638626666666666666666", - "id": 3759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7470:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_740215074003106313787373698556008333311_by_1", - "typeString": "int_const 7402...(31 digits omitted)...3311" - }, - "value": "0x022ce03cd5619a311b2471268bffffffff" - }, - "src": "7451:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3761, - "nodeType": "ExpressionStatement", - "src": "7451:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3762, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7516:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3764, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3934", - "id": 3763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7529:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_94_by_1", - "typeString": "int_const 94" - }, - "value": "94" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7516:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323135663737633034356662653838353635346134346130666666666666666666", - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7535:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_709763534442753181219281418466841591807_by_1", - "typeString": "int_const 7097...(31 digits omitted)...1807" - }, - "value": "0x0215f77c045fbe885654a44a0fffffffff" - }, - "src": "7516:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3767, - "nodeType": "ExpressionStatement", - "src": "7516:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3768, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7581:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3770, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3935", - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7594:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_95_by_1", - "typeString": "int_const 95" - }, - "value": "95" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316666666666666666666666666666666666666666666666666666666666666666", - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7600:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422911_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2911" - }, - "value": "0x01ffffffffffffffffffffffffffffffff" - }, - "src": "7581:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3773, - "nodeType": "ExpressionStatement", - "src": "7581:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3774, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7646:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3776, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3936", - "id": 3775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7659:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96_by_1", - "typeString": "int_const 96" - }, - "value": "96" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7646:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316561656664626461616565373432316663346433656465356666666666666666", - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7665:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_652567136057371195186997586203332575231_by_1", - "typeString": "int_const 6525...(31 digits omitted)...5231" - }, - "value": "0x01eaefdbdaaee7421fc4d3ede5ffffffff" - }, - "src": "7646:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3779, - "nodeType": "ExpressionStatement", - "src": "7646:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3780, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7711:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3782, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3937", - "id": 3781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7724:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97_by_1", - "typeString": "int_const 97" - }, - "value": "97" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7711:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316436626438623265623235376466376538636135376230396266666666666666", - "id": 3783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7730:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_625721325079798489641586010116704960511_by_1", - "typeString": "int_const 6257...(31 digits omitted)...0511" - }, - "value": "0x01d6bd8b2eb257df7e8ca57b09bfffffff" - }, - "src": "7711:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3785, - "nodeType": "ExpressionStatement", - "src": "7711:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3786, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3788, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3938", - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7789:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_98_by_1", - "typeString": "int_const 98" - }, - "value": "98" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7776:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316333356665646431346238363165623034343366376631333366666666666666", - "id": 3789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7795:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_599979917813693414950432886451725139967_by_1", - "typeString": "int_const 5999...(31 digits omitted)...9967" - }, - "value": "0x01c35fedd14b861eb0443f7f133fffffff" - }, - "src": "7776:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3791, - "nodeType": "ExpressionStatement", - "src": "7776:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3792, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7841:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3794, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3939", - "id": 3793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7854:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7841:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316230636534336233323262636465346135366538616461356166666666666666", - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_575297480445977184425850753341355720703_by_1", - "typeString": "int_const 5752...(31 digits omitted)...0703" - }, - "value": "0x01b0ce43b322bcde4a56e8ada5afffffff" - }, - "src": "7841:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3797, - "nodeType": "ExpressionStatement", - "src": "7841:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3798, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7906:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3800, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7906:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313966303032386563316666663030376635613139356133396466666666666666", - "id": 3801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7925:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_551630448254872900425972804456347074559_by_1", - "typeString": "int_const 5516...(31 digits omitted)...4559" - }, - "value": "0x019f0028ec1fff007f5a195a39dfffffff" - }, - "src": "7906:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "7906:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3804, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7971:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3806, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7983:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7971:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313864656439316630653732656537346634396231356261353237666666666666", - "id": 3807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7990:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_528937048717783628792119060092411707391_by_1", - "typeString": "int_const 5289...(31 digits omitted)...7391" - }, - "value": "0x018ded91f0e72ee74f49b15ba527ffffff" - }, - "src": "7971:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3809, - "nodeType": "ExpressionStatement", - "src": "7971:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3810, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8036:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3812, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313032", - "id": 3811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8048:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102_by_1", - "typeString": "int_const 102" - }, - "value": "102" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8036:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313764386563376630343133366634653536313566643431613633666666666666", - "id": 3813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8055:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_507177227782417987326846600868857380863_by_1", - "typeString": "int_const 5071...(31 digits omitted)...0863" - }, - "value": "0x017d8ec7f04136f4e5615fd41a63ffffff" - }, - "src": "8036:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3815, - "nodeType": "ExpressionStatement", - "src": "8036:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3816, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8101:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3818, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313033", - "id": 3817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8113:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_103_by_1", - "typeString": "int_const 103" - }, - "value": "103" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8101:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313664646336353536636462383462646338643132643232653666666666666666", - "id": 3819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_486312579171031128343732298613950251007_by_1", - "typeString": "int_const 4863...(31 digits omitted)...1007" - }, - "value": "0x016ddc6556cdb84bdc8d12d22e6fffffff" - }, - "src": "8101:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3821, - "nodeType": "ExpressionStatement", - "src": "8101:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3822, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8166:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3824, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313034", - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8178:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_104_by_1", - "typeString": "int_const 104" - }, - "value": "104" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8166:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313565636635323737366131313535623562643833393538313466376666666666", - "id": 3825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8185:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_466306276593002471003532891264408092671_by_1", - "typeString": "int_const 4663...(31 digits omitted)...2671" - }, - "value": "0x015ecf52776a1155b5bd8395814f7fffff" - }, - "src": "8166:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3827, - "nodeType": "ExpressionStatement", - "src": "8166:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3828, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8231:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3830, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313035", - "id": 3829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105_by_1", - "typeString": "int_const 105" - }, - "value": "105" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8231:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313530363063323536636232336233623363633337353463663430666666666666", - "id": 3831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8250:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_447123008746104779416515886102660251647_by_1", - "typeString": "int_const 4471...(31 digits omitted)...1647" - }, - "value": "0x015060c256cb23b3b3cc3754cf40ffffff" - }, - "src": "8231:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3833, - "nodeType": "ExpressionStatement", - "src": "8231:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3834, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8296:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3836, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313036", - "id": 3835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8308:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - }, - "value": "106" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8296:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313432386132663938643732386165323233646461623731356265336666666666", - "id": 3837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8315:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_428728916991741247552240490495652921343_by_1", - "typeString": "int_const 4287...(31 digits omitted)...1343" - }, - "value": "0x01428a2f98d728ae223ddab715be3fffff" - }, - "src": "8296:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3839, - "nodeType": "ExpressionStatement", - "src": "8296:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3840, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8361:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3842, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313037", - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8373:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_107_by_1", - "typeString": "int_const 107" - }, - "value": "107" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8361:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313335343535393865356332333237366363663065646536383033346666666666", - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8380:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_411091535594146829344560212836376117247_by_1", - "typeString": "int_const 4110...(31 digits omitted)...7247" - }, - "value": "0x013545598e5c23276ccf0ede68034fffff" - }, - "src": "8361:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3845, - "nodeType": "ExpressionStatement", - "src": "8361:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3846, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8426:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3848, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313038", - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8438:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108_by_1", - "typeString": "int_const 108" - }, - "value": "108" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8426:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313238386334313631636531643666353462376636313038313139346666666666", - "id": 3849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8445:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_394179734418075472107167272299635146751_by_1", - "typeString": "int_const 3941...(31 digits omitted)...6751" - }, - "value": "0x01288c4161ce1d6f54b7f61081194fffff" - }, - "src": "8426:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3851, - "nodeType": "ExpressionStatement", - "src": "8426:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3852, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8491:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3854, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 3853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8503:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8491:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313163353932373631633636366161363431643561303161343066313766666666", - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8510:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_377963663983834160889726215582593318911_by_1", - "typeString": "int_const 3779...(31 digits omitted)...8911" - }, - "value": "0x011c592761c666aa641d5a01a40f17ffff" - }, - "src": "8491:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3857, - "nodeType": "ExpressionStatement", - "src": "8491:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3858, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8556:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3860, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313130", - "id": 3859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8568:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_110_by_1", - "typeString": "int_const 110" - }, - "value": "110" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8556:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313130613638383638306137353330353135663365366536636664636466666666", - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8575:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_362414702782685419520589203652335239167_by_1", - "typeString": "int_const 3624...(31 digits omitted)...9167" - }, - "value": "0x0110a688680a7530515f3e6e6cfdcdffff" - }, - "src": "8556:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3863, - "nodeType": "ExpressionStatement", - "src": "8556:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3864, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8621:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3866, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313131", - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8633:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_111_by_1", - "typeString": "int_const 111" - }, - "value": "111" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8621:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313035366631623562656466373563366263623263653861656434323866666666", - "id": 3867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8640:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_347505406759629484539078662328460836863_by_1", - "typeString": "int_const 3475...(31 digits omitted)...6863" - }, - "value": "0x01056f1b5bedf75c6bcb2ce8aed428ffff" - }, - "src": "8621:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3869, - "nodeType": "ExpressionStatement", - "src": "8621:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3870, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8686:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3872, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8698:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8686:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306661616463656365656666386130383930663338373566303038323737666666", - "id": 3873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8705:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_333209460874402812645752271223906598911_by_1", - "typeString": "int_const 3332...(31 digits omitted)...8911" - }, - "value": "0x00faadceceeff8a0890f3875f008277fff" - }, - "src": "8686:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3875, - "nodeType": "ExpressionStatement", - "src": "8686:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3876, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8751:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3878, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313133", - "id": 3877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8763:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_113_by_1", - "typeString": "int_const 113" - }, - "value": "113" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8751:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306630356463366232376564616433303633383861363030663662613062666666", - "id": 3879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8770:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_319501632655197652636411056021540225023_by_1", - "typeString": "int_const 3195...(31 digits omitted)...5023" - }, - "value": "0x00f05dc6b27edad306388a600f6ba0bfff" - }, - "src": "8751:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3881, - "nodeType": "ExpressionStatement", - "src": "8751:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3882, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8816:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3884, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313134", - "id": 3883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8828:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114_by_1", - "typeString": "int_const 114" - }, - "value": "114" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8816:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306536376135613235646134313036336465313439356435623138636462666666", - "id": 3885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8835:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_306357727663124583211687061200571318271_by_1", - "typeString": "int_const 3063...(31 digits omitted)...8271" - }, - "value": "0x00e67a5a25da41063de1495d5b18cdbfff" - }, - "src": "8816:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3887, - "nodeType": "ExpressionStatement", - "src": "8816:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3888, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8881:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3890, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313135", - "id": 3889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8893:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115_by_1", - "typeString": "int_const 115" - }, - "value": "115" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8881:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306463666631313562313465656464653666633361613533353366326534666666", - "id": 3891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_293754546788812396405978813098581970943_by_1", - "typeString": "int_const 2937...(31 digits omitted)...0943" - }, - "value": "0x00dcff115b14eedde6fc3aa5353f2e4fff" - }, - "src": "8881:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3893, - "nodeType": "ExpressionStatement", - "src": "8881:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3894, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8946:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3896, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313136", - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116_by_1", - "typeString": "int_const 116" - }, - "value": "116" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306433653761333932343331323339396639616165326530663836386638666666", - "id": 3897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8965:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_281669845305773445111617137421885345791_by_1", - "typeString": "int_const 2816...(31 digits omitted)...5791" - }, - "value": "0x00d3e7a3924312399f9aae2e0f868f8fff" - }, - "src": "8946:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3899, - "nodeType": "ExpressionStatement", - "src": "8946:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3900, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9011:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3902, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313137", - "id": 3901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9023:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_117_by_1", - "typeString": "int_const 117" - }, - "value": "117" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9011:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306362326666353239656237316534313538326363636435613165653236666666", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9030:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_270082293608263279864102872957453496319_by_1", - "typeString": "int_const 2700...(31 digits omitted)...6319" - }, - "value": "0x00cb2ff529eb71e41582cccd5a1ee26fff" - }, - "src": "9011:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3905, - "nodeType": "ExpressionStatement", - "src": "9011:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3906, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9076:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3908, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313138", - "id": 3907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9088:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_118_by_1", - "typeString": "int_const 118" - }, - "value": "118" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9076:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306332643431356333646239373461623332613531383430633062363765646666", - "id": 3909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9095:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_258971439564336547476984432763364437503_by_1", - "typeString": "int_const 2589...(31 digits omitted)...7503" - }, - "value": "0x00c2d415c3db974ab32a51840c0b67edff" - }, - "src": "9076:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3911, - "nodeType": "ExpressionStatement", - "src": "9076:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3912, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9141:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3914, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313139", - "id": 3913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9153:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_119_by_1", - "typeString": "int_const 119" - }, - "value": "119" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9141:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306261643033653764383833663639616435623061313836313834653036626666", - "id": 3915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_248317672417651959902117100034610719743_by_1", - "typeString": "int_const 2483...(31 digits omitted)...9743" - }, - "value": "0x00bad03e7d883f69ad5b0a186184e06bff" - }, - "src": "9141:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3917, - "nodeType": "ExpressionStatement", - "src": "9141:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3918, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9206:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3920, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313230", - "id": 3919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9218:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_120_by_1", - "typeString": "int_const 120" - }, - "value": "120" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9206:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306233323064303362326333343364343832396162643630373566306363356666", - "id": 3921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9225:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_238102188174312697593221439720218478079_by_1", - "typeString": "int_const 2381...(31 digits omitted)...8079" - }, - "value": "0x00b320d03b2c343d4829abd6075f0cc5ff" - }, - "src": "9206:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3923, - "nodeType": "ExpressionStatement", - "src": "9206:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3924, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9271:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3926, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313231", - "id": 3925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9283:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_121_by_1", - "typeString": "int_const 121" - }, - "value": "121" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9271:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306162633235323034653032383238643733633665383062636462316139356266", - "id": 3927, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9290:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228306956413649712418347768277622232511_by_1", - "typeString": "int_const 2283...(31 digits omitted)...2511" - }, - "value": "0x00abc25204e02828d73c6e80bcdb1a95bf" - }, - "src": "9271:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3929, - "nodeType": "ExpressionStatement", - "src": "9271:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3930, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9336:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3932, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313232", - "id": 3931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9348:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_122_by_1", - "typeString": "int_const 122" - }, - "value": "122" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9336:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306134623136663734656534626232303430613165633663313566626266326466", - "id": 3933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9355:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218914688464368667066255864092044292831_by_1", - "typeString": "int_const 2189...(31 digits omitted)...2831" - }, - "value": "0x00a4b16f74ee4bb2040a1ec6c15fbbf2df" - }, - "src": "9336:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "9336:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3936, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9401:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3938, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313233", - "id": 3937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_123_by_1", - "typeString": "int_const 123" - }, - "value": "123" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9401:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303964656166373336616331663536396465623162356165336633366331333066", - "id": 3939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9420:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_209908806889891126870119775672831054607_by_1", - "typeString": "int_const 2099...(31 digits omitted)...4607" - }, - "value": "0x009deaf736ac1f569deb1b5ae3f36c130f" - }, - "src": "9401:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3941, - "nodeType": "ExpressionStatement", - "src": "9401:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3942, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9466:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3944, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313234", - "id": 3943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9478:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_124_by_1", - "typeString": "int_const 124" - }, - "value": "124" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9466:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303937366264393935326337616139353766353933376437393065663635303337", - "id": 3945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9485:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201273416229031359487226059686877220919_by_1", - "typeString": "int_const 2012...(31 digits omitted)...0919" - }, - "value": "0x00976bd9952c7aa957f5937d790ef65037" - }, - "src": "9466:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3947, - "nodeType": "ExpressionStatement", - "src": "9466:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3948, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9531:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3950, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313235", - "id": 3949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_125_by_1", - "typeString": "int_const 125" - }, - "value": "125" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9531:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303931333132373139323265616136303634623733613232643062643466326266", - "id": 3951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9550:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192993274940365776401274035698589299391_by_1", - "typeString": "int_const 1929...(31 digits omitted)...9391" - }, - "value": "0x009131271922eaa6064b73a22d0bd4f2bf" - }, - "src": "9531:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3953, - "nodeType": "ExpressionStatement", - "src": "9531:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3954, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9596:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3956, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313236", - "id": 3955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9608:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_126_by_1", - "typeString": "int_const 126" - }, - "value": "126" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9596:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303862333830663335353836363863343663393163343961326638653936376239", - "id": 3957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9615:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185053768500776578446843424638883162041_by_1", - "typeString": "int_const 1850...(31 digits omitted)...2041" - }, - "value": "0x008b380f3558668c46c91c49a2f8e967b9" - }, - "src": "9596:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3959, - "nodeType": "ExpressionStatement", - "src": "9596:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3960, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9661:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3962, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313237", - "id": 3961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9673:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9661:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303835376464663031313765666132313539353239313238333966363437336536", - "id": 3963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9680:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_177440883610688295304820354615089591270_by_1", - "typeString": "int_const 1774...(31 digits omitted)...1270" - }, - "value": "0x00857ddf0117efa215952912839f6473e6" - }, - "src": "9661:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3965, - "nodeType": "ExpressionStatement", - "src": "9661:55:4" - } - ] - }, - "documentation": null, - "id": 3967, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [], - "src": "1386:2:4" - }, - "payable": false, - "returnParameters": { - "id": 3389, - "nodeType": "ParameterList", - "parameters": [], - "src": "1396:0:4" - }, - "scope": 5797, - "src": "1375:8348:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4052, - "nodeType": "Block", - "src": "10515:699:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3981, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "10559:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10569:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10559:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3984, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "10574:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10594:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10574:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3988, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10599:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10599:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:60:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 3994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3992, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10623:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3993, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "10643:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10623:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:94:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10551:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10551:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3997, - "nodeType": "ExpressionStatement", - "src": "10551:103:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3998, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10714:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10714:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4003, - "nodeType": "IfStatement", - "src": "10710:45:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10754:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3979, - "id": 4002, - "nodeType": "Return", - "src": "10747:8:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4004, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10815:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4005, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "10835:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10815:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4014, - "nodeType": "IfStatement", - "src": "10811:102:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4009, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10878:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4007, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "10866:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "10866: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": 4010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10866:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4011, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "10896:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10866:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3979, - "id": 4013, - "nodeType": "Return", - "src": "10859:54:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4016, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10924:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10924:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4017, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10924:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4019, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10948:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4018, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10948:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4020, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10948:15:4" - }, - { - "assignments": [ - 4022 - ], - "declarations": [ - { - "constant": false, - "id": 4022, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10973:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4027, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4025, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "11008:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4023, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10989:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "10989:18: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": 4026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10989:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10973:53:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4028, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "11037:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4029, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4019, - "src": "11045:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4030, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11036:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4032, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "11064:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4033, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "11071:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4034, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "11090:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4035, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "11108:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4031, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "11058:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11058:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "11036:83:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4038, - "nodeType": "ExpressionStatement", - "src": "11036:83:4" - }, - { - "assignments": [ - 4040 - ], - "declarations": [ - { - "constant": false, - "id": 4040, - "name": "temp", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "11129:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11129:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4047, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4043, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "11156:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4041, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "11144:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "11144: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": 4044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11144:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4045, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4019, - "src": "11167:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11144:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11129:47:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4048, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "11193:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4049, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "11200:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11193:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3979, - "id": 4051, - "nodeType": "Return", - "src": "11186:21:4" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\ncalculates the return for a given conversion (in the main token)\nFormula:\nReturn = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n@param _supply token total supply\n@param _connectorBalance total connector balance\n@param _connectorWeight connector weight, represented in ppm, 1-1000000\n@param _depositAmount deposit amount, in connector token\n@return purchase return amount", - "id": 4053, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3969, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10392:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10392:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3971, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10409:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10409:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3973, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10436:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3972, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "10436:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3975, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10461:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3974, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10461:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10391:93:4" - }, - "payable": false, - "returnParameters": { - "id": 3979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3978, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10506:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10506:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10505:9:4" - }, - "scope": 5797, - "src": "10359:855:4", - "stateMutability": "view", - "superFunction": 5812, - "visibility": "public" - }, - { - "body": { - "id": 4154, - "nodeType": "Block", - "src": "11994:883:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4067, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12038:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12048:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12038:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4070, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12053:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12053:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4074, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12078:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12097:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12078:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:60:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4078, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12102:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4079, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12122:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12102:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:94:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4082, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12136:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4083, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12151:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12136:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:120:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4066, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "12030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12030:129:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4087, - "nodeType": "ExpressionStatement", - "src": "12030:129:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4088, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12216:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12231:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12216:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4093, - "nodeType": "IfStatement", - "src": "12212:42:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12253:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 4065, - "id": 4092, - "nodeType": "Return", - "src": "12246:8:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4094, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12323:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4095, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12338:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12323:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4099, - "nodeType": "IfStatement", - "src": "12319:64:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4097, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12366:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4098, - "nodeType": "Return", - "src": "12359:24:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4100, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12443:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4101, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12463:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12443:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4110, - "nodeType": "IfStatement", - "src": "12439:99:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4105, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12516:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4103, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12494:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12494: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": 4106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12494:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4107, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12494:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4109, - "nodeType": "Return", - "src": "12487:51:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4112, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12549:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12549:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4113, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12549:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4115, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12573:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4114, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "12573:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4116, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12573:15:4" - }, - { - "assignments": [ - 4118 - ], - "declarations": [ - { - "constant": false, - "id": 4118, - "name": "baseD", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12598:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12598:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4122, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4119, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12614:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4120, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12624:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12614:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12598:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4123, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12646:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4124, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4115, - "src": "12654:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4125, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12645:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4127, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12673:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4128, - "name": "baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "12682:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4129, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12689:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4130, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12701:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4126, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "12667:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12667:51:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "12645:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4133, - "nodeType": "ExpressionStatement", - "src": "12645:73:4" - }, - { - "assignments": [ - 4135 - ], - "declarations": [ - { - "constant": false, - "id": 4135, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12728:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12728:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4140, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4138, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12766:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4136, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12744:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12744: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": 4139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12744:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12728:45:4" - }, - { - "assignments": [ - 4142 - ], - "declarations": [ - { - "constant": false, - "id": 4142, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12783:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12783:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4146, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4143, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12799:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4144, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4115, - "src": "12820:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12799:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12783:46:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4147, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "12847:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4148, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "12855:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12847:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4150, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12846:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4151, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12864:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12846:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4153, - "nodeType": "Return", - "src": "12839:31:4" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a sell amount (in the main token),\ncalculates the return for a given conversion (in the connector token)\nFormula:\nReturn = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n@param _supply token total supply\n@param _connectorBalance total connector\n@param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n@param _sellAmount sell amount, in the token itself\n@return sale return amount", - "id": 4155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4055, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11874:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11874:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4057, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11891:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11891:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4059, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11918:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4058, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11918:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4061, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11943:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11873:90:4" - }, - "payable": false, - "returnParameters": { - "id": 4065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11985:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11985:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11984:9:4" - }, - "scope": 5797, - "src": "11845:1032:4", - "stateMutability": "view", - "superFunction": 5825, - "visibility": "public" - }, - { - "body": { - "id": 4254, - "nodeType": "Block", - "src": "13932:796:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4171, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "13976:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14000:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13976:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4174, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14005:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14028:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14005:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:53:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4178, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14033:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4179, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "14057:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14033:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:91:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4182, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14071:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14093:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14071:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:118:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4186, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14098:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14119:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14098:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:144:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4190, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14124:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4191, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "14146:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14124:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:180:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4170, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "13968:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13968:189:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4195, - "nodeType": "ExpressionStatement", - "src": "13968:189:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4196, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14214:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4197, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14238:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14214:42:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4209, - "nodeType": "IfStatement", - "src": "14210:136:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4201, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14301:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4199, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14277:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14277:23: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": 4202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14277:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4205, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14338:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4203, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14312:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14312:25: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": 4206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14312:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14277:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4169, - "id": 4208, - "nodeType": "Return", - "src": "14270:76:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4211, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14357:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14357:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4212, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14357:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4214, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14381:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4213, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "14381:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4215, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14381:15:4" - }, - { - "assignments": [ - 4217 - ], - "declarations": [ - { - "constant": false, - "id": 4217, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14406:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14406:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4222, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4220, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14448:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4218, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14422:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14422:25: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": 4221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14422:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14406:50:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4223, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14467:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4224, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4214, - "src": "14475:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4225, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14466:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4227, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4217, - "src": "14494:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4228, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14501:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4229, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14524:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14546:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4226, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "14488:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14488:77:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "14466:99:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4233, - "nodeType": "ExpressionStatement", - "src": "14466:99:4" - }, - { - "assignments": [ - 4235 - ], - "declarations": [ - { - "constant": false, - "id": 4235, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14575:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14575:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4238, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14615:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4236, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14591:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14591:23: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": 4239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14591:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14575:47:4" - }, - { - "assignments": [ - 4242 - ], - "declarations": [ - { - "constant": false, - "id": 4242, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14632:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4246, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4243, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14648:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4244, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4214, - "src": "14671:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14648:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14632:48:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4247, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4235, - "src": "14698:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4248, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "14706:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14698:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4250, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14697:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4251, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14715:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14697:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4169, - "id": 4253, - "nodeType": "Return", - "src": "14690:31:4" - } - ] - }, - "documentation": "@dev given two connector balances/weights and a sell amount (in the first connector token),\ncalculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\nFormula:\nReturn = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n@param _fromConnectorBalance input connector balance\n@param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n@param _toConnectorBalance output connector balance\n@param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n@param _amount input connector amount\n@return second connector amount", - "id": 4255, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4157, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13769:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13769:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4159, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13800:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4158, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13800:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4161, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13829:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13829:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4163, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13858:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4162, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13858:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4165, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13885:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13885:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:133:4" - }, - "payable": false, - "returnParameters": { - "id": 4169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4168, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13923:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13923:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13922:9:4" - }, - "scope": 5797, - "src": "13730:998:4", - "stateMutability": "view", - "superFunction": 5840, - "visibility": "public" - }, - { - "body": { - "id": 4343, - "nodeType": "Block", - "src": "16257:657:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4271, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4257, - "src": "16275:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4272, - "name": "MAX_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "16284:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16275:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4270, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16267:25:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4275, - "nodeType": "ExpressionStatement", - "src": "16267:25:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4277, - "name": "baseLog", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16303:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16303:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4278, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16303:15:4" - }, - { - "assignments": [ - 4280 - ], - "declarations": [ - { - "constant": false, - "id": 4280, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16328:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16328:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4286, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4281, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4257, - "src": "16343:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4282, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "16352:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4284, - "name": "_baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4259, - "src": "16362:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16328:40:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4287, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16382:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4288, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3380, - "src": "16389:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16382:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4303, - "nodeType": "Block", - "src": "16471:51:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4297, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16485:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4299, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16506:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4298, - "name": "generalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4429, - "src": "16495:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16495:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16485:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4302, - "nodeType": "ExpressionStatement", - "src": "16485:26:4" - } - ] - }, - "id": 4304, - "nodeType": "IfStatement", - "src": "16378:144:4", - "trueBody": { - "id": 4296, - "nodeType": "Block", - "src": "16406:51:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4290, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4292, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16441:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4291, - "name": "optimalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "16430:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16430:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16420:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4295, - "nodeType": "ExpressionStatement", - "src": "16420:26:4" - } - ] - } - }, - { - "assignments": [ - 4306 - ], - "declarations": [ - { - "constant": false, - "id": 4306, - "name": "baseLogTimesExp", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16532:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16532:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4312, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4307, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16558:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4308, - "name": "_expN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4261, - "src": "16568:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4310, - "name": "_expD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "16576:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16532:49:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4313, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16595:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4314, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3383, - "src": "16613:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16595:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4341, - "nodeType": "Block", - "src": "16720:188:4", - "statements": [ - { - "assignments": [ - 4324 - ], - "declarations": [ - { - "constant": false, - "id": 4324, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16734:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4323, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16734:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4328, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4326, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16778:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4325, - "name": "findPositionInMaxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4559, - "src": "16752:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 4327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16752:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16734:60:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4330, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16827:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4331, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "16847:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4332, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16863:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16847:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16846:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16827:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4336, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16875:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 4329, - "name": "generalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "16816:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8) pure returns (uint256)" - } - }, - "id": 4337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16816:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4338, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16887:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4339, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16815:82:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 4269, - "id": 4340, - "nodeType": "Return", - "src": "16808:89:4" - } - ] - }, - "id": 4342, - "nodeType": "IfStatement", - "src": "16591:317:4", - "trueBody": { - "id": 4322, - "nodeType": "Block", - "src": "16630:76:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4317, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16663:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4316, - "name": "optimalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5796, - "src": "16652:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16652:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4319, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "16681:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4320, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16651:44:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 4269, - "id": 4321, - "nodeType": "Return", - "src": "16644:51:4" - } - ] - } - } - ] - }, - "documentation": "General Description:\nDetermine a value of precision.\nCalculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\nReturn the result along with the precision used.\nDetailed Description:\nInstead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\nThe value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\nThe larger \"precision\" is, the more accurately this value represents the real value.\nHowever, the larger \"precision\" is, the more bits are required in order to store this value.\nAnd the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\nThis maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\nHence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\nThis allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\nThis functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".", - "id": 4344, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "power", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4257, - "name": "_baseN", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16158:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16158:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4259, - "name": "_baseD", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16174:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16174:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4261, - "name": "_expN", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16190:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4260, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16190:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4263, - "name": "_expD", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16204:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4262, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16204:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16157:60:4" - }, - "payable": false, - "returnParameters": { - "id": 4269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4266, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16241:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16241:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16250:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4267, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16250:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16240:16:4" - }, - "scope": 5797, - "src": "16143:771:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4428, - "nodeType": "Block", - "src": "17142:738:4", - "statements": [ - { - "assignments": [ - 4352 - ], - "declarations": [ - { - "constant": false, - "id": 4352, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17152:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17152:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4354, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17166:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17152:15:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4355, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17273:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4356, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3368, - "src": "17278:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17273:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4377, - "nodeType": "IfStatement", - "src": "17269:152:4", - "trueBody": { - "id": 4376, - "nodeType": "Block", - "src": "17287:134:4", - "statements": [ - { - "assignments": [ - 4359 - ], - "declarations": [ - { - "constant": false, - "id": 4359, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17301:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4358, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17301:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4365, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4361, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17325:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4362, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17325:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4360, - "name": "floorLog2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4491, - "src": "17315:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 4364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17315:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17301:36:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4366, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17351:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 4367, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "17357:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4369, - "nodeType": "ExpressionStatement", - "src": "17351:11:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4370, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17389:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4371, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "17395:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4372, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17403:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17395:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17389:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4375, - "nodeType": "ExpressionStatement", - "src": "17389:21:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4378, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17526:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4379, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17530:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4421, - "nodeType": "IfStatement", - "src": "17522:297:4", - "trueBody": { - "id": 4420, - "nodeType": "Block", - "src": "17539:280:4", - "statements": [ - { - "body": { - "id": 4418, - "nodeType": "Block", - "src": "17595:214:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17613:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4392, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17618:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17622:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17618:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4395, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17617:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4396, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17617:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17613:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4399, - "nodeType": "ExpressionStatement", - "src": "17613:21:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4400, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17673:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4401, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3368, - "src": "17678:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17673:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4417, - "nodeType": "IfStatement", - "src": "17669:126:4", - "trueBody": { - "id": 4416, - "nodeType": "Block", - "src": "17687:108:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4403, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17709:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17715:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17709:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4406, - "nodeType": "ExpressionStatement", - "src": "17709:7:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4407, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17755:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4408, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "17762:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17770:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17774:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17770:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4412, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17769:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17762:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17755:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4415, - "nodeType": "ExpressionStatement", - "src": "17755:21:4" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4385, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17583:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17587:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17583:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4419, - "initializationExpression": { - "assignments": [ - 4382 - ], - "declarations": [ - { - "constant": false, - "id": 4382, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17558:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4381, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17558:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4384, - "initialValue": { - "argumentTypes": null, - "id": 4383, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "17568:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17558:23:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 4389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "17590:3:4", - "subExpression": { - "argumentTypes": null, - "id": 4388, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17592:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4390, - "nodeType": "ExpressionStatement", - "src": "17590:3:4" - }, - "nodeType": "ForStatement", - "src": "17553:256:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4422, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17836:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4423, - "name": "LN2_NUMERATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "17842:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4425, - "name": "LN2_DENOMINATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3377, - "src": "17858:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4350, - "id": 4427, - "nodeType": "Return", - "src": "17829:44:4" - } - ] - }, - "documentation": "Compute log(x / FIXED_1) * FIXED_1.\nThis functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.", - "id": 4429, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4346, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17099:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17099:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17098:11:4" - }, - "payable": false, - "returnParameters": { - "id": 4350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4349, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17133:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17133:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17132:9:4" - }, - "scope": 5797, - "src": "17079:801:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4490, - "nodeType": "Block", - "src": "18058:460:4", - "statements": [ - { - "assignments": [ - 4437 - ], - "declarations": [ - { - "constant": false, - "id": 4437, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18068:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4436, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18068:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4439, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18080:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18068:13:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4440, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18096:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 4441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18101:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "18096:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4486, - "nodeType": "Block", - "src": "18262:229:4", - "statements": [ - { - "body": { - "id": 4484, - "nodeType": "Block", - "src": "18348:133:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4468, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18370:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4469, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "18377:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4470, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18384:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18377:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4472, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18376:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18370:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4483, - "nodeType": "IfStatement", - "src": "18366:101:4", - "trueBody": { - "id": 4482, - "nodeType": "Block", - "src": "18388:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4474, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18410:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 4475, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18417:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18410:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4477, - "nodeType": "ExpressionStatement", - "src": "18410:8:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4478, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18440:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "argumentTypes": null, - "id": 4479, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18447:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18440:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4481, - "nodeType": "ExpressionStatement", - "src": "18440:8:4" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4461, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18332:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18336:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18332:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4485, - "initializationExpression": { - "assignments": [ - 4458 - ], - "declarations": [ - { - "constant": false, - "id": 4458, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18317:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4457, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18317:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4460, - "initialValue": { - "argumentTypes": null, - "hexValue": "313238", - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18327:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18317:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4464, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18339:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18345:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18339:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4467, - "nodeType": "ExpressionStatement", - "src": "18339:7:4" - }, - "nodeType": "ForStatement", - "src": "18312:169:4" - } - ] - }, - "id": 4487, - "nodeType": "IfStatement", - "src": "18092:399:4", - "trueBody": { - "id": 4456, - "nodeType": "Block", - "src": "18106:142:4", - "statements": [ - { - "body": { - "id": 4454, - "nodeType": "Block", - "src": "18171:67:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4446, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18189:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18196:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18189:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4449, - "nodeType": "ExpressionStatement", - "src": "18189:8:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4450, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18215:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18222:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18215:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4453, - "nodeType": "ExpressionStatement", - "src": "18215:8:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4443, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18163:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18168:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18163:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4455, - "nodeType": "WhileStatement", - "src": "18156:82:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 4488, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18508:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4435, - "id": 4489, - "nodeType": "Return", - "src": "18501:10:4" - } - ] - }, - "documentation": "Compute the largest integer smaller than or equal to the binary logarithm of the input.", - "id": 4491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "floorLog2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4431, - "name": "_n", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18016:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18016:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:12:4" - }, - "payable": false, - "returnParameters": { - "id": 4435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4434, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18051:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4433, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18051:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18050:7:4" - }, - "scope": 5797, - "src": "17997:521:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4558, - "nodeType": "Block", - "src": "18956:424:4", - "statements": [ - { - "assignments": [ - 4499 - ], - "declarations": [ - { - "constant": false, - "id": 4499, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18966:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4498, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18966:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4501, - "initialValue": { - "argumentTypes": null, - "id": 4500, - "name": "MIN_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "18977:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18966:24:4" - }, - { - "assignments": [ - 4503 - ], - "declarations": [ - { - "constant": false, - "id": 4503, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "19000:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4502, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19000:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4505, - "initialValue": { - "argumentTypes": null, - "id": 4504, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "19011:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19000:24:4" - }, - { - "body": { - "id": 4534, - "nodeType": "Block", - "src": "19055:159:4", - "statements": [ - { - "assignments": [ - 4512 - ], - "declarations": [ - { - "constant": false, - "id": 4512, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "19069:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4511, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19069:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4519, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4513, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19082:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4514, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19087:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19082:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4516, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19081:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 4517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19093:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "19081:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19069:25:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4520, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19112:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4522, - "indexExpression": { - "argumentTypes": null, - "id": 4521, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19124:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19112:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4523, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19132:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19112:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "id": 4531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4529, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19195:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4530, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19200:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19195:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4532, - "nodeType": "ExpressionStatement", - "src": "19195:8:4" - }, - "id": 4533, - "nodeType": "IfStatement", - "src": "19108:95:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4525, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19152:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4526, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19157:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19152:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4528, - "nodeType": "ExpressionStatement", - "src": "19152:8:4" - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4506, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19042:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19047:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19042:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4509, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19051:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19042:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4535, - "nodeType": "WhileStatement", - "src": "19035:179:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4536, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19228:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4538, - "indexExpression": { - "argumentTypes": null, - "id": 4537, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19240:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19228:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4539, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19247:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19228:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4543, - "nodeType": "IfStatement", - "src": "19224:48:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4541, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19270:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4497, - "id": 4542, - "nodeType": "Return", - "src": "19263:9:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4544, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19286:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4546, - "indexExpression": { - "argumentTypes": null, - "id": 4545, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19298:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19286:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4547, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19305:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19286:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4551, - "nodeType": "IfStatement", - "src": "19282:48:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4549, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19328:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4497, - "id": 4550, - "nodeType": "Return", - "src": "19321:9:4" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19349:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "19341:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19341:14:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4555, - "nodeType": "ExpressionStatement", - "src": "19341:14:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19372:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 4497, - "id": 4557, - "nodeType": "Return", - "src": "19365:8:4" - } - ] - }, - "documentation": "The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n- This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n- This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]", - "id": 4559, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "findPositionInMaxExpArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4493, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18914:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18914:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18913:12:4" - }, - "payable": false, - "returnParameters": { - "id": 4497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4496, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18949:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4495, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18949:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:7:4" - }, - "scope": 5797, - "src": "18879:501:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5067, - "nodeType": "Block", - "src": "20020:3744:4", - "statements": [ - { - "assignments": [ - 4569 - ], - "declarations": [ - { - "constant": false, - "id": 4569, - "name": "xi", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20030:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4571, - "initialValue": { - "argumentTypes": null, - "id": 4570, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20043:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20030:15:4" - }, - { - "assignments": [ - 4573 - ], - "declarations": [ - { - "constant": false, - "id": 4573, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20055:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20055:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4575, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20069:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20055:15:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4576, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20081:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4577, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20087:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4578, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20092:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20087:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4580, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20086:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4581, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20099:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20086:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20081:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4584, - "nodeType": "ExpressionStatement", - "src": "20081:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4585, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20111:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4586, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20118:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307833343432633465363037346138326631373937663732616330303030303030", - "id": 4587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20123:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4341658809405943247759097200640000000_by_1", - "typeString": "int_const 4341...(29 digits omitted)...0000" - }, - "value": "0x3442c4e6074a82f1797f72ac0000000" - }, - "src": "20118:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20111:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4590, - "nodeType": "ExpressionStatement", - "src": "20111:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4591, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20192:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4592, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20198:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4593, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20203:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20198:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4595, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20197:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4596, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20210:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20197:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20192:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4599, - "nodeType": "ExpressionStatement", - "src": "20192:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4600, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20222:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4601, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20229:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831313662393666373537633338306662323837666430653430303030303030", - "id": 4602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20234:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1447219603135314415919699066880000000_by_1", - "typeString": "int_const 1447...(29 digits omitted)...0000" - }, - "value": "0x116b96f757c380fb287fd0e40000000" - }, - "src": "20229:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20222:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4605, - "nodeType": "ExpressionStatement", - "src": "20222:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4606, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20303:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4607, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20309:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4608, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20314:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4610, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20308:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4611, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20321:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20308:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20303:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4614, - "nodeType": "ExpressionStatement", - "src": "20303:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4615, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20333:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4616, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20340:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830343561653562646435663065303365636131666634333930303030303030", - "id": 4617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20345:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_361804900783828603979924766720000000_by_1", - "typeString": "int_const 3618...(28 digits omitted)...0000" - }, - "value": "0x045ae5bdd5f0e03eca1ff4390000000" - }, - "src": "20340:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20333:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4620, - "nodeType": "ExpressionStatement", - "src": "20333:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4621, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20414:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4622, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20420:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4623, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20425:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4625, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20419:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4626, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20432:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20419:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20414:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4629, - "nodeType": "ExpressionStatement", - "src": "20414:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4630, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20444:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4631, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20451:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830306465666162663931333032636439356239666664613530303030303030", - "id": 4632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20456:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72360980156765720795984953344000000_by_1", - "typeString": "int_const 7236...(27 digits omitted)...0000" - }, - "value": "0x00defabf91302cd95b9ffda50000000" - }, - "src": "20451:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20444:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4635, - "nodeType": "ExpressionStatement", - "src": "20444:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4636, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20525:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4637, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20531:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4638, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20536:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4640, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20530:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4641, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20543:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20530:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20525:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4644, - "nodeType": "ExpressionStatement", - "src": "20525:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4645, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20555:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4646, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20562:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303235323963613938333262323234333965666666396238303030303030", - "id": 4647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20567:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12060163359460953465997492224000000_by_1", - "typeString": "int_const 1206...(27 digits omitted)...0000" - }, - "value": "0x002529ca9832b22439efff9b8000000" - }, - "src": "20562:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20555:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4650, - "nodeType": "ExpressionStatement", - "src": "20555:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4651, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20636:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4652, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20642:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4653, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20647:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4655, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20641:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4656, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20654:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20641:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20636:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4659, - "nodeType": "ExpressionStatement", - "src": "20636:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4660, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20666:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4661, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20673:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303035346631636631326264303465353136623664613838303030303030", - "id": 4662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20678:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1722880479922993352285356032000000_by_1", - "typeString": "int_const 1722...(26 digits omitted)...0000" - }, - "value": "0x00054f1cf12bd04e516b6da88000000" - }, - "src": "20673:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20666:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4665, - "nodeType": "ExpressionStatement", - "src": "20666:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4666, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20747:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4667, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20753:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4668, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20758:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20753:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4670, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20752:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4671, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20765:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20752:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20747:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4674, - "nodeType": "ExpressionStatement", - "src": "20747:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4675, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20777:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4676, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20784:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030613965333965323537613039636132643664623531303030303030", - "id": 4677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20789:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_215360059990374169035669504000000_by_1", - "typeString": "int_const 2153...(25 digits omitted)...0000" - }, - "value": "0x0000a9e39e257a09ca2d6db51000000" - }, - "src": "20784:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20777:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4680, - "nodeType": "ExpressionStatement", - "src": "20777:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4681, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20858:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4682, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20864:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4683, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20869:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20864:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4685, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20863:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4686, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20876:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20863:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20858:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4689, - "nodeType": "ExpressionStatement", - "src": "20858:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4690, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20888:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4691, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20895:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030313265303636653762383339666130353063333039303030303030", - "id": 4692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20900:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_23928895554486018781741056000000_by_1", - "typeString": "int_const 23928895554486018781741056000000" - }, - "value": "0x000012e066e7b839fa050c309000000" - }, - "src": "20895:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20888:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4695, - "nodeType": "ExpressionStatement", - "src": "20888:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4696, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20969:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4697, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20975:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4698, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20980:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20975:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4700, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20974:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4701, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20987:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20974:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20969:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4704, - "nodeType": "ExpressionStatement", - "src": "20969:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4705, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20999:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4706, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21006:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303165333364376439323663333239613161643161383030303030", - "id": 4707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21011:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2392889555448601878174105600000_by_1", - "typeString": "int_const 2392889555448601878174105600000" - }, - "value": "0x000001e33d7d926c329a1ad1a800000" - }, - "src": "21006:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20999:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4710, - "nodeType": "ExpressionStatement", - "src": "20999:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4711, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21080:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4712, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21086:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4713, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21091:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21086:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4715, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21085:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4716, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21098:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21085:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21080:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4719, - "nodeType": "ExpressionStatement", - "src": "21080:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4720, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21110:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4721, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21117:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303032626565353133626462346136623139623566383030303030", - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21122:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_217535414131691079834009600000_by_1", - "typeString": "int_const 217535414131691079834009600000" - }, - "value": "0x0000002bee513bdb4a6b19b5f800000" - }, - "src": "21117:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21110:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4725, - "nodeType": "ExpressionStatement", - "src": "21110:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4726, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21191:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4727, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21197:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4728, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21202:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21197:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4730, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21196:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4731, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21209:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21196:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21191:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4734, - "nodeType": "ExpressionStatement", - "src": "21191:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4735, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21221:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4736, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21228:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030336139333136666137396238386563636632613030303030", - "id": 4737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21233:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18127951177640923319500800000_by_1", - "typeString": "int_const 18127951177640923319500800000" - }, - "value": "0x00000003a9316fa79b88eccf2a00000" - }, - "src": "21228:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21221:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "21221:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4741, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21302:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4742, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21308:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4743, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21313:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21308:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4745, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21307:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4746, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21320:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21307:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21302:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4749, - "nodeType": "ExpressionStatement", - "src": "21302:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4750, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21332:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4751, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21339:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303438313737656265316661383132333735323030303030", - "id": 4752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21344:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1394457782895455639961600000_by_1", - "typeString": "int_const 1394457782895455639961600000" - }, - "value": "0x0000000048177ebe1fa812375200000" - }, - "src": "21339:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21332:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4755, - "nodeType": "ExpressionStatement", - "src": "21332:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4756, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21413:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4757, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21419:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4758, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21424:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21419:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4760, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21418:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4761, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21431:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21418:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21413:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4764, - "nodeType": "ExpressionStatement", - "src": "21413:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4765, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21443:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4766, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21450:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303035323633666539303234326463626163663030303030", - "id": 4767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21455:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99604127349675402854400000_by_1", - "typeString": "int_const 99604127349675402854400000" - }, - "value": "0x0000000005263fe90242dcbacf00000" - }, - "src": "21450:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21443:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4770, - "nodeType": "ExpressionStatement", - "src": "21443:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4771, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21524:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4772, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21530:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4773, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21535:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21530:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4775, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21529:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4776, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21542:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21529:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21524:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4779, - "nodeType": "ExpressionStatement", - "src": "21524:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4780, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21554:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4781, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21561:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030353765323230393963303330643934313030303030", - "id": 4782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21566:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6640275156645026856960000_by_1", - "typeString": "int_const 6640275156645026856960000" - }, - "value": "0x000000000057e22099c030d94100000" - }, - "src": "21561:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21554:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4785, - "nodeType": "ExpressionStatement", - "src": "21554:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4786, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21635:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4787, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21641:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4788, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21646:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21641:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4790, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21640:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4791, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21653:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21640:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21635:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4794, - "nodeType": "ExpressionStatement", - "src": "21635:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4795, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21665:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4796, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21672:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303537653232303939633033306439343130303030", - "id": 4797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21677:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_415017197290314178560000_by_1", - "typeString": "int_const 415017197290314178560000" - }, - "value": "0x0000000000057e22099c030d9410000" - }, - "src": "21672:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21665:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4800, - "nodeType": "ExpressionStatement", - "src": "21665:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4801, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21746:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4802, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21752:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4803, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21757:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21752:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4805, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21751:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4806, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21764:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21751:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21746:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4809, - "nodeType": "ExpressionStatement", - "src": "21746:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4810, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21776:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4811, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21783:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303035326236623534353639393736333130303030", - "id": 4812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24412776311194951680000_by_1", - "typeString": "int_const 24412776311194951680000" - }, - "value": "0x00000000000052b6b54569976310000" - }, - "src": "21783:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21776:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4815, - "nodeType": "ExpressionStatement", - "src": "21776:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4816, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21857:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4817, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21863:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4818, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21868:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21863:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4820, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21862:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4821, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21875:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21862:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21857:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4824, - "nodeType": "ExpressionStatement", - "src": "21857:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4825, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21887:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4826, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21894:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030343938356636373639366266373438303030", - "id": 4827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21899:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1356265350621941760000_by_1", - "typeString": "int_const 1356265350621941760000" - }, - "value": "0x00000000000004985f67696bf748000" - }, - "src": "21894:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21887:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4830, - "nodeType": "ExpressionStatement", - "src": "21887:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4831, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21968:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4832, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21974:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4833, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21979:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21974:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4835, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21973:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4836, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21986:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21973:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21968:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4839, - "nodeType": "ExpressionStatement", - "src": "21968:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4840, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21998:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4841, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22005:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303364656131326561393965343938303030", - "id": 4842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22010:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71382386874839040000_by_1", - "typeString": "int_const 71382386874839040000" - }, - "value": "0x000000000000003dea12ea99e498000" - }, - "src": "22005:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21998:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4845, - "nodeType": "ExpressionStatement", - "src": "21998:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4846, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22079:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4847, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22085:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4848, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22090:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22085:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4850, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22084:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4851, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22097:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22084:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22079:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4854, - "nodeType": "ExpressionStatement", - "src": "22079:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4855, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22109:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4856, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22116:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303033313838306632323134623665303030", - "id": 4857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22121:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3569119343741952000_by_1", - "typeString": "int_const 3569119343741952000" - }, - "value": "0x00000000000000031880f2214b6e000" - }, - "src": "22116:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22109:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4860, - "nodeType": "ExpressionStatement", - "src": "22109:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4861, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22190:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4862, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22196:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4863, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22201:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4865, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22195:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4866, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22208:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22195:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22190:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4869, - "nodeType": "ExpressionStatement", - "src": "22190:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4870, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22220:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4871, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22227:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030323562636666353665623336303030", - "id": 4872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22232:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_169958063987712000_by_1", - "typeString": "int_const 169958063987712000" - }, - "value": "0x000000000000000025bcff56eb36000" - }, - "src": "22227:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22220:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4875, - "nodeType": "ExpressionStatement", - "src": "22220:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4876, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22301:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4877, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22307:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22312:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22307:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4880, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22306:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4881, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22319:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22306:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22301:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4884, - "nodeType": "ExpressionStatement", - "src": "22301:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4885, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22331:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4886, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22338:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303162373232653130616231303030", - "id": 4887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22343:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7725366544896000_by_1", - "typeString": "int_const 7725366544896000" - }, - "value": "0x000000000000000001b722e10ab1000" - }, - "src": "22338:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22331:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4890, - "nodeType": "ExpressionStatement", - "src": "22331:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4891, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22412:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4892, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22418:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4893, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22423:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22418:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4895, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22417:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4896, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22430:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22417:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22412:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4899, - "nodeType": "ExpressionStatement", - "src": "22412:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4900, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22442:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4901, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22449:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303031333137633730303737303030", - "id": 4902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22454:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_335885501952000_by_1", - "typeString": "int_const 335885501952000" - }, - "value": "0x0000000000000000001317c70077000" - }, - "src": "22449:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22442:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4905, - "nodeType": "ExpressionStatement", - "src": "22442:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4906, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22523:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4907, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22529:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4908, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22534:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22529:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4910, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22528:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4911, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22541:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22528:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22523:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4914, - "nodeType": "ExpressionStatement", - "src": "22523:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4915, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22553:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4916, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22560:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030306362613834616166613030", - "id": 4917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22565:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13995229248000_by_1", - "typeString": "int_const 13995229248000" - }, - "value": "0x00000000000000000000cba84aafa00" - }, - "src": "22560:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22553:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4920, - "nodeType": "ExpressionStatement", - "src": "22553:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4921, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22634:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4922, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22640:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4923, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22645:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4925, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22639:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4926, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22652:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22639:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22634:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4929, - "nodeType": "ExpressionStatement", - "src": "22634:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4930, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22664:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4931, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22671:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303038323537336130613030", - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22676:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_559809169920_by_1", - "typeString": "int_const 559809169920" - }, - "value": "0x00000000000000000000082573a0a00" - }, - "src": "22671:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22664:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4935, - "nodeType": "ExpressionStatement", - "src": "22664:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4936, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22745:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4937, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22751:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4938, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22756:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22751:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4940, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22750:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4941, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22763:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22750:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22745:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4944, - "nodeType": "ExpressionStatement", - "src": "22745:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4945, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22775:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4946, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22782:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030353033356164393030", - "id": 4947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22787:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21531121920_by_1", - "typeString": "int_const 21531121920" - }, - "value": "0x00000000000000000000005035ad900" - }, - "src": "22782:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22775:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4950, - "nodeType": "ExpressionStatement", - "src": "22775:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4951, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22856:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4952, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22862:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4953, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22867:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22862:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22861:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22874:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22861:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22856:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4959, - "nodeType": "ExpressionStatement", - "src": "22856:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4960, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22886:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4961, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22893:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303266383831623030", - "id": 4962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22898:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_797448960_by_1", - "typeString": "int_const 797448960" - }, - "value": "0x000000000000000000000002f881b00" - }, - "src": "22893:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22886:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4965, - "nodeType": "ExpressionStatement", - "src": "22886:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4966, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22967:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4967, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22973:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4968, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22978:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22972:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4971, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22985:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22972:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22967:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4974, - "nodeType": "ExpressionStatement", - "src": "22967:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22997:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23004:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303031623239333430", - "id": 4977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23009:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28480320_by_1", - "typeString": "int_const 28480320" - }, - "value": "0x0000000000000000000000001b29340" - }, - "src": "23004:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22997:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4980, - "nodeType": "ExpressionStatement", - "src": "22997:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4981, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23078:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4982, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23084:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23089:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23084:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23083:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4986, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23096:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23083:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23078:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4989, - "nodeType": "ExpressionStatement", - "src": "23078:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4990, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23108:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4991, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23115:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030306566633430", - "id": 4992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23120:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_982080_by_1", - "typeString": "int_const 982080" - }, - "value": "0x00000000000000000000000000efc40" - }, - "src": "23115:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23108:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4995, - "nodeType": "ExpressionStatement", - "src": "23108:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4996, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23189:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4997, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23195:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4998, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23200:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23195:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5000, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23194:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5001, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23207:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23194:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23189:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5004, - "nodeType": "ExpressionStatement", - "src": "23189:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5005, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23219:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5006, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23226:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303037666530", - "id": 5007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23231:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32736_by_1", - "typeString": "int_const 32736" - }, - "value": "0x0000000000000000000000000007fe0" - }, - "src": "23226:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23219:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5010, - "nodeType": "ExpressionStatement", - "src": "23219:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5011, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23300:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5012, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23306:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5013, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23311:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5015, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23305:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5016, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23318:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23305:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23300:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5019, - "nodeType": "ExpressionStatement", - "src": "23300:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5020, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23330:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5021, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23337:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030343230", - "id": 5022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23342:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1056_by_1", - "typeString": "int_const 1056" - }, - "value": "0x0000000000000000000000000000420" - }, - "src": "23337:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23330:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5025, - "nodeType": "ExpressionStatement", - "src": "23330:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5026, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23411:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5027, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23417:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5028, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23422:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23417:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5030, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23416:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23429:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23416:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23411:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5034, - "nodeType": "ExpressionStatement", - "src": "23411:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5035, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23441:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5036, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23448:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303231", - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23453:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "0x0000000000000000000000000000021" - }, - "src": "23448:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23441:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5040, - "nodeType": "ExpressionStatement", - "src": "23441:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5041, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23522:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5042, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23528:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5043, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23533:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5045, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23527:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5046, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23540:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23527:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23522:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5049, - "nodeType": "ExpressionStatement", - "src": "23522:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5050, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23552:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5051, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23559:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303031", - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23564:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000000000000000000001" - }, - "src": "23559:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23552:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5055, - "nodeType": "ExpressionStatement", - "src": "23552:45:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5056, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23641:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307836383835383963633065393530356532663266656535353830303030303030", - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23647:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8683317618811886495518194401280000000_by_1", - "typeString": "int_const 8683...(29 digits omitted)...0000" - }, - "value": "0x688589cc0e9505e2f2fee5580000000" - }, - "src": "23641:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5059, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23683:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5061, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "23689:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 5062, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23696:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23689:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5064, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23688:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:66:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4567, - "id": 5066, - "nodeType": "Return", - "src": "23634:73:4" - } - ] - }, - "documentation": "This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\nIt approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\nIt returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\nThe global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\nThe maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".", - "id": 5068, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4561, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "19958:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19958:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4563, - "name": "_precision", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "19970:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4562, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19970:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19957:30:4" - }, - "payable": false, - "returnParameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4566, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20011:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20011:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20010:9:4" - }, - "scope": 5797, - "src": "19938:3826:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5386, - "nodeType": "Block", - "src": "24549:2707:4", - "statements": [ - { - "assignments": [ - 5076 - ], - "declarations": [ - { - "constant": false, - "id": 5076, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24559:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24559:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5078, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24573:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24559:15:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5080, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24585:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24585:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5081, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24585:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5083, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24604:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5084, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24604:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24623:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24623:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5087, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24623:9:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5088, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24647:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24652:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24647:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5104, - "nodeType": "IfStatement", - "src": "24643:143:4", - "trueBody": { - "id": 5103, - "nodeType": "Block", - "src": "24688:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5091, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "24689:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783430303030303030303030303030303030303030303030303030303030303030", - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24696:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x40000000000000000000000000000000" - }, - "src": "24689:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5094, - "nodeType": "ExpressionStatement", - "src": "24689:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5095, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24732:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5096, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24736:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5097, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "24740:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24736:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24750:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24736:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24732:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5102, - "nodeType": "ExpressionStatement", - "src": "24732:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5105, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24814:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24819:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24814:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5121, - "nodeType": "IfStatement", - "src": "24810:143:4", - "trueBody": { - "id": 5120, - "nodeType": "Block", - "src": "24855:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5108, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "24856:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783230303030303030303030303030303030303030303030303030303030303030", - "id": 5109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24863:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x20000000000000000000000000000000" - }, - "src": "24856:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5111, - "nodeType": "ExpressionStatement", - "src": "24856:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5112, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24899:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5113, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24903:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5114, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "24907:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24903:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 5116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24917:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24903:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24899:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5119, - "nodeType": "ExpressionStatement", - "src": "24899:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5122, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24981:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 5123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24986:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "24981:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5138, - "nodeType": "IfStatement", - "src": "24977:143:4", - "trueBody": { - "id": 5137, - "nodeType": "Block", - "src": "25022:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25023:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25030:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "25023:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5128, - "nodeType": "ExpressionStatement", - "src": "25023:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5129, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25066:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5130, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25070:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5131, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25074:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25070:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "25070:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25066:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5136, - "nodeType": "ExpressionStatement", - "src": "25066:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5139, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25148:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 5140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25153:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25148:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5155, - "nodeType": "IfStatement", - "src": "25144:143:4", - "trueBody": { - "id": 5154, - "nodeType": "Block", - "src": "25189:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5142, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25190:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783038303030303030303030303030303030303030303030303030303030303030", - "id": 5143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25197:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10633823966279326983230456482242756608_by_1", - "typeString": "int_const 1063...(30 digits omitted)...6608" - }, - "value": "0x08000000000000000000000000000000" - }, - "src": "25190:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5145, - "nodeType": "ExpressionStatement", - "src": "25190:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5146, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25233:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5147, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25237:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5148, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25241:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25237:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25251:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25237:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25233:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5153, - "nodeType": "ExpressionStatement", - "src": "25233:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5156, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25315:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 5157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25320:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25315:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5172, - "nodeType": "IfStatement", - "src": "25311:143:4", - "trueBody": { - "id": 5171, - "nodeType": "Block", - "src": "25356:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5159, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25357:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783034303030303030303030303030303030303030303030303030303030303030", - "id": 5160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25364:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5316911983139663491615228241121378304_by_1", - "typeString": "int_const 5316...(29 digits omitted)...8304" - }, - "value": "0x04000000000000000000000000000000" - }, - "src": "25357:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5162, - "nodeType": "ExpressionStatement", - "src": "25357:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5163, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25400:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5164, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25404:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5165, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25408:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25404:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 5167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25418:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25404:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25400:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5170, - "nodeType": "ExpressionStatement", - "src": "25400:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5173, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25482:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 5174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25487:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25482:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5189, - "nodeType": "IfStatement", - "src": "25478:143:4", - "trueBody": { - "id": 5188, - "nodeType": "Block", - "src": "25523:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5176, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25524:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783032303030303030303030303030303030303030303030303030303030303030", - "id": 5177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25531:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2658455991569831745807614120560689152_by_1", - "typeString": "int_const 2658...(29 digits omitted)...9152" - }, - "value": "0x02000000000000000000000000000000" - }, - "src": "25524:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5179, - "nodeType": "ExpressionStatement", - "src": "25524:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5180, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25567:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5181, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25571:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5182, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25575:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25571:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25585:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25571:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25567:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5187, - "nodeType": "ExpressionStatement", - "src": "25567:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5190, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25649:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25654:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25649:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5206, - "nodeType": "IfStatement", - "src": "25645:143:4", - "trueBody": { - "id": 5205, - "nodeType": "Block", - "src": "25690:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5193, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25691:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783031303030303030303030303030303030303030303030303030303030303030", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25698:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1329227995784915872903807060280344576_by_1", - "typeString": "int_const 1329...(29 digits omitted)...4576" - }, - "value": "0x01000000000000000000000000000000" - }, - "src": "25691:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5196, - "nodeType": "ExpressionStatement", - "src": "25691:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5197, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5198, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25738:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5199, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25742:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25738:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25752:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25738:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25734:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5204, - "nodeType": "ExpressionStatement", - "src": "25734:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5207, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25816:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25821:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25816:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5223, - "nodeType": "IfStatement", - "src": "25812:143:4", - "trueBody": { - "id": 5222, - "nodeType": "Block", - "src": "25857:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5210, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25858:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783030383030303030303030303030303030303030303030303030303030303030", - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25865:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_664613997892457936451903530140172288_by_1", - "typeString": "int_const 6646...(28 digits omitted)...2288" - }, - "value": "0x00800000000000000000000000000000" - }, - "src": "25858:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5213, - "nodeType": "ExpressionStatement", - "src": "25858:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5214, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25901:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5215, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25905:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5216, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25909:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25905:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25919:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25905:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25901:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5221, - "nodeType": "ExpressionStatement", - "src": "25901:52:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5224, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "25980:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5225, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "25984:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5226, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25988:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5227, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25992:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25988:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25984:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25980:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5231, - "nodeType": "ExpressionStatement", - "src": "25980:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5232, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26009:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5233, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26013:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5234, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26017:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5236, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26021:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26009:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5239, - "nodeType": "ExpressionStatement", - "src": "26009:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5240, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26038:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5241, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26045:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26050:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5243, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26088:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26050:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5245, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26049:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26045:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26093:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "26045:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26038:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "26038:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5251, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26130:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5252, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26134:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5253, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26138:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5255, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26142:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26130:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "26130:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5259, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26188:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5260, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26195:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078306161616161616161616161616161616161616161616161616161616161616161", - "id": 5261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26200:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_226854911280625642308916404954512140970_by_1", - "typeString": "int_const 2268...(31 digits omitted)...0970" - }, - "value": "0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5262, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26238:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26200:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5264, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26199:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26195:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 5266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26243:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "26195:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26188:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "nodeType": "ExpressionStatement", - "src": "26188:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5270, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26280:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5271, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26284:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5272, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26288:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5274, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26292:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26280:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5277, - "nodeType": "ExpressionStatement", - "src": "26280:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5278, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26338:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5279, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26345:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303939393939393939393939393939393939393939393939393939393939393939", - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26350:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204169420152563078078024764459060926873_by_1", - "typeString": "int_const 2041...(31 digits omitted)...6873" - }, - "value": "0x099999999999999999999999999999999" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5281, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26388:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26350:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26349:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26345:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078333030303030303030303030303030303030303030303030303030303030303030", - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26393:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1020847100762815390390123822295304634368_by_1", - "typeString": "int_const 1020...(32 digits omitted)...4368" - }, - "value": "0x300000000000000000000000000000000" - }, - "src": "26345:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26338:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5288, - "nodeType": "ExpressionStatement", - "src": "26338:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5289, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26430:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5290, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26434:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5291, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26438:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5293, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26442:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26430:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5296, - "nodeType": "ExpressionStatement", - "src": "26430:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5297, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26488:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5298, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26495:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303932343932343932343932343932343932343932343932343932343932343932", - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26500:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_194447066811964836264785489961010406546_by_1", - "typeString": "int_const 1944...(31 digits omitted)...6546" - }, - "value": "0x092492492492492492492492492492492" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5300, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26538:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26500:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5302, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26499:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26495:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26543:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "26495:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26488:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5307, - "nodeType": "ExpressionStatement", - "src": "26488:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5308, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26580:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5309, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26584:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5310, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26588:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5312, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26592:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26580:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5315, - "nodeType": "ExpressionStatement", - "src": "26580:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5316, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26638:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5317, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26645:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303865333865333865333865333865333865333865333865333865333865333865", - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26650:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_189045759400521368590763670795426784142_by_1", - "typeString": "int_const 1890...(31 digits omitted)...4142" - }, - "value": "0x08e38e38e38e38e38e38e38e38e38e38e" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5319, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26688:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26650:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5321, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26649:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26645:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078353030303030303030303030303030303030303030303030303030303030303030", - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26693:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1701411834604692317316873037158841057280_by_1", - "typeString": "int_const 1701...(32 digits omitted)...7280" - }, - "value": "0x500000000000000000000000000000000" - }, - "src": "26645:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26638:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5326, - "nodeType": "ExpressionStatement", - "src": "26638:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5327, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26730:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5328, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5329, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26738:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5331, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26742:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26730:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5334, - "nodeType": "ExpressionStatement", - "src": "26730:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5335, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26788:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5336, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26795:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303862613265386261326538626132653862613265386261326538626132653862", - "id": 5337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26800:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185608563775057343707295240417328115339_by_1", - "typeString": "int_const 1856...(31 digits omitted)...5339" - }, - "value": "0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5338, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26838:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26800:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5340, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26799:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26795:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078363030303030303030303030303030303030303030303030303030303030303030", - "id": 5342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26843:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2041694201525630780780247644590609268736_by_1", - "typeString": "int_const 2041...(32 digits omitted)...8736" - }, - "value": "0x600000000000000000000000000000000" - }, - "src": "26795:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26788:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "nodeType": "ExpressionStatement", - "src": "26788:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5346, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26880:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5347, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26884:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5348, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26888:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5350, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26892:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26880:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5353, - "nodeType": "ExpressionStatement", - "src": "26880:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5354, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26938:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5355, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26945:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303839643839643839643839643839643839643839643839643839643839643839", - "id": 5356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_183228966803582249557201711694029036937_by_1", - "typeString": "int_const 1832...(31 digits omitted)...6937" - }, - "value": "0x089d89d89d89d89d89d89d89d89d89d89" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26988:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26950:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26949:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26945:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078373030303030303030303030303030303030303030303030303030303030303030", - "id": 5361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26993:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2381976568446569244243622252022377480192_by_1", - "typeString": "int_const 2381...(32 digits omitted)...0192" - }, - "value": "0x700000000000000000000000000000000" - }, - "src": "26945:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26938:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5364, - "nodeType": "ExpressionStatement", - "src": "26938:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5365, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27030:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5366, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27034:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5367, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "27038:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5369, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "27042:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27030:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5372, - "nodeType": "ExpressionStatement", - "src": "27030:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "27088:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5374, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27095:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303838383838383838383838383838383838383838383838383838383838383838", - "id": 5375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27100:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181483929024500513847133123963609712776_by_1", - "typeString": "int_const 1814...(31 digits omitted)...2776" - }, - "value": "0x088888888888888888888888888888888" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5376, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "27138:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27100:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27099:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27095:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27143:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "src": "27095:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27088:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5383, - "nodeType": "ExpressionStatement", - "src": "27088:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5384, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "27246:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5074, - "id": 5385, - "nodeType": "Return", - "src": "27239:10:4" - } - ] - }, - "documentation": "Return log(x / FIXED_1) * FIXED_1\nInput range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalLog.py'\nDetailed description:\n- Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n- The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n- The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n- The natural logarithm of the input is calculated by summing up the intermediate results above\n- For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)", - "id": 5387, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5070, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24506:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24506:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24505:11:4" - }, - "payable": false, - "returnParameters": { - "id": 5074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5073, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24540:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24540:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24539:9:4" - }, - "scope": 5797, - "src": "24486:2770:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5795, - "nodeType": "Block", - "src": "27996:3116:4", - "statements": [ - { - "assignments": [ - 5395 - ], - "declarations": [ - { - "constant": false, - "id": 5395, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28006:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28006:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5397, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28020:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28006:15:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5399, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28032:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5398, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28032:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28032:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5402, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28051:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28051:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5403, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28051:9:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5404, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28071:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28075:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5406, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "28079:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "28079:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28075:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28071:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "28071:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5412, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28158:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5413, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28162:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5414, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28166:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5416, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28170:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28158:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5419, - "nodeType": "ExpressionStatement", - "src": "28158:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5420, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28179:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5421, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28186:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831306531623362653431356130303030", - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28190:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1216451004088320000_by_1", - "typeString": "int_const 1216451004088320000" - }, - "value": "0x10e1b3be415a0000" - }, - "src": "28186:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28179:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5425, - "nodeType": "ExpressionStatement", - "src": "28179:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5426, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28244:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5427, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28248:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5428, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28252:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5430, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28256:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28244:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5433, - "nodeType": "ExpressionStatement", - "src": "28244:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5434, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28265:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5435, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28272:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830356130393133663662316530303030", - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28276:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_405483668029440000_by_1", - "typeString": "int_const 405483668029440000" - }, - "value": "0x05a0913f6b1e0000" - }, - "src": "28272:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28265:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "nodeType": "ExpressionStatement", - "src": "28265:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5440, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28330:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5441, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28334:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5442, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28338:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5444, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28342:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28330:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5447, - "nodeType": "ExpressionStatement", - "src": "28330:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5448, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28351:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28358:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830313638323434666461633738303030", - "id": 5450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28362:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101370917007360000_by_1", - "typeString": "int_const 101370917007360000" - }, - "value": "0x0168244fdac78000" - }, - "src": "28358:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28351:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5453, - "nodeType": "ExpressionStatement", - "src": "28351:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5454, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28416:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5455, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28420:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5456, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28424:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5458, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28428:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28416:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "28416:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5462, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28437:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5463, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28444:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303438303734333262633138303030", - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28448:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20274183401472000_by_1", - "typeString": "int_const 20274183401472000" - }, - "value": "0x004807432bc18000" - }, - "src": "28444:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28437:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5467, - "nodeType": "ExpressionStatement", - "src": "28437:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5468, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28502:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5469, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28506:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5470, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28510:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5472, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28514:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28502:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5475, - "nodeType": "ExpressionStatement", - "src": "28502:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5476, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28523:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5477, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28530:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303063303133356463613034303030", - "id": 5478, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28534:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3379030566912000_by_1", - "typeString": "int_const 3379030566912000" - }, - "value": "0x000c0135dca04000" - }, - "src": "28530:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28523:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "28523:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5482, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28588:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5483, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28592:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5484, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28596:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5486, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28600:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28588:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5489, - "nodeType": "ExpressionStatement", - "src": "28588:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5490, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28609:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5491, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28616:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303031623730376231636463303030", - "id": 5492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28620:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_482718652416000_by_1", - "typeString": "int_const 482718652416000" - }, - "value": "0x0001b707b1cdc000" - }, - "src": "28616:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28609:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5495, - "nodeType": "ExpressionStatement", - "src": "28609:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5496, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28674:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5497, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28678:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5498, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28682:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5500, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28686:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28674:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "nodeType": "ExpressionStatement", - "src": "28674:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5504, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28695:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5505, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28702:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030333665306636333962383030", - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28706:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60339831552000_by_1", - "typeString": "int_const 60339831552000" - }, - "value": "0x000036e0f639b800" - }, - "src": "28702:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28695:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5509, - "nodeType": "ExpressionStatement", - "src": "28695:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5510, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28760:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5511, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28764:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28768:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5514, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28772:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28760:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5517, - "nodeType": "ExpressionStatement", - "src": "28760:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5518, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28781:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5519, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28788:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303631386665653966383030", - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28792:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6704425728000_by_1", - "typeString": "int_const 6704425728000" - }, - "value": "0x00000618fee9f800" - }, - "src": "28788:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28781:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5523, - "nodeType": "ExpressionStatement", - "src": "28781:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5524, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28846:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5525, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28850:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5526, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28854:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5528, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28858:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28846:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5531, - "nodeType": "ExpressionStatement", - "src": "28846:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5532, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28867:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5533, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28874:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303039633139376463633030", - "id": 5534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28878:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_670442572800_by_1", - "typeString": "int_const 670442572800" - }, - "value": "0x0000009c197dcc00" - }, - "src": "28874:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28867:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5537, - "nodeType": "ExpressionStatement", - "src": "28867:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5538, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28932:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5539, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28936:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5540, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28940:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5542, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28932:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5545, - "nodeType": "ExpressionStatement", - "src": "28932:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5546, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28953:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5547, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28960:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030653330646365343030", - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28964:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60949324800_by_1", - "typeString": "int_const 60949324800" - }, - "value": "0x0000000e30dce400" - }, - "src": "28960:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28953:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5551, - "nodeType": "ExpressionStatement", - "src": "28953:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5552, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29018:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5553, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29022:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5554, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29026:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5556, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29018:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5559, - "nodeType": "ExpressionStatement", - "src": "29018:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5560, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29039:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5561, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29046:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030313265626431333030", - "id": 5562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29050:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5079110400_by_1", - "typeString": "int_const 5079110400" - }, - "value": "0x000000012ebd1300" - }, - "src": "29046:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29039:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5565, - "nodeType": "ExpressionStatement", - "src": "29039:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5566, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29104:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5567, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29108:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5568, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29112:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5570, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29116:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29104:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "29104:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5574, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29125:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5575, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29132:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303137343939663030", - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29136:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_390700800_by_1", - "typeString": "int_const 390700800" - }, - "value": "0x0000000017499f00" - }, - "src": "29132:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29125:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "29125:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5580, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29190:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5581, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29194:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5582, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29198:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5584, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29202:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29190:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5587, - "nodeType": "ExpressionStatement", - "src": "29190:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5588, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29211:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5589, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29218:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303031613964343830", - "id": 5590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29222:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27907200_by_1", - "typeString": "int_const 27907200" - }, - "value": "0x0000000001a9d480" - }, - "src": "29218:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29211:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5593, - "nodeType": "ExpressionStatement", - "src": "29211:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5594, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29276:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5595, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29280:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5596, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29284:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5598, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29288:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29276:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5601, - "nodeType": "ExpressionStatement", - "src": "29276:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5602, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29297:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5603, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29304:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030316336333830", - "id": 5604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29308:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1860480_by_1", - "typeString": "int_const 1860480" - }, - "value": "0x00000000001c6380" - }, - "src": "29304:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29297:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5607, - "nodeType": "ExpressionStatement", - "src": "29297:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5608, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29362:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5609, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29366:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5610, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29370:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5612, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29374:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29362:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5615, - "nodeType": "ExpressionStatement", - "src": "29362:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5616, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29383:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5617, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29390:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303163363338", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29394:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116280_by_1", - "typeString": "int_const 116280" - }, - "value": "0x000000000001c638" - }, - "src": "29390:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29383:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5621, - "nodeType": "ExpressionStatement", - "src": "29383:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5622, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29448:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5623, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29452:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5624, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29456:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5626, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29460:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29448:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5629, - "nodeType": "ExpressionStatement", - "src": "29448:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29469:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5631, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29476:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303031616238", - "id": 5632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29480:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6840_by_1", - "typeString": "int_const 6840" - }, - "value": "0x0000000000001ab8" - }, - "src": "29476:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29469:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5635, - "nodeType": "ExpressionStatement", - "src": "29469:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29534:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5637, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29538:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5638, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29542:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5640, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29534:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5643, - "nodeType": "ExpressionStatement", - "src": "29534:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5644, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29555:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5645, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29562:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030313763", - "id": 5646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29566:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_380_by_1", - "typeString": "int_const 380" - }, - "value": "0x000000000000017c" - }, - "src": "29562:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29555:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "29555:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5650, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29620:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5651, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29624:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5652, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29628:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5654, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29620:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5657, - "nodeType": "ExpressionStatement", - "src": "29620:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5658, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29641:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5659, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29648:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303134", - "id": 5660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29652:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x0000000000000014" - }, - "src": "29648:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29641:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5663, - "nodeType": "ExpressionStatement", - "src": "29641:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5664, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29706:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5665, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29710:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5666, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29714:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5668, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29718:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29706:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5671, - "nodeType": "ExpressionStatement", - "src": "29706:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5672, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29727:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5673, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303031", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29738:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000001" - }, - "src": "29734:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29727:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5677, - "nodeType": "ExpressionStatement", - "src": "29727:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29792:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5679, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29798:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307832316333363737633832623430303030", - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29804:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2432902008176640000_by_1", - "typeString": "int_const 2432902008176640000" - }, - "value": "0x21c3677c82b40000" - }, - "src": "29798:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5682, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29825:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5684, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29829:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29792:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "nodeType": "ExpressionStatement", - "src": "29792:44:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5688, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "29902:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030303030303030303030303030303030", - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29906:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x010000000000000000000000000000000" - }, - "src": "29902:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5691, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "29901:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29946:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29901:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5702, - "nodeType": "IfStatement", - "src": "29897:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29949:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29955:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078316333643661323465643832323138373837643632346433653565626139356639", - "id": 5696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29961:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_600596269623765960634066700837880239609_by_1", - "typeString": "int_const 6005...(31 digits omitted)...9609" - }, - "value": "0x1c3d6a24ed82218787d624d3e5eba95f9" - }, - "src": "29955:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373736", - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29999:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276726_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6726" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e776" - }, - "src": "29955:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29949:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5701, - "nodeType": "ExpressionStatement", - "src": "29949:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5703, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30073:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303230303030303030303030303030303030303030303030303030303030303030", - "id": 5704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30077:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x020000000000000000000000000000000" - }, - "src": "30073:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5706, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30072:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30117:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30072:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5717, - "nodeType": "IfStatement", - "src": "30068:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5709, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30120:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5710, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30126:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373738", - "id": 5711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30132:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276728_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6728" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e778" - }, - "src": "30126:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656434", - "id": 5713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30170:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284564_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4564" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed4" - }, - "src": "30126:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30120:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5716, - "nodeType": "ExpressionStatement", - "src": "30120:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5718, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30244:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303430303030303030303030303030303030303030303030303030303030303030", - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30248:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x040000000000000000000000000000000" - }, - "src": "30244:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5721, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30243:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30288:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30243:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5732, - "nodeType": "IfStatement", - "src": "30239:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5724, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30291:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5725, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30297:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656435", - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30303:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284565_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4565" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed5" - }, - "src": "30297:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323166", - "id": 5728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30341:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656607_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6607" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21f" - }, - "src": "30297:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30291:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5731, - "nodeType": "ExpressionStatement", - "src": "30291:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5733, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30415:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30419:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "src": "30415:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5736, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30414:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30459:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30414:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5747, - "nodeType": "IfStatement", - "src": "30410:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5739, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30462:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5740, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30468:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323165", - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30474:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656606_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6606" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21e" - }, - "src": "30468:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356339", - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30512:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237641_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7641" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c9" - }, - "src": "30468:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30462:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "30462:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5748, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30586:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30590:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "30586:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5751, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30585:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30630:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30585:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5762, - "nodeType": "IfStatement", - "src": "30581:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5754, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30633:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5755, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30639:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356335", - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30645:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237637_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7637" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c5" - }, - "src": "30639:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316561", - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30683:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307242_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7242" - }, - "value": "0x00960aadc109e7a3bf4578099615711ea" - }, - "src": "30639:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30633:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5761, - "nodeType": "ExpressionStatement", - "src": "30633:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5763, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30757:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 5764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30761:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "30757:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5766, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30756:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30801:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30756:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5777, - "nodeType": "IfStatement", - "src": "30752:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5769, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30804:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5770, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30810:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316437", - "id": 5771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30816:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307223_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7223" - }, - "value": "0x00960aadc109e7a3bf4578099615711d7" - }, - "src": "30810:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463653364", - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30854:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646425149_by_1", - "typeString": "int_const 2283...(28 digits omitted)...5149" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdce3d" - }, - "src": "30810:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30804:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5776, - "nodeType": "ExpressionStatement", - "src": "30804:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5778, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30928:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 5779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30932:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "30928:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5781, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30927:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30972:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30927:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5792, - "nodeType": "IfStatement", - "src": "30923:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5784, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30975:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5785, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30981:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463333037", - "id": 5786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30987:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646422279_by_1", - "typeString": "int_const 2283...(28 digits omitted)...2279" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdc307" - }, - "src": "30981:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030303030336336616237373564643062393562346362656537653635643131", - "id": 5788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31025:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76587471230661696290698490699025_by_1", - "typeString": "int_const 76587471230661696290698490699025" - }, - "value": "0x0000003c6ab775dd0b95b4cbee7e65d11" - }, - "src": "30981:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30975:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5791, - "nodeType": "ExpressionStatement", - "src": "30975:85:4" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5793, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "31102:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5393, - "id": 5794, - "nodeType": "Return", - "src": "31095:10:4" - } - ] - }, - "documentation": "Return e ^ (x / FIXED_1) * FIXED_1\nInput range: 0 <= x <= OPT_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalExp.py'\nDetailed description:\n- Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n- The exponentiation of each binary exponent is given (pre-calculated)\n- The exponentiation of r is calculated via Taylor series for e^x, where x = r\n- The exponentiation of the input is calculated by multiplying the intermediate results above\n- For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859", - "id": 5796, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5389, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "27953:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27953:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27952:11:4" - }, - "payable": false, - "returnParameters": { - "id": 5393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5392, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "27987:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27987:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27986:9:4" - }, - "scope": 5797, - "src": "27933:3179:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 5798, - "src": "150:30964:4" - } - ], - "src": "0:31114:4" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "exportedSymbols": { - "BancorFormula": [ - 5797 - ] - }, - "id": 5798, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3337, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/interfaces/IBancorFormula.sol", - "file": "./interfaces/IBancorFormula.sol", - "id": 3338, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 5842, - "src": "24:41:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 3339, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 27870, - "src": "66:52:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/utility/Utils.sol", - "file": "./utility/Utils.sol", - "id": 3340, - "nodeType": "ImportDirective", - "scope": 5798, - "sourceUnit": 5889, - "src": "119:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3341, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "176:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 3342, - "nodeType": "InheritanceSpecifier", - "src": "176:14:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3343, - "name": "Utils", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5888, - "src": "192:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - }, - "id": 3344, - "nodeType": "InheritanceSpecifier", - "src": "192:5:4" - } - ], - "contractDependencies": [ - 5841, - 5888 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5797, - "linearizedBaseContracts": [ - 5797, - 5888, - 5841 - ], - "name": "BancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3347, - "libraryName": { - "contractScope": null, - "id": 3345, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "210:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "204:27:4", - "typeName": { - "id": 3346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 3350, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "238:29:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3348, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "238:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "302e33", - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "262:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a25c22aa6f10fa2261b798fea6b4e2f0567ea2644e38ffd2fdadd1108b091261", - "typeString": "literal_string \"0.3\"" - }, - "value": "0.3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 3353, - "name": "ONE", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "274:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "305:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3356, - "name": "MAX_WEIGHT", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "312:44:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3354, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "312:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 3355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:7:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3359, - "name": "MIN_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "362:41:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3357, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "362:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3332", - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "401:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3362, - "name": "MAX_PRECISION", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "409:42:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3360, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "409:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313237", - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "448:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3365, - "name": "FIXED_1", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "528:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 3364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "563:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3368, - "name": "FIXED_2", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "604:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 3367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "639:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3371, - "name": "MAX_NUM", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "680:70:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "715:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3374, - "name": "LN2_NUMERATOR", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "827:76:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3372, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833663830666530336638306665303366383066653033663830666530336638", - "id": 3373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5275695611177340518812009417546793976_by_1", - "typeString": "int_const 5275...(29 digits omitted)...3976" - }, - "value": "0x3f80fe03f80fe03f80fe03f80fe03f8" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3377, - "name": "LN2_DENOMINATOR", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "909:76:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835623964653164313062663431303364363437623039353538393762613830", - "id": 3376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7611219895485218073587121647846406784_by_1", - "typeString": "int_const 7611...(29 digits omitted)...6784" - }, - "value": "0x5b9de1d10bf4103d647b0955897ba80" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3380, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1096:78:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1096:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078313562663061386231343537363935333535666238616334303465376137396533", - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1139:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_462491687273110168575455517921668397539_by_1", - "typeString": "int_const 4624...(31 digits omitted)...7539" - }, - "value": "0x15bf0a8b1457695355fb8ac404e7a79e3" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3383, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1180:78:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1180:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 3382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1223:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 3387, - "name": "maxExpArray", - "nodeType": "VariableDeclaration", - "scope": 5797, - "src": "1337:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128]" - }, - "typeName": { - "baseType": { - "id": 3384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1337:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3386, - "length": { - "argumentTypes": null, - "hexValue": "313238", - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1345:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "128" - }, - "nodeType": "ArrayTypeName", - "src": "1337:12:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage_ptr", - "typeString": "uint256[128]" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 3966, - "nodeType": "Block", - "src": "1396:8327:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3390, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3486:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3392, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 3391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3499:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3486:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831633335666564643134666666666666666666666666666666666666666666666666", - "id": 3393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3505:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9599678685041259184274752310158947254271_by_1", - "typeString": "int_const 9599...(32 digits omitted)...4271" - }, - "value": "0x1c35fedd14ffffffffffffffffffffffff" - }, - "src": "3486:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3395, - "nodeType": "ExpressionStatement", - "src": "3486:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3396, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3551:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3398, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3333", - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3564:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3551:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831623063653433623332336666666666666666666666666666666666666666666666", - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9204759687141885226475603015507577405439_by_1", - "typeString": "int_const 9204...(32 digits omitted)...5439" - }, - "value": "0x1b0ce43b323fffffffffffffffffffffff" - }, - "src": "3551:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3401, - "nodeType": "ExpressionStatement", - "src": "3551:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3402, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3616:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3404, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3334", - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3629:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_34_by_1", - "typeString": "int_const 34" - }, - "value": "34" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3616:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831396630303238656331666666666666666666666666666666666666666666666666", - "id": 3405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3635:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8826087172077985712041017634911355404287_by_1", - "typeString": "int_const 8826...(32 digits omitted)...4287" - }, - "value": "0x19f0028ec1ffffffffffffffffffffffff" - }, - "src": "3616:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3407, - "nodeType": "ExpressionStatement", - "src": "3616:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3408, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3681:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3410, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3335", - "id": 3409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3694:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35_by_1", - "typeString": "int_const 35" - }, - "value": "35" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3681:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831386465643931663065376666666666666666666666666666666666666666666666", - "id": 3411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3700:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8462992779488582574159642900919291478015_by_1", - "typeString": "int_const 8462...(32 digits omitted)...8015" - }, - "value": "0x18ded91f0e7fffffffffffffffffffffff" - }, - "src": "3681:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3413, - "nodeType": "ExpressionStatement", - "src": "3681:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3414, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3746:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3416, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3336", - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3759:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3746:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831376438656337663034313766666666666666666666666666666666666666666666", - "id": 3417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3765:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8114835644520100661580084966409403105279_by_1", - "typeString": "int_const 8114...(32 digits omitted)...5279" - }, - "value": "0x17d8ec7f0417ffffffffffffffffffffff" - }, - "src": "3746:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3419, - "nodeType": "ExpressionStatement", - "src": "3746:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3420, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3811:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3422, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3337", - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3824:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_37_by_1", - "typeString": "int_const 37" - }, - "value": "37" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3811:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831366464633635353663646266666666666666666666666666666666666666666666", - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3830:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7781001266736647064069662172832600162303_by_1", - "typeString": "int_const 7781...(32 digits omitted)...2303" - }, - "value": "0x16ddc6556cdbffffffffffffffffffffff" - }, - "src": "3811:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3425, - "nodeType": "ExpressionStatement", - "src": "3811:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3426, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3876:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3338", - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3889:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_38_by_1", - "typeString": "int_const 38" - }, - "value": "38" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3876:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831356563663532373736613166666666666666666666666666666666666666666666", - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3895:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7460900425488323202194551465008353509375_by_1", - "typeString": "int_const 7460...(32 digits omitted)...9375" - }, - "value": "0x15ecf52776a1ffffffffffffffffffffff" - }, - "src": "3876:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3431, - "nodeType": "ExpressionStatement", - "src": "3876:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3432, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "3941:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3434, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3339", - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39_by_1", - "typeString": "int_const 39" - }, - "value": "39" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831353036306332353663623266666666666666666666666666666666666666666666", - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3960:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7153968139937914349310206877837545177087_by_1", - "typeString": "int_const 7153...(32 digits omitted)...7087" - }, - "value": "0x15060c256cb2ffffffffffffffffffffff" - }, - "src": "3941:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "nodeType": "ExpressionStatement", - "src": "3941:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3438, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4006:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3440, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3430", - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4019:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4006:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831343238613266393864373266666666666666666666666666666666666666666666", - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4025:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6859662671868001546166128217910528704511_by_1", - "typeString": "int_const 6859...(32 digits omitted)...4511" - }, - "value": "0x1428a2f98d72ffffffffffffffffffffff" - }, - "src": "4006:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3443, - "nodeType": "ExpressionStatement", - "src": "4006:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3444, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4071:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3446, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3431", - "id": 3445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4084:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41_by_1", - "typeString": "int_const 41" - }, - "value": "41" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4071:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831333534353539386535633233666666666666666666666666666666666666666666", - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4090:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6577464569506365633454696454958677491711_by_1", - "typeString": "int_const 6577...(32 digits omitted)...1711" - }, - "value": "0x13545598e5c23fffffffffffffffffffff" - }, - "src": "4071:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3449, - "nodeType": "ExpressionStatement", - "src": "4071:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3450, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4136:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3452, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3432", - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42_by_1", - "typeString": "int_const 42" - }, - "value": "42" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831323838633431363163653164666666666666666666666666666666666666666666", - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4155:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6306875750689218484600399768107450630143_by_1", - "typeString": "int_const 6306...(32 digits omitted)...0143" - }, - "value": "0x1288c4161ce1dfffffffffffffffffffff" - }, - "src": "4136:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3455, - "nodeType": "ExpressionStatement", - "src": "4136:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3456, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4201:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3458, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3433", - "id": 3457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4214:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43_by_1", - "typeString": "int_const 43" - }, - "value": "43" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4201:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831316335393237363163363636666666666666666666666666666666666666666666", - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4220:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6047418623741353042663269283551730728959_by_1", - "typeString": "int_const 6047...(32 digits omitted)...8959" - }, - "value": "0x11c592761c666fffffffffffffffffffff" - }, - "src": "4201:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3461, - "nodeType": "ExpressionStatement", - "src": "4201:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3462, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4266:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3464, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3434", - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4279:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_44_by_1", - "typeString": "int_const 44" - }, - "value": "44" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4266:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831313061363838363830613735376666666666666666666666666666666666666666", - "id": 3465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4285:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5798635244522972732941736303310812479487_by_1", - "typeString": "int_const 5798...(32 digits omitted)...9487" - }, - "value": "0x110a688680a757ffffffffffffffffffff" - }, - "src": "4266:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3467, - "nodeType": "ExpressionStatement", - "src": "4266:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3468, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4331:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3470, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3435", - "id": 3469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4344:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_45_by_1", - "typeString": "int_const 45" - }, - "value": "45" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4331:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307831303536663162356265646637376666666666666666666666666666666666666666", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4350:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5560086508154074440893281558760167309311_by_1", - "typeString": "int_const 5560...(32 digits omitted)...9311" - }, - "value": "0x1056f1b5bedf77ffffffffffffffffffff" - }, - "src": "4331:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3473, - "nodeType": "ExpressionStatement", - "src": "4331:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3474, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4396:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3476, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3436", - "id": 3475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4409:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46_by_1", - "typeString": "int_const 46" - }, - "value": "46" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4396:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830666161646365636565666638626666666666666666666666666666666666666666", - "id": 3477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5331351373990447379730864460340651884543_by_1", - "typeString": "int_const 5331...(32 digits omitted)...4543" - }, - "value": "0x0faadceceeff8bffffffffffffffffffff" - }, - "src": "4396:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3479, - "nodeType": "ExpressionStatement", - "src": "4396:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3480, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4461:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3482, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3437", - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4474:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47_by_1", - "typeString": "int_const 47" - }, - "value": "47" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4461:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830663035646336623237656461646666666666666666666666666666666666666666", - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4480:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5112026122483163422598731111238626967551_by_1", - "typeString": "int_const 5112...(32 digits omitted)...7551" - }, - "value": "0x0f05dc6b27edadffffffffffffffffffff" - }, - "src": "4461:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3485, - "nodeType": "ExpressionStatement", - "src": "4461:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3486, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4526:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3488, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4539:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4526:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830653637613561323564613431303766666666666666666666666666666666666666", - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4545:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4901723642609993464238960471454494228479_by_1", - "typeString": "int_const 4901...(32 digits omitted)...8479" - }, - "value": "0x0e67a5a25da4107fffffffffffffffffff" - }, - "src": "4526:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3491, - "nodeType": "ExpressionStatement", - "src": "4526:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3492, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4591:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3494, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3439", - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49_by_1", - "typeString": "int_const 49" - }, - "value": "49" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4591:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830646366663131356231346565646666666666666666666666666666666666666666", - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4610:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4700072748620998500994433661760029327359_by_1", - "typeString": "int_const 4700...(32 digits omitted)...7359" - }, - "value": "0x0dcff115b14eedffffffffffffffffffff" - }, - "src": "4591:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3497, - "nodeType": "ExpressionStatement", - "src": "4591:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3498, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4656:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3500, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3530", - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4669:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4656:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830643365376133393234333132333966666666666666666666666666666666666666", - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4675:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4506717524892375150236886652795301658623_by_1", - "typeString": "int_const 4506...(32 digits omitted)...8623" - }, - "value": "0x0d3e7a392431239fffffffffffffffffff" - }, - "src": "4656:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3503, - "nodeType": "ExpressionStatement", - "src": "4656:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3504, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3506, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3531", - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_51_by_1", - "typeString": "int_const 51" - }, - "value": "51" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4721:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830636232666635323965623731653466666666666666666666666666666666666666", - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4740:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4321316697732212547034601541953113817087_by_1", - "typeString": "int_const 4321...(32 digits omitted)...7087" - }, - "value": "0x0cb2ff529eb71e4fffffffffffffffffff" - }, - "src": "4721:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3509, - "nodeType": "ExpressionStatement", - "src": "4721:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3510, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4786:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3512, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3532", - "id": 3511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52_by_1", - "typeString": "int_const 52" - }, - "value": "52" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4786:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830633264343135633364623937346166666666666666666666666666666666666666", - "id": 3513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4805:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4143543033029384782309349805264440655871_by_1", - "typeString": "int_const 4143...(32 digits omitted)...5871" - }, - "value": "0x0c2d415c3db974afffffffffffffffffff" - }, - "src": "4786:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3515, - "nodeType": "ExpressionStatement", - "src": "4786:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3516, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4851:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3518, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3533", - "id": 3517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_53_by_1", - "typeString": "int_const 53" - }, - "value": "53" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4851:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830626164303365376438383366363962666666666666666666666666666666666666", - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4870:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3973082758682431363936722477132055314431_by_1", - "typeString": "int_const 3973...(32 digits omitted)...4431" - }, - "value": "0x0bad03e7d883f69bffffffffffffffffff" - }, - "src": "4851:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3521, - "nodeType": "ExpressionStatement", - "src": "4851:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3522, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4916:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3524, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3534", - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4929:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54_by_1", - "typeString": "int_const 54" - }, - "value": "54" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4916:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830623332306430336232633334336435666666666666666666666666666666666666", - "id": 3525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4935:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3809635010789003168527049097368437784575_by_1", - "typeString": "int_const 3809...(32 digits omitted)...4575" - }, - "value": "0x0b320d03b2c343d5ffffffffffffffffff" - }, - "src": "4916:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3527, - "nodeType": "ExpressionStatement", - "src": "4916:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3528, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "4981:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3530, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3535", - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55_by_1", - "typeString": "int_const 55" - }, - "value": "55" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4981:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830616263323532303465303238323864666666666666666666666666666666666666", - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5000:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652911302618395401280222488042819026943_by_1", - "typeString": "int_const 3652...(32 digits omitted)...6943" - }, - "value": "0x0abc25204e02828dffffffffffffffffff" - }, - "src": "4981:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3533, - "nodeType": "ExpressionStatement", - "src": "4981:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3534, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5046:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3536, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3536", - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5059:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_56_by_1", - "typeString": "int_const 56" - }, - "value": "56" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5046:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830613462313666373465653462623230376666666666666666666666666666666666", - "id": 3537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3502635015429898674229017626613836152831_by_1", - "typeString": "int_const 3502...(32 digits omitted)...2831" - }, - "value": "0x0a4b16f74ee4bb207fffffffffffffffff" - }, - "src": "5046:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3539, - "nodeType": "ExpressionStatement", - "src": "5046:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3540, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5111:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3542, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3537", - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5124:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57_by_1", - "typeString": "int_const 57" - }, - "value": "57" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5111:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830396465616637333661633166353639666666666666666666666666666666666666", - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5130:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3358540910238258030536300376569398951935_by_1", - "typeString": "int_const 3358...(32 digits omitted)...1935" - }, - "value": "0x09deaf736ac1f569ffffffffffffffffff" - }, - "src": "5111:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3545, - "nodeType": "ExpressionStatement", - "src": "5111:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3546, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5176:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3548, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3538", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5189:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_58_by_1", - "typeString": "int_const 58" - }, - "value": "58" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5176:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393736626439393532633761613935376666666666666666666666666666666666", - "id": 3549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5195:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3220374659664501751807634855053158776831_by_1", - "typeString": "int_const 3220...(32 digits omitted)...6831" - }, - "value": "0x0976bd9952c7aa957fffffffffffffffff" - }, - "src": "5176:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3551, - "nodeType": "ExpressionStatement", - "src": "5176:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3552, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5241:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3554, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3539", - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5254:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59_by_1", - "typeString": "int_const 59" - }, - "value": "59" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5241:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830393133313237313932326561613630366666666666666666666666666666666666", - "id": 3555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5260:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3087892399045852422628542596524428754943_by_1", - "typeString": "int_const 3087...(32 digits omitted)...4943" - }, - "value": "0x09131271922eaa606fffffffffffffffff" - }, - "src": "5241:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3557, - "nodeType": "ExpressionStatement", - "src": "5241:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3558, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5306:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3630", - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5319:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "60" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5306:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830386233383066333535383636386334366666666666666666666666666666666666", - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5325:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2960860296012425255212778080756987592703_by_1", - "typeString": "int_const 2960...(32 digits omitted)...2703" - }, - "value": "0x08b380f3558668c46fffffffffffffffff" - }, - "src": "5306:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3563, - "nodeType": "ExpressionStatement", - "src": "5306:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3564, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5371:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3566, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3631", - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_61_by_1", - "typeString": "int_const 61" - }, - "value": "61" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5371:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830383537646466303131376566613231356266666666666666666666666666666666", - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5390:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2839054137771012724926516325250418868223_by_1", - "typeString": "int_const 2839...(32 digits omitted)...8223" - }, - "value": "0x0857ddf0117efa215bffffffffffffffff" - }, - "src": "5371:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3569, - "nodeType": "ExpressionStatement", - "src": "5371:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3570, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5436:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3572, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3632", - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5449:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_62_by_1", - "typeString": "int_const 62" - }, - "value": "62" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5436:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376666666666666666666666666666666666666666666666666666666666666666", - "id": 3573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691647_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1647" - }, - "value": "0x07ffffffffffffffffffffffffffffffff" - }, - "src": "5436:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3575, - "nodeType": "ExpressionStatement", - "src": "5436:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3576, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5501:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3578, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3633", - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_63_by_1", - "typeString": "int_const 63" - }, - "value": "63" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5501:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830376162626636663661626239643038376666666666666666666666666666666666", - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5520:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2610268544229484780765045556213696167935_by_1", - "typeString": "int_const 2610...(32 digits omitted)...7935" - }, - "value": "0x07abbf6f6abb9d087fffffffffffffffff" - }, - "src": "5501:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3581, - "nodeType": "ExpressionStatement", - "src": "5501:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3582, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5566:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3584, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3634", - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5579:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5566:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373561663632636261633935663764666137666666666666666666666666666666", - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5585:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2502885300319193958571922333378000453631_by_1", - "typeString": "int_const 2502...(32 digits omitted)...3631" - }, - "value": "0x075af62cbac95f7dfa7fffffffffffffff" - }, - "src": "5566:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3587, - "nodeType": "ExpressionStatement", - "src": "5566:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3588, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5631:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3590, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5644:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5631:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830373064376662373435326531383761633133666666666666666666666666666666", - "id": 3591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5650:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2399919671254773659805118819743970623487_by_1", - "typeString": "int_const 2399...(32 digits omitted)...3487" - }, - "value": "0x070d7fb7452e187ac13fffffffffffffff" - }, - "src": "5631:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3593, - "nodeType": "ExpressionStatement", - "src": "5631:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3594, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3596, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 3595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5709:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5696:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830366333333930656363386166333739323935666666666666666666666666666666", - "id": 3597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5715:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2301189921783908737703717501630802821119_by_1", - "typeString": "int_const 2301...(32 digits omitted)...1119" - }, - "value": "0x06c3390ecc8af379295fffffffffffffff" - }, - "src": "5696:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3599, - "nodeType": "ExpressionStatement", - "src": "5696:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3600, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5761:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3602, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3637", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5774:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_67_by_1", - "typeString": "int_const 67" - }, - "value": "67" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5761:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363763303061336230376666633031666436666666666666666666666666666666", - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5780:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2206521793019491601704439134261549727743_by_1", - "typeString": "int_const 2206...(32 digits omitted)...7743" - }, - "value": "0x067c00a3b07ffc01fd6fffffffffffffff" - }, - "src": "5761:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3605, - "nodeType": "ExpressionStatement", - "src": "5761:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3606, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5826:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3608, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3638", - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5839:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_68_by_1", - "typeString": "int_const 68" - }, - "value": "68" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5826:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830363337623634376333396362623964336432376666666666666666666666666666", - "id": 3609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5845:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2115748194871134515168564783402692116479_by_1", - "typeString": "int_const 2115...(32 digits omitted)...6479" - }, - "value": "0x0637b647c39cbb9d3d27ffffffffffffff" - }, - "src": "5826:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3611, - "nodeType": "ExpressionStatement", - "src": "5826:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3612, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5891:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3614, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3639", - "id": 3613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5904:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5891:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356636336231666331303464626433393538376666666666666666666666666666", - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2028708911129671949307566740521183346687_by_1", - "typeString": "int_const 2028...(32 digits omitted)...6687" - }, - "value": "0x05f63b1fc104dbd39587ffffffffffffff" - }, - "src": "5891:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3617, - "nodeType": "ExpressionStatement", - "src": "5891:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3618, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "5956:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3620, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3730", - "id": 3619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5969:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70_by_1", - "typeString": "int_const 70" - }, - "value": "70" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5956:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830356237373139353562333665313266373233356666666666666666666666666666", - "id": 3621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1945250316684124513375052119057996185599_by_1", - "typeString": "int_const 1945...(32 digits omitted)...5599" - }, - "value": "0x05b771955b36e12f7235ffffffffffffff" - }, - "src": "5956:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "nodeType": "ExpressionStatement", - "src": "5956:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3624, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6021:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3626, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3731", - "id": 3625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6034:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71_by_1", - "typeString": "int_const 71" - }, - "value": "71" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6021:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353762336434396464613834353536643666366666666666666666666666666666", - "id": 3627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6040:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1865225106372009884014199587421481336831_by_1", - "typeString": "int_const 1865...(32 digits omitted)...6831" - }, - "value": "0x057b3d49dda84556d6f6ffffffffffffff" - }, - "src": "6021:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3629, - "nodeType": "ExpressionStatement", - "src": "6021:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3630, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6086:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3632, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3732", - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6099:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72_by_1", - "typeString": "int_const 72" - }, - "value": "72" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6086:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353431383330393562326338656365636633306666666666666666666666666666", - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6105:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1788492034984419117666073304513300660223_by_1", - "typeString": "int_const 1788...(32 digits omitted)...0223" - }, - "value": "0x054183095b2c8ececf30ffffffffffffff" - }, - "src": "6086:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3635, - "nodeType": "ExpressionStatement", - "src": "6086:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3636, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6151:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3638, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3733", - "id": 3637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6164:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_73_by_1", - "typeString": "int_const 73" - }, - "value": "73" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6151:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830353061323862653633356361326238383866373766666666666666666666666666", - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6170:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1714915667966964990208967912165996494847_by_1", - "typeString": "int_const 1714...(32 digits omitted)...4847" - }, - "value": "0x050a28be635ca2b888f77fffffffffffff" - }, - "src": "6151:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3641, - "nodeType": "ExpressionStatement", - "src": "6151:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3642, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6216:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3644, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3734", - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6229:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74_by_1", - "typeString": "int_const 74" - }, - "value": "74" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6216:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346435313536363339373038633964623333633366666666666666666666666666", - "id": 3645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6235:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1644366142376587317378242124992063995903_by_1", - "typeString": "int_const 1644...(32 digits omitted)...5903" - }, - "value": "0x04d5156639708c9db33c3fffffffffffff" - }, - "src": "6216:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3647, - "nodeType": "ExpressionStatement", - "src": "6216:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3648, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6281:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3650, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3735", - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6294:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6281:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830346132333130353837333837356264353264666466666666666666666666666666", - "id": 3651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6300:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1576718937672301888428671268411708276735_by_1", - "typeString": "int_const 1576...(32 digits omitted)...6735" - }, - "value": "0x04a23105873875bd52dfdfffffffffffff" - }, - "src": "6281:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3653, - "nodeType": "ExpressionStatement", - "src": "6281:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3654, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6346:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3656, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3736", - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6359:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76_by_1", - "typeString": "int_const 76" - }, - "value": "76" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6346:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343731363439643837313939616139393037353666666666666666666666666666", - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1511854655935336643558907106913628979199_by_1", - "typeString": "int_const 1511...(32 digits omitted)...9199" - }, - "value": "0x0471649d87199aa990756fffffffffffff" - }, - "src": "6346:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3659, - "nodeType": "ExpressionStatement", - "src": "6346:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3660, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6411:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3662, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3737", - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6424:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_77_by_1", - "typeString": "int_const 77" - }, - "value": "77" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6411:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343432396132316130323964346331343537636662666666666666666666666666", - "id": 3663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6430:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1449658811130741678082357454851673161727_by_1", - "typeString": "int_const 1449...(32 digits omitted)...1727" - }, - "value": "0x04429a21a029d4c1457cfbffffffffffff" - }, - "src": "6411:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3665, - "nodeType": "ExpressionStatement", - "src": "6411:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3666, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6476:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3668, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3738", - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6489:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_78_by_1", - "typeString": "int_const 78" - }, - "value": "78" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6476:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830343135626336643666623764643731616632636233666666666666666666666666", - "id": 3669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1390021627038517938156314751863424548863_by_1", - "typeString": "int_const 1390...(32 digits omitted)...8863" - }, - "value": "0x0415bc6d6fb7dd71af2cb3ffffffffffff" - }, - "src": "6476:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3671, - "nodeType": "ExpressionStatement", - "src": "6476:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3672, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6541:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3739", - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6554:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_79_by_1", - "typeString": "int_const 79" - }, - "value": "79" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6541:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336561623733623362626665323832323433636531666666666666666666666666", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6560:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1332837843497611250583009129150422188031_by_1", - "typeString": "int_const 1332...(32 digits omitted)...8031" - }, - "value": "0x03eab73b3bbfe282243ce1ffffffffffff" - }, - "src": "6541:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3677, - "nodeType": "ExpressionStatement", - "src": "6541:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3678, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6606:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3680, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6619:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6606:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830336331373731616339666236623463313865323239666666666666666666666666", - "id": 3681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6625:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1278006530620790610545644364558728429567_by_1", - "typeString": "int_const 1278...(32 digits omitted)...9567" - }, - "value": "0x03c1771ac9fb6b4c18e229ffffffffffff" - }, - "src": "6606:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3683, - "nodeType": "ExpressionStatement", - "src": "6606:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3684, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6671:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3686, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3831", - "id": 3685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6684:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_81_by_1", - "typeString": "int_const 81" - }, - "value": "81" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6671:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333939653936383937363930343138663738353235376666666666666666666666", - "id": 3687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6690:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1225430910652498332846748256431392161791_by_1", - "typeString": "int_const 1225...(32 digits omitted)...1791" - }, - "value": "0x0399e96897690418f785257fffffffffff" - }, - "src": "6671:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3689, - "nodeType": "ExpressionStatement", - "src": "6671:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3690, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6736:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3692, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3832", - "id": 3691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6749:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82_by_1", - "typeString": "int_const 82" - }, - "value": "82" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6736:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333733666334353663353362623737396266306561396666666666666666666666", - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6755:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1175018187155249585623915264673694351359_by_1", - "typeString": "int_const 1175...(32 digits omitted)...1359" - }, - "value": "0x0373fc456c53bb779bf0ea9fffffffffff" - }, - "src": "6736:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3695, - "nodeType": "ExpressionStatement", - "src": "6736:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3696, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6801:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3698, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3833", - "id": 3697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6814:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_83_by_1", - "typeString": "int_const 83" - }, - "value": "83" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6801:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333466396538653439306334386536376536616238626666666666666666666666", - "id": 3699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6820:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1126679381223093780446468558216906145791_by_1", - "typeString": "int_const 1126...(32 digits omitted)...5791" - }, - "value": "0x034f9e8e490c48e67e6ab8bfffffffffff" - }, - "src": "6801:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3701, - "nodeType": "ExpressionStatement", - "src": "6801:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3702, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6866:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3704, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3834", - "id": 3703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6879:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_84_by_1", - "typeString": "int_const 84" - }, - "value": "84" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6866:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333263626664346137616463373930353630623333333766666666666666666666", - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6885:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1080329174433053119456411494679599644671_by_1", - "typeString": "int_const 1080...(32 digits omitted)...4671" - }, - "value": "0x032cbfd4a7adc790560b3337ffffffffff" - }, - "src": "6866:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3707, - "nodeType": "ExpressionStatement", - "src": "6866:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3708, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6931:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3710, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3835", - "id": 3709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6944:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85_by_1", - "typeString": "int_const 85" - }, - "value": "85" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6931:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830333062353035373066366535643261636361393436313366666666666666666666", - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6950:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1035885758257346189907937735244580388863_by_1", - "typeString": "int_const 1035...(32 digits omitted)...8863" - }, - "value": "0x030b50570f6e5d2acca94613ffffffffff" - }, - "src": "6931:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3713, - "nodeType": "ExpressionStatement", - "src": "6931:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3714, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "6996:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3716, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3836", - "id": 3715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86_by_1", - "typeString": "int_const 86" - }, - "value": "86" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6996:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326562343066396636323066646136623536633238363166666666666666666666", - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7015:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993270689670607839608468400662101622783_by_1", - "typeString": "int_const 9932...(31 digits omitted)...2783" - }, - "value": "0x02eb40f9f620fda6b56c2861ffffffffff" - }, - "src": "6996:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3719, - "nodeType": "ExpressionStatement", - "src": "6996:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3720, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7061:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3722, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3837", - "id": 3721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7074:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87_by_1", - "typeString": "int_const 87" - }, - "value": "87" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7061:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326363383334306563623064306635323061366166353866666666666666666666", - "id": 3723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7080:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_952408752697250790372885759853747765247_by_1", - "typeString": "int_const 9524...(31 digits omitted)...5247" - }, - "value": "0x02cc8340ecb0d0f520a6af58ffffffffff" - }, - "src": "7061:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3725, - "nodeType": "ExpressionStatement", - "src": "7061:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3726, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7126:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3728, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3838", - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7139:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830326166303934383133383061306133356366316261303266666666666666666666", - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7145:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_913227825654598849673391073164504596479_by_1", - "typeString": "int_const 9132...(31 digits omitted)...6479" - }, - "value": "0x02af09481380a0a35cf1ba02ffffffffff" - }, - "src": "7126:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3731, - "nodeType": "ExpressionStatement", - "src": "7126:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3732, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7191:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3734, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3839", - "id": 3733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89_by_1", - "typeString": "int_const 89" - }, - "value": "89" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7191:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323932633562646433623932656338313032383762316233666666666666666666", - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7210:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_875658753857474668265023456619450597375_by_1", - "typeString": "int_const 8756...(31 digits omitted)...7375" - }, - "value": "0x0292c5bdd3b92ec810287b1b3fffffffff" - }, - "src": "7191:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3737, - "nodeType": "ExpressionStatement", - "src": "7191:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3738, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7256:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3740, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3930", - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7269:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_90_by_1", - "typeString": "int_const 90" - }, - "value": "90" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7256:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323737616264636461623037643561373761633664366239666666666666666666", - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7275:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_839635227559564507480479102760887779327_by_1", - "typeString": "int_const 8396...(31 digits omitted)...9327" - }, - "value": "0x0277abdcdab07d5a77ac6d6b9fffffffff" - }, - "src": "7256:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3743, - "nodeType": "ExpressionStatement", - "src": "7256:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3744, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7321:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3746, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3931", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7334:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_91_by_1", - "typeString": "int_const 91" - }, - "value": "91" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7321:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323564616636363534623165616135356664363464663565666666666666666666", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7340:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_805093664916125437948904238798044397567_by_1", - "typeString": "int_const 8050...(31 digits omitted)...7567" - }, - "value": "0x025daf6654b1eaa55fd64df5efffffffff" - }, - "src": "7321:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "7321:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3750, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7386:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3752, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3932", - "id": 3751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7399:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92_by_1", - "typeString": "int_const 92" - }, - "value": "92" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7386:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323434633439633634386261613938313932646365383862376666666666666666", - "id": 3753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7405:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_771973099761463105605096142810743046143_by_1", - "typeString": "int_const 7719...(31 digits omitted)...6143" - }, - "value": "0x0244c49c648baa98192dce88b7ffffffff" - }, - "src": "7386:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3755, - "nodeType": "ExpressionStatement", - "src": "7386:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3756, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7451:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3758, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3933", - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93_by_1", - "typeString": "int_const 93" - }, - "value": "93" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7451:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323263653033636435363139613331316232343731323638626666666666666666", - "id": 3759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7470:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_740215074003106313787373698556008333311_by_1", - "typeString": "int_const 7402...(31 digits omitted)...3311" - }, - "value": "0x022ce03cd5619a311b2471268bffffffff" - }, - "src": "7451:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3761, - "nodeType": "ExpressionStatement", - "src": "7451:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3762, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7516:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3764, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3934", - "id": 3763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7529:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_94_by_1", - "typeString": "int_const 94" - }, - "value": "94" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7516:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830323135663737633034356662653838353635346134346130666666666666666666", - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7535:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_709763534442753181219281418466841591807_by_1", - "typeString": "int_const 7097...(31 digits omitted)...1807" - }, - "value": "0x0215f77c045fbe885654a44a0fffffffff" - }, - "src": "7516:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3767, - "nodeType": "ExpressionStatement", - "src": "7516:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3768, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7581:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3770, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3935", - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7594:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_95_by_1", - "typeString": "int_const 95" - }, - "value": "95" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316666666666666666666666666666666666666666666666666666666666666666", - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7600:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422911_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2911" - }, - "value": "0x01ffffffffffffffffffffffffffffffff" - }, - "src": "7581:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3773, - "nodeType": "ExpressionStatement", - "src": "7581:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3774, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7646:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3776, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3936", - "id": 3775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7659:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_96_by_1", - "typeString": "int_const 96" - }, - "value": "96" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7646:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316561656664626461616565373432316663346433656465356666666666666666", - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7665:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_652567136057371195186997586203332575231_by_1", - "typeString": "int_const 6525...(31 digits omitted)...5231" - }, - "value": "0x01eaefdbdaaee7421fc4d3ede5ffffffff" - }, - "src": "7646:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3779, - "nodeType": "ExpressionStatement", - "src": "7646:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3780, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7711:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3782, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3937", - "id": 3781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7724:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97_by_1", - "typeString": "int_const 97" - }, - "value": "97" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7711:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316436626438623265623235376466376538636135376230396266666666666666", - "id": 3783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7730:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_625721325079798489641586010116704960511_by_1", - "typeString": "int_const 6257...(31 digits omitted)...0511" - }, - "value": "0x01d6bd8b2eb257df7e8ca57b09bfffffff" - }, - "src": "7711:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3785, - "nodeType": "ExpressionStatement", - "src": "7711:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3786, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3788, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3938", - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7789:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_98_by_1", - "typeString": "int_const 98" - }, - "value": "98" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7776:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316333356665646431346238363165623034343366376631333366666666666666", - "id": 3789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7795:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_599979917813693414950432886451725139967_by_1", - "typeString": "int_const 5999...(31 digits omitted)...9967" - }, - "value": "0x01c35fedd14b861eb0443f7f133fffffff" - }, - "src": "7776:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3791, - "nodeType": "ExpressionStatement", - "src": "7776:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3792, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7841:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3794, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3939", - "id": 3793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7854:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7841:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830316230636534336233323262636465346135366538616461356166666666666666", - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_575297480445977184425850753341355720703_by_1", - "typeString": "int_const 5752...(31 digits omitted)...0703" - }, - "value": "0x01b0ce43b322bcde4a56e8ada5afffffff" - }, - "src": "7841:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3797, - "nodeType": "ExpressionStatement", - "src": "7841:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3798, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7906:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3800, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7906:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313966303032386563316666663030376635613139356133396466666666666666", - "id": 3801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7925:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_551630448254872900425972804456347074559_by_1", - "typeString": "int_const 5516...(31 digits omitted)...4559" - }, - "value": "0x019f0028ec1fff007f5a195a39dfffffff" - }, - "src": "7906:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "7906:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3804, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "7971:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3806, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7983:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7971:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313864656439316630653732656537346634396231356261353237666666666666", - "id": 3807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7990:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_528937048717783628792119060092411707391_by_1", - "typeString": "int_const 5289...(31 digits omitted)...7391" - }, - "value": "0x018ded91f0e72ee74f49b15ba527ffffff" - }, - "src": "7971:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3809, - "nodeType": "ExpressionStatement", - "src": "7971:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3810, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8036:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3812, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313032", - "id": 3811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8048:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102_by_1", - "typeString": "int_const 102" - }, - "value": "102" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8036:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313764386563376630343133366634653536313566643431613633666666666666", - "id": 3813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8055:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_507177227782417987326846600868857380863_by_1", - "typeString": "int_const 5071...(31 digits omitted)...0863" - }, - "value": "0x017d8ec7f04136f4e5615fd41a63ffffff" - }, - "src": "8036:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3815, - "nodeType": "ExpressionStatement", - "src": "8036:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3816, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8101:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3818, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313033", - "id": 3817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8113:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_103_by_1", - "typeString": "int_const 103" - }, - "value": "103" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8101:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313664646336353536636462383462646338643132643232653666666666666666", - "id": 3819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_486312579171031128343732298613950251007_by_1", - "typeString": "int_const 4863...(31 digits omitted)...1007" - }, - "value": "0x016ddc6556cdb84bdc8d12d22e6fffffff" - }, - "src": "8101:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3821, - "nodeType": "ExpressionStatement", - "src": "8101:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3822, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8166:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3824, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313034", - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8178:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_104_by_1", - "typeString": "int_const 104" - }, - "value": "104" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8166:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313565636635323737366131313535623562643833393538313466376666666666", - "id": 3825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8185:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_466306276593002471003532891264408092671_by_1", - "typeString": "int_const 4663...(31 digits omitted)...2671" - }, - "value": "0x015ecf52776a1155b5bd8395814f7fffff" - }, - "src": "8166:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3827, - "nodeType": "ExpressionStatement", - "src": "8166:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3828, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8231:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3830, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313035", - "id": 3829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105_by_1", - "typeString": "int_const 105" - }, - "value": "105" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8231:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313530363063323536636232336233623363633337353463663430666666666666", - "id": 3831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8250:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_447123008746104779416515886102660251647_by_1", - "typeString": "int_const 4471...(31 digits omitted)...1647" - }, - "value": "0x015060c256cb23b3b3cc3754cf40ffffff" - }, - "src": "8231:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3833, - "nodeType": "ExpressionStatement", - "src": "8231:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3834, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8296:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3836, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313036", - "id": 3835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8308:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - }, - "value": "106" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8296:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313432386132663938643732386165323233646461623731356265336666666666", - "id": 3837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8315:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_428728916991741247552240490495652921343_by_1", - "typeString": "int_const 4287...(31 digits omitted)...1343" - }, - "value": "0x01428a2f98d728ae223ddab715be3fffff" - }, - "src": "8296:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3839, - "nodeType": "ExpressionStatement", - "src": "8296:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3840, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8361:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3842, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313037", - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8373:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_107_by_1", - "typeString": "int_const 107" - }, - "value": "107" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8361:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313335343535393865356332333237366363663065646536383033346666666666", - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8380:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_411091535594146829344560212836376117247_by_1", - "typeString": "int_const 4110...(31 digits omitted)...7247" - }, - "value": "0x013545598e5c23276ccf0ede68034fffff" - }, - "src": "8361:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3845, - "nodeType": "ExpressionStatement", - "src": "8361:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3846, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8426:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3848, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313038", - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8438:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108_by_1", - "typeString": "int_const 108" - }, - "value": "108" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8426:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313238386334313631636531643666353462376636313038313139346666666666", - "id": 3849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8445:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_394179734418075472107167272299635146751_by_1", - "typeString": "int_const 3941...(31 digits omitted)...6751" - }, - "value": "0x01288c4161ce1d6f54b7f61081194fffff" - }, - "src": "8426:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3851, - "nodeType": "ExpressionStatement", - "src": "8426:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3852, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8491:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3854, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 3853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8503:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8491:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313163353932373631633636366161363431643561303161343066313766666666", - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8510:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_377963663983834160889726215582593318911_by_1", - "typeString": "int_const 3779...(31 digits omitted)...8911" - }, - "value": "0x011c592761c666aa641d5a01a40f17ffff" - }, - "src": "8491:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3857, - "nodeType": "ExpressionStatement", - "src": "8491:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3858, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8556:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3860, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313130", - "id": 3859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8568:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_110_by_1", - "typeString": "int_const 110" - }, - "value": "110" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8556:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313130613638383638306137353330353135663365366536636664636466666666", - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8575:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_362414702782685419520589203652335239167_by_1", - "typeString": "int_const 3624...(31 digits omitted)...9167" - }, - "value": "0x0110a688680a7530515f3e6e6cfdcdffff" - }, - "src": "8556:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3863, - "nodeType": "ExpressionStatement", - "src": "8556:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3864, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8621:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3866, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313131", - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8633:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_111_by_1", - "typeString": "int_const 111" - }, - "value": "111" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8621:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830313035366631623562656466373563366263623263653861656434323866666666", - "id": 3867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8640:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_347505406759629484539078662328460836863_by_1", - "typeString": "int_const 3475...(31 digits omitted)...6863" - }, - "value": "0x01056f1b5bedf75c6bcb2ce8aed428ffff" - }, - "src": "8621:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3869, - "nodeType": "ExpressionStatement", - "src": "8621:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3870, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8686:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3872, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8698:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8686:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306661616463656365656666386130383930663338373566303038323737666666", - "id": 3873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8705:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_333209460874402812645752271223906598911_by_1", - "typeString": "int_const 3332...(31 digits omitted)...8911" - }, - "value": "0x00faadceceeff8a0890f3875f008277fff" - }, - "src": "8686:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3875, - "nodeType": "ExpressionStatement", - "src": "8686:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3876, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8751:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3878, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313133", - "id": 3877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8763:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_113_by_1", - "typeString": "int_const 113" - }, - "value": "113" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8751:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306630356463366232376564616433303633383861363030663662613062666666", - "id": 3879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8770:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_319501632655197652636411056021540225023_by_1", - "typeString": "int_const 3195...(31 digits omitted)...5023" - }, - "value": "0x00f05dc6b27edad306388a600f6ba0bfff" - }, - "src": "8751:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3881, - "nodeType": "ExpressionStatement", - "src": "8751:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3882, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8816:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3884, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313134", - "id": 3883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8828:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114_by_1", - "typeString": "int_const 114" - }, - "value": "114" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8816:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306536376135613235646134313036336465313439356435623138636462666666", - "id": 3885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8835:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_306357727663124583211687061200571318271_by_1", - "typeString": "int_const 3063...(31 digits omitted)...8271" - }, - "value": "0x00e67a5a25da41063de1495d5b18cdbfff" - }, - "src": "8816:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3887, - "nodeType": "ExpressionStatement", - "src": "8816:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3888, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8881:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3890, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313135", - "id": 3889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8893:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115_by_1", - "typeString": "int_const 115" - }, - "value": "115" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8881:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306463666631313562313465656464653666633361613533353366326534666666", - "id": 3891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_293754546788812396405978813098581970943_by_1", - "typeString": "int_const 2937...(31 digits omitted)...0943" - }, - "value": "0x00dcff115b14eedde6fc3aa5353f2e4fff" - }, - "src": "8881:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3893, - "nodeType": "ExpressionStatement", - "src": "8881:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3894, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "8946:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3896, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313136", - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116_by_1", - "typeString": "int_const 116" - }, - "value": "116" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306433653761333932343331323339396639616165326530663836386638666666", - "id": 3897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8965:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_281669845305773445111617137421885345791_by_1", - "typeString": "int_const 2816...(31 digits omitted)...5791" - }, - "value": "0x00d3e7a3924312399f9aae2e0f868f8fff" - }, - "src": "8946:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3899, - "nodeType": "ExpressionStatement", - "src": "8946:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3900, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9011:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3902, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313137", - "id": 3901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9023:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_117_by_1", - "typeString": "int_const 117" - }, - "value": "117" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9011:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306362326666353239656237316534313538326363636435613165653236666666", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9030:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_270082293608263279864102872957453496319_by_1", - "typeString": "int_const 2700...(31 digits omitted)...6319" - }, - "value": "0x00cb2ff529eb71e41582cccd5a1ee26fff" - }, - "src": "9011:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3905, - "nodeType": "ExpressionStatement", - "src": "9011:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3906, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9076:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3908, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313138", - "id": 3907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9088:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_118_by_1", - "typeString": "int_const 118" - }, - "value": "118" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9076:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306332643431356333646239373461623332613531383430633062363765646666", - "id": 3909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9095:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_258971439564336547476984432763364437503_by_1", - "typeString": "int_const 2589...(31 digits omitted)...7503" - }, - "value": "0x00c2d415c3db974ab32a51840c0b67edff" - }, - "src": "9076:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3911, - "nodeType": "ExpressionStatement", - "src": "9076:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3912, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9141:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3914, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313139", - "id": 3913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9153:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_119_by_1", - "typeString": "int_const 119" - }, - "value": "119" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9141:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306261643033653764383833663639616435623061313836313834653036626666", - "id": 3915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_248317672417651959902117100034610719743_by_1", - "typeString": "int_const 2483...(31 digits omitted)...9743" - }, - "value": "0x00bad03e7d883f69ad5b0a186184e06bff" - }, - "src": "9141:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3917, - "nodeType": "ExpressionStatement", - "src": "9141:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3918, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9206:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3920, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313230", - "id": 3919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9218:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_120_by_1", - "typeString": "int_const 120" - }, - "value": "120" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9206:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306233323064303362326333343364343832396162643630373566306363356666", - "id": 3921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9225:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_238102188174312697593221439720218478079_by_1", - "typeString": "int_const 2381...(31 digits omitted)...8079" - }, - "value": "0x00b320d03b2c343d4829abd6075f0cc5ff" - }, - "src": "9206:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3923, - "nodeType": "ExpressionStatement", - "src": "9206:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3924, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9271:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3926, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313231", - "id": 3925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9283:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_121_by_1", - "typeString": "int_const 121" - }, - "value": "121" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9271:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306162633235323034653032383238643733633665383062636462316139356266", - "id": 3927, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9290:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228306956413649712418347768277622232511_by_1", - "typeString": "int_const 2283...(31 digits omitted)...2511" - }, - "value": "0x00abc25204e02828d73c6e80bcdb1a95bf" - }, - "src": "9271:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3929, - "nodeType": "ExpressionStatement", - "src": "9271:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3930, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9336:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3932, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313232", - "id": 3931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9348:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_122_by_1", - "typeString": "int_const 122" - }, - "value": "122" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9336:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830306134623136663734656534626232303430613165633663313566626266326466", - "id": 3933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9355:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218914688464368667066255864092044292831_by_1", - "typeString": "int_const 2189...(31 digits omitted)...2831" - }, - "value": "0x00a4b16f74ee4bb2040a1ec6c15fbbf2df" - }, - "src": "9336:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "9336:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3936, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9401:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3938, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313233", - "id": 3937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_123_by_1", - "typeString": "int_const 123" - }, - "value": "123" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9401:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303964656166373336616331663536396465623162356165336633366331333066", - "id": 3939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9420:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_209908806889891126870119775672831054607_by_1", - "typeString": "int_const 2099...(31 digits omitted)...4607" - }, - "value": "0x009deaf736ac1f569deb1b5ae3f36c130f" - }, - "src": "9401:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3941, - "nodeType": "ExpressionStatement", - "src": "9401:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3942, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9466:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3944, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313234", - "id": 3943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9478:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_124_by_1", - "typeString": "int_const 124" - }, - "value": "124" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9466:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303937366264393935326337616139353766353933376437393065663635303337", - "id": 3945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9485:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_201273416229031359487226059686877220919_by_1", - "typeString": "int_const 2012...(31 digits omitted)...0919" - }, - "value": "0x00976bd9952c7aa957f5937d790ef65037" - }, - "src": "9466:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3947, - "nodeType": "ExpressionStatement", - "src": "9466:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3948, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9531:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3950, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313235", - "id": 3949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_125_by_1", - "typeString": "int_const 125" - }, - "value": "125" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9531:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303931333132373139323265616136303634623733613232643062643466326266", - "id": 3951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9550:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192993274940365776401274035698589299391_by_1", - "typeString": "int_const 1929...(31 digits omitted)...9391" - }, - "value": "0x009131271922eaa6064b73a22d0bd4f2bf" - }, - "src": "9531:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3953, - "nodeType": "ExpressionStatement", - "src": "9531:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3954, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9596:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3956, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313236", - "id": 3955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9608:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_126_by_1", - "typeString": "int_const 126" - }, - "value": "126" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9596:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303862333830663335353836363863343663393163343961326638653936376239", - "id": 3957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9615:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185053768500776578446843424638883162041_by_1", - "typeString": "int_const 1850...(31 digits omitted)...2041" - }, - "value": "0x008b380f3558668c46c91c49a2f8e967b9" - }, - "src": "9596:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3959, - "nodeType": "ExpressionStatement", - "src": "9596:55:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3960, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "9661:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 3962, - "indexExpression": { - "argumentTypes": null, - "hexValue": "313237", - "id": 3961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9673:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9661:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830303835376464663031313765666132313539353239313238333966363437336536", - "id": 3963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9680:36:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_177440883610688295304820354615089591270_by_1", - "typeString": "int_const 1774...(31 digits omitted)...1270" - }, - "value": "0x00857ddf0117efa215952912839f6473e6" - }, - "src": "9661:55:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3965, - "nodeType": "ExpressionStatement", - "src": "9661:55:4" - } - ] - }, - "documentation": null, - "id": 3967, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [], - "src": "1386:2:4" - }, - "payable": false, - "returnParameters": { - "id": 3389, - "nodeType": "ParameterList", - "parameters": [], - "src": "1396:0:4" - }, - "scope": 5797, - "src": "1375:8348:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4052, - "nodeType": "Block", - "src": "10515:699:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3981, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "10559:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10569:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10559:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3984, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "10574:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10594:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10574:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3988, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10599:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10599:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:60:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 3994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3992, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10623:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3993, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "10643:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10623:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10559:94:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10551:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10551:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3997, - "nodeType": "ExpressionStatement", - "src": "10551:103:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3998, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10714:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10714:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4003, - "nodeType": "IfStatement", - "src": "10710:45:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10754:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3979, - "id": 4002, - "nodeType": "Return", - "src": "10747:8:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4004, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "10815:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4005, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "10835:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "10815:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4014, - "nodeType": "IfStatement", - "src": "10811:102:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4009, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10878:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4007, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "10866:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "10866: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": 4010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10866:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4011, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "10896:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10866:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3979, - "id": 4013, - "nodeType": "Return", - "src": "10859:54:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4016, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10924:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10924:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4017, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10924:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4019, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10948:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4018, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10948:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4020, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10948:15:4" - }, - { - "assignments": [ - 4022 - ], - "declarations": [ - { - "constant": false, - "id": 4022, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10973:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4027, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4025, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "11008:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4023, - "name": "_depositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3975, - "src": "10989:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "10989:18: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": 4026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10989:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10973:53:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4028, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "11037:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4029, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4019, - "src": "11045:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4030, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11036:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4032, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "11064:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4033, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3971, - "src": "11071:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4034, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3973, - "src": "11090:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4035, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "11108:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4031, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "11058:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11058:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "11036:83:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4038, - "nodeType": "ExpressionStatement", - "src": "11036:83:4" - }, - { - "assignments": [ - 4040 - ], - "declarations": [ - { - "constant": false, - "id": 4040, - "name": "temp", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "11129:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11129:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4047, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4043, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "11156:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4041, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "11144:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "11144: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": 4044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11144:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4045, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4019, - "src": "11167:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11144:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11129:47:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4048, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "11193:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4049, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "11200:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11193:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3979, - "id": 4051, - "nodeType": "Return", - "src": "11186:21:4" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a deposit amount (in the connector token),\ncalculates the return for a given conversion (in the main token)\nFormula:\nReturn = _supply * ((1 + _depositAmount / _connectorBalance) ^ (_connectorWeight / 1000000) - 1)\n@param _supply token total supply\n@param _connectorBalance total connector balance\n@param _connectorWeight connector weight, represented in ppm, 1-1000000\n@param _depositAmount deposit amount, in connector token\n@return purchase return amount", - "id": 4053, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3976, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3969, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10392:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10392:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3971, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10409:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10409:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3973, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10436:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3972, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "10436:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3975, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10461:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3974, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10461:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10391:93:4" - }, - "payable": false, - "returnParameters": { - "id": 3979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3978, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "10506:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10506:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10505:9:4" - }, - "scope": 5797, - "src": "10359:855:4", - "stateMutability": "view", - "superFunction": 5812, - "visibility": "public" - }, - { - "body": { - "id": 4154, - "nodeType": "Block", - "src": "11994:883:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4067, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12038:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12048:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12038:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4070, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12053:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12053:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4074, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12078:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12097:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12078:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:60:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4078, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12102:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4079, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12122:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12102:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:94:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4082, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12136:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4083, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12151:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12136:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12038:120:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4066, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "12030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12030:129:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4087, - "nodeType": "ExpressionStatement", - "src": "12030:129:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4088, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12216:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12231:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12216:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4093, - "nodeType": "IfStatement", - "src": "12212:42:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12253:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 4065, - "id": 4092, - "nodeType": "Return", - "src": "12246:8:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4094, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12323:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4095, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12338:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12323:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4099, - "nodeType": "IfStatement", - "src": "12319:64:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4097, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12366:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4098, - "nodeType": "Return", - "src": "12359:24:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4100, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12443:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4101, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12463:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12443:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4110, - "nodeType": "IfStatement", - "src": "12439:99:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4105, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12516:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4103, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12494:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12494: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": 4106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12494:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4107, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12494:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4109, - "nodeType": "Return", - "src": "12487:51:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4112, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12549:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12549:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4113, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12549:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4115, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12573:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4114, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "12573:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4116, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12573:15:4" - }, - { - "assignments": [ - 4118 - ], - "declarations": [ - { - "constant": false, - "id": 4118, - "name": "baseD", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12598:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12598:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4122, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4119, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12614:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4120, - "name": "_sellAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "12624:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12614:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12598:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4123, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12646:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4124, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4115, - "src": "12654:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4125, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12645:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4127, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "12673:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4128, - "name": "baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "12682:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4129, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "12689:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4130, - "name": "_connectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "12701:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4126, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "12667:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12667:51:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "12645:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4133, - "nodeType": "ExpressionStatement", - "src": "12645:73:4" - }, - { - "assignments": [ - 4135 - ], - "declarations": [ - { - "constant": false, - "id": 4135, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12728:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12728:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4140, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4138, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12766:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4136, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12744:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12744: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": 4139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12744:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12728:45:4" - }, - { - "assignments": [ - 4142 - ], - "declarations": [ - { - "constant": false, - "id": 4142, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "12783:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12783:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4146, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4143, - "name": "_connectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "12799:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4144, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4115, - "src": "12820:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12799:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12783:46:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4147, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "12847:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4148, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "12855:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12847:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4150, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12846:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4151, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4112, - "src": "12864:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12846:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4065, - "id": 4153, - "nodeType": "Return", - "src": "12839:31:4" - } - ] - }, - "documentation": "@dev given a token supply, connector balance, weight and a sell amount (in the main token),\ncalculates the return for a given conversion (in the connector token)\nFormula:\nReturn = _connectorBalance * (1 - (1 - _sellAmount / _supply) ^ (1 / (_connectorWeight / 1000000)))\n@param _supply token total supply\n@param _connectorBalance total connector\n@param _connectorWeight constant connector Weight, represented in ppm, 1-1000000\n@param _sellAmount sell amount, in the token itself\n@return sale return amount", - "id": 4155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4055, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11874:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11874:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4057, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11891:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11891:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4059, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11918:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4058, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11918:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4061, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11943:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11873:90:4" - }, - "payable": false, - "returnParameters": { - "id": 4065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "11985:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11985:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11984:9:4" - }, - "scope": 5797, - "src": "11845:1032:4", - "stateMutability": "view", - "superFunction": 5825, - "visibility": "public" - }, - { - "body": { - "id": 4254, - "nodeType": "Block", - "src": "13932:796:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4171, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "13976:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14000:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13976:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4174, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14005:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14028:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14005:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:53:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4178, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14033:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4179, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "14057:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14033:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:91:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4182, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14071:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14093:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14071:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:118:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4186, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14098:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14119:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14098:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:144:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4190, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14124:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4191, - "name": "MAX_WEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "14146:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14124:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13976:180:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4170, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "13968:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13968:189:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4195, - "nodeType": "ExpressionStatement", - "src": "13968:189:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 4198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4196, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14214:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4197, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14238:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14214:42:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4209, - "nodeType": "IfStatement", - "src": "14210:136:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4201, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14301:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4199, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14277:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14277:23: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": 4202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14277:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4205, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14338:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4203, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14312:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14312:25: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": 4206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14312:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14277:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4169, - "id": 4208, - "nodeType": "Return", - "src": "14270:76:4" - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4211, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14357:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14357:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4212, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14357:14:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4214, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14381:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4213, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "14381:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4215, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "14381:15:4" - }, - { - "assignments": [ - 4217 - ], - "declarations": [ - { - "constant": false, - "id": 4217, - "name": "baseN", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14406:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14406:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4222, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4220, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14448:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4218, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14422:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14422:25: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": 4221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14422:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14406:50:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4223, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14467:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4224, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4214, - "src": "14475:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4225, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14466:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4227, - "name": "baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4217, - "src": "14494:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4228, - "name": "_fromConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "14501:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4229, - "name": "_fromConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14524:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "_toConnectorWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4163, - "src": "14546:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 4226, - "name": "power", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "14488:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint32_$returns$_t_uint256_$_t_uint8_$", - "typeString": "function (uint256,uint256,uint32,uint32) view returns (uint256,uint8)" - } - }, - "id": 4231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14488:77:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "src": "14466:99:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4233, - "nodeType": "ExpressionStatement", - "src": "14466:99:4" - }, - { - "assignments": [ - 4235 - ], - "declarations": [ - { - "constant": false, - "id": 4235, - "name": "temp1", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14575:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14575:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4238, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14615:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4236, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14591:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14591:23: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": 4239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14591:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14575:47:4" - }, - { - "assignments": [ - 4242 - ], - "declarations": [ - { - "constant": false, - "id": 4242, - "name": "temp2", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "14632:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4246, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4243, - "name": "_toConnectorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "14648:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4244, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4214, - "src": "14671:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14648:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14632:48:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4247, - "name": "temp1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4235, - "src": "14698:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4248, - "name": "temp2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "14706:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14698:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4250, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14697:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4251, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4211, - "src": "14715:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14697:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4169, - "id": 4253, - "nodeType": "Return", - "src": "14690:31:4" - } - ] - }, - "documentation": "@dev given two connector balances/weights and a sell amount (in the first connector token),\ncalculates the return for a conversion from the first connector token to the second connector token (in the second connector token)\nFormula:\nReturn = _toConnectorBalance * (1 - (_fromConnectorBalance / (_fromConnectorBalance + _amount)) ^ (_fromConnectorWeight / _toConnectorWeight))\n@param _fromConnectorBalance input connector balance\n@param _fromConnectorWeight input connector weight, represented in ppm, 1-1000000\n@param _toConnectorBalance output connector balance\n@param _toConnectorWeight output connector weight, represented in ppm, 1-1000000\n@param _amount input connector amount\n@return second connector amount", - "id": 4255, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4157, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13769:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13769:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4159, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13800:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4158, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13800:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4161, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13829:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13829:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4163, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13858:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4162, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13858:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4165, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13885:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13885:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13768:133:4" - }, - "payable": false, - "returnParameters": { - "id": 4169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4168, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4255, - "src": "13923:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13923:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13922:9:4" - }, - "scope": 5797, - "src": "13730:998:4", - "stateMutability": "view", - "superFunction": 5840, - "visibility": "public" - }, - { - "body": { - "id": 4343, - "nodeType": "Block", - "src": "16257:657:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4271, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4257, - "src": "16275:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4272, - "name": "MAX_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "16284:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16275:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4270, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16267:25:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4275, - "nodeType": "ExpressionStatement", - "src": "16267:25:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 4277, - "name": "baseLog", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16303:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16303:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4278, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16303:15:4" - }, - { - "assignments": [ - 4280 - ], - "declarations": [ - { - "constant": false, - "id": 4280, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16328:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16328:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4286, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4281, - "name": "_baseN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4257, - "src": "16343:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4282, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "16352:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4284, - "name": "_baseD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4259, - "src": "16362:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16343:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16328:40:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4287, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16382:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4288, - "name": "OPT_LOG_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3380, - "src": "16389:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16382:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4303, - "nodeType": "Block", - "src": "16471:51:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4297, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16485:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4299, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16506:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4298, - "name": "generalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4429, - "src": "16495:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16495:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16485:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4302, - "nodeType": "ExpressionStatement", - "src": "16485:26:4" - } - ] - }, - "id": 4304, - "nodeType": "IfStatement", - "src": "16378:144:4", - "trueBody": { - "id": 4296, - "nodeType": "Block", - "src": "16406:51:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4290, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4292, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4280, - "src": "16441:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4291, - "name": "optimalLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "16430:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16430:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16420:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4295, - "nodeType": "ExpressionStatement", - "src": "16420:26:4" - } - ] - } - }, - { - "assignments": [ - 4306 - ], - "declarations": [ - { - "constant": false, - "id": 4306, - "name": "baseLogTimesExp", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16532:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16532:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4312, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4307, - "name": "baseLog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "16558:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4308, - "name": "_expN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4261, - "src": "16568:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4310, - "name": "_expD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "16576:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "16558:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16532:49:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4313, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16595:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4314, - "name": "OPT_EXP_MAX_VAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3383, - "src": "16613:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16595:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4341, - "nodeType": "Block", - "src": "16720:188:4", - "statements": [ - { - "assignments": [ - 4324 - ], - "declarations": [ - { - "constant": false, - "id": 4324, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16734:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4323, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16734:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4328, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4326, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16778:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4325, - "name": "findPositionInMaxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4559, - "src": "16752:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 4327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16752:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16734:60:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4330, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16827:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4331, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "16847:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4332, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16863:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16847:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16846:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16827:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4336, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16875:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 4329, - "name": "generalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "16816:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8) pure returns (uint256)" - } - }, - "id": 4337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16816:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4338, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "16887:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4339, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16815:82:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 4269, - "id": 4340, - "nodeType": "Return", - "src": "16808:89:4" - } - ] - }, - "id": 4342, - "nodeType": "IfStatement", - "src": "16591:317:4", - "trueBody": { - "id": 4322, - "nodeType": "Block", - "src": "16630:76:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4317, - "name": "baseLogTimesExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4306, - "src": "16663:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4316, - "name": "optimalExp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5796, - "src": "16652:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 4318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16652:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4319, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "16681:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4320, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16651:44:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint8_$", - "typeString": "tuple(uint256,uint8)" - } - }, - "functionReturnParameters": 4269, - "id": 4321, - "nodeType": "Return", - "src": "16644:51:4" - } - ] - } - } - ] - }, - "documentation": "General Description:\nDetermine a value of precision.\nCalculate an integer approximation of (_baseN / _baseD) ^ (_expN / _expD) * 2 ^ precision.\nReturn the result along with the precision used.\nDetailed Description:\nInstead of calculating \"base ^ exp\", we calculate \"e ^ (log(base) * exp)\".\nThe value of \"log(base)\" is represented with an integer slightly smaller than \"log(base) * 2 ^ precision\".\nThe larger \"precision\" is, the more accurately this value represents the real value.\nHowever, the larger \"precision\" is, the more bits are required in order to store this value.\nAnd the exponentiation function, which takes \"x\" and calculates \"e ^ x\", is limited to a maximum exponent (maximum value of \"x\").\nThis maximum exponent depends on the \"precision\" used, and it is given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".\nHence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function.\nThis allows us to compute \"base ^ exp\" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations.\nThis functions assumes that \"_expN < 2 ^ 256 / log(MAX_NUM - 1)\", otherwise the multiplication should be replaced with a \"safeMul\".", - "id": 4344, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "power", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4257, - "name": "_baseN", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16158:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16158:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4259, - "name": "_baseD", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16174:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16174:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4261, - "name": "_expN", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16190:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4260, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16190:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4263, - "name": "_expD", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16204:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4262, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "16204:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16157:60:4" - }, - "payable": false, - "returnParameters": { - "id": 4269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4266, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16241:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16241:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4344, - "src": "16250:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4267, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16250:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16240:16:4" - }, - "scope": 5797, - "src": "16143:771:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4428, - "nodeType": "Block", - "src": "17142:738:4", - "statements": [ - { - "assignments": [ - 4352 - ], - "declarations": [ - { - "constant": false, - "id": 4352, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17152:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17152:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4354, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17166:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17152:15:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4355, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17273:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4356, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3368, - "src": "17278:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17273:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4377, - "nodeType": "IfStatement", - "src": "17269:152:4", - "trueBody": { - "id": 4376, - "nodeType": "Block", - "src": "17287:134:4", - "statements": [ - { - "assignments": [ - 4359 - ], - "declarations": [ - { - "constant": false, - "id": 4359, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17301:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4358, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17301:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4365, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4361, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17325:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4362, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17325:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4360, - "name": "floorLog2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4491, - "src": "17315:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) pure returns (uint8)" - } - }, - "id": 4364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17315:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17301:36:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4366, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17351:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 4367, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "17357:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4369, - "nodeType": "ExpressionStatement", - "src": "17351:11:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4370, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17389:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4371, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "17395:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4372, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17403:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17395:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17389:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4375, - "nodeType": "ExpressionStatement", - "src": "17389:21:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4378, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17526:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4379, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17530:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4421, - "nodeType": "IfStatement", - "src": "17522:297:4", - "trueBody": { - "id": 4420, - "nodeType": "Block", - "src": "17539:280:4", - "statements": [ - { - "body": { - "id": 4418, - "nodeType": "Block", - "src": "17595:214:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17613:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4392, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17618:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17622:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17618:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4395, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17617:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4396, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "17627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17617:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17613:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4399, - "nodeType": "ExpressionStatement", - "src": "17613:21:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4400, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17673:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4401, - "name": "FIXED_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3368, - "src": "17678:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17673:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4417, - "nodeType": "IfStatement", - "src": "17669:126:4", - "trueBody": { - "id": 4416, - "nodeType": "Block", - "src": "17687:108:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4403, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "17709:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17715:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17709:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4406, - "nodeType": "ExpressionStatement", - "src": "17709:7:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4407, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17755:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4408, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "17762:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17770:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17774:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "17770:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4412, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17769:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17762:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17755:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4415, - "nodeType": "ExpressionStatement", - "src": "17755:21:4" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4385, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17583:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17587:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17583:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4419, - "initializationExpression": { - "assignments": [ - 4382 - ], - "declarations": [ - { - "constant": false, - "id": 4382, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17558:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4381, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17558:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4384, - "initialValue": { - "argumentTypes": null, - "id": 4383, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "17568:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17558:23:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 4389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "17590:3:4", - "subExpression": { - "argumentTypes": null, - "id": 4388, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4382, - "src": "17592:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4390, - "nodeType": "ExpressionStatement", - "src": "17590:3:4" - }, - "nodeType": "ForStatement", - "src": "17553:256:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4422, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4352, - "src": "17836:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4423, - "name": "LN2_NUMERATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "17842:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4425, - "name": "LN2_DENOMINATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3377, - "src": "17858:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17836:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4350, - "id": 4427, - "nodeType": "Return", - "src": "17829:44:4" - } - ] - }, - "documentation": "Compute log(x / FIXED_1) * FIXED_1.\nThis functions assumes that \"x >= FIXED_1\", because the output would be negative otherwise.", - "id": 4429, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4346, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17099:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17099:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17098:11:4" - }, - "payable": false, - "returnParameters": { - "id": 4350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4349, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "17133:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17133:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17132:9:4" - }, - "scope": 5797, - "src": "17079:801:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4490, - "nodeType": "Block", - "src": "18058:460:4", - "statements": [ - { - "assignments": [ - 4437 - ], - "declarations": [ - { - "constant": false, - "id": 4437, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18068:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4436, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18068:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4439, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18080:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18068:13:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4440, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18096:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 4441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18101:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "18096:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4486, - "nodeType": "Block", - "src": "18262:229:4", - "statements": [ - { - "body": { - "id": 4484, - "nodeType": "Block", - "src": "18348:133:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4468, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18370:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4469, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "18377:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 4470, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18384:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18377:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4472, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18376:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18370:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4483, - "nodeType": "IfStatement", - "src": "18366:101:4", - "trueBody": { - "id": 4482, - "nodeType": "Block", - "src": "18388:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4474, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18410:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "id": 4475, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18417:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18410:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4477, - "nodeType": "ExpressionStatement", - "src": "18410:8:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4478, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18440:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "argumentTypes": null, - "id": 4479, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18447:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18440:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4481, - "nodeType": "ExpressionStatement", - "src": "18440:8:4" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4461, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18332:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18336:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18332:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4485, - "initializationExpression": { - "assignments": [ - 4458 - ], - "declarations": [ - { - "constant": false, - "id": 4458, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18317:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4457, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18317:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4460, - "initialValue": { - "argumentTypes": null, - "hexValue": "313238", - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18327:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18317:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4464, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4458, - "src": "18339:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18345:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18339:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4467, - "nodeType": "ExpressionStatement", - "src": "18339:7:4" - }, - "nodeType": "ForStatement", - "src": "18312:169:4" - } - ] - }, - "id": 4487, - "nodeType": "IfStatement", - "src": "18092:399:4", - "trueBody": { - "id": 4456, - "nodeType": "Block", - "src": "18106:142:4", - "statements": [ - { - "body": { - "id": 4454, - "nodeType": "Block", - "src": "18171:67:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4446, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18189:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18196:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18189:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4449, - "nodeType": "ExpressionStatement", - "src": "18189:8:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4450, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18215:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18222:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18215:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4453, - "nodeType": "ExpressionStatement", - "src": "18215:8:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4443, - "name": "_n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "18163:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18168:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18163:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4455, - "nodeType": "WhileStatement", - "src": "18156:82:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 4488, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "18508:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4435, - "id": 4489, - "nodeType": "Return", - "src": "18501:10:4" - } - ] - }, - "documentation": "Compute the largest integer smaller than or equal to the binary logarithm of the input.", - "id": 4491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "floorLog2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4431, - "name": "_n", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18016:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18016:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:12:4" - }, - "payable": false, - "returnParameters": { - "id": 4435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4434, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4491, - "src": "18051:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4433, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18051:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18050:7:4" - }, - "scope": 5797, - "src": "17997:521:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4558, - "nodeType": "Block", - "src": "18956:424:4", - "statements": [ - { - "assignments": [ - 4499 - ], - "declarations": [ - { - "constant": false, - "id": 4499, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18966:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4498, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18966:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4501, - "initialValue": { - "argumentTypes": null, - "id": 4500, - "name": "MIN_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "18977:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18966:24:4" - }, - { - "assignments": [ - 4503 - ], - "declarations": [ - { - "constant": false, - "id": 4503, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "19000:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4502, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19000:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4505, - "initialValue": { - "argumentTypes": null, - "id": 4504, - "name": "MAX_PRECISION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "19011:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19000:24:4" - }, - { - "body": { - "id": 4534, - "nodeType": "Block", - "src": "19055:159:4", - "statements": [ - { - "assignments": [ - 4512 - ], - "declarations": [ - { - "constant": false, - "id": 4512, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "19069:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4511, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19069:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4519, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4513, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19082:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4514, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19087:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19082:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4516, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19081:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 4517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19093:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "19081:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19069:25:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4520, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19112:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4522, - "indexExpression": { - "argumentTypes": null, - "id": 4521, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19124:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19112:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4523, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19132:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19112:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "id": 4531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4529, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19195:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4530, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19200:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19195:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4532, - "nodeType": "ExpressionStatement", - "src": "19195:8:4" - }, - "id": 4533, - "nodeType": "IfStatement", - "src": "19108:95:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4525, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19152:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4526, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "19157:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19152:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 4528, - "nodeType": "ExpressionStatement", - "src": "19152:8:4" - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 4508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4506, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19042:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19047:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19042:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4509, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19051:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "19042:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4535, - "nodeType": "WhileStatement", - "src": "19035:179:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4536, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19228:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4538, - "indexExpression": { - "argumentTypes": null, - "id": 4537, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19240:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19228:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4539, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19247:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19228:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4543, - "nodeType": "IfStatement", - "src": "19224:48:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4541, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "19270:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4497, - "id": 4542, - "nodeType": "Return", - "src": "19263:9:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4544, - "name": "maxExpArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "19286:11:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$128_storage", - "typeString": "uint256[128] storage ref" - } - }, - "id": 4546, - "indexExpression": { - "argumentTypes": null, - "id": 4545, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19298:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19286:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4547, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "19305:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19286:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4551, - "nodeType": "IfStatement", - "src": "19282:48:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 4549, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "19328:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 4497, - "id": 4550, - "nodeType": "Return", - "src": "19321:9:4" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19349:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "19341:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19341:14:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4555, - "nodeType": "ExpressionStatement", - "src": "19341:14:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19372:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 4497, - "id": 4557, - "nodeType": "Return", - "src": "19365:8:4" - } - ] - }, - "documentation": "The global \"maxExpArray\" is sorted in descending order, and therefore the following statements are equivalent:\n- This function finds the position of [the smallest value in \"maxExpArray\" larger than or equal to \"x\"]\n- This function finds the highest position of [a value in \"maxExpArray\" larger than or equal to \"x\"]", - "id": 4559, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "findPositionInMaxExpArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4493, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18914:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18914:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18913:12:4" - }, - "payable": false, - "returnParameters": { - "id": 4497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4496, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4559, - "src": "18949:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4495, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18949:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18948:7:4" - }, - "scope": 5797, - "src": "18879:501:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5067, - "nodeType": "Block", - "src": "20020:3744:4", - "statements": [ - { - "assignments": [ - 4569 - ], - "declarations": [ - { - "constant": false, - "id": 4569, - "name": "xi", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20030:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4571, - "initialValue": { - "argumentTypes": null, - "id": 4570, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20043:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20030:15:4" - }, - { - "assignments": [ - 4573 - ], - "declarations": [ - { - "constant": false, - "id": 4573, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20055:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20055:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4575, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 4574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20069:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20055:15:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4576, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20081:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4577, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20087:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4578, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20092:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20087:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4580, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20086:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4581, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20099:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20086:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20081:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4584, - "nodeType": "ExpressionStatement", - "src": "20081:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4585, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20111:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4586, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20118:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307833343432633465363037346138326631373937663732616330303030303030", - "id": 4587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20123:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4341658809405943247759097200640000000_by_1", - "typeString": "int_const 4341...(29 digits omitted)...0000" - }, - "value": "0x3442c4e6074a82f1797f72ac0000000" - }, - "src": "20118:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20111:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4590, - "nodeType": "ExpressionStatement", - "src": "20111:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4591, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20192:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4592, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20198:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4593, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20203:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20198:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4595, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20197:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4596, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20210:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20197:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20192:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4599, - "nodeType": "ExpressionStatement", - "src": "20192:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4600, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20222:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4601, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20229:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831313662393666373537633338306662323837666430653430303030303030", - "id": 4602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20234:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1447219603135314415919699066880000000_by_1", - "typeString": "int_const 1447...(29 digits omitted)...0000" - }, - "value": "0x116b96f757c380fb287fd0e40000000" - }, - "src": "20229:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20222:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4605, - "nodeType": "ExpressionStatement", - "src": "20222:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4606, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20303:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4607, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20309:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4608, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20314:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4610, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20308:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4611, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20321:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20308:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20303:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4614, - "nodeType": "ExpressionStatement", - "src": "20303:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4615, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20333:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4616, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20340:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830343561653562646435663065303365636131666634333930303030303030", - "id": 4617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20345:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_361804900783828603979924766720000000_by_1", - "typeString": "int_const 3618...(28 digits omitted)...0000" - }, - "value": "0x045ae5bdd5f0e03eca1ff4390000000" - }, - "src": "20340:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20333:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4620, - "nodeType": "ExpressionStatement", - "src": "20333:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4621, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20414:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4622, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20420:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4623, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20425:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4625, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20419:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4626, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20432:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20419:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20414:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4629, - "nodeType": "ExpressionStatement", - "src": "20414:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4630, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20444:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4631, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20451:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830306465666162663931333032636439356239666664613530303030303030", - "id": 4632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20456:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72360980156765720795984953344000000_by_1", - "typeString": "int_const 7236...(27 digits omitted)...0000" - }, - "value": "0x00defabf91302cd95b9ffda50000000" - }, - "src": "20451:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20444:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4635, - "nodeType": "ExpressionStatement", - "src": "20444:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4636, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20525:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4637, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20531:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4638, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20536:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4640, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20530:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4641, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20543:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20530:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20525:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4644, - "nodeType": "ExpressionStatement", - "src": "20525:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4645, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20555:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4646, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20562:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303235323963613938333262323234333965666666396238303030303030", - "id": 4647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20567:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12060163359460953465997492224000000_by_1", - "typeString": "int_const 1206...(27 digits omitted)...0000" - }, - "value": "0x002529ca9832b22439efff9b8000000" - }, - "src": "20562:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20555:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4650, - "nodeType": "ExpressionStatement", - "src": "20555:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4651, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20636:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4652, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20642:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4653, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20647:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4655, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20641:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4656, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20654:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20641:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20636:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4659, - "nodeType": "ExpressionStatement", - "src": "20636:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4660, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20666:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4661, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20673:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303035346631636631326264303465353136623664613838303030303030", - "id": 4662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20678:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1722880479922993352285356032000000_by_1", - "typeString": "int_const 1722...(26 digits omitted)...0000" - }, - "value": "0x00054f1cf12bd04e516b6da88000000" - }, - "src": "20673:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20666:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4665, - "nodeType": "ExpressionStatement", - "src": "20666:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4666, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20747:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4667, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20753:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4668, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20758:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20753:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4670, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20752:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4671, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20765:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20752:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20747:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4674, - "nodeType": "ExpressionStatement", - "src": "20747:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4675, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20777:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4676, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20784:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030613965333965323537613039636132643664623531303030303030", - "id": 4677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20789:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_215360059990374169035669504000000_by_1", - "typeString": "int_const 2153...(25 digits omitted)...0000" - }, - "value": "0x0000a9e39e257a09ca2d6db51000000" - }, - "src": "20784:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20777:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4680, - "nodeType": "ExpressionStatement", - "src": "20777:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4681, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20858:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4682, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20864:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4683, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20869:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20864:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4685, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20863:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4686, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20876:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20863:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20858:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4689, - "nodeType": "ExpressionStatement", - "src": "20858:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4690, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20888:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4691, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20895:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030313265303636653762383339666130353063333039303030303030", - "id": 4692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20900:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_23928895554486018781741056000000_by_1", - "typeString": "int_const 23928895554486018781741056000000" - }, - "value": "0x000012e066e7b839fa050c309000000" - }, - "src": "20895:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20888:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4695, - "nodeType": "ExpressionStatement", - "src": "20888:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4696, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20969:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4697, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "20975:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4698, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "20980:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20975:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4700, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20974:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4701, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "20987:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "20974:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20969:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4704, - "nodeType": "ExpressionStatement", - "src": "20969:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4705, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "20999:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4706, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21006:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303165333364376439323663333239613161643161383030303030", - "id": 4707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21011:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2392889555448601878174105600000_by_1", - "typeString": "int_const 2392889555448601878174105600000" - }, - "value": "0x000001e33d7d926c329a1ad1a800000" - }, - "src": "21006:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20999:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4710, - "nodeType": "ExpressionStatement", - "src": "20999:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4711, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21080:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4712, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21086:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4713, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21091:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21086:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4715, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21085:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4716, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21098:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21085:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21080:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4719, - "nodeType": "ExpressionStatement", - "src": "21080:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4720, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21110:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4721, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21117:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303032626565353133626462346136623139623566383030303030", - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21122:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_217535414131691079834009600000_by_1", - "typeString": "int_const 217535414131691079834009600000" - }, - "value": "0x0000002bee513bdb4a6b19b5f800000" - }, - "src": "21117:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21110:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4725, - "nodeType": "ExpressionStatement", - "src": "21110:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4726, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21191:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4727, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21197:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4728, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21202:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21197:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4730, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21196:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4731, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21209:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21196:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21191:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4734, - "nodeType": "ExpressionStatement", - "src": "21191:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4735, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21221:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4736, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21228:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030336139333136666137396238386563636632613030303030", - "id": 4737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21233:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18127951177640923319500800000_by_1", - "typeString": "int_const 18127951177640923319500800000" - }, - "value": "0x00000003a9316fa79b88eccf2a00000" - }, - "src": "21228:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21221:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "21221:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4741, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21302:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4742, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21308:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4743, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21313:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21308:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4745, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21307:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4746, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21320:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21307:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21302:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4749, - "nodeType": "ExpressionStatement", - "src": "21302:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4750, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21332:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4751, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21339:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303438313737656265316661383132333735323030303030", - "id": 4752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21344:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1394457782895455639961600000_by_1", - "typeString": "int_const 1394457782895455639961600000" - }, - "value": "0x0000000048177ebe1fa812375200000" - }, - "src": "21339:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21332:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4755, - "nodeType": "ExpressionStatement", - "src": "21332:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4756, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21413:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4757, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21419:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4758, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21424:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21419:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4760, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21418:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4761, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21431:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21418:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21413:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4764, - "nodeType": "ExpressionStatement", - "src": "21413:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4765, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21443:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4766, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21450:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303035323633666539303234326463626163663030303030", - "id": 4767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21455:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99604127349675402854400000_by_1", - "typeString": "int_const 99604127349675402854400000" - }, - "value": "0x0000000005263fe90242dcbacf00000" - }, - "src": "21450:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21443:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4770, - "nodeType": "ExpressionStatement", - "src": "21443:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4771, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21524:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4772, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21530:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4773, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21535:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21530:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4775, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21529:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4776, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21542:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21529:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21524:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4779, - "nodeType": "ExpressionStatement", - "src": "21524:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4780, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21554:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4781, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21561:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030353765323230393963303330643934313030303030", - "id": 4782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21566:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6640275156645026856960000_by_1", - "typeString": "int_const 6640275156645026856960000" - }, - "value": "0x000000000057e22099c030d94100000" - }, - "src": "21561:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21554:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4785, - "nodeType": "ExpressionStatement", - "src": "21554:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4786, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21635:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4787, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21641:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4788, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21646:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21641:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4790, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21640:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4791, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21653:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21640:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21635:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4794, - "nodeType": "ExpressionStatement", - "src": "21635:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4795, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21665:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4796, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21672:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303537653232303939633033306439343130303030", - "id": 4797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21677:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_415017197290314178560000_by_1", - "typeString": "int_const 415017197290314178560000" - }, - "value": "0x0000000000057e22099c030d9410000" - }, - "src": "21672:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21665:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4800, - "nodeType": "ExpressionStatement", - "src": "21665:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4801, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21746:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4802, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21752:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4803, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21757:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21752:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4805, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21751:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4806, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21764:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21751:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21746:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4809, - "nodeType": "ExpressionStatement", - "src": "21746:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4810, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21776:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4811, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21783:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303035326236623534353639393736333130303030", - "id": 4812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24412776311194951680000_by_1", - "typeString": "int_const 24412776311194951680000" - }, - "value": "0x00000000000052b6b54569976310000" - }, - "src": "21783:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21776:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4815, - "nodeType": "ExpressionStatement", - "src": "21776:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4816, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21857:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4817, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21863:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4818, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21868:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21863:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4820, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21862:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4821, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21875:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21862:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21857:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4824, - "nodeType": "ExpressionStatement", - "src": "21857:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4825, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21887:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4826, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21894:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030343938356636373639366266373438303030", - "id": 4827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21899:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1356265350621941760000_by_1", - "typeString": "int_const 1356265350621941760000" - }, - "value": "0x00000000000004985f67696bf748000" - }, - "src": "21894:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21887:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4830, - "nodeType": "ExpressionStatement", - "src": "21887:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4831, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21968:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4832, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "21974:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4833, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "21979:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21974:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4835, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21973:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4836, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "21986:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21973:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21968:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4839, - "nodeType": "ExpressionStatement", - "src": "21968:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4840, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "21998:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4841, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22005:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303364656131326561393965343938303030", - "id": 4842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22010:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71382386874839040000_by_1", - "typeString": "int_const 71382386874839040000" - }, - "value": "0x000000000000003dea12ea99e498000" - }, - "src": "22005:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21998:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4845, - "nodeType": "ExpressionStatement", - "src": "21998:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4846, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22079:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4847, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22085:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4848, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22090:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22085:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4850, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22084:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4851, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22097:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22084:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22079:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4854, - "nodeType": "ExpressionStatement", - "src": "22079:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4855, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22109:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4856, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22116:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303033313838306632323134623665303030", - "id": 4857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22121:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3569119343741952000_by_1", - "typeString": "int_const 3569119343741952000" - }, - "value": "0x00000000000000031880f2214b6e000" - }, - "src": "22116:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22109:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4860, - "nodeType": "ExpressionStatement", - "src": "22109:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4861, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22190:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4862, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22196:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4863, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22201:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4865, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22195:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4866, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22208:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22195:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22190:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4869, - "nodeType": "ExpressionStatement", - "src": "22190:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4870, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22220:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4871, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22227:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030323562636666353665623336303030", - "id": 4872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22232:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_169958063987712000_by_1", - "typeString": "int_const 169958063987712000" - }, - "value": "0x000000000000000025bcff56eb36000" - }, - "src": "22227:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22220:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4875, - "nodeType": "ExpressionStatement", - "src": "22220:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4876, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22301:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4877, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22307:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22312:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22307:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4880, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22306:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4881, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22319:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22306:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22301:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4884, - "nodeType": "ExpressionStatement", - "src": "22301:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4885, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22331:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4886, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22338:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303162373232653130616231303030", - "id": 4887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22343:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7725366544896000_by_1", - "typeString": "int_const 7725366544896000" - }, - "value": "0x000000000000000001b722e10ab1000" - }, - "src": "22338:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22331:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4890, - "nodeType": "ExpressionStatement", - "src": "22331:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4891, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22412:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4892, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22418:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4893, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22423:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22418:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4895, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22417:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4896, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22430:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22417:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22412:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4899, - "nodeType": "ExpressionStatement", - "src": "22412:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4900, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22442:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4901, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22449:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303031333137633730303737303030", - "id": 4902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22454:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_335885501952000_by_1", - "typeString": "int_const 335885501952000" - }, - "value": "0x0000000000000000001317c70077000" - }, - "src": "22449:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22442:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4905, - "nodeType": "ExpressionStatement", - "src": "22442:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4906, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22523:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4907, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22529:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4908, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22534:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22529:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4910, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22528:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4911, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22541:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22528:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22523:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4914, - "nodeType": "ExpressionStatement", - "src": "22523:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4915, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22553:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4916, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22560:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030306362613834616166613030", - "id": 4917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22565:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13995229248000_by_1", - "typeString": "int_const 13995229248000" - }, - "value": "0x00000000000000000000cba84aafa00" - }, - "src": "22560:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22553:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4920, - "nodeType": "ExpressionStatement", - "src": "22553:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4921, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22634:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4922, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22640:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4923, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22645:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4925, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22639:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4926, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22652:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22639:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22634:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4929, - "nodeType": "ExpressionStatement", - "src": "22634:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4930, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22664:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4931, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22671:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303038323537336130613030", - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22676:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_559809169920_by_1", - "typeString": "int_const 559809169920" - }, - "value": "0x00000000000000000000082573a0a00" - }, - "src": "22671:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22664:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4935, - "nodeType": "ExpressionStatement", - "src": "22664:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4936, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22745:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4937, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22751:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4938, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22756:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22751:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4940, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22750:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4941, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22763:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22750:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22745:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4944, - "nodeType": "ExpressionStatement", - "src": "22745:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4945, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22775:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4946, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22782:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030353033356164393030", - "id": 4947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22787:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21531121920_by_1", - "typeString": "int_const 21531121920" - }, - "value": "0x00000000000000000000005035ad900" - }, - "src": "22782:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22775:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4950, - "nodeType": "ExpressionStatement", - "src": "22775:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4951, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22856:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4952, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22862:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4953, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22867:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22862:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22861:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22874:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22861:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22856:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4959, - "nodeType": "ExpressionStatement", - "src": "22856:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4960, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22886:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4961, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22893:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303266383831623030", - "id": 4962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22898:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_797448960_by_1", - "typeString": "int_const 797448960" - }, - "value": "0x000000000000000000000002f881b00" - }, - "src": "22893:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22886:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4965, - "nodeType": "ExpressionStatement", - "src": "22886:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4966, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22967:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4967, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "22973:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4968, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "22978:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22972:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4971, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "22985:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "22972:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22967:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4974, - "nodeType": "ExpressionStatement", - "src": "22967:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "22997:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23004:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303031623239333430", - "id": 4977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23009:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28480320_by_1", - "typeString": "int_const 28480320" - }, - "value": "0x0000000000000000000000001b29340" - }, - "src": "23004:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22997:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4980, - "nodeType": "ExpressionStatement", - "src": "22997:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4981, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23078:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4982, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23084:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23089:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23084:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23083:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 4986, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23096:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23083:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23078:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4989, - "nodeType": "ExpressionStatement", - "src": "23078:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 4994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4990, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23108:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4991, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23115:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030306566633430", - "id": 4992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23120:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_982080_by_1", - "typeString": "int_const 982080" - }, - "value": "0x00000000000000000000000000efc40" - }, - "src": "23115:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23108:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4995, - "nodeType": "ExpressionStatement", - "src": "23108:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4996, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23189:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4997, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23195:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4998, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23200:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23195:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5000, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23194:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5001, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23207:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23194:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23189:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5004, - "nodeType": "ExpressionStatement", - "src": "23189:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5005, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23219:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5006, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23226:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303037666530", - "id": 5007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23231:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32736_by_1", - "typeString": "int_const 32736" - }, - "value": "0x0000000000000000000000000007fe0" - }, - "src": "23226:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23219:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5010, - "nodeType": "ExpressionStatement", - "src": "23219:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5011, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23300:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5012, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23306:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5013, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23311:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5015, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23305:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5016, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23318:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23305:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23300:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5019, - "nodeType": "ExpressionStatement", - "src": "23300:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5020, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23330:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5021, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23337:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030343230", - "id": 5022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23342:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1056_by_1", - "typeString": "int_const 1056" - }, - "value": "0x0000000000000000000000000000420" - }, - "src": "23337:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23330:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5025, - "nodeType": "ExpressionStatement", - "src": "23330:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5026, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23411:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5027, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23417:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5028, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23422:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23417:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5030, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23416:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23429:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23416:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23411:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5034, - "nodeType": "ExpressionStatement", - "src": "23411:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5035, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23441:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5036, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23448:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303231", - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23453:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "0x0000000000000000000000000000021" - }, - "src": "23448:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23441:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5040, - "nodeType": "ExpressionStatement", - "src": "23441:45:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5041, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23522:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5042, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23528:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5043, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23533:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5045, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23527:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "id": 5046, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23540:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23527:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23522:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5049, - "nodeType": "ExpressionStatement", - "src": "23522:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5050, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23552:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5051, - "name": "xi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "23559:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303031", - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23564:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000000000000000000001" - }, - "src": "23559:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23552:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5055, - "nodeType": "ExpressionStatement", - "src": "23552:45:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5056, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "23641:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307836383835383963633065393530356532663266656535353830303030303030", - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23647:33:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8683317618811886495518194401280000000_by_1", - "typeString": "int_const 8683...(29 digits omitted)...0000" - }, - "value": "0x688589cc0e9505e2f2fee5580000000" - }, - "src": "23641:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5059, - "name": "_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4561, - "src": "23683:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5061, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3353, - "src": "23689:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "argumentTypes": null, - "id": 5062, - "name": "_precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4563, - "src": "23696:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "23689:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5064, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23688:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23641:66:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4567, - "id": 5066, - "nodeType": "Return", - "src": "23634:73:4" - } - ] - }, - "documentation": "This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'.\nIt approximates \"e ^ x\" via maclaurin summation: \"(x^0)/0! + (x^1)/1! + ... + (x^n)/n!\".\nIt returns \"e ^ (x / 2 ^ precision) * 2 ^ precision\", that is, the result is upshifted for accuracy.\nThe global \"maxExpArray\" maps each \"precision\" to \"((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1\".\nThe maximum permitted value for \"x\" is therefore given by \"maxExpArray[precision] >> (MAX_PRECISION - precision)\".", - "id": 5068, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "generalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4561, - "name": "_x", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "19958:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19958:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4563, - "name": "_precision", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "19970:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4562, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "19970:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19957:30:4" - }, - "payable": false, - "returnParameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4566, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5068, - "src": "20011:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20011:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20010:9:4" - }, - "scope": 5797, - "src": "19938:3826:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5386, - "nodeType": "Block", - "src": "24549:2707:4", - "statements": [ - { - "assignments": [ - 5076 - ], - "declarations": [ - { - "constant": false, - "id": 5076, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24559:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24559:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5078, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24573:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24559:15:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5080, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24585:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24585:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5081, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24585:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5083, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24604:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5084, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24604:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24623:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24623:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5087, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "24623:9:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5088, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24647:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24652:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24647:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5104, - "nodeType": "IfStatement", - "src": "24643:143:4", - "trueBody": { - "id": 5103, - "nodeType": "Block", - "src": "24688:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5091, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "24689:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783430303030303030303030303030303030303030303030303030303030303030", - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24696:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x40000000000000000000000000000000" - }, - "src": "24689:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5094, - "nodeType": "ExpressionStatement", - "src": "24689:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5095, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24732:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5096, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24736:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5097, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "24740:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24736:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786433303934633730663033346465346239366666376435623666393966636438", - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24750:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_280515388193368458015406427511040113880_by_1", - "typeString": "int_const 2805...(31 digits omitted)...3880" - }, - "value": "0xd3094c70f034de4b96ff7d5b6f99fcd8" - }, - "src": "24736:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24732:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5102, - "nodeType": "ExpressionStatement", - "src": "24732:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5105, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24814:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24819:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24814:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5121, - "nodeType": "IfStatement", - "src": "24810:143:4", - "trueBody": { - "id": 5120, - "nodeType": "Block", - "src": "24855:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5108, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "24856:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783230303030303030303030303030303030303030303030303030303030303030", - "id": 5109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24863:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x20000000000000000000000000000000" - }, - "src": "24856:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5111, - "nodeType": "ExpressionStatement", - "src": "24856:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5112, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24899:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5113, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24903:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5114, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "24907:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24903:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786134356166316531663430633333336233646531646234646435356632396137", - "id": 5116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24917:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_218465603988574474844591417643679820199_by_1", - "typeString": "int_const 2184...(31 digits omitted)...0199" - }, - "value": "0xa45af1e1f40c333b3de1db4dd55f29a7" - }, - "src": "24903:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24899:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5119, - "nodeType": "ExpressionStatement", - "src": "24899:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5122, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "24981:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 5123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24986:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "24981:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5138, - "nodeType": "IfStatement", - "src": "24977:143:4", - "trueBody": { - "id": 5137, - "nodeType": "Block", - "src": "25022:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25023:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25030:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "25023:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5128, - "nodeType": "ExpressionStatement", - "src": "25023:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5129, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25066:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5130, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25070:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5131, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25074:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25070:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783931306230323264623761653637636537366234343163323730333563366131", - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_192795218841189805222451540510555621025_by_1", - "typeString": "int_const 1927...(31 digits omitted)...1025" - }, - "value": "0x910b022db7ae67ce76b441c27035c6a1" - }, - "src": "25070:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25066:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5136, - "nodeType": "ExpressionStatement", - "src": "25066:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5139, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25148:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 5140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25153:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25148:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5155, - "nodeType": "IfStatement", - "src": "25144:143:4", - "trueBody": { - "id": 5154, - "nodeType": "Block", - "src": "25189:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5142, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25190:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783038303030303030303030303030303030303030303030303030303030303030", - "id": 5143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25197:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10633823966279326983230456482242756608_by_1", - "typeString": "int_const 1063...(30 digits omitted)...6608" - }, - "value": "0x08000000000000000000000000000000" - }, - "src": "25190:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5145, - "nodeType": "ExpressionStatement", - "src": "25190:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5146, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25233:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5147, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25237:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5148, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25241:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25237:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783838343135616262653961373662656164386430306366313132653464346138", - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25251:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181114347027396448854165353426875372712_by_1", - "typeString": "int_const 1811...(31 digits omitted)...2712" - }, - "value": "0x88415abbe9a76bead8d00cf112e4d4a8" - }, - "src": "25237:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25233:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5153, - "nodeType": "ExpressionStatement", - "src": "25233:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5156, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25315:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 5157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25320:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25315:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5172, - "nodeType": "IfStatement", - "src": "25311:143:4", - "trueBody": { - "id": 5171, - "nodeType": "Block", - "src": "25356:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5159, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25357:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783034303030303030303030303030303030303030303030303030303030303030", - "id": 5160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25364:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5316911983139663491615228241121378304_by_1", - "typeString": "int_const 5316...(29 digits omitted)...8304" - }, - "value": "0x04000000000000000000000000000000" - }, - "src": "25357:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5162, - "nodeType": "ExpressionStatement", - "src": "25357:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5163, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25400:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5164, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25404:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5165, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25408:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25404:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783834313032623030383933663634633730356538343164356434303634626433", - "id": 5167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25418:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_175542044379434494067323265867529472979_by_1", - "typeString": "int_const 1755...(31 digits omitted)...2979" - }, - "value": "0x84102b00893f64c705e841d5d4064bd3" - }, - "src": "25404:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25400:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5170, - "nodeType": "ExpressionStatement", - "src": "25400:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5173, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25482:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 5174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25487:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25482:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5189, - "nodeType": "IfStatement", - "src": "25478:143:4", - "trueBody": { - "id": 5188, - "nodeType": "Block", - "src": "25523:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5176, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25524:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783032303030303030303030303030303030303030303030303030303030303030", - "id": 5177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25531:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2658455991569831745807614120560689152_by_1", - "typeString": "int_const 2658...(29 digits omitted)...9152" - }, - "value": "0x02000000000000000000000000000000" - }, - "src": "25524:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5179, - "nodeType": "ExpressionStatement", - "src": "25524:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5180, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25567:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5181, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25571:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5182, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25575:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25571:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783832303430353561616566316338626435633332353966343832323733356132", - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25585:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_172820517236198538127967385733353125282_by_1", - "typeString": "int_const 1728...(31 digits omitted)...5282" - }, - "value": "0x8204055aaef1c8bd5c3259f4822735a2" - }, - "src": "25571:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25567:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5187, - "nodeType": "ExpressionStatement", - "src": "25567:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5190, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25649:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25654:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25649:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5206, - "nodeType": "IfStatement", - "src": "25645:143:4", - "trueBody": { - "id": 5205, - "nodeType": "Block", - "src": "25690:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5193, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25691:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783031303030303030303030303030303030303030303030303030303030303030", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25698:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1329227995784915872903807060280344576_by_1", - "typeString": "int_const 1329...(29 digits omitted)...4576" - }, - "value": "0x01000000000000000000000000000000" - }, - "src": "25691:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5196, - "nodeType": "ExpressionStatement", - "src": "25691:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5197, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5198, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25738:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5199, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25742:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25738:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783831303130306162303032323264383631393331633135653339623434653939", - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25752:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_171475617301169790829459146906809945753_by_1", - "typeString": "int_const 1714...(31 digits omitted)...5753" - }, - "value": "0x810100ab00222d861931c15e39b44e99" - }, - "src": "25738:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25734:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5204, - "nodeType": "ExpressionStatement", - "src": "25734:52:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5207, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25816:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25821:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25816:39:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5223, - "nodeType": "IfStatement", - "src": "25812:143:4", - "trueBody": { - "id": 5222, - "nodeType": "Block", - "src": "25857:98:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5210, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "25858:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30783030383030303030303030303030303030303030303030303030303030303030", - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25865:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_664613997892457936451903530140172288_by_1", - "typeString": "int_const 6646...(28 digits omitted)...2288" - }, - "value": "0x00800000000000000000000000000000" - }, - "src": "25858:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5213, - "nodeType": "ExpressionStatement", - "src": "25858:41:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5214, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25901:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5215, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25905:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5216, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25909:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25905:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783830383034303135356161626262653934353135323136393335353466373333", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25919:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170807097224429000759274174605493073715_by_1", - "typeString": "int_const 1708...(31 digits omitted)...3715" - }, - "value": "0x808040155aabbbe9451521693554f733" - }, - "src": "25905:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25901:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5221, - "nodeType": "ExpressionStatement", - "src": "25901:52:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5224, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "25980:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5225, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "25984:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5226, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "25988:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5227, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "25992:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25988:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25984:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25980:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5231, - "nodeType": "ExpressionStatement", - "src": "25980:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5232, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26009:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5233, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26013:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5234, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26017:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5236, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26021:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26013:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26009:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5239, - "nodeType": "ExpressionStatement", - "src": "26009:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5240, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26038:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5241, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26045:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26050:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5243, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26088:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26050:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5245, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26049:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26045:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26093:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "26045:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26038:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "26038:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5251, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26130:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5252, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26134:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5253, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26138:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5255, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26142:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26134:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26130:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "26130:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5259, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26188:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5260, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26195:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078306161616161616161616161616161616161616161616161616161616161616161", - "id": 5261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26200:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_226854911280625642308916404954512140970_by_1", - "typeString": "int_const 2268...(31 digits omitted)...0970" - }, - "value": "0x0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5262, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26238:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26200:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5264, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26199:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26195:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 5266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26243:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "26195:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26188:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "nodeType": "ExpressionStatement", - "src": "26188:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5270, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26280:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5271, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26284:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5272, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26288:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5274, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26292:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26284:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26280:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5277, - "nodeType": "ExpressionStatement", - "src": "26280:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5278, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26338:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5279, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26345:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303939393939393939393939393939393939393939393939393939393939393939", - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26350:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_204169420152563078078024764459060926873_by_1", - "typeString": "int_const 2041...(31 digits omitted)...6873" - }, - "value": "0x099999999999999999999999999999999" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5281, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26388:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26350:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26349:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26345:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078333030303030303030303030303030303030303030303030303030303030303030", - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26393:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1020847100762815390390123822295304634368_by_1", - "typeString": "int_const 1020...(32 digits omitted)...4368" - }, - "value": "0x300000000000000000000000000000000" - }, - "src": "26345:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26338:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5288, - "nodeType": "ExpressionStatement", - "src": "26338:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5289, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26430:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5290, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26434:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5291, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26438:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5293, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26442:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26434:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26430:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5296, - "nodeType": "ExpressionStatement", - "src": "26430:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5297, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26488:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5298, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26495:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303932343932343932343932343932343932343932343932343932343932343932", - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26500:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_194447066811964836264785489961010406546_by_1", - "typeString": "int_const 1944...(31 digits omitted)...6546" - }, - "value": "0x092492492492492492492492492492492" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5300, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26538:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26500:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5302, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26499:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26495:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26543:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "26495:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26488:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5307, - "nodeType": "ExpressionStatement", - "src": "26488:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5308, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26580:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5309, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26584:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5310, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26588:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5312, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26592:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26584:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26580:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5315, - "nodeType": "ExpressionStatement", - "src": "26580:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5316, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26638:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5317, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26645:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303865333865333865333865333865333865333865333865333865333865333865", - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26650:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_189045759400521368590763670795426784142_by_1", - "typeString": "int_const 1890...(31 digits omitted)...4142" - }, - "value": "0x08e38e38e38e38e38e38e38e38e38e38e" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5319, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26688:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26650:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5321, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26649:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26645:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078353030303030303030303030303030303030303030303030303030303030303030", - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26693:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1701411834604692317316873037158841057280_by_1", - "typeString": "int_const 1701...(32 digits omitted)...7280" - }, - "value": "0x500000000000000000000000000000000" - }, - "src": "26645:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26638:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5326, - "nodeType": "ExpressionStatement", - "src": "26638:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5327, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26730:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5328, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5329, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26738:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5331, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26742:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26734:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26730:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5334, - "nodeType": "ExpressionStatement", - "src": "26730:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5335, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26788:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5336, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26795:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303862613265386261326538626132653862613265386261326538626132653862", - "id": 5337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26800:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_185608563775057343707295240417328115339_by_1", - "typeString": "int_const 1856...(31 digits omitted)...5339" - }, - "value": "0x08ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5338, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26838:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26800:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5340, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26799:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26795:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078363030303030303030303030303030303030303030303030303030303030303030", - "id": 5342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26843:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2041694201525630780780247644590609268736_by_1", - "typeString": "int_const 2041...(32 digits omitted)...8736" - }, - "value": "0x600000000000000000000000000000000" - }, - "src": "26795:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26788:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "nodeType": "ExpressionStatement", - "src": "26788:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5346, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26880:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5347, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26884:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5348, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "26888:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5350, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "26892:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26884:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26880:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5353, - "nodeType": "ExpressionStatement", - "src": "26880:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5354, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "26938:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5355, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "26945:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303839643839643839643839643839643839643839643839643839643839643839", - "id": 5356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_183228966803582249557201711694029036937_by_1", - "typeString": "int_const 1832...(31 digits omitted)...6937" - }, - "value": "0x089d89d89d89d89d89d89d89d89d89d89" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "26988:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26950:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26949:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26945:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078373030303030303030303030303030303030303030303030303030303030303030", - "id": 5361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26993:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2381976568446569244243622252022377480192_by_1", - "typeString": "int_const 2381...(32 digits omitted)...0192" - }, - "value": "0x700000000000000000000000000000000" - }, - "src": "26945:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26938:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5364, - "nodeType": "ExpressionStatement", - "src": "26938:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5365, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27030:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5366, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27034:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5367, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "27038:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5369, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "27042:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27034:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27030:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5372, - "nodeType": "ExpressionStatement", - "src": "27030:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "27088:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5374, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5083, - "src": "27095:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3078303838383838383838383838383838383838383838383838383838383838383838", - "id": 5375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27100:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_181483929024500513847133123963609712776_by_1", - "typeString": "int_const 1814...(31 digits omitted)...2776" - }, - "value": "0x088888888888888888888888888888888" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5376, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "27138:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27100:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27099:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27095:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078383030303030303030303030303030303030303030303030303030303030303030", - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27143:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2722258935367507707706996859454145691648_by_1", - "typeString": "int_const 2722...(32 digits omitted)...1648" - }, - "value": "0x800000000000000000000000000000000" - }, - "src": "27095:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27088:90:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5383, - "nodeType": "ExpressionStatement", - "src": "27088:90:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5384, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "27246:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5074, - "id": 5385, - "nodeType": "Return", - "src": "27239:10:4" - } - ] - }, - "documentation": "Return log(x / FIXED_1) * FIXED_1\nInput range: FIXED_1 <= x <= LOG_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalLog.py'\nDetailed description:\n- Rewrite the input as a product of natural exponents and a single residual r, such that 1 < r < 2\n- The natural logarithm of each (pre-calculated) exponent is the degree of the exponent\n- The natural logarithm of r is calculated via Taylor series for log(1 + x), where x = r - 1\n- The natural logarithm of the input is calculated by summing up the intermediate results above\n- For example: log(250) = log(e^4 * e^1 * e^0.5 * 1.021692859) = 4 + 1 + 0.5 + log(1 + 0.021692859)", - "id": 5387, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalLog", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5070, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24506:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24506:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24505:11:4" - }, - "payable": false, - "returnParameters": { - "id": 5074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5073, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "24540:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24540:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24539:9:4" - }, - "scope": 5797, - "src": "24486:2770:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5795, - "nodeType": "Block", - "src": "27996:3116:4", - "statements": [ - { - "assignments": [ - 5395 - ], - "declarations": [ - { - "constant": false, - "id": 5395, - "name": "res", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28006:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28006:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5397, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28020:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28006:15:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5399, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28032:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5398, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28032:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28032:9:4" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5402, - "name": "z", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "28051:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28051:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5403, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "28051:9:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5404, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28071:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28075:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5406, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "28079:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783130303030303030303030303030303030303030303030303030303030303030", - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:34:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x10000000000000000000000000000000" - }, - "src": "28079:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28075:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28071:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "28071:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5412, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28158:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5413, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28162:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5414, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28166:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5416, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28170:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28158:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5419, - "nodeType": "ExpressionStatement", - "src": "28158:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5420, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28179:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5421, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28186:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307831306531623362653431356130303030", - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28190:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1216451004088320000_by_1", - "typeString": "int_const 1216451004088320000" - }, - "value": "0x10e1b3be415a0000" - }, - "src": "28186:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28179:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5425, - "nodeType": "ExpressionStatement", - "src": "28179:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5426, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28244:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5427, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28248:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5428, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28252:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5430, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28256:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28248:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28244:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5433, - "nodeType": "ExpressionStatement", - "src": "28244:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5434, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28265:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5435, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28272:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830356130393133663662316530303030", - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28276:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_405483668029440000_by_1", - "typeString": "int_const 405483668029440000" - }, - "value": "0x05a0913f6b1e0000" - }, - "src": "28272:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28265:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "nodeType": "ExpressionStatement", - "src": "28265:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5440, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28330:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5441, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28334:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5442, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28338:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5444, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28342:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28334:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28330:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5447, - "nodeType": "ExpressionStatement", - "src": "28330:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5448, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28351:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28358:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830313638323434666461633738303030", - "id": 5450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28362:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101370917007360000_by_1", - "typeString": "int_const 101370917007360000" - }, - "value": "0x0168244fdac78000" - }, - "src": "28358:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28351:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5453, - "nodeType": "ExpressionStatement", - "src": "28351:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5454, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28416:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5455, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28420:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5456, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28424:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5458, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28428:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28420:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28416:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "28416:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5462, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28437:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5463, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28444:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303438303734333262633138303030", - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28448:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20274183401472000_by_1", - "typeString": "int_const 20274183401472000" - }, - "value": "0x004807432bc18000" - }, - "src": "28444:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28437:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5467, - "nodeType": "ExpressionStatement", - "src": "28437:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5468, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28502:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5469, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28506:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5470, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28510:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5472, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28514:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28506:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28502:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5475, - "nodeType": "ExpressionStatement", - "src": "28502:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5476, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28523:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5477, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28530:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303063303133356463613034303030", - "id": 5478, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28534:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3379030566912000_by_1", - "typeString": "int_const 3379030566912000" - }, - "value": "0x000c0135dca04000" - }, - "src": "28530:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28523:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "28523:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5482, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28588:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5483, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28592:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5484, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28596:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5486, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28600:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28592:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28588:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5489, - "nodeType": "ExpressionStatement", - "src": "28588:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5490, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28609:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5491, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28616:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303031623730376231636463303030", - "id": 5492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28620:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_482718652416000_by_1", - "typeString": "int_const 482718652416000" - }, - "value": "0x0001b707b1cdc000" - }, - "src": "28616:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28609:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5495, - "nodeType": "ExpressionStatement", - "src": "28609:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5496, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28674:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5497, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28678:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5498, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28682:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5500, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28686:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28678:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28674:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "nodeType": "ExpressionStatement", - "src": "28674:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5504, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28695:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5505, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28702:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030333665306636333962383030", - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28706:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60339831552000_by_1", - "typeString": "int_const 60339831552000" - }, - "value": "0x000036e0f639b800" - }, - "src": "28702:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28695:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5509, - "nodeType": "ExpressionStatement", - "src": "28695:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5510, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28760:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5511, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28764:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28768:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5514, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28772:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28764:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28760:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5517, - "nodeType": "ExpressionStatement", - "src": "28760:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5518, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28781:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5519, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28788:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303631386665653966383030", - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28792:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6704425728000_by_1", - "typeString": "int_const 6704425728000" - }, - "value": "0x00000618fee9f800" - }, - "src": "28788:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28781:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5523, - "nodeType": "ExpressionStatement", - "src": "28781:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5524, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28846:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5525, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28850:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5526, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28854:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5528, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28858:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28850:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28846:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5531, - "nodeType": "ExpressionStatement", - "src": "28846:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5532, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28867:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5533, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28874:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303039633139376463633030", - "id": 5534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28878:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_670442572800_by_1", - "typeString": "int_const 670442572800" - }, - "value": "0x0000009c197dcc00" - }, - "src": "28874:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28867:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5537, - "nodeType": "ExpressionStatement", - "src": "28867:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5538, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28932:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5539, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28936:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5540, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "28940:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5542, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "28944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28936:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28932:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5545, - "nodeType": "ExpressionStatement", - "src": "28932:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5546, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "28953:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5547, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "28960:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030653330646365343030", - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28964:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_60949324800_by_1", - "typeString": "int_const 60949324800" - }, - "value": "0x0000000e30dce400" - }, - "src": "28960:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28953:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5551, - "nodeType": "ExpressionStatement", - "src": "28953:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5552, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29018:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5553, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29022:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5554, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29026:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5556, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29030:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29022:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29018:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5559, - "nodeType": "ExpressionStatement", - "src": "29018:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5560, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29039:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5561, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29046:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030313265626431333030", - "id": 5562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29050:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5079110400_by_1", - "typeString": "int_const 5079110400" - }, - "value": "0x000000012ebd1300" - }, - "src": "29046:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29039:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5565, - "nodeType": "ExpressionStatement", - "src": "29039:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5566, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29104:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5567, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29108:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5568, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29112:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5570, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29116:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29108:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29104:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "29104:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5574, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29125:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5575, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29132:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303137343939663030", - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29136:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_390700800_by_1", - "typeString": "int_const 390700800" - }, - "value": "0x0000000017499f00" - }, - "src": "29132:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29125:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "29125:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5580, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29190:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5581, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29194:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5582, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29198:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5584, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29202:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29194:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29190:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5587, - "nodeType": "ExpressionStatement", - "src": "29190:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5588, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29211:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5589, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29218:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303031613964343830", - "id": 5590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29222:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27907200_by_1", - "typeString": "int_const 27907200" - }, - "value": "0x0000000001a9d480" - }, - "src": "29218:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29211:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5593, - "nodeType": "ExpressionStatement", - "src": "29211:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5594, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29276:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5595, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29280:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5596, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29284:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5598, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29288:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29280:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29276:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5601, - "nodeType": "ExpressionStatement", - "src": "29276:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5602, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29297:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5603, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29304:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030316336333830", - "id": 5604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29308:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1860480_by_1", - "typeString": "int_const 1860480" - }, - "value": "0x00000000001c6380" - }, - "src": "29304:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29297:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5607, - "nodeType": "ExpressionStatement", - "src": "29297:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5608, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29362:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5609, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29366:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5610, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29370:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5612, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29374:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29366:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29362:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5615, - "nodeType": "ExpressionStatement", - "src": "29362:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5616, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29383:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5617, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29390:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303163363338", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29394:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_116280_by_1", - "typeString": "int_const 116280" - }, - "value": "0x000000000001c638" - }, - "src": "29390:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29383:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5621, - "nodeType": "ExpressionStatement", - "src": "29383:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5622, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29448:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5623, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29452:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5624, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29456:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5626, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29460:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29452:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29448:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5629, - "nodeType": "ExpressionStatement", - "src": "29448:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29469:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5631, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29476:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303031616238", - "id": 5632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29480:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6840_by_1", - "typeString": "int_const 6840" - }, - "value": "0x0000000000001ab8" - }, - "src": "29476:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29469:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5635, - "nodeType": "ExpressionStatement", - "src": "29469:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29534:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5637, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29538:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5638, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29542:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5640, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29538:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29534:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5643, - "nodeType": "ExpressionStatement", - "src": "29534:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5644, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29555:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5645, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29562:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030313763", - "id": 5646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29566:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_380_by_1", - "typeString": "int_const 380" - }, - "value": "0x000000000000017c" - }, - "src": "29562:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29555:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "29555:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5650, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29620:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5651, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29624:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5652, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29628:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5654, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29624:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29620:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5657, - "nodeType": "ExpressionStatement", - "src": "29620:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5658, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29641:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5659, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29648:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303134", - "id": 5660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29652:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x0000000000000014" - }, - "src": "29648:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29641:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5663, - "nodeType": "ExpressionStatement", - "src": "29641:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5664, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29706:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5665, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29710:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5666, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29714:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5668, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29718:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29710:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29706:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5671, - "nodeType": "ExpressionStatement", - "src": "29706:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5672, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29727:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5673, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "29734:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303031", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29738:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x0000000000000001" - }, - "src": "29734:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29727:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5677, - "nodeType": "ExpressionStatement", - "src": "29727:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 5686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29792:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5679, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29798:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307832316333363737633832623430303030", - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29804:18:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2432902008176640000_by_1", - "typeString": "int_const 2432902008176640000" - }, - "value": "0x21c3677c82b40000" - }, - "src": "29798:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5682, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "29825:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5684, - "name": "FIXED_1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "29829:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29798:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29792:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "nodeType": "ExpressionStatement", - "src": "29792:44:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5688, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "29902:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030303030303030303030303030303030", - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29906:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21267647932558653966460912964485513216_by_1", - "typeString": "int_const 2126...(30 digits omitted)...3216" - }, - "value": "0x010000000000000000000000000000000" - }, - "src": "29902:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5691, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "29901:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29946:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29901:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5702, - "nodeType": "IfStatement", - "src": "29897:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29949:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "29955:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078316333643661323465643832323138373837643632346433653565626139356639", - "id": 5696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29961:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_600596269623765960634066700837880239609_by_1", - "typeString": "int_const 6005...(31 digits omitted)...9609" - }, - "value": "0x1c3d6a24ed82218787d624d3e5eba95f9" - }, - "src": "29955:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373736", - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29999:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276726_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6726" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e776" - }, - "src": "29955:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29949:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5701, - "nodeType": "ExpressionStatement", - "src": "29949:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5703, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30073:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303230303030303030303030303030303030303030303030303030303030303030", - "id": 5704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30077:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42535295865117307932921825928971026432_by_1", - "typeString": "int_const 4253...(30 digits omitted)...6432" - }, - "value": "0x020000000000000000000000000000000" - }, - "src": "30073:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5706, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30072:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30117:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30072:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5717, - "nodeType": "IfStatement", - "src": "30068:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5709, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30120:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5710, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30126:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313865626566396561633832306165383638326239373933616336643165373738", - "id": 5711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30132:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_530024347646835984032474664511850276728_by_1", - "typeString": "int_const 5300...(31 digits omitted)...6728" - }, - "value": "0x18ebef9eac820ae8682b9793ac6d1e778" - }, - "src": "30126:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656434", - "id": 5713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30170:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284564_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4564" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed4" - }, - "src": "30126:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30120:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5716, - "nodeType": "ExpressionStatement", - "src": "30120:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5718, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30244:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303430303030303030303030303030303030303030303030303030303030303030", - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30248:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_85070591730234615865843651857942052864_by_1", - "typeString": "int_const 8507...(30 digits omitted)...2864" - }, - "value": "0x040000000000000000000000000000000" - }, - "src": "30244:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5721, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30243:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30288:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30243:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5732, - "nodeType": "IfStatement", - "src": "30239:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5724, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30291:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5725, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30297:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313336386232666336663936303966653761636562343661613631396261656435", - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30303:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_412783376994266390547521411024565284565_by_1", - "typeString": "int_const 4127...(31 digits omitted)...4565" - }, - "value": "0x1368b2fc6f9609fe7aceb46aa619baed5" - }, - "src": "30297:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323166", - "id": 5728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30341:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656607_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6607" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21f" - }, - "src": "30297:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30291:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5731, - "nodeType": "ExpressionStatement", - "src": "30291:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5733, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30415:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303830303030303030303030303030303030303030303030303030303030303030", - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30419:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x080000000000000000000000000000000" - }, - "src": "30415:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5736, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30414:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30459:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30414:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5747, - "nodeType": "IfStatement", - "src": "30410:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5739, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30462:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5740, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30468:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078306263356162316231363737396265333537356264386630353230613966323165", - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30474:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250365773966741064234501452596301656606_by_1", - "typeString": "int_const 2503...(31 digits omitted)...6606" - }, - "value": "0x0bc5ab1b16779be3575bd8f0520a9f21e" - }, - "src": "30468:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356339", - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30512:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237641_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7641" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c9" - }, - "src": "30468:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30462:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "30462:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5748, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30586:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 5749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30590:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "src": "30586:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5751, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30585:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30630:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30585:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5762, - "nodeType": "IfStatement", - "src": "30581:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5754, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30633:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5755, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30639:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303435346161613865666530373265376636646462616238346234306135356335", - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30645:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_92104421015340344839251721785254237637_by_1", - "typeString": "int_const 9210...(30 digits omitted)...7637" - }, - "value": "0x0454aaa8efe072e7f6ddbab84b40a55c5" - }, - "src": "30639:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316561", - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30683:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307242_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7242" - }, - "value": "0x00960aadc109e7a3bf4578099615711ea" - }, - "src": "30639:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30633:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5761, - "nodeType": "ExpressionStatement", - "src": "30633:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5763, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30757:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078323030303030303030303030303030303030303030303030303030303030303030", - "id": 5764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30761:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1", - "typeString": "int_const 6805...(31 digits omitted)...2912" - }, - "value": "0x200000000000000000000000000000000" - }, - "src": "30757:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5766, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30756:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30801:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30756:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5777, - "nodeType": "IfStatement", - "src": "30752:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5769, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30804:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5770, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30810:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303039363061616463313039653761336266343537383039393631353731316437", - "id": 5771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30816:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_12464977905455307901915658421775307223_by_1", - "typeString": "int_const 1246...(30 digits omitted)...7223" - }, - "value": "0x00960aadc109e7a3bf4578099615711d7" - }, - "src": "30810:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463653364", - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30854:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646425149_by_1", - "typeString": "int_const 2283...(28 digits omitted)...5149" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdce3d" - }, - "src": "30810:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30804:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5776, - "nodeType": "ExpressionStatement", - "src": "30804:85:4" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5778, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5389, - "src": "30928:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078343030303030303030303030303030303030303030303030303030303030303030", - "id": 5779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30932:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1361129467683753853853498429727072845824_by_1", - "typeString": "int_const 1361...(32 digits omitted)...5824" - }, - "value": "0x400000000000000000000000000000000" - }, - "src": "30928:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5781, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30927:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30972:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30927:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5792, - "nodeType": "IfStatement", - "src": "30923:137:4", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5784, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30975:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5785, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "30981:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030326266383432303832303466353937376639613863663031666463333037", - "id": 5786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30987:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_228304034072369565894155946646422279_by_1", - "typeString": "int_const 2283...(28 digits omitted)...2279" - }, - "value": "0x0002bf84208204f5977f9a8cf01fdc307" - }, - "src": "30981:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303030303030336336616237373564643062393562346362656537653635643131", - "id": 5788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31025:35:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_76587471230661696290698490699025_by_1", - "typeString": "int_const 76587471230661696290698490699025" - }, - "value": "0x0000003c6ab775dd0b95b4cbee7e65d11" - }, - "src": "30981:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30975:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5791, - "nodeType": "ExpressionStatement", - "src": "30975:85:4" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5793, - "name": "res", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "31102:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5393, - "id": 5794, - "nodeType": "Return", - "src": "31095:10:4" - } - ] - }, - "documentation": "Return e ^ (x / FIXED_1) * FIXED_1\nInput range: 0 <= x <= OPT_EXP_MAX_VAL - 1\nAuto-generated via 'PrintFunctionOptimalExp.py'\nDetailed description:\n- Rewrite the input as a sum of binary exponents and a single residual r, as small as possible\n- The exponentiation of each binary exponent is given (pre-calculated)\n- The exponentiation of r is calculated via Taylor series for e^x, where x = r\n- The exponentiation of the input is calculated by multiplying the intermediate results above\n- For example: e^5.521692859 = e^(4 + 1 + 0.5 + 0.021692859) = e^4 * e^1 * e^0.5 * e^0.021692859", - "id": 5796, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "optimalExp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5389, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "27953:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27953:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27952:11:4" - }, - "payable": false, - "returnParameters": { - "id": 5393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5392, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5796, - "src": "27987:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27987:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27986:9:4" - }, - "scope": 5797, - "src": "27933:3179:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 5798, - "src": "150:30964:4" - } - ], - "src": "0:31114:4" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.750Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/BaseEVMScriptExecutor.json b/templates/multisig/build/contracts/BaseEVMScriptExecutor.json deleted file mode 100644 index 8f90884..0000000 --- a/templates/multisig/build/contracts/BaseEVMScriptExecutor.json +++ /dev/null @@ -1,409 +0,0 @@ -{ - "contractName": "BaseEVMScriptExecutor", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "script", - "type": "bytes" - }, - { - "name": "input", - "type": "bytes" - }, - { - "name": "blacklist", - "type": "address[]" - } - ], - "name": "execScript", - "outputs": [ - { - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "executorType", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../../common/Autopetrified.sol\";\nimport \"../IEVMScriptExecutor.sol\";\n\n\ncontract BaseEVMScriptExecutor is IEVMScriptExecutor, Autopetrified {\n uint256 internal constant SCRIPT_START_LOCATION = 4;\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/executors/BaseEVMScriptExecutor.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/executors/BaseEVMScriptExecutor.sol", - "exportedSymbols": { - "BaseEVMScriptExecutor": [ - 25262 - ] - }, - "id": 25263, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25252, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:64" - }, - { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "file": "../../common/Autopetrified.sol", - "id": 25253, - "nodeType": "ImportDirective", - "scope": 25263, - "sourceUnit": 23467, - "src": "70:40:64", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "../IEVMScriptExecutor.sol", - "id": 25254, - "nodeType": "ImportDirective", - "scope": 25263, - "sourceUnit": 25132, - "src": "111:35:64", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25255, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "183:18:64", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 25256, - "nodeType": "InheritanceSpecifier", - "src": "183:18:64" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25257, - "name": "Autopetrified", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23466, - "src": "203:13:64", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Autopetrified_$23466", - "typeString": "contract Autopetrified" - } - }, - "id": 25258, - "nodeType": "InheritanceSpecifier", - "src": "203:13:64" - } - ], - "contractDependencies": [ - 23466, - 23797, - 23858, - 24154, - 25131 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 25262, - "linearizedBaseContracts": [ - 25262, - 23466, - 23858, - 23797, - 24154, - 25131 - ], - "name": "BaseEVMScriptExecutor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25261, - "name": "SCRIPT_START_LOCATION", - "nodeType": "VariableDeclaration", - "scope": 25262, - "src": "223:51:64", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:64", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 25260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "273:1:64", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - } - ], - "scope": 25263, - "src": "149:128:64" - } - ], - "src": "44:234:64" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/executors/BaseEVMScriptExecutor.sol", - "exportedSymbols": { - "BaseEVMScriptExecutor": [ - 25262 - ] - }, - "id": 25263, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25252, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:64" - }, - { - "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol", - "file": "../../common/Autopetrified.sol", - "id": 25253, - "nodeType": "ImportDirective", - "scope": 25263, - "sourceUnit": 23467, - "src": "70:40:64", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "../IEVMScriptExecutor.sol", - "id": 25254, - "nodeType": "ImportDirective", - "scope": 25263, - "sourceUnit": 25132, - "src": "111:35:64", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25255, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "183:18:64", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 25256, - "nodeType": "InheritanceSpecifier", - "src": "183:18:64" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25257, - "name": "Autopetrified", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23466, - "src": "203:13:64", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Autopetrified_$23466", - "typeString": "contract Autopetrified" - } - }, - "id": 25258, - "nodeType": "InheritanceSpecifier", - "src": "203:13:64" - } - ], - "contractDependencies": [ - 23466, - 23797, - 23858, - 24154, - 25131 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 25262, - "linearizedBaseContracts": [ - 25262, - 23466, - 23858, - 23797, - 24154, - 25131 - ], - "name": "BaseEVMScriptExecutor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25261, - "name": "SCRIPT_START_LOCATION", - "nodeType": "VariableDeclaration", - "scope": 25262, - "src": "223:51:64", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "223:7:64", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 25260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "273:1:64", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - } - ], - "scope": 25263, - "src": "149:128:64" - } - ], - "src": "44:234:64" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.197Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/BaseTemplate.json b/templates/multisig/build/contracts/BaseTemplate.json deleted file mode 100644 index df76934..0000000 --- a/templates/multisig/build/contracts/BaseTemplate.json +++ /dev/null @@ -1,43618 +0,0 @@ -{ - "contractName": "BaseTemplate", - "abi": [ - { - "inputs": [ - { - "name": "_daoFactory", - "type": "address" - }, - { - "name": "_ens", - "type": "address" - }, - { - "name": "_miniMeFactory", - "type": "address" - }, - { - "name": "_aragonID", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "dao", - "type": "address" - } - ], - "name": "DeployDao", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "dao", - "type": "address" - } - ], - "name": "SetupDao", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "token", - "type": "address" - } - ], - "name": "DeployToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "appProxy", - "type": "address" - }, - { - "indexed": false, - "name": "appId", - "type": "bytes32" - } - ], - "name": "InstalledApp", - "type": "event" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50604051608080610293833981016040908152815160208301519183015160609093015190929061004983640100000000610223810204565b60408051808201909152601981527f54454d504c4154455f454e535f4e4f545f434f4e5452414354000000000000006020820152901515610122576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156100e75781810151838201526020016100cf565b50505050905090810190601f1680156101145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061013584640100000000610223810204565b60408051808201909152601d81527f54454d504c4154455f44414f5f4641435f4e4f545f434f4e545241435400000060208201529015156101d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156100e75781810151838201526020016100cf565b5060008054600160a060020a0319908116600160a060020a03958616179091556003805482169285169290921790915560018054821694841694909417909355600280549093169116179055610250565b600080600160a060020a038316151561023f576000915061024a565b823b90506000811191505b50919050565b60358061025e6000396000f3006080604052600080fd00a165627a7a72305820edeef1a529771c3a87e55cdd353af753a4269c2ed9075e039c27d928823157de0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820edeef1a529771c3a87e55cdd353af753a4269c2ed9075e039c27d928823157de0029", - "sourceMap": "976:18328:84:-;;;3748:406;8:9:-1;5:2;;;30:1;27;20:12;5:2;3748:406:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3889:25;3748:406;3889:10;;;;:25;:::i;:::-;3916:22;;;;;;;;;;;;;;;;;;3881:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3881:58:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3957:32:84;3976:11;3957:10;;;;:32;:::i;:::-;3991:30;;;;;;;;;;;;;;;;;;3949:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3949:73:84;-1:-1:-1;4033:3:84;:10;;-1:-1:-1;;;;;;4033:10:84;;;-1:-1:-1;;;;;4033:10:84;;;;;;;4053:8;:20;;;;;;;;;;;;;;-1:-1:-1;4083:24:84;;;;;;;;;;;;;;-1:-1:-1;4117:30:84;;;;;;;;;;976:18328;;426:244:49;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;976:18328:84:-;;;;;;;", - "deployedSourceMap": "976:18328:84:-;;;;;", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/apps-agent/contracts/Agent.sol\";\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\nimport \"@aragon/apps-voting/contracts/Voting.sol\";\nimport \"@aragon/apps-payroll/contracts/Payroll.sol\";\nimport \"@aragon/apps-finance/contracts/Finance.sol\";\nimport \"@aragon/apps-token-manager/contracts/TokenManager.sol\";\nimport \"@aragon/apps-survey/contracts/Survey.sol\";\nimport \"@aragon/apps-shared-minime/contracts/MiniMeToken.sol\";\n\nimport \"@aragon/os/contracts/acl/ACL.sol\";\nimport \"@aragon/os/contracts/apm/Repo.sol\";\nimport \"@aragon/os/contracts/apm/APMNamehash.sol\";\nimport \"@aragon/os/contracts/kernel/Kernel.sol\";\nimport \"@aragon/os/contracts/lib/ens/ENS.sol\";\nimport \"@aragon/os/contracts/lib/ens/PublicResolver.sol\";\nimport \"@aragon/os/contracts/factory/DAOFactory.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/Uint256Helpers.sol\";\nimport \"@aragon/id/contracts/IFIFSResolvingRegistrar.sol\";\n\n\ncontract BaseTemplate is APMNamehash, IsContract {\n using Uint256Helpers for uint256;\n\n /* Hardcoded constant to save gas\n * bytes32 constant internal AGENT_APP_ID = apmNamehash(\"agent\"); // agent.aragonpm.eth\n * bytes32 constant internal VAULT_APP_ID = apmNamehash(\"vault\"); // vault.aragonpm.eth\n * bytes32 constant internal VOTING_APP_ID = apmNamehash(\"voting\"); // voting.aragonpm.eth\n * bytes32 constant internal SURVEY_APP_ID = apmNamehash(\"survey\"); // survey.aragonpm.eth\n * bytes32 constant internal PAYROLL_APP_ID = apmNamehash(\"payroll\"); // payroll.aragonpm.eth\n * bytes32 constant internal FINANCE_APP_ID = apmNamehash(\"finance\"); // finance.aragonpm.eth\n * bytes32 constant internal TOKEN_MANAGER_APP_ID = apmNamehash(\"token-manager\"); // token-manager.aragonpm.eth\n */\n bytes32 constant internal AGENT_APP_ID = 0x9ac98dc5f995bf0211ed589ef022719d1487e5cb2bab505676f0d084c07cf89a;\n bytes32 constant internal VAULT_APP_ID = 0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1;\n bytes32 constant internal VOTING_APP_ID = 0x9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d4;\n bytes32 constant internal PAYROLL_APP_ID = 0x463f596a96d808cb28b5d080181e4a398bc793df2c222f6445189eb801001991;\n bytes32 constant internal FINANCE_APP_ID = 0xbf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae;\n bytes32 constant internal TOKEN_MANAGER_APP_ID = 0x6b20a3010614eeebf2138ccec99f028a61c811b3b1a3343b6ff635985c75c91f;\n bytes32 constant internal SURVEY_APP_ID = 0x030b2ab880b88e228f2da5a3d19a2a31bc10dbf91fb1143776a6de489389471e;\n\n string constant private ERROR_ENS_NOT_CONTRACT = \"TEMPLATE_ENS_NOT_CONTRACT\";\n string constant private ERROR_DAO_FACTORY_NOT_CONTRACT = \"TEMPLATE_DAO_FAC_NOT_CONTRACT\";\n string constant private ERROR_ARAGON_ID_NOT_PROVIDED = \"TEMPLATE_ARAGON_ID_NOT_PROVIDED\";\n string constant private ERROR_ARAGON_ID_NOT_CONTRACT = \"TEMPLATE_ARAGON_ID_NOT_CONTRACT\";\n string constant private ERROR_MINIME_FACTORY_NOT_PROVIDED = \"TEMPLATE_MINIME_FAC_NOT_PROVIDED\";\n string constant private ERROR_MINIME_FACTORY_NOT_CONTRACT = \"TEMPLATE_MINIME_FAC_NOT_CONTRACT\";\n string constant private ERROR_CANNOT_CAST_VALUE_TO_ADDRESS = \"TEMPLATE_CANNOT_CAST_VALUE_TO_ADDRESS\";\n string constant private ERROR_INVALID_ID = \"TEMPLATE_INVALID_ID\";\n\n ENS internal ens;\n DAOFactory internal daoFactory;\n MiniMeTokenFactory internal miniMeFactory;\n IFIFSResolvingRegistrar internal aragonID;\n\n event DeployDao(address dao);\n event SetupDao(address dao);\n event DeployToken(address token);\n event InstalledApp(address appProxy, bytes32 appId);\n\n constructor(DAOFactory _daoFactory, ENS _ens, MiniMeTokenFactory _miniMeFactory, IFIFSResolvingRegistrar _aragonID) public {\n require(isContract(address(_ens)), ERROR_ENS_NOT_CONTRACT);\n require(isContract(address(_daoFactory)), ERROR_DAO_FACTORY_NOT_CONTRACT);\n\n ens = _ens;\n aragonID = _aragonID;\n daoFactory = _daoFactory;\n miniMeFactory = _miniMeFactory;\n }\n\n /**\n * @dev Create a DAO using the DAO Factory and grant the template root permissions so it has full\n * control during setup. Once the DAO setup has finished, it is recommended to call the\n * `_transferRootPermissionsFromTemplateAndFinalizeDAO()` helper to transfer the root\n * permissions to the end entity in control of the organization.\n */\n function _createDAO() internal returns (Kernel dao, ACL acl) {\n dao = daoFactory.newDAO(this);\n emit DeployDao(address(dao));\n acl = ACL(dao.acl());\n _createPermissionForTemplate(acl, dao, dao.APP_MANAGER_ROLE());\n }\n\n /* ACL */\n\n function _createPermissions(ACL _acl, address[] memory _grantees, address _app, bytes32 _permission, address _manager) internal {\n _acl.createPermission(_grantees[0], _app, _permission, address(this));\n for (uint256 i = 1; i < _grantees.length; i++) {\n _acl.grantPermission(_grantees[i], _app, _permission);\n }\n _acl.revokePermission(address(this), _app, _permission);\n _acl.setPermissionManager(_manager, _app, _permission);\n }\n\n function _createPermissionForTemplate(ACL _acl, address _app, bytes32 _permission) internal {\n _acl.createPermission(address(this), _app, _permission, address(this));\n }\n\n function _removePermissionFromTemplate(ACL _acl, address _app, bytes32 _permission) internal {\n _acl.revokePermission(address(this), _app, _permission);\n _acl.removePermissionManager(_app, _permission);\n }\n\n function _transferRootPermissionsFromTemplateAndFinalizeDAO(Kernel _dao, address _to) internal {\n _transferRootPermissionsFromTemplateAndFinalizeDAO(_dao, _to, _to);\n }\n\n function _transferRootPermissionsFromTemplateAndFinalizeDAO(Kernel _dao, address _to, address _manager) internal {\n ACL _acl = ACL(_dao.acl());\n _transferPermissionFromTemplate(_acl, _dao, _to, _dao.APP_MANAGER_ROLE(), _manager);\n _transferPermissionFromTemplate(_acl, _acl, _to, _acl.CREATE_PERMISSIONS_ROLE(), _manager);\n emit SetupDao(_dao);\n }\n\n function _transferPermissionFromTemplate(ACL _acl, address _app, address _to, bytes32 _permission, address _manager) internal {\n _acl.grantPermission(_to, _app, _permission);\n _acl.revokePermission(address(this), _app, _permission);\n _acl.setPermissionManager(_manager, _app, _permission);\n }\n\n /* AGENT */\n\n function _installDefaultAgentApp(Kernel _dao) internal returns (Agent) {\n bytes memory initializeData = abi.encodeWithSelector(Agent(0).initialize.selector);\n Agent agent = Agent(_installDefaultApp(_dao, AGENT_APP_ID, initializeData));\n // We assume that installing the Agent app as a default app means the DAO should have its\n // Vault replaced by the Agent. Thus, we also set the DAO's recovery app to the Agent.\n _dao.setRecoveryVaultAppId(AGENT_APP_ID);\n return agent;\n }\n\n function _installNonDefaultAgentApp(Kernel _dao) internal returns (Agent) {\n bytes memory initializeData = abi.encodeWithSelector(Agent(0).initialize.selector);\n return Agent(_installNonDefaultApp(_dao, AGENT_APP_ID, initializeData));\n }\n\n function _createAgentPermissions(ACL _acl, Agent _agent, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _agent, _agent.EXECUTE_ROLE(), _manager);\n _acl.createPermission(_grantee, _agent, _agent.RUN_SCRIPT_ROLE(), _manager);\n }\n\n /* VAULT */\n\n function _installVaultApp(Kernel _dao) internal returns (Vault) {\n bytes memory initializeData = abi.encodeWithSelector(Vault(0).initialize.selector);\n return Vault(_installDefaultApp(_dao, VAULT_APP_ID, initializeData));\n }\n\n function _createVaultPermissions(ACL _acl, Vault _vault, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _vault, _vault.TRANSFER_ROLE(), _manager);\n }\n\n /* VOTING */\n\n function _installVotingApp(Kernel _dao, MiniMeToken _token, uint64[3] memory _votingSettings) internal returns (Voting) {\n return _installVotingApp(_dao, _token, _votingSettings[0], _votingSettings[1], _votingSettings[2]);\n }\n\n function _installVotingApp(\n Kernel _dao,\n MiniMeToken _token,\n uint64 _support,\n uint64 _acceptance,\n uint64 _duration\n )\n internal returns (Voting)\n {\n bytes memory initializeData = abi.encodeWithSelector(Voting(0).initialize.selector, _token, _support, _acceptance, _duration);\n return Voting(_installNonDefaultApp(_dao, VOTING_APP_ID, initializeData));\n }\n\n function _createVotingPermissions(\n ACL _acl,\n Voting _voting,\n address _settingsGrantee,\n address _createVotesGrantee,\n address _manager\n )\n internal\n {\n _acl.createPermission(_settingsGrantee, _voting, _voting.MODIFY_QUORUM_ROLE(), _manager);\n _acl.createPermission(_settingsGrantee, _voting, _voting.MODIFY_SUPPORT_ROLE(), _manager);\n _acl.createPermission(_createVotesGrantee, _voting, _voting.CREATE_VOTES_ROLE(), _manager);\n }\n\n /* SURVEY */\n\n function _installSurveyApp(Kernel _dao, MiniMeToken _token, uint64 _minParticipationPct, uint64 _surveyTime) internal returns (Survey) {\n bytes memory initializeData = abi.encodeWithSelector(Survey(0).initialize.selector, _token, _minParticipationPct, _surveyTime);\n return Survey(_installNonDefaultApp(_dao, SURVEY_APP_ID, initializeData));\n }\n\n function _createSurveyPermissions(ACL _acl, Survey _survey, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _survey, _survey.CREATE_SURVEYS_ROLE(), _manager);\n _acl.createPermission(_grantee, _survey, _survey.MODIFY_PARTICIPATION_ROLE(), _manager);\n }\n\n /* PAYROLL */\n\n function _installPayrollApp(\n Kernel _dao,\n Finance _finance,\n address _denominationToken,\n IFeed _priceFeed,\n uint64 _rateExpiryTime\n )\n internal returns (Payroll)\n {\n bytes memory initializeData = abi.encodeWithSelector(\n Payroll(0).initialize.selector,\n _finance,\n _denominationToken,\n _priceFeed,\n _rateExpiryTime\n );\n return Payroll(_installNonDefaultApp(_dao, PAYROLL_APP_ID, initializeData));\n }\n\n /**\n * @dev Internal function to configure payroll permissions. Note that we allow defining different managers for\n * payroll since it may be useful to have one control the payroll settings (rate expiration, price feed,\n * and allowed tokens), and another one to control the employee functionality (bonuses, salaries,\n * reimbursements, employees, etc).\n * @param _acl ACL instance being configured\n * @param _acl Payroll app being configured\n * @param _employeeManager Address that will receive permissions to handle employee payroll functionality\n * @param _settingsManager Address that will receive permissions to manage payroll settings\n * @param _permissionsManager Address that will be the ACL manager for the payroll permissions\n */\n function _createPayrollPermissions(\n ACL _acl,\n Payroll _payroll,\n address _employeeManager,\n address _settingsManager,\n address _permissionsManager\n )\n internal\n {\n _acl.createPermission(_employeeManager, _payroll, _payroll.ADD_BONUS_ROLE(), _permissionsManager);\n _acl.createPermission(_employeeManager, _payroll, _payroll.ADD_EMPLOYEE_ROLE(), _permissionsManager);\n _acl.createPermission(_employeeManager, _payroll, _payroll.ADD_REIMBURSEMENT_ROLE(), _permissionsManager);\n _acl.createPermission(_employeeManager, _payroll, _payroll.TERMINATE_EMPLOYEE_ROLE(), _permissionsManager);\n _acl.createPermission(_employeeManager, _payroll, _payroll.SET_EMPLOYEE_SALARY_ROLE(), _permissionsManager);\n\n _acl.createPermission(_settingsManager, _payroll, _payroll.MODIFY_PRICE_FEED_ROLE(), _permissionsManager);\n _acl.createPermission(_settingsManager, _payroll, _payroll.MODIFY_RATE_EXPIRY_ROLE(), _permissionsManager);\n _acl.createPermission(_settingsManager, _payroll, _payroll.MANAGE_ALLOWED_TOKENS_ROLE(), _permissionsManager);\n }\n\n function _unwrapPayrollSettings(\n uint256[4] memory _payrollSettings\n )\n internal pure returns (address denominationToken, IFeed priceFeed, uint64 rateExpiryTime, address employeeManager)\n {\n denominationToken = _toAddress(_payrollSettings[0]);\n priceFeed = IFeed(_toAddress(_payrollSettings[1]));\n rateExpiryTime = _payrollSettings[2].toUint64();\n employeeManager = _toAddress(_payrollSettings[3]);\n }\n\n /* FINANCE */\n\n function _installFinanceApp(Kernel _dao, Vault _vault, uint64 _periodDuration) internal returns (Finance) {\n bytes memory initializeData = abi.encodeWithSelector(Finance(0).initialize.selector, _vault, _periodDuration);\n return Finance(_installNonDefaultApp(_dao, FINANCE_APP_ID, initializeData));\n }\n\n function _createFinancePermissions(ACL _acl, Finance _finance, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _finance, _finance.EXECUTE_PAYMENTS_ROLE(), _manager);\n _acl.createPermission(_grantee, _finance, _finance.MANAGE_PAYMENTS_ROLE(), _manager);\n }\n\n function _createFinanceCreatePaymentsPermission(ACL _acl, Finance _finance, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _finance, _finance.CREATE_PAYMENTS_ROLE(), _manager);\n }\n\n function _grantCreatePaymentPermission(ACL _acl, Finance _finance, address _to) internal {\n _acl.grantPermission(_to, _finance, _finance.CREATE_PAYMENTS_ROLE());\n }\n\n function _transferCreatePaymentManagerFromTemplate(ACL _acl, Finance _finance, address _manager) internal {\n _acl.setPermissionManager(_manager, _finance, _finance.CREATE_PAYMENTS_ROLE());\n }\n\n /* TOKEN MANAGER */\n\n function _installTokenManagerApp(\n Kernel _dao,\n MiniMeToken _token,\n bool _transferable,\n uint256 _maxAccountTokens\n )\n internal returns (TokenManager)\n {\n TokenManager tokenManager = TokenManager(_installNonDefaultApp(_dao, TOKEN_MANAGER_APP_ID));\n _token.changeController(tokenManager);\n tokenManager.initialize(_token, _transferable, _maxAccountTokens);\n return tokenManager;\n }\n\n function _createTokenManagerPermissions(ACL _acl, TokenManager _tokenManager, address _grantee, address _manager) internal {\n _acl.createPermission(_grantee, _tokenManager, _tokenManager.MINT_ROLE(), _manager);\n _acl.createPermission(_grantee, _tokenManager, _tokenManager.BURN_ROLE(), _manager);\n }\n\n function _mintTokens(ACL _acl, TokenManager _tokenManager, address[] memory _holders, uint256[] memory _stakes) internal {\n _createPermissionForTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n for (uint256 i = 0; i < _holders.length; i++) {\n _tokenManager.mint(_holders[i], _stakes[i]);\n }\n _removePermissionFromTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n }\n\n function _mintTokens(ACL _acl, TokenManager _tokenManager, address[] memory _holders, uint256 _stake) internal {\n _createPermissionForTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n for (uint256 i = 0; i < _holders.length; i++) {\n _tokenManager.mint(_holders[i], _stake);\n }\n _removePermissionFromTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n }\n\n function _mintTokens(ACL _acl, TokenManager _tokenManager, address _holder, uint256 _stake) internal {\n _createPermissionForTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n _tokenManager.mint(_holder, _stake);\n _removePermissionFromTemplate(_acl, _tokenManager, _tokenManager.MINT_ROLE());\n }\n\n /* EVM SCRIPTS */\n\n function _createEvmScriptsRegistryPermissions(ACL _acl, address _grantee, address _manager) internal {\n EVMScriptRegistry registry = EVMScriptRegistry(_acl.getEVMScriptRegistry());\n _acl.createPermission(_grantee, registry, registry.REGISTRY_MANAGER_ROLE(), _manager);\n _acl.createPermission(_grantee, registry, registry.REGISTRY_ADD_EXECUTOR_ROLE(), _manager);\n }\n\n /* APPS */\n\n function _installNonDefaultApp(Kernel _dao, bytes32 _appId) internal returns (address) {\n return _installNonDefaultApp(_dao, _appId, new bytes(0));\n }\n\n function _installNonDefaultApp(Kernel _dao, bytes32 _appId, bytes memory _initializeData) internal returns (address) {\n return _installApp(_dao, _appId, _initializeData, false);\n }\n\n function _installDefaultApp(Kernel _dao, bytes32 _appId) internal returns (address) {\n return _installDefaultApp(_dao, _appId, new bytes(0));\n }\n\n function _installDefaultApp(Kernel _dao, bytes32 _appId, bytes memory _initializeData) internal returns (address) {\n return _installApp(_dao, _appId, _initializeData, true);\n }\n\n function _installApp(Kernel _dao, bytes32 _appId, bytes memory _initializeData, bool _setDefault) internal returns (address) {\n address latestBaseAppAddress = _latestVersionAppBase(_appId);\n address instance = address(_dao.newAppInstance(_appId, latestBaseAppAddress, _initializeData, _setDefault));\n emit InstalledApp(instance, _appId);\n return instance;\n }\n\n function _latestVersionAppBase(bytes32 _appId) internal view returns (address base) {\n Repo repo = Repo(PublicResolver(ens.resolver(_appId)).addr(_appId));\n (,base,) = repo.getLatest();\n }\n\n /* TOKEN */\n\n function _createToken(string memory _name, string memory _symbol, uint8 _decimals) internal returns (MiniMeToken) {\n require(address(miniMeFactory) != address(0), ERROR_MINIME_FACTORY_NOT_PROVIDED);\n MiniMeToken token = miniMeFactory.createCloneToken(MiniMeToken(address(0)), 0, _name, _decimals, _symbol, true);\n emit DeployToken(address(token));\n return token;\n }\n\n function _ensureMiniMeFactoryIsValid(address _miniMeFactory) internal view {\n require(isContract(address(_miniMeFactory)), ERROR_MINIME_FACTORY_NOT_CONTRACT);\n }\n\n /* IDS */\n\n function _validateId(string memory _id) internal pure {\n require(bytes(_id).length > 0, ERROR_INVALID_ID);\n }\n\n function _registerID(string memory _name, address _owner) internal {\n require(address(aragonID) != address(0), ERROR_ARAGON_ID_NOT_PROVIDED);\n aragonID.register(keccak256(abi.encodePacked(_name)), _owner);\n }\n\n function _ensureAragonIdIsValid(address _aragonID) internal view {\n require(isContract(address(_aragonID)), ERROR_ARAGON_ID_NOT_CONTRACT);\n }\n\n /* HELPERS */\n\n function _toAddress(uint256 _value) private pure returns (address) {\n require(_value <= uint160(-1), ERROR_CANNOT_CAST_VALUE_TO_ADDRESS);\n return address(_value);\n }\n}\n", - "sourcePath": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "ast": { - "absolutePath": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "exportedSymbols": { - "BaseTemplate": [ - 29711 - ] - }, - "id": 29712, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28120, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:84" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 28121, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 11530, - "src": "25:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 28122, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 19336, - "src": "74:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-voting/contracts/Voting.sol", - "file": "@aragon/apps-voting/contracts/Voting.sol", - "id": 28123, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 20321, - "src": "123:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-payroll/contracts/Payroll.sol", - "file": "@aragon/apps-payroll/contracts/Payroll.sol", - "id": 28124, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 15996, - "src": "174:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "file": "@aragon/apps-finance/contracts/Finance.sol", - "id": 28125, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 14011, - "src": "227:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 28126, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 19074, - "src": "280:63:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-survey/contracts/Survey.sol", - "file": "@aragon/apps-survey/contracts/Survey.sol", - "id": 28127, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 18182, - "src": "344:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 28128, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 17135, - "src": "395:62:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "@aragon/os/contracts/acl/ACL.sol", - "id": 28129, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 21812, - "src": "459:42:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "@aragon/os/contracts/apm/Repo.sol", - "id": 28130, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 23074, - "src": "502:43:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/APMNamehash.sol", - "file": "@aragon/os/contracts/apm/APMNamehash.sol", - "id": 28131, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 22376, - "src": "546:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "@aragon/os/contracts/kernel/Kernel.sol", - "id": 28132, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 26898, - "src": "597:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "file": "@aragon/os/contracts/lib/ens/ENS.sol", - "id": 28133, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 27263, - "src": "646:46:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "id": 28134, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 27725, - "src": "693:57:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "file": "@aragon/os/contracts/factory/DAOFactory.sol", - "id": 28135, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 26162, - "src": "751:53:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 28136, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 23826, - "src": "805:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "file": "@aragon/os/contracts/common/Uint256Helpers.sol", - "id": 28137, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 24186, - "src": "858:56:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "file": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "id": 28138, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 20479, - "src": "915:58:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 28139, - "name": "APMNamehash", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22375, - "src": "1001:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMNamehash_$22375", - "typeString": "contract APMNamehash" - } - }, - "id": 28140, - "nodeType": "InheritanceSpecifier", - "src": "1001:11:84" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 28141, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "1014:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 28142, - "nodeType": "InheritanceSpecifier", - "src": "1014:10:84" - } - ], - "contractDependencies": [ - 22375, - 23825 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 29711, - "linearizedBaseContracts": [ - 29711, - 23825, - 22375 - ], - "name": "BaseTemplate", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 28145, - "libraryName": { - "contractScope": null, - "id": 28143, - "name": "Uint256Helpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24185, - "src": "1037:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Uint256Helpers_$24185", - "typeString": "library Uint256Helpers" - } - }, - "nodeType": "UsingForDirective", - "src": "1031:33:84", - "typeName": { - "id": 28144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1056:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 28148, - "name": "AGENT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "1885:107:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28146, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1885:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839616339386463356639393562663032313165643538396566303232373139643134383765356362326261623530353637366630643038346330376366383961", - "id": 28147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1926:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70012293425472232566299414701996219075361412067543700057878177943737805371546_by_1", - "typeString": "int_const 7001...(69 digits omitted)...1546" - }, - "value": "0x9ac98dc5f995bf0211ed589ef022719d1487e5cb2bab505676f0d084c07cf89a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28151, - "name": "VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "1998:107:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1998:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 28150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2039:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28154, - "name": "VOTING_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2111:108:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28152, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2111:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839666133393237663633393734356535383739313264346230666561376566393031336266393366623930376432396661656162353734313762613665316434", - "id": 28153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2153:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72206750085666237539256322200303567825107029886318386998110297175647228191188_by_1", - "typeString": "int_const 7220...(69 digits omitted)...1188" - }, - "value": "0x9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28157, - "name": "PAYROLL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2225:109:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2225:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834363366353936613936643830386362323862356430383031383165346133393862633739336466326332323266363434353138396562383031303031393931", - "id": 28156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2268:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31773827894974611604174479881427017110322879715025277359727096683647295560081_by_1", - "typeString": "int_const 3177...(69 digits omitted)...0081" - }, - "value": "0x463f596a96d808cb28b5d080181e4a398bc793df2c222f6445189eb801001991" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28160, - "name": "FINANCE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2340:109:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28158, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2340:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862663834393131353064616663356463616565356238363134313464636139323264653039636366666133343439363461653136373231326538633637336165", - "id": 28159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86625979212775160120842141004513300537934529898121207992700083009731388928942_by_1", - "typeString": "int_const 8662...(69 digits omitted)...8942" - }, - "value": "0xbf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28163, - "name": "TOKEN_MANAGER_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2455:115:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28161, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2455:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836623230613330313036313465656562663231333863636563393966303238613631633831316233623161333334336236666636333539383563373563393166", - "id": 28162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2504:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48455138916737370588647428181326777437669679931561084720910323405175714597151_by_1", - "typeString": "int_const 4845...(69 digits omitted)...7151" - }, - "value": "0x6b20a3010614eeebf2138ccec99f028a61c811b3b1a3343b6ff635985c75c91f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28166, - "name": "SURVEY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2576:108:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28164, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2576:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830333062326162383830623838653232386632646135613364313961326133316263313064626639316662313134333737366136646534383933383934373165", - "id": 28165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2618:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1376668710995008297488744301055018049569118276784727715463002654377127790366_by_1", - "typeString": "int_const 1376...(68 digits omitted)...0366" - }, - "value": "0x030b2ab880b88e228f2da5a3d19a2a31bc10dbf91fb1143776a6de489389471e" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28169, - "name": "ERROR_ENS_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2691:76:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28167, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2691:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f454e535f4e4f545f434f4e5452414354", - "id": 28168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2740:27:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d93430c4b5ebc6af50336b4edbc3c39691e9acccbdfbb2de78d1c875e4534268", - "typeString": "literal_string \"TEMPLATE_ENS_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_ENS_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28172, - "name": "ERROR_DAO_FACTORY_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2773:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28170, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2773:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f44414f5f4641435f4e4f545f434f4e5452414354", - "id": 28171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2830:31:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e543816eecb3df318349e71e2fbf649080d34aaf79d0c2cdd649726cdeafbb37", - "typeString": "literal_string \"TEMPLATE_DAO_FAC_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_DAO_FAC_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28175, - "name": "ERROR_ARAGON_ID_NOT_PROVIDED", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2867:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28173, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2867:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f415241474f4e5f49445f4e4f545f50524f5649444544", - "id": 28174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2922:33:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_de9e574bca9a3dcf03959b712ed27841ebf4d21ac2fc7c34885c8cce1fb7db0e", - "typeString": "literal_string \"TEMPLATE_ARAGON_ID_NOT_PROVIDED\"" - }, - "value": "TEMPLATE_ARAGON_ID_NOT_PROVIDED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28178, - "name": "ERROR_ARAGON_ID_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2961:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2961:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f415241474f4e5f49445f4e4f545f434f4e5452414354", - "id": 28177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:33:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4eae548cb13e82191208ca43e6fe1977422442c7afd9be1e01556dd8bc28a52", - "typeString": "literal_string \"TEMPLATE_ARAGON_ID_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_ARAGON_ID_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28181, - "name": "ERROR_MINIME_FACTORY_NOT_PROVIDED", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3055:94:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28179, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3055:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f4d494e494d455f4641435f4e4f545f50524f5649444544", - "id": 28180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3115:34:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0aff11ceaf5260a111837de2a4a690bf3fc8c347e28fd0acf74afac0023c9976", - "typeString": "literal_string \"TEMPLATE_MINIME_FAC_NOT_PROVIDED\"" - }, - "value": "TEMPLATE_MINIME_FAC_NOT_PROVIDED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28184, - "name": "ERROR_MINIME_FACTORY_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3155:94:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28182, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3155:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f4d494e494d455f4641435f4e4f545f434f4e5452414354", - "id": 28183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3215:34:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_11d3763d910fc2bdb4bd9974159e1538694f16ec9498a0a02a45a2b961630413", - "typeString": "literal_string \"TEMPLATE_MINIME_FAC_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_MINIME_FAC_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28187, - "name": "ERROR_CANNOT_CAST_VALUE_TO_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3255:100:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28185, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3255:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f43414e4e4f545f434153545f56414c55455f544f5f41444452455353", - "id": 28186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3316:39:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2917442a224557bd8ec53a77715009dd29deaac5ed0a08a576cc6cb9dca2d6d8", - "typeString": "literal_string \"TEMPLATE_CANNOT_CAST_VALUE_TO_ADDRESS\"" - }, - "value": "TEMPLATE_CANNOT_CAST_VALUE_TO_ADDRESS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28190, - "name": "ERROR_INVALID_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3361:64:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3361:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f494e56414c49445f4944", - "id": 28189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3404:21:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03e47863004eb5dbe4eddf2e69482427a329d14e210af60b79e2fc1171c8bab6", - "typeString": "literal_string \"TEMPLATE_INVALID_ID\"" - }, - "value": "TEMPLATE_INVALID_ID" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 28192, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3432:16:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 28191, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "3432:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28194, - "name": "daoFactory", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3454:30:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 28193, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "3454:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28196, - "name": "miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3490:41:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 28195, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3490:18:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28198, - "name": "aragonID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3537:41:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 28197, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "3537:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 28202, - "name": "DeployDao", - "nodeType": "EventDefinition", - "parameters": { - "id": 28201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28200, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28202, - "src": "3601:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3601:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3600:13:84" - }, - "src": "3585:29:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28206, - "name": "SetupDao", - "nodeType": "EventDefinition", - "parameters": { - "id": 28205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28204, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28206, - "src": "3634:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3634:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3633:13:84" - }, - "src": "3619:28:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28210, - "name": "DeployToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 28209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28208, - "indexed": false, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 28210, - "src": "3670:13:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3670:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3669:15:84" - }, - "src": "3652:33:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28216, - "name": "InstalledApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 28215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28212, - "indexed": false, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 28216, - "src": "3709:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3709:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28214, - "indexed": false, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 28216, - "src": "3727:13:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3727:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3708:33:84" - }, - "src": "3690:52:84" - }, - { - "body": { - "id": 28261, - "nodeType": "Block", - "src": "3871:283:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28230, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28220, - "src": "3908:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 28229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3900:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3900:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28228, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3889:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 28232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3889:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28233, - "name": "ERROR_ENS_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28169, - "src": "3916:22:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 28227, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3881:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3881:58:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28235, - "nodeType": "ExpressionStatement", - "src": "3881:58:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28239, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28218, - "src": "3976:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "id": 28238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3968:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28237, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3957:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 28241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3957:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28242, - "name": "ERROR_DAO_FACTORY_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28172, - "src": "3991:30:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 28236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3949:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3949:73:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28244, - "nodeType": "ExpressionStatement", - "src": "3949:73:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28245, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28192, - "src": "4033:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28246, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28220, - "src": "4039:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "src": "4033:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 28248, - "nodeType": "ExpressionStatement", - "src": "4033:10:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28249, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "4053:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28250, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28224, - "src": "4064:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "src": "4053:20:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 28252, - "nodeType": "ExpressionStatement", - "src": "4053:20:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28253, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28194, - "src": "4083:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28254, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28218, - "src": "4096:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "src": "4083:24:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 28256, - "nodeType": "ExpressionStatement", - "src": "4083:24:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28257, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "4117:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28258, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28222, - "src": "4133:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "4117:30:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 28260, - "nodeType": "ExpressionStatement", - "src": "4117:30:84" - } - ] - }, - "documentation": null, - "id": 28262, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28218, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3760:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 28217, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "3760:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28220, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3784:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 28219, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "3784:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28222, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3794:33:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 28221, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3794:18:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28224, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3829:33:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 28223, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "3829:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3759:104:84" - }, - "payable": false, - "returnParameters": { - "id": 28226, - "nodeType": "ParameterList", - "parameters": [], - "src": "3871:0:84" - }, - "scope": 29711, - "src": "3748:406:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 28298, - "nodeType": "Block", - "src": "4600:186:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 28274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28269, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4610:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28272, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "4634:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "expression": { - "argumentTypes": null, - "id": 28270, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28194, - "src": "4616:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 28271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newDAO", - "nodeType": "MemberAccess", - "referencedDeclaration": 26160, - "src": "4616:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function (address) external returns (contract Kernel)" - } - }, - "id": 28273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4616:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "src": "4610:29:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28275, - "nodeType": "ExpressionStatement", - "src": "4610:29:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28278, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4672:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 28277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4664:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4664:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28276, - "name": "DeployDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28202, - "src": "4654:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 28280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4654:23:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28281, - "nodeType": "EmitStatement", - "src": "4649:28:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28282, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28267, - "src": "4687:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28284, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4697:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "4697:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 28286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4697:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 28283, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "4693:3:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 28287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4693:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "src": "4687:20:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28289, - "nodeType": "ExpressionStatement", - "src": "4687:20:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28291, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28267, - "src": "4746:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28292, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4751:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28293, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4756:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "4756:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4756:22:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 28290, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "4717:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 28296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:62:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28297, - "nodeType": "ExpressionStatement", - "src": "4717:62:84" - } - ] - }, - "documentation": "@dev Create a DAO using the DAO Factory and grant the template root permissions so it has full\n control during setup. Once the DAO setup has finished, it is recommended to call the\n `_transferRootPermissionsFromTemplateAndFinalizeDAO()` helper to transfer the root\n permissions to the end entity in control of the organization.", - "id": 28299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28263, - "nodeType": "ParameterList", - "parameters": [], - "src": "4558:2:84" - }, - "payable": false, - "returnParameters": { - "id": 28268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28265, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28299, - "src": "4579:10:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28264, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "4579:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28267, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 28299, - "src": "4591:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28266, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "4591:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4578:21:84" - }, - "scope": 29711, - "src": "4539:247:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28367, - "nodeType": "Block", - "src": "4935:349:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28316, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "4967:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28318, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4977:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28319, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "4981:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28320, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "4987:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28322, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5008:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5000:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5000:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28313, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "4945:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "4945:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:69:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28325, - "nodeType": "ExpressionStatement", - "src": "4945:69:84" - }, - { - "body": { - "id": 28347, - "nodeType": "Block", - "src": "5071:78:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28340, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "5106:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28342, - "indexExpression": { - "argumentTypes": null, - "id": 28341, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5116:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5106:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28343, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5120:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28344, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5126:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28337, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5085:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "5085:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:53:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28346, - "nodeType": "ExpressionStatement", - "src": "5085:53:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 28333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 28330, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5044:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 28331, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "5048:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5048:16:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5044:20:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 28348, - "initializationExpression": { - "assignments": [ - 28327 - ], - "declarations": [ - { - "constant": false, - "id": 28327, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "5029:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5029:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28329, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 28328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5041:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5029:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 28335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5066:3:84", - "subExpression": { - "argumentTypes": null, - "id": 28334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5066:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 28336, - "nodeType": "ExpressionStatement", - "src": "5066:3:84" - }, - "nodeType": "ForStatement", - "src": "5024:125:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5188:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5180:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5180:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28355, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5195:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28356, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5201:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28349, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5158:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "5158:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5158:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28358, - "nodeType": "ExpressionStatement", - "src": "5158:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28362, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28310, - "src": "5249:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28363, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5259:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28364, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5265:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28359, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5223:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "5223:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5223:54:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28366, - "nodeType": "ExpressionStatement", - "src": "5223:54:84" - } - ] - }, - "documentation": null, - "id": 28368, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28301, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4835:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28300, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "4835:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28304, - "name": "_grantees", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4845:26:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 28302, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4845:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 28303, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4845:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28306, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4873:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4873:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28308, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4887:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28307, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4887:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28310, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4908:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4908:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4834:91:84" - }, - "payable": false, - "returnParameters": { - "id": 28312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4935:0:84" - }, - "scope": 29711, - "src": "4807:477:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28390, - "nodeType": "Block", - "src": "5382:87:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28381, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5422:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5414:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5414:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28383, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28372, - "src": "5429:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28384, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28374, - "src": "5435:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28386, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5456:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5448:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28377, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28370, - "src": "5392:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "5392:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:70:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28389, - "nodeType": "ExpressionStatement", - "src": "5392:70:84" - } - ] - }, - "documentation": null, - "id": 28391, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermissionForTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28370, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5328:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28369, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5328:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28372, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5338:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28371, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5338:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28374, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5352:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5352:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5327:45:84" - }, - "payable": false, - "returnParameters": { - "id": 28376, - "nodeType": "ParameterList", - "parameters": [], - "src": "5382:0:84" - }, - "scope": 29711, - "src": "5290:179:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28417, - "nodeType": "Block", - "src": "5568:129:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28404, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5608:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5600:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5600:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28406, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28395, - "src": "5615:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28407, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28397, - "src": "5621:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28400, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28393, - "src": "5578:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "5578:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5578:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28409, - "nodeType": "ExpressionStatement", - "src": "5578:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28413, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28395, - "src": "5672:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28414, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28397, - "src": "5678:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28410, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28393, - "src": "5643:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "5643:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 28415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5643:47:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28416, - "nodeType": "ExpressionStatement", - "src": "5643:47:84" - } - ] - }, - "documentation": null, - "id": 28418, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removePermissionFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28393, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5514:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28392, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5514:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28395, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5524:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28394, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5524:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28397, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5538:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5538:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5513:45:84" - }, - "payable": false, - "returnParameters": { - "id": 28399, - "nodeType": "ParameterList", - "parameters": [], - "src": "5568:0:84" - }, - "scope": 29711, - "src": "5475:222:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28431, - "nodeType": "Block", - "src": "5798:83:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28426, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28420, - "src": "5859:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28427, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28422, - "src": "5865:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28428, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28422, - "src": "5870:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28425, - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28432, - 28474 - ], - "referencedDeclaration": 28474, - "src": "5808:50:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract Kernel,address,address)" - } - }, - "id": 28429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5808:66:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28430, - "nodeType": "ExpressionStatement", - "src": "5808:66:84" - } - ] - }, - "documentation": null, - "id": 28432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28420, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28432, - "src": "5763:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28419, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5763:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28422, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28432, - "src": "5776:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28421, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5776:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5762:26:84" - }, - "payable": false, - "returnParameters": { - "id": 28424, - "nodeType": "ParameterList", - "parameters": [], - "src": "5798:0:84" - }, - "scope": 29711, - "src": "5703:178:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28473, - "nodeType": "Block", - "src": "6000:265:84", - "statements": [ - { - "assignments": [ - 28442 - ], - "declarations": [ - { - "constant": false, - "id": 28442, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "6010:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28441, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6010:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28444, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6025:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "6025:8:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 28446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6025:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 28443, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "6021:3:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 28447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6021:15:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6010:26:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28450, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6078:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28451, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6084:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28452, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28436, - "src": "6090:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28453, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6095:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "6095:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6095:23:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28456, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "6120:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28449, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "6046:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 28457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28458, - "nodeType": "ExpressionStatement", - "src": "6046:83:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28460, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6171:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28461, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6177:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28462, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28436, - "src": "6183:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28463, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6188:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "6188:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6188:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28466, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "6220:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28459, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "6139:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 28467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6139:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28468, - "nodeType": "ExpressionStatement", - "src": "6139:90:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28470, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6253:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 28469, - "name": "SetupDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28206, - "src": "6244:8:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 28471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6244:14:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28472, - "nodeType": "EmitStatement", - "src": "6239:19:84" - } - ] - }, - "documentation": null, - "id": 28474, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28434, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5947:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28433, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5947:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28436, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5960:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5960:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28438, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5973:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5973:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5946:44:84" - }, - "payable": false, - "returnParameters": { - "id": 28440, - "nodeType": "ParameterList", - "parameters": [], - "src": "6000:0:84" - }, - "scope": 29711, - "src": "5887:378:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28513, - "nodeType": "Block", - "src": "6397:190:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28490, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28480, - "src": "6428:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28491, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6433:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28492, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6439:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28487, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6407:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "6407:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6407:44:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28494, - "nodeType": "ExpressionStatement", - "src": "6407:44:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28499, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "6491:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6483:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6483:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28501, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6498:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28502, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6504:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28495, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6461:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "6461:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6461:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28504, - "nodeType": "ExpressionStatement", - "src": "6461:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28508, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28484, - "src": "6552:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28509, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6562:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28510, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6568:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28505, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6526:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "6526:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6526:54:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28512, - "nodeType": "ExpressionStatement", - "src": "6526:54:84" - } - ] - }, - "documentation": null, - "id": 28514, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferPermissionFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28476, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6312:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28475, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6312:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28478, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6322:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6322:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28480, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6336:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6336:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28482, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6349:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28481, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6349:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28484, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6370:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6370:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6311:76:84" - }, - "payable": false, - "returnParameters": { - "id": 28486, - "nodeType": "ParameterList", - "parameters": [], - "src": "6397:0:84" - }, - "scope": 29711, - "src": "6271:316:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28550, - "nodeType": "Block", - "src": "6681:449:84", - "statements": [ - { - "assignments": [ - 28522 - ], - "declarations": [ - { - "constant": false, - "id": 28522, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6691:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28521, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6691:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28531, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6750:1:84", - "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": 28525, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "6744:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "6744:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6744:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28523, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "6721:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6721:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6721:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6691:82:84" - }, - { - "assignments": [ - 28533 - ], - "declarations": [ - { - "constant": false, - "id": 28533, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6783:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28532, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6783:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28536, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28516, - "src": "6822:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28537, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "6828:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28538, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28522, - "src": "6842:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28535, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "6803:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:54:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28534, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "6797:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6797:61:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6783:75:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28545, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "7088:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28542, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28516, - "src": "7061:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setRecoveryVaultAppId", - "nodeType": "MemberAccess", - "referencedDeclaration": 26686, - "src": "7061:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) external" - } - }, - "id": 28546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7061:40:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28547, - "nodeType": "ExpressionStatement", - "src": "7061:40:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28548, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28533, - "src": "7118:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "functionReturnParameters": 28520, - "id": 28549, - "nodeType": "Return", - "src": "7111:12:84" - } - ] - }, - "documentation": null, - "id": 28551, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultAgentApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28516, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6643:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28515, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "6643:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28519, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6674:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28518, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6674:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6673:7:84" - }, - "scope": 29711, - "src": "6610:520:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28577, - "nodeType": "Block", - "src": "7210:180:84", - "statements": [ - { - "assignments": [ - 28559 - ], - "declarations": [ - { - "constant": false, - "id": 28559, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7220:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28558, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7220:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28568, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7279:1:84", - "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": 28562, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "7273:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7273:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "7273:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7273:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28560, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "7250:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7250:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7250:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7220:82:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28571, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28553, - "src": "7347:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28572, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "7353:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28573, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28559, - "src": "7367:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28570, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "7325:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:57:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28569, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "7319:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:64:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "functionReturnParameters": 28557, - "id": 28576, - "nodeType": "Return", - "src": "7312:71:84" - } - ] - }, - "documentation": null, - "id": 28578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultAgentApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28553, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7172:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28552, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "7172:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7171:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28556, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7203:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28555, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "7203:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7202:7:84" - }, - "scope": 29711, - "src": "7136:254:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28611, - "nodeType": "Block", - "src": "7498:174:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28592, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28584, - "src": "7530:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28593, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7540:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28594, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7548:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "EXECUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10806, - "src": "7548:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7548:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28597, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28586, - "src": "7571:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28589, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28580, - "src": "7508:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7508:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7508:72:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28599, - "nodeType": "ExpressionStatement", - "src": "7508:72:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28603, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28584, - "src": "7612:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28604, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7622:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28605, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7630:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RUN_SCRIPT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10824, - "src": "7630:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7630:24:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28608, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28586, - "src": "7656:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28600, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28580, - "src": "7590:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7590:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7590:75:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28610, - "nodeType": "ExpressionStatement", - "src": "7590:75:84" - } - ] - }, - "documentation": null, - "id": 28612, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createAgentPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28580, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7429:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28579, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "7429:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28582, - "name": "_agent", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7439:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28581, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "7439:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28584, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7453:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7453:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28586, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7471:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7471:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7428:60:84" - }, - "payable": false, - "returnParameters": { - "id": 28588, - "nodeType": "ParameterList", - "parameters": [], - "src": "7498:0:84" - }, - "scope": 29711, - "src": "7396:276:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28638, - "nodeType": "Block", - "src": "7759:177:84", - "statements": [ - { - "assignments": [ - 28620 - ], - "declarations": [ - { - "constant": false, - "id": 28620, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7769:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28619, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7769:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7828:1:84", - "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": 28623, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "7822:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 28625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7822:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 28626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "7822:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28621, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "7799:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7799:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7799:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7769:82:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28632, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28614, - "src": "7893:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28633, - "name": "VAULT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28151, - "src": "7899:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28634, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28620, - "src": "7913:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28631, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "7874:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7874:54:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28630, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "7868:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 28636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7868:61:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "functionReturnParameters": 28618, - "id": 28637, - "nodeType": "Return", - "src": "7861:68:84" - } - ] - }, - "documentation": null, - "id": 28639, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28614, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7721:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28613, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "7721:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7720:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28617, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7752:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 28616, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7752:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7751:7:84" - }, - "scope": 29711, - "src": "7695:241:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28661, - "nodeType": "Block", - "src": "8044:90:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28653, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28645, - "src": "8076:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28654, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28643, - "src": "8086:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28655, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28643, - "src": "8094:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 28656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TRANSFER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19094, - "src": "8094:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8094:22:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28658, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28647, - "src": "8118:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28650, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28641, - "src": "8054:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8054:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8054:73:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28660, - "nodeType": "ExpressionStatement", - "src": "8054:73:84" - } - ] - }, - "documentation": null, - "id": 28662, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createVaultPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28641, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7975:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28640, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "7975:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28643, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7985:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 28642, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7985:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28645, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7999:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7999:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28647, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "8017:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8017:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7974:60:84" - }, - "payable": false, - "returnParameters": { - "id": 28649, - "nodeType": "ParameterList", - "parameters": [], - "src": "8044:0:84" - }, - "scope": 29711, - "src": "7942:192:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28689, - "nodeType": "Block", - "src": "8278:115:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28676, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28664, - "src": "8313:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28677, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28666, - "src": "8319:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28678, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8327:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28680, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8343:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8327:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28681, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8347:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28683, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 28682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8363:1:84", - "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": "8347:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28684, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8367:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28686, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 28685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8383:1:84", - "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": "8367:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 28675, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28729, - "src": "8295:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$_t_uint64_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64,uint64,uint64) returns (contract Voting)" - } - }, - "id": 28687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8295:91:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "functionReturnParameters": 28674, - "id": 28688, - "nodeType": "Return", - "src": "8288:98:84" - } - ] - }, - "documentation": null, - "id": 28690, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVotingApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28664, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8185:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28663, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "8185:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28666, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8198:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28665, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "8198:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28670, - "name": "_votingSettings", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8218:32:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 28667, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8218:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 28669, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 28668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8225:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "8218:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8184:67:84" - }, - "payable": false, - "returnParameters": { - "id": 28674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28673, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8270:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28672, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8270:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8269:8:84" - }, - "scope": 29711, - "src": "8158:235:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28728, - "nodeType": "Block", - "src": "8598:225:84", - "statements": [ - { - "assignments": [ - 28706 - ], - "declarations": [ - { - "constant": false, - "id": 28706, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8608:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28705, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8608:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28719, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8668:1:84", - "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": 28709, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "8661:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 28711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8661:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19533, - "src": "8661:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (contract MiniMeToken,uint64,uint64,uint64) external" - } - }, - "id": 28713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8661:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28714, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28694, - "src": "8692:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 28715, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28696, - "src": "8700:8:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28716, - "name": "_acceptance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28698, - "src": "8710:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28717, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28700, - "src": "8723:9:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28707, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "8638:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8638:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:95:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8608:125:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28722, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28692, - "src": "8779:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28723, - "name": "VOTING_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28154, - "src": "8785:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28724, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28706, - "src": "8800:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28721, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "8757:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8757:58:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28720, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "8750:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 28726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8750:66:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "functionReturnParameters": 28704, - "id": 28727, - "nodeType": "Return", - "src": "8743:73:84" - } - ] - }, - "documentation": null, - "id": 28729, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVotingApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28692, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8435:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28691, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "8435:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28694, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8456:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28693, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "8456:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28696, - "name": "_support", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8484:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28695, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8484:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28698, - "name": "_acceptance", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8509:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28697, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8509:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28700, - "name": "_duration", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8537:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28699, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8537:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8425:134:84" - }, - "payable": false, - "returnParameters": { - "id": 28704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8586:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28702, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8586:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8585:8:84" - }, - "scope": 29711, - "src": "8399:424:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28775, - "nodeType": "Block", - "src": "9029:304:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28745, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28735, - "src": "9061:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28746, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9079:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28747, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9088:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_QUORUM_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19367, - "src": "9088:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9088:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28750, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9118:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28742, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9039:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9039:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9039:88:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28752, - "nodeType": "ExpressionStatement", - "src": "9039:88:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28756, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28735, - "src": "9159:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28757, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9177:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28758, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9186:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_SUPPORT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19362, - "src": "9186:27:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28761, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9217:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28753, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9137:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9137:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9137:89:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28763, - "nodeType": "ExpressionStatement", - "src": "9137:89:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28767, - "name": "_createVotesGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28737, - "src": "9258:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28768, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9279:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28769, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9288:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VOTES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19357, - "src": "9288:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9288:27:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28772, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9317:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28764, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9236:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9236:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9236:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28774, - "nodeType": "ExpressionStatement", - "src": "9236:90:84" - } - ] - }, - "documentation": null, - "id": 28776, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createVotingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28731, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8872:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28730, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "8872:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28733, - "name": "_voting", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8890:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28732, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8890:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28735, - "name": "_settingsGrantee", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8914:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8914:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28737, - "name": "_createVotesGrantee", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8948:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8948:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28739, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8985:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8985:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8862:145:84" - }, - "payable": false, - "returnParameters": { - "id": 28741, - "nodeType": "ParameterList", - "parameters": [], - "src": "9029:0:84" - }, - "scope": 29711, - "src": "8829:504:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28811, - "nodeType": "Block", - "src": "9492:226:84", - "statements": [ - { - "assignments": [ - 28790 - ], - "declarations": [ - { - "constant": false, - "id": 28790, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9502:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28789, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9502:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28802, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9562:1:84", - "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": 28793, - "name": "Survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18181, - "src": "9555:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Survey_$18181_$", - "typeString": "type(contract Survey)" - } - }, - "id": 28795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9555:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 17334, - "src": "9555:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (contract MiniMeToken,uint64,uint64) external" - } - }, - "id": 28797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9555:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28798, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28780, - "src": "9586:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 28799, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28782, - "src": "9594:20:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28800, - "name": "_surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28784, - "src": "9616:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28791, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "9532:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9532:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9532:96:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9502:126:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28805, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28778, - "src": "9674:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28806, - "name": "SURVEY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28166, - "src": "9680:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28807, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28790, - "src": "9695:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28804, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "9652:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9652:58:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28803, - "name": "Survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18181, - "src": "9645:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Survey_$18181_$", - "typeString": "type(contract Survey)" - } - }, - "id": 28809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9645:66:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "functionReturnParameters": 28788, - "id": 28810, - "nodeType": "Return", - "src": "9638:73:84" - } - ] - }, - "documentation": null, - "id": 28812, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installSurveyApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28778, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9384:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28777, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "9384:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28780, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9397:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28779, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "9397:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28782, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9417:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28781, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9417:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28784, - "name": "_surveyTime", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9446:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9446:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9383:82:84" - }, - "payable": false, - "returnParameters": { - "id": 28788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28787, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9484:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - "typeName": { - "contractScope": null, - "id": 28786, - "name": "Survey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18181, - "src": "9484:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9483:8:84" - }, - "scope": 29711, - "src": "9357:361:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28845, - "nodeType": "Block", - "src": "9829:195:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28826, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28818, - "src": "9861:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28827, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9871:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28828, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9880:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_SURVEYS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 17153, - "src": "9880:27:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28831, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "9911:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28823, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28814, - "src": "9839:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9839:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9839:81:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28833, - "nodeType": "ExpressionStatement", - "src": "9839:81:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28837, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28818, - "src": "9952:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28838, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9962:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28839, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9971:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 17158, - "src": "9971:33:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9971:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28842, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "10008:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28834, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28814, - "src": "9930:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9930:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9930:87:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28844, - "nodeType": "ExpressionStatement", - "src": "9930:87:84" - } - ] - }, - "documentation": null, - "id": 28846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createSurveyPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28814, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9758:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28813, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "9758:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28816, - "name": "_survey", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9768:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - "typeName": { - "contractScope": null, - "id": 28815, - "name": "Survey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18181, - "src": "9768:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28818, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9784:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9784:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28820, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9802:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9802:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9757:62:84" - }, - "payable": false, - "returnParameters": { - "id": 28822, - "nodeType": "ParameterList", - "parameters": [], - "src": "9829:0:84" - }, - "scope": 29711, - "src": "9724:300:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28884, - "nodeType": "Block", - "src": "10263:315:84", - "statements": [ - { - "assignments": [ - 28862 - ], - "declarations": [ - { - "constant": false, - "id": 28862, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10273:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28861, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10273:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28875, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10347:1:84", - "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": 28865, - "name": "Payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15995, - "src": "10339:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Payroll_$15995_$", - "typeString": "type(contract Payroll)" - } - }, - "id": 28867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10339:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 14359, - "src": "10339:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Finance_$14010_$_t_address_$_t_contract$_IFeed_$28118_$_t_uint64_$returns$__$", - "typeString": "function (contract Finance,address,contract IFeed,uint64) external" - } - }, - "id": 28869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10339:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28870, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28850, - "src": "10383:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 28871, - "name": "_denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28852, - "src": "10405:18:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28872, - "name": "_priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28854, - "src": "10437:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - { - "argumentTypes": null, - "id": 28873, - "name": "_rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28856, - "src": "10461:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28863, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "10303:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10303:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10303:183:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10273:213:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28878, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28848, - "src": "10533:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28879, - "name": "PAYROLL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28157, - "src": "10539:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28880, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28862, - "src": "10555:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28877, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "10511:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10511:59:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28876, - "name": "Payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15995, - "src": "10503:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Payroll_$15995_$", - "typeString": "type(contract Payroll)" - } - }, - "id": 28882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10503:68:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "functionReturnParameters": 28860, - "id": 28883, - "nodeType": "Return", - "src": "10496:75:84" - } - ] - }, - "documentation": null, - "id": 28885, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installPayrollApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28848, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10086:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28847, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "10086:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28850, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10107:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 28849, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "10107:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28852, - "name": "_denominationToken", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10133:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10133:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28854, - "name": "_priceFeed", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10169:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 28853, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "10169:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28856, - "name": "_rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10195:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28855, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10195:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10076:147:84" - }, - "payable": false, - "returnParameters": { - "id": 28860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28859, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10250:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - "typeName": { - "contractScope": null, - "id": 28858, - "name": "Payroll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 15995, - "src": "10250:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10249:9:84" - }, - "scope": 29711, - "src": "10049:529:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28986, - "nodeType": "Block", - "src": "11584:923:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28901, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11616:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28902, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11634:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28903, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11644:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_BONUS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14046, - "src": "11644:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11644:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28906, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11671:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28898, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11594:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11594:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11594:97:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28908, - "nodeType": "ExpressionStatement", - "src": "11594:97:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28912, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11723:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28913, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11741:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28914, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11751:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_EMPLOYEE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14037, - "src": "11751:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11751:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28917, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11781:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28909, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11701:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11701:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11701:100:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28919, - "nodeType": "ExpressionStatement", - "src": "11701:100:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28923, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11833:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28924, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11851:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28925, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11861:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14049, - "src": "11861:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11861:33:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28928, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11896:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28920, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11811:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11811:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11811:105:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28930, - "nodeType": "ExpressionStatement", - "src": "11811:105:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28934, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11948:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28935, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11966:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28936, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11976:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14040, - "src": "11976:32:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11976:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28939, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12012:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28931, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11926:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11926:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11926:106:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28941, - "nodeType": "ExpressionStatement", - "src": "11926:106:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28945, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "12064:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28946, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12082:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28947, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12092:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14043, - "src": "12092:33:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12092:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28950, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12129:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28942, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12042:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12042:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12042:107:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28952, - "nodeType": "ExpressionStatement", - "src": "12042:107:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28956, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12182:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28957, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12200:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28958, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12210:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14055, - "src": "12210:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12210:33:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28961, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12245:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28953, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12160:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12160:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12160:105:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28963, - "nodeType": "ExpressionStatement", - "src": "12160:105:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28967, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12297:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28968, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12315:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28969, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12325:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14058, - "src": "12325:32:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12325:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28972, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12361:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28964, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12275:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12275:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12275:106:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28974, - "nodeType": "ExpressionStatement", - "src": "12275:106:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28978, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12413:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28979, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12431:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28980, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12441:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14052, - "src": "12441:35:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12441:37:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28983, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12480:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28975, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12391:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12391:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12391:109:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28985, - "nodeType": "ExpressionStatement", - "src": "12391:109:84" - } - ] - }, - "documentation": "@dev Internal function to configure payroll permissions. Note that we allow defining different managers for\n payroll since it may be useful to have one control the payroll settings (rate expiration, price feed,\n and allowed tokens), and another one to control the employee functionality (bonuses, salaries,\n reimbursements, employees, etc).\n@param _acl ACL instance being configured\n@param _acl Payroll app being configured\n@param _employeeManager Address that will receive permissions to handle employee payroll functionality\n@param _settingsManager Address that will receive permissions to manage payroll settings\n@param _permissionsManager Address that will be the ACL manager for the payroll permissions", - "id": 28987, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPayrollPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28887, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11417:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28886, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "11417:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28889, - "name": "_payroll", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11435:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - "typeName": { - "contractScope": null, - "id": 28888, - "name": "Payroll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 15995, - "src": "11435:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28891, - "name": "_employeeManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11461:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11461:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28893, - "name": "_settingsManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11495:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28892, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11495:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28895, - "name": "_permissionsManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11529:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11529:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11407:155:84" - }, - "payable": false, - "returnParameters": { - "id": 28897, - "nodeType": "ParameterList", - "parameters": [], - "src": "11584:0:84" - }, - "scope": 29711, - "src": "11373:1134:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29036, - "nodeType": "Block", - "src": "12722:244:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29002, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28994, - "src": "12732:17:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29004, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12763:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29006, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 29005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12780:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12763:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29003, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12752:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12752:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12732:51:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29009, - "nodeType": "ExpressionStatement", - "src": "12732:51:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29010, - "name": "priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28996, - "src": "12793:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29013, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12822:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29015, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 29014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12839:1:84", - "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": "12822:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29012, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12811:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12811:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29011, - "name": "IFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28118, - "src": "12805:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IFeed_$28118_$", - "typeString": "type(contract IFeed)" - } - }, - "id": 29017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12805:38:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "src": "12793:50:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 29019, - "nodeType": "ExpressionStatement", - "src": "12793:50:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29020, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28998, - "src": "12853:14:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29021, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12870:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29023, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 29022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12887:1:84", - "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": "12870:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "12870:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 29025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12870:30:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12853:47:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 29027, - "nodeType": "ExpressionStatement", - "src": "12853:47:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29028, - "name": "employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29000, - "src": "12910:15:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29030, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12939:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29032, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 29031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12956:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12939:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29029, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12928:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12928:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12910:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29035, - "nodeType": "ExpressionStatement", - "src": "12910:49:84" - } - ] - }, - "documentation": null, - "id": 29037, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_unwrapPayrollSettings", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28991, - "name": "_payrollSettings", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12554:34:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4]" - }, - "typeName": { - "baseType": { - "id": 28988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12554:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 28990, - "length": { - "argumentTypes": null, - "hexValue": "34", - "id": 28989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12562:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "4" - }, - "nodeType": "ArrayTypeName", - "src": "12554:10:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", - "typeString": "uint256[4]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12544:50:84" - }, - "payable": false, - "returnParameters": { - "id": 29001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28994, - "name": "denominationToken", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12626:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12626:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28996, - "name": "priceFeed", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12653:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 28995, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "12653:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28998, - "name": "rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12670:21:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28997, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12670:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29000, - "name": "employeeManager", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12693:23:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12693:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12625:92:84" - }, - "scope": 29711, - "src": "12513:453:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29069, - "nodeType": "Block", - "src": "13097:211:84", - "statements": [ - { - "assignments": [ - 29049 - ], - "declarations": [ - { - "constant": false, - "id": 29049, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13107:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29048, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13107:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29060, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13168:1:84", - "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": 29052, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "13160:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 29054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13160:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 12397, - "src": "13160:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Vault_$19335_$_t_uint64_$returns$__$", - "typeString": "function (contract Vault,uint64) external" - } - }, - "id": 29056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13160:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 29057, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29041, - "src": "13192:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 29058, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29043, - "src": "13200:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 29050, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "13137:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 29051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13137:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 29059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13137:79:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13107:109:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29063, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29039, - "src": "13263:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29064, - "name": "FINANCE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28160, - "src": "13269:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29065, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29049, - "src": "13285:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 29062, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "13241:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13241:59:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29061, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "13233:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 29067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13233:68:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "functionReturnParameters": 29047, - "id": 29068, - "nodeType": "Return", - "src": "13226:75:84" - } - ] - }, - "documentation": null, - "id": 29070, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installFinanceApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29044, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29039, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13019:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29038, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "13019:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29041, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13032:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 29040, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "13032:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29043, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13046:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 29042, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13046:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13018:51:84" - }, - "payable": false, - "returnParameters": { - "id": 29047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29046, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13088:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29045, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13088:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13087:9:84" - }, - "scope": 29711, - "src": "12991:317:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29103, - "nodeType": "Block", - "src": "13422:196:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29084, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29076, - "src": "13454:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29085, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13464:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29086, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13474:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12018, - "src": "13474:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13474:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29089, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29078, - "src": "13508:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29081, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29072, - "src": "13432:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13432:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13432:85:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29091, - "nodeType": "ExpressionStatement", - "src": "13432:85:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29095, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29076, - "src": "13549:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29096, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13559:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29097, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13569:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MANAGE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12023, - "src": "13569:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13569:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29100, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29078, - "src": "13602:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29092, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29072, - "src": "13527:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13527:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13527:84:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29102, - "nodeType": "ExpressionStatement", - "src": "13527:84:84" - } - ] - }, - "documentation": null, - "id": 29104, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createFinancePermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29072, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13349:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29071, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13349:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29074, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13359:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29073, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13359:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29076, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13377:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13377:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29078, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13395:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13395:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13348:64:84" - }, - "payable": false, - "returnParameters": { - "id": 29080, - "nodeType": "ParameterList", - "parameters": [], - "src": "13422:0:84" - }, - "scope": 29711, - "src": "13314:304:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29126, - "nodeType": "Block", - "src": "13745:101:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29118, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29110, - "src": "13777:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29119, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29108, - "src": "13787:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29120, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29108, - "src": "13797:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "13797:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13797:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29123, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29112, - "src": "13830:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29115, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29106, - "src": "13755:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13755:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13755:84:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29125, - "nodeType": "ExpressionStatement", - "src": "13755:84:84" - } - ] - }, - "documentation": null, - "id": 29127, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createFinanceCreatePaymentsPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29106, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13672:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29105, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13672:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29108, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13682:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29107, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13682:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29110, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13700:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13700:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29112, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13718:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13718:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13671:64:84" - }, - "payable": false, - "returnParameters": { - "id": 29114, - "nodeType": "ParameterList", - "parameters": [], - "src": "13745:0:84" - }, - "scope": 29711, - "src": "13624:222:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29146, - "nodeType": "Block", - "src": "13941:85:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29139, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29133, - "src": "13972:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29140, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29131, - "src": "13977:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29141, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29131, - "src": "13987:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "13987:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13987:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29136, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29129, - "src": "13951:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "13951:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 29144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13951:68:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29145, - "nodeType": "ExpressionStatement", - "src": "13951:68:84" - } - ] - }, - "documentation": null, - "id": 29147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_grantCreatePaymentPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29129, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13891:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29128, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13891:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29131, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13901:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29130, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13901:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29133, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13919:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13919:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13890:41:84" - }, - "payable": false, - "returnParameters": { - "id": 29135, - "nodeType": "ParameterList", - "parameters": [], - "src": "13941:0:84" - }, - "scope": 29711, - "src": "13852:174:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29166, - "nodeType": "Block", - "src": "14138:95:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29159, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29153, - "src": "14174:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29160, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29151, - "src": "14184:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29161, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29151, - "src": "14194:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "14194:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14194:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29156, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29149, - "src": "14148:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "14148:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 29164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14148:78:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29165, - "nodeType": "ExpressionStatement", - "src": "14148:78:84" - } - ] - }, - "documentation": null, - "id": 29167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferCreatePaymentManagerFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29149, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14083:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29148, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "14083:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29151, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14093:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29150, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "14093:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29153, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14111:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29152, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14111:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14082:46:84" - }, - "payable": false, - "returnParameters": { - "id": 29155, - "nodeType": "ParameterList", - "parameters": [], - "src": "14138:0:84" - }, - "scope": 29711, - "src": "14032:201:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29205, - "nodeType": "Block", - "src": "14459:259:84", - "statements": [ - { - "assignments": [ - 29181 - ], - "declarations": [ - { - "constant": false, - "id": 29181, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14469:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29180, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14469:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29188, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29184, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29169, - "src": "14532:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29185, - "name": "TOKEN_MANAGER_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28163, - "src": "14538:20:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29183, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29439, - "src": "14510:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 29186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14510:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29182, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "14497:12:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 29187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:63:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14469:91:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29192, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14594:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "expression": { - "argumentTypes": null, - "id": 29189, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29171, - "src": "14570:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 29191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "14570:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 29193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14570:37:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29194, - "nodeType": "ExpressionStatement", - "src": "14570:37:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29198, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29171, - "src": "14641:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 29199, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29173, - "src": "14649:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29200, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29175, - "src": "14664:17:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29195, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14617:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 18388, - "src": "14617:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (contract MiniMeToken,bool,uint256) external" - } - }, - "id": 29201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:65:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29202, - "nodeType": "ExpressionStatement", - "src": "14617:65:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29203, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14699:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "functionReturnParameters": 29179, - "id": 29204, - "nodeType": "Return", - "src": "14692:19:84" - } - ] - }, - "documentation": null, - "id": 29206, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installTokenManagerApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29169, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14306:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29168, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "14306:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29171, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14327:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29170, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "14327:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29173, - "name": "_transferable", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14355:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 29172, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14355:4:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29175, - "name": "_maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14383:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14383:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14296:118:84" - }, - "payable": false, - "returnParameters": { - "id": 29179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14441:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29177, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14441:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14440:14:84" - }, - "scope": 29711, - "src": "14264:454:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29239, - "nodeType": "Block", - "src": "14847:193:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29220, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29212, - "src": "14879:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29221, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14889:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29222, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14904:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "14904:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14904:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29225, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29214, - "src": "14931:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29217, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29208, - "src": "14857:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "14857:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14857:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29227, - "nodeType": "ExpressionStatement", - "src": "14857:83:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29231, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29212, - "src": "14972:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29232, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14982:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29233, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14997:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "BURN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18222, - "src": "14997:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14997:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29236, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29214, - "src": "15024:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29228, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29208, - "src": "14950:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "14950:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14950:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29238, - "nodeType": "ExpressionStatement", - "src": "14950:83:84" - } - ] - }, - "documentation": null, - "id": 29240, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createTokenManagerPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29208, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14764:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29207, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "14764:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29210, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14774:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29209, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14774:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29212, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14802:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14802:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29214, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14820:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14820:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14763:74:84" - }, - "payable": false, - "returnParameters": { - "id": 29216, - "nodeType": "ParameterList", - "parameters": [], - "src": "14847:0:84" - }, - "scope": 29711, - "src": "14724:316:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29293, - "nodeType": "Block", - "src": "15167:303:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29254, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29242, - "src": "15206:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29255, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15212:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29256, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15227:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15227:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15227:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29253, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "15177:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15177:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29260, - "nodeType": "ExpressionStatement", - "src": "15177:76:84" - }, - { - "body": { - "id": 29283, - "nodeType": "Block", - "src": "15309:68:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29275, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29247, - "src": "15342:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29277, - "indexExpression": { - "argumentTypes": null, - "id": 29276, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15351:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15342:11:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29278, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29250, - "src": "15355:7:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 29280, - "indexExpression": { - "argumentTypes": null, - "id": 29279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15363:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15355:10:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29272, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15323:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "15323:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15323:43:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29282, - "nodeType": "ExpressionStatement", - "src": "15323:43:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29265, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15283:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29266, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29247, - "src": "15287:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15287:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15283:19:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29284, - "initializationExpression": { - "assignments": [ - 29262 - ], - "declarations": [ - { - "constant": false, - "id": 29262, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15268:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15268:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29264, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 29263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15280:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15268:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 29270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15304:3:84", - "subExpression": { - "argumentTypes": null, - "id": 29269, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15304:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29271, - "nodeType": "ExpressionStatement", - "src": "15304:3:84" - }, - "nodeType": "ForStatement", - "src": "15263:114:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29286, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29242, - "src": "15416:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29287, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15422:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29288, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15437:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15437:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15437:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29285, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "15386:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15386:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29292, - "nodeType": "ExpressionStatement", - "src": "15386:77:84" - } - ] - }, - "documentation": null, - "id": 29294, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29242, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15067:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29241, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15067:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29244, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15077:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29243, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15077:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29247, - "name": "_holders", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15105:25:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 29245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15105:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29246, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15105:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29250, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15132:24:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 29248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15132:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15132:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15066:91:84" - }, - "payable": false, - "returnParameters": { - "id": 29252, - "nodeType": "ParameterList", - "parameters": [], - "src": "15167:0:84" - }, - "scope": 29711, - "src": "15046:424:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29344, - "nodeType": "Block", - "src": "15587:299:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29307, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29296, - "src": "15626:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29308, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15632:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29309, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15647:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15647:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15647:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29306, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "15597:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15597:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29313, - "nodeType": "ExpressionStatement", - "src": "15597:76:84" - }, - { - "body": { - "id": 29334, - "nodeType": "Block", - "src": "15729:64:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29328, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29301, - "src": "15762:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29330, - "indexExpression": { - "argumentTypes": null, - "id": 29329, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15771:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15762:11:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29331, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29303, - "src": "15775:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29325, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15743:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "15743:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15743:39:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29333, - "nodeType": "ExpressionStatement", - "src": "15743:39:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29318, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15703:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29319, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29301, - "src": "15707:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15707:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15703:19:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29335, - "initializationExpression": { - "assignments": [ - 29315 - ], - "declarations": [ - { - "constant": false, - "id": 29315, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15688:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15688:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29317, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 29316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15700:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15688:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 29323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15724:3:84", - "subExpression": { - "argumentTypes": null, - "id": 29322, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15724:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29324, - "nodeType": "ExpressionStatement", - "src": "15724:3:84" - }, - "nodeType": "ForStatement", - "src": "15683:110:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29337, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29296, - "src": "15832:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29338, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15838:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29339, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15853:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15853:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15853:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29336, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "15802:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15802:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29343, - "nodeType": "ExpressionStatement", - "src": "15802:77:84" - } - ] - }, - "documentation": null, - "id": 29345, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29296, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15497:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29295, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15497:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29298, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15507:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29297, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15507:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29301, - "name": "_holders", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15535:25:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 29299, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15535:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29300, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15535:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29303, - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15562:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15562:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15496:81:84" - }, - "payable": false, - "returnParameters": { - "id": 29305, - "nodeType": "ParameterList", - "parameters": [], - "src": "15587:0:84" - }, - "scope": 29711, - "src": "15476:410:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29379, - "nodeType": "Block", - "src": "15993:225:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29357, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29347, - "src": "16032:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29358, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16038:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29359, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16053:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "16053:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16053:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29356, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "16003:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16003:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29363, - "nodeType": "ExpressionStatement", - "src": "16003:76:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29367, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29351, - "src": "16108:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29368, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29353, - "src": "16117:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29364, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16089:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "16089:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16089:35:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29370, - "nodeType": "ExpressionStatement", - "src": "16089:35:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29372, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29347, - "src": "16164:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29373, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16170:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29374, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16185:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "16185:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16185:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29371, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "16134:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16134:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29378, - "nodeType": "ExpressionStatement", - "src": "16134:77:84" - } - ] - }, - "documentation": null, - "id": 29380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29347, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15913:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29346, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15913:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29349, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15923:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29348, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15923:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29351, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15951:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29350, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15951:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29353, - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15968:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15968:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15912:71:84" - }, - "payable": false, - "returnParameters": { - "id": 29355, - "nodeType": "ParameterList", - "parameters": [], - "src": "15993:0:84" - }, - "scope": 29711, - "src": "15892:326:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29419, - "nodeType": "Block", - "src": "16348:287:84", - "statements": [ - { - "assignments": [ - 29390 - ], - "declarations": [ - { - "constant": false, - "id": 29390, - "name": "registry", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16358:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 29389, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "16358:17:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29396, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29392, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16405:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEVMScriptRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 25011, - "src": "16405:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "function () view external returns (contract IEVMScriptRegistry)" - } - }, - "id": 29394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16405:27:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - ], - "id": 29391, - "name": "EVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24945, - "src": "16387:17:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "type(contract EVMScriptRegistry)" - } - }, - "id": 29395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16387:46:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16358:75:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29400, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29384, - "src": "16465:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29401, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16475:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29402, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16485:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 29403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24731, - "src": "16485:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16485:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29405, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29386, - "src": "16519:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29397, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16443:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "16443:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16443:85:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29407, - "nodeType": "ExpressionStatement", - "src": "16443:85:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29411, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29384, - "src": "16560:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29412, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16570:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29413, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16580:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 29414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "16580:35:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16580:37:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29416, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29386, - "src": "16619:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29408, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16538:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "16538:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16538:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29418, - "nodeType": "ExpressionStatement", - "src": "16538:90:84" - } - ] - }, - "documentation": null, - "id": 29420, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createEvmScriptsRegistryPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29382, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16293:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29381, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "16293:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29384, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16303:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16303:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29386, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16321:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16321:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16292:46:84" - }, - "payable": false, - "returnParameters": { - "id": 29388, - "nodeType": "ParameterList", - "parameters": [], - "src": "16348:0:84" - }, - "scope": 29711, - "src": "16247:388:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29438, - "nodeType": "Block", - "src": "16744:73:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29430, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29422, - "src": "16783:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29431, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29424, - "src": "16789:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16807:1:84", - "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": 29433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "16797:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 29432, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16801:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 29435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16797:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 29429, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "16761:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16761:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29428, - "id": 29437, - "nodeType": "Return", - "src": "16754:56:84" - } - ] - }, - "documentation": null, - "id": 29439, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29425, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29422, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16688:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29421, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16688:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29424, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16701:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29423, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16701:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16687:29:84" - }, - "payable": false, - "returnParameters": { - "id": 29428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29427, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16735:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16735:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16734:9:84" - }, - "scope": 29711, - "src": "16657:160:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29457, - "nodeType": "Block", - "src": "16940:73:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29451, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29441, - "src": "16969:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29452, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29443, - "src": "16975:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29453, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29445, - "src": "16983:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 29454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17000:5:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 29450, - "name": "_installApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "16957:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory,bool) returns (address)" - } - }, - "id": 29455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16957:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29449, - "id": 29456, - "nodeType": "Return", - "src": "16950:56:84" - } - ] - }, - "documentation": null, - "id": 29458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29441, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16854:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29440, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16854:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29443, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16867:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29442, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16867:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29445, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16883:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29444, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16883:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16853:59:84" - }, - "payable": false, - "returnParameters": { - "id": 29449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29448, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16931:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16931:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16930:9:84" - }, - "scope": 29711, - "src": "16823:190:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29476, - "nodeType": "Block", - "src": "17103:70:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29468, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29460, - "src": "17139:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29469, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29462, - "src": "17145:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17163:1:84", - "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": 29471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "17153:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 29470, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17157:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 29473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17153:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 29467, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "17120:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17120:46:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29466, - "id": 29475, - "nodeType": "Return", - "src": "17113:53:84" - } - ] - }, - "documentation": null, - "id": 29477, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29460, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17047:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29459, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17047:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29462, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17060:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29461, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17060:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17046:29:84" - }, - "payable": false, - "returnParameters": { - "id": 29466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29465, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17094:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17094:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17093:9:84" - }, - "scope": 29711, - "src": "17019:154:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29495, - "nodeType": "Block", - "src": "17293:72:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29489, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29479, - "src": "17322:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29490, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29481, - "src": "17328:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29491, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29483, - "src": "17336:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 29492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17353:4:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 29488, - "name": "_installApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "17310:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory,bool) returns (address)" - } - }, - "id": 29493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17310:48:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29487, - "id": 29494, - "nodeType": "Return", - "src": "17303:55:84" - } - ] - }, - "documentation": null, - "id": 29496, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29479, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17207:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29478, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17207:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29481, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17220:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29480, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17220:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29483, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17236:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29482, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17236:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17206:59:84" - }, - "payable": false, - "returnParameters": { - "id": 29487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29486, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17284:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17284:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17283:9:84" - }, - "scope": 29711, - "src": "17179:186:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29534, - "nodeType": "Block", - "src": "17496:264:84", - "statements": [ - { - "assignments": [ - 29510 - ], - "declarations": [ - { - "constant": false, - "id": 29510, - "name": "latestBaseAppAddress", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17506:28:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17506:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29512, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17559:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29511, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "17537:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 29513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17537:29:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17506:60:84" - }, - { - "assignments": [ - 29516 - ], - "declarations": [ - { - "constant": false, - "id": 29516, - "name": "instance", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17576:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17576:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29526, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29520, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17623:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29521, - "name": "latestBaseAppAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29510, - "src": "17631:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29522, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29502, - "src": "17653:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 29523, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29504, - "src": "17670:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 29518, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29498, - "src": "17603:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 29519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "17603:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 29524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17603:79:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 29517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17595:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:88:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17576:107:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29528, - "name": "instance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29516, - "src": "17711:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29529, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17721:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29527, - "name": "InstalledApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28216, - "src": "17698:12:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 29530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17698:30:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29531, - "nodeType": "EmitStatement", - "src": "17693:35:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29532, - "name": "instance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29516, - "src": "17745:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29508, - "id": 29533, - "nodeType": "Return", - "src": "17738:15:84" - } - ] - }, - "documentation": null, - "id": 29535, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29498, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17392:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29497, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17392:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29500, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17405:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29499, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17405:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29502, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17421:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29501, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17421:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29504, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17451:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 29503, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17451:4:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17391:77:84" - }, - "payable": false, - "returnParameters": { - "id": 29508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29507, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17487:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29506, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17487:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17486:9:84" - }, - "scope": 29711, - "src": "17371:389:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29563, - "nodeType": "Block", - "src": "17850:121:84", - "statements": [ - { - "assignments": [ - 29543 - ], - "declarations": [ - { - "constant": false, - "id": 29543, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17860:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 29542, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "17860:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29552, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29537, - "src": "17919:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29548, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29537, - "src": "17905:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29546, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28192, - "src": "17892:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 29547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27147, - "src": "17892:12:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 29549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17892:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29545, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "17877:14:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 29550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17877:36:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 29551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27430, - "src": "17877:41:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 29553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17877:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29544, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "17872:4:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 29554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17872:55:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17860:67:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - { - "argumentTypes": null, - "id": 29556, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29540, - "src": "17939:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - null - ], - "id": 29557, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "17937:8:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$_t_address_$__$", - "typeString": "tuple(,address,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29558, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29543, - "src": "17948:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 29559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getLatest", - "nodeType": "MemberAccess", - "referencedDeclaration": 22877, - "src": "17948:14:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function () view external returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 29560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17948:16:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "src": "17937:27:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29562, - "nodeType": "ExpressionStatement", - "src": "17937:27:84" - } - ] - }, - "documentation": null, - "id": 29564, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_latestVersionAppBase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29537, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17797:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29536, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17797:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17796:16:84" - }, - "payable": false, - "returnParameters": { - "id": 29541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29540, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17836:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29539, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17836:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17835:14:84" - }, - "scope": 29711, - "src": "17766:205:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29610, - "nodeType": "Block", - "src": "18108:282:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29577, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "18134:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - ], - "id": 29576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18126:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18126:22:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18160:1:84", - "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": 29579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18152:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18152:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18126:36:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29583, - "name": "ERROR_MINIME_FACTORY_NOT_PROVIDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28181, - "src": "18164:33:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29575, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18118:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18118:80:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29585, - "nodeType": "ExpressionStatement", - "src": "18118:80:84" - }, - { - "assignments": [ - 29587 - ], - "declarations": [ - { - "constant": false, - "id": 29587, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18208:17:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29586, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "18208:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29601, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:1:84", - "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": 29591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18271:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18271:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29590, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "18259:11:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 29594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18259:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 29595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18284:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 29596, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29566, - "src": "18287:5:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 29597, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29570, - "src": "18294:9:84", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 29598, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29568, - "src": "18305:7:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 29599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18314:4:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 29588, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "18228:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 29589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "18228:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 29600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18228:91:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18208:111:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29604, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29587, - "src": "18354:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 29603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18346:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18346:14:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29602, - "name": "DeployToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28210, - "src": "18334:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 29606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18334:27:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29607, - "nodeType": "EmitStatement", - "src": "18329:32:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29608, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29587, - "src": "18378:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 29574, - "id": 29609, - "nodeType": "Return", - "src": "18371:12:84" - } - ] - }, - "documentation": null, - "id": 29611, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29566, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18016:19:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29565, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18016:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29568, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18037:21:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29567, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18037:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29570, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18060:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 29569, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18060:5:84", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:61:84" - }, - "payable": false, - "returnParameters": { - "id": 29574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18095:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29572, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "18095:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18094:13:84" - }, - "scope": 29711, - "src": "17994:396:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29625, - "nodeType": "Block", - "src": "18471:96:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29619, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29613, - "src": "18508:14:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18500:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18500:23:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29617, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "18489:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 29621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18489:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29622, - "name": "ERROR_MINIME_FACTORY_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28184, - "src": "18526:33:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18481:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18481:79:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29624, - "nodeType": "ExpressionStatement", - "src": "18481:79:84" - } - ] - }, - "documentation": null, - "id": 29626, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureMiniMeFactoryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29613, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 29626, - "src": "18433:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29612, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18433:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18432:24:84" - }, - "payable": false, - "returnParameters": { - "id": 29615, - "nodeType": "ParameterList", - "parameters": [], - "src": "18471:0:84" - }, - "scope": 29711, - "src": "18396:171:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29641, - "nodeType": "Block", - "src": "18642:65:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29633, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29628, - "src": "18666:3:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 29632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18660:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 29634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18660:10:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 29635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18660:17:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 29636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18680:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18660:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29638, - "name": "ERROR_INVALID_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28190, - "src": "18683:16:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18652:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18652:48:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29640, - "nodeType": "ExpressionStatement", - "src": "18652:48:84" - } - ] - }, - "documentation": null, - "id": 29642, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_validateId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29628, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 29642, - "src": "18609:17:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29627, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18609:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18608:19:84" - }, - "payable": false, - "returnParameters": { - "id": 29630, - "nodeType": "ParameterList", - "parameters": [], - "src": "18642:0:84" - }, - "scope": 29711, - "src": "18588:119:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29672, - "nodeType": "Block", - "src": "18780:158:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29651, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "18806:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - ], - "id": 29650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18798:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18798:17:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18827:1:84", - "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": 29653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18819:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18819:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18798:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29657, - "name": "ERROR_ARAGON_ID_NOT_PROVIDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28175, - "src": "18831:28:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29649, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18790:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18790:70:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29659, - "nodeType": "ExpressionStatement", - "src": "18790:70:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29666, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29644, - "src": "18915:5:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 29664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "18898:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 29665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18898:16:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 29667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18898:23:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 29663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "18888:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 29668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18888:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29669, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29646, - "src": "18924:6:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29660, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "18870:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 29662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "register", - "nodeType": "MemberAccess", - "referencedDeclaration": 20468, - "src": "18870:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 29670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18870:61:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29671, - "nodeType": "ExpressionStatement", - "src": "18870:61:84" - } - ] - }, - "documentation": null, - "id": 29673, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_registerID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29644, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 29673, - "src": "18734:19:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18734:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29646, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 29673, - "src": "18755:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18755:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18733:37:84" - }, - "payable": false, - "returnParameters": { - "id": 29648, - "nodeType": "ParameterList", - "parameters": [], - "src": "18780:0:84" - }, - "scope": 29711, - "src": "18713:225:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29687, - "nodeType": "Block", - "src": "19009:86:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29681, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29675, - "src": "19046:9:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19038:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19038:18:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29679, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "19027:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 29683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19027:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29684, - "name": "ERROR_ARAGON_ID_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28178, - "src": "19059:28:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29678, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19019:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19019:69:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29686, - "nodeType": "ExpressionStatement", - "src": "19019:69:84" - } - ] - }, - "documentation": null, - "id": 29688, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureAragonIdIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29675, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 29688, - "src": "18976:17:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18976:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18975:19:84" - }, - "payable": false, - "returnParameters": { - "id": 29677, - "nodeType": "ParameterList", - "parameters": [], - "src": "19009:0:84" - }, - "scope": 29711, - "src": "18944:151:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29709, - "nodeType": "Block", - "src": "19187:115:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29696, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29690, - "src": "19205:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "19223:2:84", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 29698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19224:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 29697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19215:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": "uint160" - }, - "id": 29700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19215:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - }, - "src": "19205:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29702, - "name": "ERROR_CANNOT_CAST_VALUE_TO_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28187, - "src": "19228:34:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29695, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19197:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19197:66:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29704, - "nodeType": "ExpressionStatement", - "src": "19197:66:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29706, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29690, - "src": "19288:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19280:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19280:15:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29694, - "id": 29708, - "nodeType": "Return", - "src": "19273:22:84" - } - ] - }, - "documentation": null, - "id": 29710, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_toAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29690, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 29710, - "src": "19140:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29689, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19140:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19139:16:84" - }, - "payable": false, - "returnParameters": { - "id": 29694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29693, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29710, - "src": "19178:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19178:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19177:9:84" - }, - "scope": 29711, - "src": "19120:182:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 29712, - "src": "976:18328:84" - } - ], - "src": "0:19305:84" - }, - "legacyAST": { - "absolutePath": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "exportedSymbols": { - "BaseTemplate": [ - 29711 - ] - }, - "id": 29712, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28120, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:84" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 28121, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 11530, - "src": "25:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 28122, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 19336, - "src": "74:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-voting/contracts/Voting.sol", - "file": "@aragon/apps-voting/contracts/Voting.sol", - "id": 28123, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 20321, - "src": "123:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-payroll/contracts/Payroll.sol", - "file": "@aragon/apps-payroll/contracts/Payroll.sol", - "id": 28124, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 15996, - "src": "174:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "file": "@aragon/apps-finance/contracts/Finance.sol", - "id": 28125, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 14011, - "src": "227:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 28126, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 19074, - "src": "280:63:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-survey/contracts/Survey.sol", - "file": "@aragon/apps-survey/contracts/Survey.sol", - "id": 28127, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 18182, - "src": "344:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 28128, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 17135, - "src": "395:62:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "@aragon/os/contracts/acl/ACL.sol", - "id": 28129, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 21812, - "src": "459:42:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "file": "@aragon/os/contracts/apm/Repo.sol", - "id": 28130, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 23074, - "src": "502:43:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apm/APMNamehash.sol", - "file": "@aragon/os/contracts/apm/APMNamehash.sol", - "id": 28131, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 22376, - "src": "546:50:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "@aragon/os/contracts/kernel/Kernel.sol", - "id": 28132, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 26898, - "src": "597:48:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "file": "@aragon/os/contracts/lib/ens/ENS.sol", - "id": 28133, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 27263, - "src": "646:46:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "id": 28134, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 27725, - "src": "693:57:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "file": "@aragon/os/contracts/factory/DAOFactory.sol", - "id": 28135, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 26162, - "src": "751:53:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 28136, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 23826, - "src": "805:52:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "file": "@aragon/os/contracts/common/Uint256Helpers.sol", - "id": 28137, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 24186, - "src": "858:56:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "file": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "id": 28138, - "nodeType": "ImportDirective", - "scope": 29712, - "sourceUnit": 20479, - "src": "915:58:84", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 28139, - "name": "APMNamehash", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22375, - "src": "1001:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_APMNamehash_$22375", - "typeString": "contract APMNamehash" - } - }, - "id": 28140, - "nodeType": "InheritanceSpecifier", - "src": "1001:11:84" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 28141, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "1014:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 28142, - "nodeType": "InheritanceSpecifier", - "src": "1014:10:84" - } - ], - "contractDependencies": [ - 22375, - 23825 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 29711, - "linearizedBaseContracts": [ - 29711, - 23825, - 22375 - ], - "name": "BaseTemplate", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 28145, - "libraryName": { - "contractScope": null, - "id": 28143, - "name": "Uint256Helpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24185, - "src": "1037:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Uint256Helpers_$24185", - "typeString": "library Uint256Helpers" - } - }, - "nodeType": "UsingForDirective", - "src": "1031:33:84", - "typeName": { - "id": 28144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1056:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 28148, - "name": "AGENT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "1885:107:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28146, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1885:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839616339386463356639393562663032313165643538396566303232373139643134383765356362326261623530353637366630643038346330376366383961", - "id": 28147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1926:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70012293425472232566299414701996219075361412067543700057878177943737805371546_by_1", - "typeString": "int_const 7001...(69 digits omitted)...1546" - }, - "value": "0x9ac98dc5f995bf0211ed589ef022719d1487e5cb2bab505676f0d084c07cf89a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28151, - "name": "VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "1998:107:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1998:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 28150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2039:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28154, - "name": "VOTING_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2111:108:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28152, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2111:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839666133393237663633393734356535383739313264346230666561376566393031336266393366623930376432396661656162353734313762613665316434", - "id": 28153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2153:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_72206750085666237539256322200303567825107029886318386998110297175647228191188_by_1", - "typeString": "int_const 7220...(69 digits omitted)...1188" - }, - "value": "0x9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28157, - "name": "PAYROLL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2225:109:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2225:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834363366353936613936643830386362323862356430383031383165346133393862633739336466326332323266363434353138396562383031303031393931", - "id": 28156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2268:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31773827894974611604174479881427017110322879715025277359727096683647295560081_by_1", - "typeString": "int_const 3177...(69 digits omitted)...0081" - }, - "value": "0x463f596a96d808cb28b5d080181e4a398bc793df2c222f6445189eb801001991" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28160, - "name": "FINANCE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2340:109:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28158, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2340:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862663834393131353064616663356463616565356238363134313464636139323264653039636366666133343439363461653136373231326538633637336165", - "id": 28159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86625979212775160120842141004513300537934529898121207992700083009731388928942_by_1", - "typeString": "int_const 8662...(69 digits omitted)...8942" - }, - "value": "0xbf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28163, - "name": "TOKEN_MANAGER_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2455:115:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28161, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2455:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836623230613330313036313465656562663231333863636563393966303238613631633831316233623161333334336236666636333539383563373563393166", - "id": 28162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2504:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48455138916737370588647428181326777437669679931561084720910323405175714597151_by_1", - "typeString": "int_const 4845...(69 digits omitted)...7151" - }, - "value": "0x6b20a3010614eeebf2138ccec99f028a61c811b3b1a3343b6ff635985c75c91f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28166, - "name": "SURVEY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2576:108:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28164, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2576:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830333062326162383830623838653232386632646135613364313961326133316263313064626639316662313134333737366136646534383933383934373165", - "id": 28165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2618:66:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1376668710995008297488744301055018049569118276784727715463002654377127790366_by_1", - "typeString": "int_const 1376...(68 digits omitted)...0366" - }, - "value": "0x030b2ab880b88e228f2da5a3d19a2a31bc10dbf91fb1143776a6de489389471e" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28169, - "name": "ERROR_ENS_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2691:76:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28167, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2691:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f454e535f4e4f545f434f4e5452414354", - "id": 28168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2740:27:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d93430c4b5ebc6af50336b4edbc3c39691e9acccbdfbb2de78d1c875e4534268", - "typeString": "literal_string \"TEMPLATE_ENS_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_ENS_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28172, - "name": "ERROR_DAO_FACTORY_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2773:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28170, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2773:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f44414f5f4641435f4e4f545f434f4e5452414354", - "id": 28171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2830:31:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e543816eecb3df318349e71e2fbf649080d34aaf79d0c2cdd649726cdeafbb37", - "typeString": "literal_string \"TEMPLATE_DAO_FAC_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_DAO_FAC_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28175, - "name": "ERROR_ARAGON_ID_NOT_PROVIDED", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2867:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28173, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2867:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f415241474f4e5f49445f4e4f545f50524f5649444544", - "id": 28174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2922:33:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_de9e574bca9a3dcf03959b712ed27841ebf4d21ac2fc7c34885c8cce1fb7db0e", - "typeString": "literal_string \"TEMPLATE_ARAGON_ID_NOT_PROVIDED\"" - }, - "value": "TEMPLATE_ARAGON_ID_NOT_PROVIDED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28178, - "name": "ERROR_ARAGON_ID_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "2961:88:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2961:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f415241474f4e5f49445f4e4f545f434f4e5452414354", - "id": 28177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:33:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4eae548cb13e82191208ca43e6fe1977422442c7afd9be1e01556dd8bc28a52", - "typeString": "literal_string \"TEMPLATE_ARAGON_ID_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_ARAGON_ID_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28181, - "name": "ERROR_MINIME_FACTORY_NOT_PROVIDED", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3055:94:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28179, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3055:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f4d494e494d455f4641435f4e4f545f50524f5649444544", - "id": 28180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3115:34:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0aff11ceaf5260a111837de2a4a690bf3fc8c347e28fd0acf74afac0023c9976", - "typeString": "literal_string \"TEMPLATE_MINIME_FAC_NOT_PROVIDED\"" - }, - "value": "TEMPLATE_MINIME_FAC_NOT_PROVIDED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28184, - "name": "ERROR_MINIME_FACTORY_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3155:94:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28182, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3155:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f4d494e494d455f4641435f4e4f545f434f4e5452414354", - "id": 28183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3215:34:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_11d3763d910fc2bdb4bd9974159e1538694f16ec9498a0a02a45a2b961630413", - "typeString": "literal_string \"TEMPLATE_MINIME_FAC_NOT_CONTRACT\"" - }, - "value": "TEMPLATE_MINIME_FAC_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28187, - "name": "ERROR_CANNOT_CAST_VALUE_TO_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3255:100:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28185, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3255:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f43414e4e4f545f434153545f56414c55455f544f5f41444452455353", - "id": 28186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3316:39:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2917442a224557bd8ec53a77715009dd29deaac5ed0a08a576cc6cb9dca2d6d8", - "typeString": "literal_string \"TEMPLATE_CANNOT_CAST_VALUE_TO_ADDRESS\"" - }, - "value": "TEMPLATE_CANNOT_CAST_VALUE_TO_ADDRESS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 28190, - "name": "ERROR_INVALID_ID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3361:64:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 28188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3361:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "54454d504c4154455f494e56414c49445f4944", - "id": 28189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3404:21:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03e47863004eb5dbe4eddf2e69482427a329d14e210af60b79e2fc1171c8bab6", - "typeString": "literal_string \"TEMPLATE_INVALID_ID\"" - }, - "value": "TEMPLATE_INVALID_ID" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 28192, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3432:16:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 28191, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "3432:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28194, - "name": "daoFactory", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3454:30:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 28193, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "3454:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28196, - "name": "miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3490:41:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 28195, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3490:18:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28198, - "name": "aragonID", - "nodeType": "VariableDeclaration", - "scope": 29711, - "src": "3537:41:84", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 28197, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "3537:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 28202, - "name": "DeployDao", - "nodeType": "EventDefinition", - "parameters": { - "id": 28201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28200, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28202, - "src": "3601:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3601:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3600:13:84" - }, - "src": "3585:29:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28206, - "name": "SetupDao", - "nodeType": "EventDefinition", - "parameters": { - "id": 28205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28204, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28206, - "src": "3634:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3634:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3633:13:84" - }, - "src": "3619:28:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28210, - "name": "DeployToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 28209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28208, - "indexed": false, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 28210, - "src": "3670:13:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3670:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3669:15:84" - }, - "src": "3652:33:84" - }, - { - "anonymous": false, - "documentation": null, - "id": 28216, - "name": "InstalledApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 28215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28212, - "indexed": false, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 28216, - "src": "3709:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3709:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28214, - "indexed": false, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 28216, - "src": "3727:13:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3727:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3708:33:84" - }, - "src": "3690:52:84" - }, - { - "body": { - "id": 28261, - "nodeType": "Block", - "src": "3871:283:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28230, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28220, - "src": "3908:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 28229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3900:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3900:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28228, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3889:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 28232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3889:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28233, - "name": "ERROR_ENS_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28169, - "src": "3916:22:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 28227, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3881:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3881:58:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28235, - "nodeType": "ExpressionStatement", - "src": "3881:58:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28239, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28218, - "src": "3976:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "id": 28238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3968:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3968:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28237, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3957:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 28241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3957:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28242, - "name": "ERROR_DAO_FACTORY_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28172, - "src": "3991:30:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 28236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3949:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3949:73:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28244, - "nodeType": "ExpressionStatement", - "src": "3949:73:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28245, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28192, - "src": "4033:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28246, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28220, - "src": "4039:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "src": "4033:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 28248, - "nodeType": "ExpressionStatement", - "src": "4033:10:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28249, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "4053:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28250, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28224, - "src": "4064:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "src": "4053:20:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 28252, - "nodeType": "ExpressionStatement", - "src": "4053:20:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28253, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28194, - "src": "4083:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28254, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28218, - "src": "4096:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "src": "4083:24:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 28256, - "nodeType": "ExpressionStatement", - "src": "4083:24:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28257, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "4117:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 28258, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28222, - "src": "4133:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "4117:30:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 28260, - "nodeType": "ExpressionStatement", - "src": "4117:30:84" - } - ] - }, - "documentation": null, - "id": 28262, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28218, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3760:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 28217, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "3760:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28220, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3784:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 28219, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "3784:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28222, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3794:33:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 28221, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3794:18:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28224, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 28262, - "src": "3829:33:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 28223, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "3829:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3759:104:84" - }, - "payable": false, - "returnParameters": { - "id": 28226, - "nodeType": "ParameterList", - "parameters": [], - "src": "3871:0:84" - }, - "scope": 29711, - "src": "3748:406:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 28298, - "nodeType": "Block", - "src": "4600:186:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 28274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28269, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4610:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28272, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "4634:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "expression": { - "argumentTypes": null, - "id": 28270, - "name": "daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28194, - "src": "4616:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "id": 28271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newDAO", - "nodeType": "MemberAccess", - "referencedDeclaration": 26160, - "src": "4616:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function (address) external returns (contract Kernel)" - } - }, - "id": 28273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4616:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "src": "4610:29:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28275, - "nodeType": "ExpressionStatement", - "src": "4610:29:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28278, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4672:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 28277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4664:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4664:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28276, - "name": "DeployDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28202, - "src": "4654:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 28280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4654:23:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28281, - "nodeType": "EmitStatement", - "src": "4649:28:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 28282, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28267, - "src": "4687:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28284, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4697:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "4697:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 28286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4697:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 28283, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "4693:3:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 28287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4693:14:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "src": "4687:20:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28289, - "nodeType": "ExpressionStatement", - "src": "4687:20:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28291, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28267, - "src": "4746:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28292, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4751:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28293, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28265, - "src": "4756:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "4756:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4756:22:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 28290, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "4717:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 28296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:62:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28297, - "nodeType": "ExpressionStatement", - "src": "4717:62:84" - } - ] - }, - "documentation": "@dev Create a DAO using the DAO Factory and grant the template root permissions so it has full\n control during setup. Once the DAO setup has finished, it is recommended to call the\n `_transferRootPermissionsFromTemplateAndFinalizeDAO()` helper to transfer the root\n permissions to the end entity in control of the organization.", - "id": 28299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28263, - "nodeType": "ParameterList", - "parameters": [], - "src": "4558:2:84" - }, - "payable": false, - "returnParameters": { - "id": 28268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28265, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 28299, - "src": "4579:10:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28264, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "4579:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28267, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 28299, - "src": "4591:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28266, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "4591:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4578:21:84" - }, - "scope": 29711, - "src": "4539:247:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28367, - "nodeType": "Block", - "src": "4935:349:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28316, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "4967:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28318, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4977:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28319, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "4981:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28320, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "4987:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28322, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5008:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5000:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5000:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28313, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "4945:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "4945:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:69:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28325, - "nodeType": "ExpressionStatement", - "src": "4945:69:84" - }, - { - "body": { - "id": 28347, - "nodeType": "Block", - "src": "5071:78:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28340, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "5106:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28342, - "indexExpression": { - "argumentTypes": null, - "id": 28341, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5116:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5106:12:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28343, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5120:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28344, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5126:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28337, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5085:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "5085:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:53:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28346, - "nodeType": "ExpressionStatement", - "src": "5085:53:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 28333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 28330, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5044:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 28331, - "name": "_grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28304, - "src": "5048:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 28332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5048:16:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5044:20:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 28348, - "initializationExpression": { - "assignments": [ - 28327 - ], - "declarations": [ - { - "constant": false, - "id": 28327, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "5029:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5029:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28329, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 28328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5041:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5029:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 28335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5066:3:84", - "subExpression": { - "argumentTypes": null, - "id": 28334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28327, - "src": "5066:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 28336, - "nodeType": "ExpressionStatement", - "src": "5066:3:84" - }, - "nodeType": "ForStatement", - "src": "5024:125:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5188:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5180:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5180:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28355, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5195:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28356, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5201:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28349, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5158:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "5158:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5158:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28358, - "nodeType": "ExpressionStatement", - "src": "5158:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28362, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28310, - "src": "5249:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28363, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28306, - "src": "5259:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28364, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28308, - "src": "5265:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28359, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28301, - "src": "5223:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "5223:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5223:54:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28366, - "nodeType": "ExpressionStatement", - "src": "5223:54:84" - } - ] - }, - "documentation": null, - "id": 28368, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28301, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4835:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28300, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "4835:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28304, - "name": "_grantees", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4845:26:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 28302, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4845:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 28303, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4845:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28306, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4873:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4873:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28308, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4887:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28307, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4887:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28310, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28368, - "src": "4908:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4908:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4834:91:84" - }, - "payable": false, - "returnParameters": { - "id": 28312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4935:0:84" - }, - "scope": 29711, - "src": "4807:477:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28390, - "nodeType": "Block", - "src": "5382:87:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28381, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5422:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5414:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5414:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28383, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28372, - "src": "5429:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28384, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28374, - "src": "5435:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28386, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5456:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5448:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28377, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28370, - "src": "5392:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "5392:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:70:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28389, - "nodeType": "ExpressionStatement", - "src": "5392:70:84" - } - ] - }, - "documentation": null, - "id": 28391, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPermissionForTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28370, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5328:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28369, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5328:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28372, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5338:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28371, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5338:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28374, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28391, - "src": "5352:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5352:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5327:45:84" - }, - "payable": false, - "returnParameters": { - "id": 28376, - "nodeType": "ParameterList", - "parameters": [], - "src": "5382:0:84" - }, - "scope": 29711, - "src": "5290:179:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28417, - "nodeType": "Block", - "src": "5568:129:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28404, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "5608:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5600:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5600:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28406, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28395, - "src": "5615:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28407, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28397, - "src": "5621:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28400, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28393, - "src": "5578:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "5578:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5578:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28409, - "nodeType": "ExpressionStatement", - "src": "5578:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28413, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28395, - "src": "5672:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28414, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28397, - "src": "5678:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28410, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28393, - "src": "5643:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "5643:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 28415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5643:47:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28416, - "nodeType": "ExpressionStatement", - "src": "5643:47:84" - } - ] - }, - "documentation": null, - "id": 28418, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removePermissionFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28393, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5514:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28392, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "5514:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28395, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5524:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28394, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5524:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28397, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28418, - "src": "5538:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5538:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5513:45:84" - }, - "payable": false, - "returnParameters": { - "id": 28399, - "nodeType": "ParameterList", - "parameters": [], - "src": "5568:0:84" - }, - "scope": 29711, - "src": "5475:222:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28431, - "nodeType": "Block", - "src": "5798:83:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28426, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28420, - "src": "5859:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28427, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28422, - "src": "5865:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28428, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28422, - "src": "5870:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28425, - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28432, - 28474 - ], - "referencedDeclaration": 28474, - "src": "5808:50:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract Kernel,address,address)" - } - }, - "id": 28429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5808:66:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28430, - "nodeType": "ExpressionStatement", - "src": "5808:66:84" - } - ] - }, - "documentation": null, - "id": 28432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28420, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28432, - "src": "5763:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28419, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5763:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28422, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28432, - "src": "5776:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28421, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5776:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5762:26:84" - }, - "payable": false, - "returnParameters": { - "id": 28424, - "nodeType": "ParameterList", - "parameters": [], - "src": "5798:0:84" - }, - "scope": 29711, - "src": "5703:178:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28473, - "nodeType": "Block", - "src": "6000:265:84", - "statements": [ - { - "assignments": [ - 28442 - ], - "declarations": [ - { - "constant": false, - "id": 28442, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "6010:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28441, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6010:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28444, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6025:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "6025:8:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 28446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6025:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 28443, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "6021:3:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 28447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6021:15:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6010:26:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28450, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6078:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28451, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6084:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28452, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28436, - "src": "6090:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28453, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6095:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "6095:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6095:23:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28456, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "6120:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28449, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "6046:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 28457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28458, - "nodeType": "ExpressionStatement", - "src": "6046:83:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28460, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6171:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28461, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6177:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 28462, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28436, - "src": "6183:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28463, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28442, - "src": "6188:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "6188:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6188:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28466, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "6220:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28459, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "6139:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 28467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6139:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28468, - "nodeType": "ExpressionStatement", - "src": "6139:90:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28470, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28434, - "src": "6253:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 28469, - "name": "SetupDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28206, - "src": "6244:8:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 28471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6244:14:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28472, - "nodeType": "EmitStatement", - "src": "6239:19:84" - } - ] - }, - "documentation": null, - "id": 28474, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28434, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5947:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28433, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5947:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28436, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5960:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5960:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28438, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28474, - "src": "5973:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5973:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5946:44:84" - }, - "payable": false, - "returnParameters": { - "id": 28440, - "nodeType": "ParameterList", - "parameters": [], - "src": "6000:0:84" - }, - "scope": 29711, - "src": "5887:378:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28513, - "nodeType": "Block", - "src": "6397:190:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28490, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28480, - "src": "6428:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28491, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6433:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28492, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6439:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28487, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6407:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "6407:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6407:44:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28494, - "nodeType": "ExpressionStatement", - "src": "6407:44:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28499, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29943, - "src": "6491:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - ], - "id": 28498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6483:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 28500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6483:13:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28501, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6498:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28502, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6504:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28495, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6461:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "6461:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6461:55:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28504, - "nodeType": "ExpressionStatement", - "src": "6461:55:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28508, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28484, - "src": "6552:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28509, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28478, - "src": "6562:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28510, - "name": "_permission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28482, - "src": "6568:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28505, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28476, - "src": "6526:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "6526:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 28511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6526:54:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28512, - "nodeType": "ExpressionStatement", - "src": "6526:54:84" - } - ] - }, - "documentation": null, - "id": 28514, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferPermissionFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28476, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6312:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28475, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6312:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28478, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6322:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6322:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28480, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6336:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6336:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28482, - "name": "_permission", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6349:19:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28481, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6349:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28484, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28514, - "src": "6370:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6370:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6311:76:84" - }, - "payable": false, - "returnParameters": { - "id": 28486, - "nodeType": "ParameterList", - "parameters": [], - "src": "6397:0:84" - }, - "scope": 29711, - "src": "6271:316:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28550, - "nodeType": "Block", - "src": "6681:449:84", - "statements": [ - { - "assignments": [ - 28522 - ], - "declarations": [ - { - "constant": false, - "id": 28522, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6691:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28521, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6691:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28531, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6750:1:84", - "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": 28525, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "6744:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "6744:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6744:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28523, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "6721:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6721:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6721:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6691:82:84" - }, - { - "assignments": [ - 28533 - ], - "declarations": [ - { - "constant": false, - "id": 28533, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6783:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28532, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6783:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28541, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28536, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28516, - "src": "6822:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28537, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "6828:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28538, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28522, - "src": "6842:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28535, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "6803:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:54:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28534, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "6797:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6797:61:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6783:75:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28545, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "7088:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 28542, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28516, - "src": "7061:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 28544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setRecoveryVaultAppId", - "nodeType": "MemberAccess", - "referencedDeclaration": 26686, - "src": "7061:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) external" - } - }, - "id": 28546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7061:40:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28547, - "nodeType": "ExpressionStatement", - "src": "7061:40:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 28548, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28533, - "src": "7118:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "functionReturnParameters": 28520, - "id": 28549, - "nodeType": "Return", - "src": "7111:12:84" - } - ] - }, - "documentation": null, - "id": 28551, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultAgentApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28516, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6643:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28515, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "6643:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28519, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28551, - "src": "6674:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28518, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6674:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6673:7:84" - }, - "scope": 29711, - "src": "6610:520:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28577, - "nodeType": "Block", - "src": "7210:180:84", - "statements": [ - { - "assignments": [ - 28559 - ], - "declarations": [ - { - "constant": false, - "id": 28559, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7220:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28558, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7220:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28568, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7279:1:84", - "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": 28562, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "7273:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7273:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "7273:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7273:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28560, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "7250:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7250:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7250:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7220:82:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28571, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28553, - "src": "7347:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28572, - "name": "AGENT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28148, - "src": "7353:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28573, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28559, - "src": "7367:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28570, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "7325:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:57:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28569, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "7319:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 28575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:64:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "functionReturnParameters": 28557, - "id": 28576, - "nodeType": "Return", - "src": "7312:71:84" - } - ] - }, - "documentation": null, - "id": 28578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultAgentApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28553, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7172:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28552, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "7172:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7171:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28556, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28578, - "src": "7203:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28555, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "7203:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7202:7:84" - }, - "scope": 29711, - "src": "7136:254:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28611, - "nodeType": "Block", - "src": "7498:174:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28592, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28584, - "src": "7530:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28593, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7540:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28594, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7548:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "EXECUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10806, - "src": "7548:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7548:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28597, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28586, - "src": "7571:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28589, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28580, - "src": "7508:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7508:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7508:72:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28599, - "nodeType": "ExpressionStatement", - "src": "7508:72:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28603, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28584, - "src": "7612:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28604, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7622:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28605, - "name": "_agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28582, - "src": "7630:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 28606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RUN_SCRIPT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10824, - "src": "7630:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7630:24:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28608, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28586, - "src": "7656:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28600, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28580, - "src": "7590:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7590:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7590:75:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28610, - "nodeType": "ExpressionStatement", - "src": "7590:75:84" - } - ] - }, - "documentation": null, - "id": 28612, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createAgentPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28580, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7429:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28579, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "7429:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28582, - "name": "_agent", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7439:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 28581, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "7439:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28584, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7453:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7453:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28586, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28612, - "src": "7471:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7471:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7428:60:84" - }, - "payable": false, - "returnParameters": { - "id": 28588, - "nodeType": "ParameterList", - "parameters": [], - "src": "7498:0:84" - }, - "scope": 29711, - "src": "7396:276:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28638, - "nodeType": "Block", - "src": "7759:177:84", - "statements": [ - { - "assignments": [ - 28620 - ], - "declarations": [ - { - "constant": false, - "id": 28620, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7769:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28619, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7769:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7828:1:84", - "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": 28623, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "7822:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 28625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7822:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 28626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19168, - "src": "7822:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 28627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 28621, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "7799:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7799:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7799:52:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7769:82:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28632, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28614, - "src": "7893:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28633, - "name": "VAULT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28151, - "src": "7899:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28634, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28620, - "src": "7913:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28631, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "7874:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7874:54:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28630, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "7868:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 28636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7868:61:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "functionReturnParameters": 28618, - "id": 28637, - "nodeType": "Return", - "src": "7861:68:84" - } - ] - }, - "documentation": null, - "id": 28639, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28614, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7721:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28613, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "7721:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7720:13:84" - }, - "payable": false, - "returnParameters": { - "id": 28618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28617, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28639, - "src": "7752:5:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 28616, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7752:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7751:7:84" - }, - "scope": 29711, - "src": "7695:241:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28661, - "nodeType": "Block", - "src": "8044:90:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28653, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28645, - "src": "8076:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28654, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28643, - "src": "8086:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28655, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28643, - "src": "8094:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 28656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TRANSFER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19094, - "src": "8094:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8094:22:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28658, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28647, - "src": "8118:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28650, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28641, - "src": "8054:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8054:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8054:73:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28660, - "nodeType": "ExpressionStatement", - "src": "8054:73:84" - } - ] - }, - "documentation": null, - "id": 28662, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createVaultPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28641, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7975:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28640, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "7975:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28643, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7985:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 28642, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7985:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28645, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "7999:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7999:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28647, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28662, - "src": "8017:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8017:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7974:60:84" - }, - "payable": false, - "returnParameters": { - "id": 28649, - "nodeType": "ParameterList", - "parameters": [], - "src": "8044:0:84" - }, - "scope": 29711, - "src": "7942:192:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28689, - "nodeType": "Block", - "src": "8278:115:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28676, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28664, - "src": "8313:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28677, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28666, - "src": "8319:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28678, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8327:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28680, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8343:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8327:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28681, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8347:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28683, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 28682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8363:1:84", - "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": "8347:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 28684, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28670, - "src": "8367:15:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - }, - "id": 28686, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 28685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8383:1:84", - "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": "8367:18:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 28675, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28729, - "src": "8295:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$_t_uint64_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64,uint64,uint64) returns (contract Voting)" - } - }, - "id": 28687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8295:91:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "functionReturnParameters": 28674, - "id": 28688, - "nodeType": "Return", - "src": "8288:98:84" - } - ] - }, - "documentation": null, - "id": 28690, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVotingApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28664, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8185:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28663, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "8185:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28666, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8198:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28665, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "8198:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28670, - "name": "_votingSettings", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8218:32:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 28667, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8218:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 28669, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 28668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8225:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "8218:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8184:67:84" - }, - "payable": false, - "returnParameters": { - "id": 28674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28673, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28690, - "src": "8270:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28672, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8270:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8269:8:84" - }, - "scope": 29711, - "src": "8158:235:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28728, - "nodeType": "Block", - "src": "8598:225:84", - "statements": [ - { - "assignments": [ - 28706 - ], - "declarations": [ - { - "constant": false, - "id": 28706, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8608:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28705, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8608:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28719, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8668:1:84", - "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": 28709, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "8661:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 28711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8661:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 19533, - "src": "8661:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (contract MiniMeToken,uint64,uint64,uint64) external" - } - }, - "id": 28713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8661:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28714, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28694, - "src": "8692:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 28715, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28696, - "src": "8700:8:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28716, - "name": "_acceptance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28698, - "src": "8710:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28717, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28700, - "src": "8723:9:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28707, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "8638:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8638:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:95:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8608:125:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28722, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28692, - "src": "8779:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28723, - "name": "VOTING_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28154, - "src": "8785:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28724, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28706, - "src": "8800:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28721, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "8757:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8757:58:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28720, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "8750:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 28726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8750:66:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "functionReturnParameters": 28704, - "id": 28727, - "nodeType": "Return", - "src": "8743:73:84" - } - ] - }, - "documentation": null, - "id": 28729, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installVotingApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28692, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8435:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28691, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "8435:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28694, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8456:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28693, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "8456:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28696, - "name": "_support", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8484:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28695, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8484:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28698, - "name": "_acceptance", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8509:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28697, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8509:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28700, - "name": "_duration", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8537:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28699, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8537:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8425:134:84" - }, - "payable": false, - "returnParameters": { - "id": 28704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28729, - "src": "8586:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28702, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8586:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8585:8:84" - }, - "scope": 29711, - "src": "8399:424:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28775, - "nodeType": "Block", - "src": "9029:304:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28745, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28735, - "src": "9061:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28746, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9079:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28747, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9088:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_QUORUM_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19367, - "src": "9088:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9088:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28750, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9118:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28742, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9039:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9039:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9039:88:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28752, - "nodeType": "ExpressionStatement", - "src": "9039:88:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28756, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28735, - "src": "9159:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28757, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9177:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28758, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9186:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_SUPPORT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19362, - "src": "9186:27:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28761, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9217:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28753, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9137:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9137:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9137:89:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28763, - "nodeType": "ExpressionStatement", - "src": "9137:89:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28767, - "name": "_createVotesGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28737, - "src": "9258:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28768, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9279:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28769, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28733, - "src": "9288:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 28770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VOTES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19357, - "src": "9288:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9288:27:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28772, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28739, - "src": "9317:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28764, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28731, - "src": "9236:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9236:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9236:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28774, - "nodeType": "ExpressionStatement", - "src": "9236:90:84" - } - ] - }, - "documentation": null, - "id": 28776, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createVotingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28731, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8872:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28730, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "8872:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28733, - "name": "_voting", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8890:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 28732, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "8890:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28735, - "name": "_settingsGrantee", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8914:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8914:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28737, - "name": "_createVotesGrantee", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8948:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8948:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28739, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28776, - "src": "8985:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8985:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8862:145:84" - }, - "payable": false, - "returnParameters": { - "id": 28741, - "nodeType": "ParameterList", - "parameters": [], - "src": "9029:0:84" - }, - "scope": 29711, - "src": "8829:504:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28811, - "nodeType": "Block", - "src": "9492:226:84", - "statements": [ - { - "assignments": [ - 28790 - ], - "declarations": [ - { - "constant": false, - "id": 28790, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9502:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28789, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9502:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28802, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9562:1:84", - "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": 28793, - "name": "Survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18181, - "src": "9555:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Survey_$18181_$", - "typeString": "type(contract Survey)" - } - }, - "id": 28795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9555:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 17334, - "src": "9555:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (contract MiniMeToken,uint64,uint64) external" - } - }, - "id": 28797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9555:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28798, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28780, - "src": "9586:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 28799, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28782, - "src": "9594:20:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 28800, - "name": "_surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28784, - "src": "9616:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28791, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "9532:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9532:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9532:96:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9502:126:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28805, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28778, - "src": "9674:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28806, - "name": "SURVEY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28166, - "src": "9680:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28807, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28790, - "src": "9695:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28804, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "9652:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9652:58:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28803, - "name": "Survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18181, - "src": "9645:6:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Survey_$18181_$", - "typeString": "type(contract Survey)" - } - }, - "id": 28809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9645:66:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "functionReturnParameters": 28788, - "id": 28810, - "nodeType": "Return", - "src": "9638:73:84" - } - ] - }, - "documentation": null, - "id": 28812, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installSurveyApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28778, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9384:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28777, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "9384:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28780, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9397:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 28779, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "9397:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28782, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9417:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28781, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9417:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28784, - "name": "_surveyTime", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9446:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9446:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9383:82:84" - }, - "payable": false, - "returnParameters": { - "id": 28788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28787, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28812, - "src": "9484:6:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - "typeName": { - "contractScope": null, - "id": 28786, - "name": "Survey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18181, - "src": "9484:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9483:8:84" - }, - "scope": 29711, - "src": "9357:361:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28845, - "nodeType": "Block", - "src": "9829:195:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28826, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28818, - "src": "9861:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28827, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9871:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28828, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9880:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_SURVEYS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 17153, - "src": "9880:27:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:29:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28831, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "9911:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28823, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28814, - "src": "9839:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9839:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9839:81:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28833, - "nodeType": "ExpressionStatement", - "src": "9839:81:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28837, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28818, - "src": "9952:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28838, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9962:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28839, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28816, - "src": "9971:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "id": 28840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 17158, - "src": "9971:33:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9971:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28842, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "10008:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28834, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28814, - "src": "9930:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9930:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9930:87:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28844, - "nodeType": "ExpressionStatement", - "src": "9930:87:84" - } - ] - }, - "documentation": null, - "id": 28846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createSurveyPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28814, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9758:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28813, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "9758:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28816, - "name": "_survey", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9768:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - }, - "typeName": { - "contractScope": null, - "id": 28815, - "name": "Survey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18181, - "src": "9768:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Survey_$18181", - "typeString": "contract Survey" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28818, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9784:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9784:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28820, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 28846, - "src": "9802:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9802:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9757:62:84" - }, - "payable": false, - "returnParameters": { - "id": 28822, - "nodeType": "ParameterList", - "parameters": [], - "src": "9829:0:84" - }, - "scope": 29711, - "src": "9724:300:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28884, - "nodeType": "Block", - "src": "10263:315:84", - "statements": [ - { - "assignments": [ - 28862 - ], - "declarations": [ - { - "constant": false, - "id": 28862, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10273:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 28861, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10273:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 28875, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 28866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10347:1:84", - "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": 28865, - "name": "Payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15995, - "src": "10339:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Payroll_$15995_$", - "typeString": "type(contract Payroll)" - } - }, - "id": 28867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10339:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 14359, - "src": "10339:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Finance_$14010_$_t_address_$_t_contract$_IFeed_$28118_$_t_uint64_$returns$__$", - "typeString": "function (contract Finance,address,contract IFeed,uint64) external" - } - }, - "id": 28869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10339:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 28870, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28850, - "src": "10383:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 28871, - "name": "_denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28852, - "src": "10405:18:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28872, - "name": "_priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28854, - "src": "10437:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - { - "argumentTypes": null, - "id": 28873, - "name": "_rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28856, - "src": "10461:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 28863, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "10303:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 28864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10303:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 28874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10303:183:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10273:213:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28878, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28848, - "src": "10533:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 28879, - "name": "PAYROLL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28157, - "src": "10539:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28880, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28862, - "src": "10555:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 28877, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "10511:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 28881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10511:59:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 28876, - "name": "Payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15995, - "src": "10503:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Payroll_$15995_$", - "typeString": "type(contract Payroll)" - } - }, - "id": 28882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10503:68:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "functionReturnParameters": 28860, - "id": 28883, - "nodeType": "Return", - "src": "10496:75:84" - } - ] - }, - "documentation": null, - "id": 28885, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installPayrollApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28848, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10086:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 28847, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "10086:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28850, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10107:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 28849, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "10107:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28852, - "name": "_denominationToken", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10133:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10133:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28854, - "name": "_priceFeed", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10169:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 28853, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "10169:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28856, - "name": "_rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10195:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28855, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10195:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10076:147:84" - }, - "payable": false, - "returnParameters": { - "id": 28860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28859, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28885, - "src": "10250:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - "typeName": { - "contractScope": null, - "id": 28858, - "name": "Payroll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 15995, - "src": "10250:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10249:9:84" - }, - "scope": 29711, - "src": "10049:529:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28986, - "nodeType": "Block", - "src": "11584:923:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28901, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11616:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28902, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11634:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28903, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11644:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_BONUS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14046, - "src": "11644:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11644:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28906, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11671:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28898, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11594:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11594:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11594:97:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28908, - "nodeType": "ExpressionStatement", - "src": "11594:97:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28912, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11723:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28913, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11741:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28914, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11751:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_EMPLOYEE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14037, - "src": "11751:26:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11751:28:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28917, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11781:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28909, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11701:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11701:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11701:100:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28919, - "nodeType": "ExpressionStatement", - "src": "11701:100:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28923, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11833:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28924, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11851:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28925, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11861:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14049, - "src": "11861:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11861:33:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28928, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "11896:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28920, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11811:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11811:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11811:105:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28930, - "nodeType": "ExpressionStatement", - "src": "11811:105:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28934, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "11948:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28935, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11966:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28936, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "11976:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14040, - "src": "11976:32:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11976:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28939, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12012:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28931, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "11926:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "11926:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11926:106:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28941, - "nodeType": "ExpressionStatement", - "src": "11926:106:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28945, - "name": "_employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "12064:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28946, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12082:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28947, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12092:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14043, - "src": "12092:33:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12092:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28950, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12129:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28942, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12042:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12042:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12042:107:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28952, - "nodeType": "ExpressionStatement", - "src": "12042:107:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28956, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12182:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28957, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12200:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28958, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12210:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14055, - "src": "12210:31:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12210:33:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28961, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12245:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28953, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12160:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12160:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12160:105:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28963, - "nodeType": "ExpressionStatement", - "src": "12160:105:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28967, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12297:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28968, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12315:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28969, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12325:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14058, - "src": "12325:32:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12325:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28972, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12361:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28964, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12275:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12275:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12275:106:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28974, - "nodeType": "ExpressionStatement", - "src": "12275:106:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 28978, - "name": "_settingsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28893, - "src": "12413:16:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 28979, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12431:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 28980, - "name": "_payroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28889, - "src": "12441:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "id": 28981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 14052, - "src": "12441:35:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 28982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12441:37:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 28983, - "name": "_permissionsManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "12480:19:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 28975, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28887, - "src": "12391:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 28977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "12391:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 28984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12391:109:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28985, - "nodeType": "ExpressionStatement", - "src": "12391:109:84" - } - ] - }, - "documentation": "@dev Internal function to configure payroll permissions. Note that we allow defining different managers for\n payroll since it may be useful to have one control the payroll settings (rate expiration, price feed,\n and allowed tokens), and another one to control the employee functionality (bonuses, salaries,\n reimbursements, employees, etc).\n@param _acl ACL instance being configured\n@param _acl Payroll app being configured\n@param _employeeManager Address that will receive permissions to handle employee payroll functionality\n@param _settingsManager Address that will receive permissions to manage payroll settings\n@param _permissionsManager Address that will be the ACL manager for the payroll permissions", - "id": 28987, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createPayrollPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28887, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11417:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 28886, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "11417:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28889, - "name": "_payroll", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11435:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - }, - "typeName": { - "contractScope": null, - "id": 28888, - "name": "Payroll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 15995, - "src": "11435:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Payroll_$15995", - "typeString": "contract Payroll" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28891, - "name": "_employeeManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11461:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11461:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28893, - "name": "_settingsManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11495:24:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28892, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11495:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28895, - "name": "_permissionsManager", - "nodeType": "VariableDeclaration", - "scope": 28987, - "src": "11529:27:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11529:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11407:155:84" - }, - "payable": false, - "returnParameters": { - "id": 28897, - "nodeType": "ParameterList", - "parameters": [], - "src": "11584:0:84" - }, - "scope": 29711, - "src": "11373:1134:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29036, - "nodeType": "Block", - "src": "12722:244:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29002, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28994, - "src": "12732:17:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29004, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12763:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29006, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 29005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12780:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12763:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29003, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12752:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12752:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12732:51:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29009, - "nodeType": "ExpressionStatement", - "src": "12732:51:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29010, - "name": "priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28996, - "src": "12793:9:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29013, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12822:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29015, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 29014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12839:1:84", - "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": "12822:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29012, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12811:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12811:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29011, - "name": "IFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28118, - "src": "12805:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IFeed_$28118_$", - "typeString": "type(contract IFeed)" - } - }, - "id": 29017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12805:38:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "src": "12793:50:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 29019, - "nodeType": "ExpressionStatement", - "src": "12793:50:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29020, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28998, - "src": "12853:14:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29021, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12870:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29023, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 29022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12887:1:84", - "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": "12870:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "12870:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 29025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12870:30:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12853:47:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 29027, - "nodeType": "ExpressionStatement", - "src": "12853:47:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29028, - "name": "employeeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29000, - "src": "12910:15:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29030, - "name": "_payrollSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28991, - "src": "12939:16:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 29032, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 29031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12956:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12939:19:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29029, - "name": "_toAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29710, - "src": "12928:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) pure returns (address)" - } - }, - "id": 29033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12928:31:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12910:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29035, - "nodeType": "ExpressionStatement", - "src": "12910:49:84" - } - ] - }, - "documentation": null, - "id": 29037, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_unwrapPayrollSettings", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28991, - "name": "_payrollSettings", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12554:34:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4]" - }, - "typeName": { - "baseType": { - "id": 28988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12554:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 28990, - "length": { - "argumentTypes": null, - "hexValue": "34", - "id": 28989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12562:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "4" - }, - "nodeType": "ArrayTypeName", - "src": "12554:10:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", - "typeString": "uint256[4]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12544:50:84" - }, - "payable": false, - "returnParameters": { - "id": 29001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28994, - "name": "denominationToken", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12626:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12626:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28996, - "name": "priceFeed", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12653:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 28995, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "12653:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28998, - "name": "rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12670:21:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28997, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12670:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29000, - "name": "employeeManager", - "nodeType": "VariableDeclaration", - "scope": 29037, - "src": "12693:23:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12693:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12625:92:84" - }, - "scope": 29711, - "src": "12513:453:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29069, - "nodeType": "Block", - "src": "13097:211:84", - "statements": [ - { - "assignments": [ - 29049 - ], - "declarations": [ - { - "constant": false, - "id": 29049, - "name": "initializeData", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13107:27:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29048, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13107:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29060, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13168:1:84", - "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": 29052, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "13160:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 29054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13160:10:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 12397, - "src": "13160:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Vault_$19335_$_t_uint64_$returns$__$", - "typeString": "function (contract Vault,uint64) external" - } - }, - "id": 29056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13160:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 29057, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29041, - "src": "13192:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 29058, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29043, - "src": "13200:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 29050, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "13137:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 29051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13137:22:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 29059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13137:79:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13107:109:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29063, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29039, - "src": "13263:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29064, - "name": "FINANCE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28160, - "src": "13269:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29065, - "name": "initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29049, - "src": "13285:14:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 29062, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "13241:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13241:59:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29061, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "13233:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 29067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13233:68:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "functionReturnParameters": 29047, - "id": 29068, - "nodeType": "Return", - "src": "13226:75:84" - } - ] - }, - "documentation": null, - "id": 29070, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installFinanceApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29044, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29039, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13019:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29038, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "13019:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29041, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13032:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 29040, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "13032:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29043, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13046:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 29042, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13046:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13018:51:84" - }, - "payable": false, - "returnParameters": { - "id": 29047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29046, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29070, - "src": "13088:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29045, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13088:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13087:9:84" - }, - "scope": 29711, - "src": "12991:317:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29103, - "nodeType": "Block", - "src": "13422:196:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29084, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29076, - "src": "13454:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29085, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13464:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29086, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13474:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12018, - "src": "13474:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13474:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29089, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29078, - "src": "13508:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29081, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29072, - "src": "13432:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13432:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13432:85:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29091, - "nodeType": "ExpressionStatement", - "src": "13432:85:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29095, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29076, - "src": "13549:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29096, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13559:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29097, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29074, - "src": "13569:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MANAGE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12023, - "src": "13569:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13569:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29100, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29078, - "src": "13602:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29092, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29072, - "src": "13527:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13527:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13527:84:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29102, - "nodeType": "ExpressionStatement", - "src": "13527:84:84" - } - ] - }, - "documentation": null, - "id": 29104, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createFinancePermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29072, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13349:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29071, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13349:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29074, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13359:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29073, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13359:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29076, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13377:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13377:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29078, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29104, - "src": "13395:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13395:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13348:64:84" - }, - "payable": false, - "returnParameters": { - "id": 29080, - "nodeType": "ParameterList", - "parameters": [], - "src": "13422:0:84" - }, - "scope": 29711, - "src": "13314:304:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29126, - "nodeType": "Block", - "src": "13745:101:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29118, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29110, - "src": "13777:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29119, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29108, - "src": "13787:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29120, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29108, - "src": "13797:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "13797:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13797:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29123, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29112, - "src": "13830:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29115, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29106, - "src": "13755:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "13755:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13755:84:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29125, - "nodeType": "ExpressionStatement", - "src": "13755:84:84" - } - ] - }, - "documentation": null, - "id": 29127, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createFinanceCreatePaymentsPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29106, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13672:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29105, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13672:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29108, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13682:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29107, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13682:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29110, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13700:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13700:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29112, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29127, - "src": "13718:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13718:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13671:64:84" - }, - "payable": false, - "returnParameters": { - "id": 29114, - "nodeType": "ParameterList", - "parameters": [], - "src": "13745:0:84" - }, - "scope": 29711, - "src": "13624:222:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29146, - "nodeType": "Block", - "src": "13941:85:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29139, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29133, - "src": "13972:3:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29140, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29131, - "src": "13977:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29141, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29131, - "src": "13987:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "13987:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13987:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29136, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29129, - "src": "13951:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "13951:20:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 29144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13951:68:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29145, - "nodeType": "ExpressionStatement", - "src": "13951:68:84" - } - ] - }, - "documentation": null, - "id": 29147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_grantCreatePaymentPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29129, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13891:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29128, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "13891:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29131, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13901:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29130, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "13901:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29133, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 29147, - "src": "13919:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13919:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13890:41:84" - }, - "payable": false, - "returnParameters": { - "id": 29135, - "nodeType": "ParameterList", - "parameters": [], - "src": "13941:0:84" - }, - "scope": 29711, - "src": "13852:174:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29166, - "nodeType": "Block", - "src": "14138:95:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29159, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29153, - "src": "14174:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29160, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29151, - "src": "14184:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29161, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29151, - "src": "14194:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 29162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PAYMENTS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 12003, - "src": "14194:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14194:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29156, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29149, - "src": "14148:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "14148:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 29164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14148:78:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29165, - "nodeType": "ExpressionStatement", - "src": "14148:78:84" - } - ] - }, - "documentation": null, - "id": 29167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferCreatePaymentManagerFromTemplate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29149, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14083:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29148, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "14083:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29151, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14093:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 29150, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "14093:7:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29153, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29167, - "src": "14111:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29152, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14111:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14082:46:84" - }, - "payable": false, - "returnParameters": { - "id": 29155, - "nodeType": "ParameterList", - "parameters": [], - "src": "14138:0:84" - }, - "scope": 29711, - "src": "14032:201:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29205, - "nodeType": "Block", - "src": "14459:259:84", - "statements": [ - { - "assignments": [ - 29181 - ], - "declarations": [ - { - "constant": false, - "id": 29181, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14469:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29180, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14469:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29188, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29184, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29169, - "src": "14532:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29185, - "name": "TOKEN_MANAGER_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28163, - "src": "14538:20:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29183, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29439, - "src": "14510:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 29186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14510:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29182, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "14497:12:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 29187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:63:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14469:91:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29192, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14594:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "expression": { - "argumentTypes": null, - "id": 29189, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29171, - "src": "14570:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 29191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "14570:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 29193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14570:37:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29194, - "nodeType": "ExpressionStatement", - "src": "14570:37:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29198, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29171, - "src": "14641:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 29199, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29173, - "src": "14649:13:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29200, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29175, - "src": "14664:17:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29195, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14617:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 18388, - "src": "14617:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (contract MiniMeToken,bool,uint256) external" - } - }, - "id": 29201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:65:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29202, - "nodeType": "ExpressionStatement", - "src": "14617:65:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29203, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29181, - "src": "14699:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "functionReturnParameters": 29179, - "id": 29204, - "nodeType": "Return", - "src": "14692:19:84" - } - ] - }, - "documentation": null, - "id": 29206, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installTokenManagerApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29169, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14306:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29168, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "14306:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29171, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14327:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29170, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "14327:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29173, - "name": "_transferable", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14355:18:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 29172, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14355:4:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29175, - "name": "_maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14383:25:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14383:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14296:118:84" - }, - "payable": false, - "returnParameters": { - "id": 29179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29206, - "src": "14441:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29177, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14441:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14440:14:84" - }, - "scope": 29711, - "src": "14264:454:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29239, - "nodeType": "Block", - "src": "14847:193:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29220, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29212, - "src": "14879:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29221, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14889:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29222, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14904:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "14904:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14904:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29225, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29214, - "src": "14931:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29217, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29208, - "src": "14857:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "14857:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14857:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29227, - "nodeType": "ExpressionStatement", - "src": "14857:83:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29231, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29212, - "src": "14972:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29232, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14982:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29233, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29210, - "src": "14997:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "BURN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18222, - "src": "14997:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14997:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29236, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29214, - "src": "15024:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29228, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29208, - "src": "14950:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "14950:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14950:83:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29238, - "nodeType": "ExpressionStatement", - "src": "14950:83:84" - } - ] - }, - "documentation": null, - "id": 29240, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createTokenManagerPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29208, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14764:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29207, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "14764:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29210, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14774:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29209, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "14774:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29212, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14802:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14802:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29214, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29240, - "src": "14820:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14820:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14763:74:84" - }, - "payable": false, - "returnParameters": { - "id": 29216, - "nodeType": "ParameterList", - "parameters": [], - "src": "14847:0:84" - }, - "scope": 29711, - "src": "14724:316:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29293, - "nodeType": "Block", - "src": "15167:303:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29254, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29242, - "src": "15206:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29255, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15212:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29256, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15227:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15227:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15227:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29253, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "15177:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15177:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29260, - "nodeType": "ExpressionStatement", - "src": "15177:76:84" - }, - { - "body": { - "id": 29283, - "nodeType": "Block", - "src": "15309:68:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29275, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29247, - "src": "15342:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29277, - "indexExpression": { - "argumentTypes": null, - "id": 29276, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15351:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15342:11:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29278, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29250, - "src": "15355:7:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 29280, - "indexExpression": { - "argumentTypes": null, - "id": 29279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15363:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15355:10:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29272, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15323:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "15323:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15323:43:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29282, - "nodeType": "ExpressionStatement", - "src": "15323:43:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29265, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15283:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29266, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29247, - "src": "15287:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15287:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15283:19:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29284, - "initializationExpression": { - "assignments": [ - 29262 - ], - "declarations": [ - { - "constant": false, - "id": 29262, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15268:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15268:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29264, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 29263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15280:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15268:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 29270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15304:3:84", - "subExpression": { - "argumentTypes": null, - "id": 29269, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29262, - "src": "15304:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29271, - "nodeType": "ExpressionStatement", - "src": "15304:3:84" - }, - "nodeType": "ForStatement", - "src": "15263:114:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29286, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29242, - "src": "15416:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29287, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15422:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29288, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29244, - "src": "15437:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15437:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15437:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29285, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "15386:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15386:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29292, - "nodeType": "ExpressionStatement", - "src": "15386:77:84" - } - ] - }, - "documentation": null, - "id": 29294, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29242, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15067:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29241, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15067:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29244, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15077:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29243, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15077:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29247, - "name": "_holders", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15105:25:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 29245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15105:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29246, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15105:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29250, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 29294, - "src": "15132:24:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 29248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15132:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15132:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15066:91:84" - }, - "payable": false, - "returnParameters": { - "id": 29252, - "nodeType": "ParameterList", - "parameters": [], - "src": "15167:0:84" - }, - "scope": 29711, - "src": "15046:424:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29344, - "nodeType": "Block", - "src": "15587:299:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29307, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29296, - "src": "15626:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29308, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15632:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29309, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15647:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15647:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15647:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29306, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "15597:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15597:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29313, - "nodeType": "ExpressionStatement", - "src": "15597:76:84" - }, - { - "body": { - "id": 29334, - "nodeType": "Block", - "src": "15729:64:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 29328, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29301, - "src": "15762:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29330, - "indexExpression": { - "argumentTypes": null, - "id": 29329, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15771:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15762:11:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29331, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29303, - "src": "15775:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29325, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15743:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "15743:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15743:39:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29333, - "nodeType": "ExpressionStatement", - "src": "15743:39:84" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29318, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15703:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29319, - "name": "_holders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29301, - "src": "15707:8:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 29320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15707:15:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15703:19:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29335, - "initializationExpression": { - "assignments": [ - 29315 - ], - "declarations": [ - { - "constant": false, - "id": 29315, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15688:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15688:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29317, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 29316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15700:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15688:13:84" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 29323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15724:3:84", - "subExpression": { - "argumentTypes": null, - "id": 29322, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29315, - "src": "15724:1:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29324, - "nodeType": "ExpressionStatement", - "src": "15724:3:84" - }, - "nodeType": "ForStatement", - "src": "15683:110:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29337, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29296, - "src": "15832:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29338, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15838:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29339, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29298, - "src": "15853:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "15853:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15853:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29336, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "15802:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15802:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29343, - "nodeType": "ExpressionStatement", - "src": "15802:77:84" - } - ] - }, - "documentation": null, - "id": 29345, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29296, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15497:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29295, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15497:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29298, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15507:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29297, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15507:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29301, - "name": "_holders", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15535:25:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 29299, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15535:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29300, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15535:9:84", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29303, - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 29345, - "src": "15562:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15562:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15496:81:84" - }, - "payable": false, - "returnParameters": { - "id": 29305, - "nodeType": "ParameterList", - "parameters": [], - "src": "15587:0:84" - }, - "scope": 29711, - "src": "15476:410:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29379, - "nodeType": "Block", - "src": "15993:225:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29357, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29347, - "src": "16032:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29358, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16038:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29359, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16053:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "16053:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16053:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29356, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "16003:28:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16003:76:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29363, - "nodeType": "ExpressionStatement", - "src": "16003:76:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29367, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29351, - "src": "16108:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29368, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29353, - "src": "16117:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29364, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16089:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "16089:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 29369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16089:35:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29370, - "nodeType": "ExpressionStatement", - "src": "16089:35:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29372, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29347, - "src": "16164:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 29373, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16170:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29374, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29349, - "src": "16185:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 29375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "16185:23:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16185:25:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29371, - "name": "_removePermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28418, - "src": "16134:29:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 29377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16134:77:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29378, - "nodeType": "ExpressionStatement", - "src": "16134:77:84" - } - ] - }, - "documentation": null, - "id": 29380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mintTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29347, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15913:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29346, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "15913:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29349, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15923:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 29348, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15923:12:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29351, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15951:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29350, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15951:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29353, - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 29380, - "src": "15968:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15968:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15912:71:84" - }, - "payable": false, - "returnParameters": { - "id": 29355, - "nodeType": "ParameterList", - "parameters": [], - "src": "15993:0:84" - }, - "scope": 29711, - "src": "15892:326:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29419, - "nodeType": "Block", - "src": "16348:287:84", - "statements": [ - { - "assignments": [ - 29390 - ], - "declarations": [ - { - "constant": false, - "id": 29390, - "name": "registry", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16358:26:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 29389, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "16358:17:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29396, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29392, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16405:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEVMScriptRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 25011, - "src": "16405:25:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "function () view external returns (contract IEVMScriptRegistry)" - } - }, - "id": 29394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16405:27:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - ], - "id": 29391, - "name": "EVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24945, - "src": "16387:17:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "type(contract EVMScriptRegistry)" - } - }, - "id": 29395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16387:46:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16358:75:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29400, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29384, - "src": "16465:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29401, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16475:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29402, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16485:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 29403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24731, - "src": "16485:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16485:32:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29405, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29386, - "src": "16519:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29397, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16443:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "16443:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16443:85:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29407, - "nodeType": "ExpressionStatement", - "src": "16443:85:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29411, - "name": "_grantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29384, - "src": "16560:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29412, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16570:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29413, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29390, - "src": "16580:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 29414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "16580:35:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 29415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16580:37:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29416, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29386, - "src": "16619:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29408, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29382, - "src": "16538:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 29410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "16538:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 29417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16538:90:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29418, - "nodeType": "ExpressionStatement", - "src": "16538:90:84" - } - ] - }, - "documentation": null, - "id": 29420, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createEvmScriptsRegistryPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29382, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16293:8:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 29381, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "16293:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29384, - "name": "_grantee", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16303:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16303:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29386, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 29420, - "src": "16321:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16321:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16292:46:84" - }, - "payable": false, - "returnParameters": { - "id": 29388, - "nodeType": "ParameterList", - "parameters": [], - "src": "16348:0:84" - }, - "scope": 29711, - "src": "16247:388:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29438, - "nodeType": "Block", - "src": "16744:73:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29430, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29422, - "src": "16783:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29431, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29424, - "src": "16789:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16807:1:84", - "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": 29433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "16797:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 29432, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16801:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 29435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16797:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 29429, - "name": "_installNonDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29439, - 29458 - ], - "referencedDeclaration": 29458, - "src": "16761:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16761:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29428, - "id": 29437, - "nodeType": "Return", - "src": "16754:56:84" - } - ] - }, - "documentation": null, - "id": 29439, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29425, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29422, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16688:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29421, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16688:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29424, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16701:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29423, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16701:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16687:29:84" - }, - "payable": false, - "returnParameters": { - "id": 29428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29427, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29439, - "src": "16735:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16735:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16734:9:84" - }, - "scope": 29711, - "src": "16657:160:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29457, - "nodeType": "Block", - "src": "16940:73:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29451, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29441, - "src": "16969:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29452, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29443, - "src": "16975:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29453, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29445, - "src": "16983:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 29454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17000:5:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 29450, - "name": "_installApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "16957:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory,bool) returns (address)" - } - }, - "id": 29455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16957:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29449, - "id": 29456, - "nodeType": "Return", - "src": "16950:56:84" - } - ] - }, - "documentation": null, - "id": 29458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installNonDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29441, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16854:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29440, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16854:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29443, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16867:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29442, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16867:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29445, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16883:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29444, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16883:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16853:59:84" - }, - "payable": false, - "returnParameters": { - "id": 29449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29448, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29458, - "src": "16931:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16931:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16930:9:84" - }, - "scope": 29711, - "src": "16823:190:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29476, - "nodeType": "Block", - "src": "17103:70:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29468, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29460, - "src": "17139:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29469, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29462, - "src": "17145:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17163:1:84", - "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": 29471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "17153:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 29470, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17157:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 29473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17153:12:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 29467, - "name": "_installDefaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29477, - 29496 - ], - "referencedDeclaration": 29496, - "src": "17120:18:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory) returns (address)" - } - }, - "id": 29474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17120:46:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29466, - "id": 29475, - "nodeType": "Return", - "src": "17113:53:84" - } - ] - }, - "documentation": null, - "id": 29477, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29460, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17047:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29459, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17047:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29462, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17060:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29461, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17060:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17046:29:84" - }, - "payable": false, - "returnParameters": { - "id": 29466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29465, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29477, - "src": "17094:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17094:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17093:9:84" - }, - "scope": 29711, - "src": "17019:154:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29495, - "nodeType": "Block", - "src": "17293:72:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29489, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29479, - "src": "17322:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 29490, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29481, - "src": "17328:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29491, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29483, - "src": "17336:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 29492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17353:4:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 29488, - "name": "_installApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "17310:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32,bytes memory,bool) returns (address)" - } - }, - "id": 29493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17310:48:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29487, - "id": 29494, - "nodeType": "Return", - "src": "17303:55:84" - } - ] - }, - "documentation": null, - "id": 29496, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installDefaultApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29479, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17207:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29478, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17207:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29481, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17220:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29480, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17220:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29483, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17236:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29482, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17236:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17206:59:84" - }, - "payable": false, - "returnParameters": { - "id": 29487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29486, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29496, - "src": "17284:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17284:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17283:9:84" - }, - "scope": 29711, - "src": "17179:186:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29534, - "nodeType": "Block", - "src": "17496:264:84", - "statements": [ - { - "assignments": [ - 29510 - ], - "declarations": [ - { - "constant": false, - "id": 29510, - "name": "latestBaseAppAddress", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17506:28:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17506:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29512, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17559:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29511, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "17537:21:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 29513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17537:29:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17506:60:84" - }, - { - "assignments": [ - 29516 - ], - "declarations": [ - { - "constant": false, - "id": 29516, - "name": "instance", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17576:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17576:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29526, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29520, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17623:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29521, - "name": "latestBaseAppAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29510, - "src": "17631:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29522, - "name": "_initializeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29502, - "src": "17653:15:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 29523, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29504, - "src": "17670:11:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 29518, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29498, - "src": "17603:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 29519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26575, - "src": "17603:19:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 29524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17603:79:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 29517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17595:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:88:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17576:107:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29528, - "name": "instance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29516, - "src": "17711:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 29529, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29500, - "src": "17721:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 29527, - "name": "InstalledApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28216, - "src": "17698:12:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 29530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17698:30:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29531, - "nodeType": "EmitStatement", - "src": "17693:35:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29532, - "name": "instance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29516, - "src": "17745:8:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29508, - "id": 29533, - "nodeType": "Return", - "src": "17738:15:84" - } - ] - }, - "documentation": null, - "id": 29535, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29498, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17392:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 29497, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17392:6:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29500, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17405:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29499, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17405:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29502, - "name": "_initializeData", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17421:28:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 29501, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17421:5:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29504, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17451:16:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 29503, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17451:4:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17391:77:84" - }, - "payable": false, - "returnParameters": { - "id": 29508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29507, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29535, - "src": "17487:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29506, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17487:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17486:9:84" - }, - "scope": 29711, - "src": "17371:389:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29563, - "nodeType": "Block", - "src": "17850:121:84", - "statements": [ - { - "assignments": [ - 29543 - ], - "declarations": [ - { - "constant": false, - "id": 29543, - "name": "repo", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17860:9:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - }, - "typeName": { - "contractScope": null, - "id": 29542, - "name": "Repo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23073, - "src": "17860:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29552, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29537, - "src": "17919:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29548, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29537, - "src": "17905:6:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 29546, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28192, - "src": "17892:3:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 29547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27147, - "src": "17892:12:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 29549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17892:20:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29545, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "17877:14:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 29550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17877:36:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 29551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27430, - "src": "17877:41:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 29553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17877:49:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29544, - "name": "Repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23073, - "src": "17872:4:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Repo_$23073_$", - "typeString": "type(contract Repo)" - } - }, - "id": 29554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17872:55:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17860:67:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - { - "argumentTypes": null, - "id": 29556, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29540, - "src": "17939:4:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - null - ], - "id": 29557, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "17937:8:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$_t_address_$__$", - "typeString": "tuple(,address,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 29558, - "name": "repo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29543, - "src": "17948:4:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Repo_$23073", - "typeString": "contract Repo" - } - }, - "id": 29559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getLatest", - "nodeType": "MemberAccess", - "referencedDeclaration": 22877, - "src": "17948:14:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function () view external returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 29560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17948:16:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "src": "17937:27:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29562, - "nodeType": "ExpressionStatement", - "src": "17937:27:84" - } - ] - }, - "documentation": null, - "id": 29564, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_latestVersionAppBase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29537, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17797:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29536, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17797:7:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17796:16:84" - }, - "payable": false, - "returnParameters": { - "id": 29541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29540, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 29564, - "src": "17836:12:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29539, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17836:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17835:14:84" - }, - "scope": 29711, - "src": "17766:205:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29610, - "nodeType": "Block", - "src": "18108:282:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29577, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "18134:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - ], - "id": 29576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18126:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18126:22:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18160:1:84", - "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": 29579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18152:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18152:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18126:36:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29583, - "name": "ERROR_MINIME_FACTORY_NOT_PROVIDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28181, - "src": "18164:33:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29575, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18118:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18118:80:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29585, - "nodeType": "ExpressionStatement", - "src": "18118:80:84" - }, - { - "assignments": [ - 29587 - ], - "declarations": [ - { - "constant": false, - "id": 29587, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18208:17:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29586, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "18208:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29601, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:1:84", - "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": 29591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18271:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18271:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29590, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "18259:11:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 29594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18259:23:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 29595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18284:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 29596, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29566, - "src": "18287:5:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 29597, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29570, - "src": "18294:9:84", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 29598, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29568, - "src": "18305:7:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 29599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18314:4:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 29588, - "name": "miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28196, - "src": "18228:13:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 29589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "18228:30:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 29600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18228:91:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18208:111:84" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29604, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29587, - "src": "18354:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 29603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18346:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18346:14:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29602, - "name": "DeployToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28210, - "src": "18334:11:84", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 29606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18334:27:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29607, - "nodeType": "EmitStatement", - "src": "18329:32:84" - }, - { - "expression": { - "argumentTypes": null, - "id": 29608, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29587, - "src": "18378:5:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 29574, - "id": 29609, - "nodeType": "Return", - "src": "18371:12:84" - } - ] - }, - "documentation": null, - "id": 29611, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29566, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18016:19:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29565, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18016:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29568, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18037:21:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29567, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18037:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29570, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18060:15:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 29569, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18060:5:84", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18015:61:84" - }, - "payable": false, - "returnParameters": { - "id": 29574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29611, - "src": "18095:11:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 29572, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "18095:11:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18094:13:84" - }, - "scope": 29711, - "src": "17994:396:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29625, - "nodeType": "Block", - "src": "18471:96:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29619, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29613, - "src": "18508:14:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18500:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18500:23:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29617, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "18489:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 29621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18489:35:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29622, - "name": "ERROR_MINIME_FACTORY_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28184, - "src": "18526:33:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18481:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18481:79:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29624, - "nodeType": "ExpressionStatement", - "src": "18481:79:84" - } - ] - }, - "documentation": null, - "id": 29626, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureMiniMeFactoryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29613, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 29626, - "src": "18433:22:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29612, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18433:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18432:24:84" - }, - "payable": false, - "returnParameters": { - "id": 29615, - "nodeType": "ParameterList", - "parameters": [], - "src": "18471:0:84" - }, - "scope": 29711, - "src": "18396:171:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29641, - "nodeType": "Block", - "src": "18642:65:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29633, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29628, - "src": "18666:3:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 29632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18660:5:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 29634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18660:10:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "id": 29635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18660:17:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 29636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18680:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18660:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29638, - "name": "ERROR_INVALID_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28190, - "src": "18683:16:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18652:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18652:48:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29640, - "nodeType": "ExpressionStatement", - "src": "18652:48:84" - } - ] - }, - "documentation": null, - "id": 29642, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_validateId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29628, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 29642, - "src": "18609:17:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29627, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18609:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18608:19:84" - }, - "payable": false, - "returnParameters": { - "id": 29630, - "nodeType": "ParameterList", - "parameters": [], - "src": "18642:0:84" - }, - "scope": 29711, - "src": "18588:119:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29672, - "nodeType": "Block", - "src": "18780:158:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29651, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "18806:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - ], - "id": 29650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18798:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18798:17:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 29654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18827:1:84", - "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": 29653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18819:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18819:10:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18798:31:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29657, - "name": "ERROR_ARAGON_ID_NOT_PROVIDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28175, - "src": "18831:28:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29649, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18790:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18790:70:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29659, - "nodeType": "ExpressionStatement", - "src": "18790:70:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29666, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29644, - "src": "18915:5:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 29664, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "18898:3:84", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 29665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18898:16:84", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 29667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18898:23:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 29663, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "18888:9:84", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 29668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18888:34:84", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 29669, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29646, - "src": "18924:6:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 29660, - "name": "aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28198, - "src": "18870:8:84", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 29662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "register", - "nodeType": "MemberAccess", - "referencedDeclaration": 20468, - "src": "18870:17:84", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 29670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18870:61:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29671, - "nodeType": "ExpressionStatement", - "src": "18870:61:84" - } - ] - }, - "documentation": null, - "id": 29673, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_registerID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29644, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 29673, - "src": "18734:19:84", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18734:6:84", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 29646, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 29673, - "src": "18755:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18755:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18733:37:84" - }, - "payable": false, - "returnParameters": { - "id": 29648, - "nodeType": "ParameterList", - "parameters": [], - "src": "18780:0:84" - }, - "scope": 29711, - "src": "18713:225:84", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29687, - "nodeType": "Block", - "src": "19009:86:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29681, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29675, - "src": "19046:9:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19038:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19038:18:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29679, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "19027:10:84", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 29683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19027:30:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29684, - "name": "ERROR_ARAGON_ID_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28178, - "src": "19059:28:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29678, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19019:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19019:69:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29686, - "nodeType": "ExpressionStatement", - "src": "19019:69:84" - } - ] - }, - "documentation": null, - "id": 29688, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureAragonIdIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29675, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 29688, - "src": "18976:17:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18976:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18975:19:84" - }, - "payable": false, - "returnParameters": { - "id": 29677, - "nodeType": "ParameterList", - "parameters": [], - "src": "19009:0:84" - }, - "scope": 29711, - "src": "18944:151:84", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 29709, - "nodeType": "Block", - "src": "19187:115:84", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 29696, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29690, - "src": "19205:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "19223:2:84", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 29698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19224:1:84", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 29697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19215:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": "uint160" - }, - "id": 29700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19215:11:84", - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - }, - "src": "19205:21:84", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 29702, - "name": "ERROR_CANNOT_CAST_VALUE_TO_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28187, - "src": "19228:34:84", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 29695, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19197:7:84", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 29703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19197:66:84", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29704, - "nodeType": "ExpressionStatement", - "src": "19197:66:84" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29706, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29690, - "src": "19288:6:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19280:7:84", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 29707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19280:15:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 29694, - "id": 29708, - "nodeType": "Return", - "src": "19273:22:84" - } - ] - }, - "documentation": null, - "id": 29710, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_toAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29690, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 29710, - "src": "19140:14:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29689, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19140:7:84", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19139:16:84" - }, - "payable": false, - "returnParameters": { - "id": 29694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29693, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 29710, - "src": "19178:7:84", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19178:7:84", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19177:9:84" - }, - "scope": 29711, - "src": "19120:182:84", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 29712, - "src": "976:18328:84" - } - ], - "src": "0:19305:84" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.589Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/BatchedBancorMarketMaker.json b/templates/multisig/build/contracts/BatchedBancorMarketMaker.json deleted file mode 100644 index aeabbf9..0000000 --- a/templates/multisig/build/contracts/BatchedBancorMarketMaker.json +++ /dev/null @@ -1,73877 +0,0 @@ -{ - "contractName": "BatchedBancorMarketMaker", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PPM", - "outputs": [ - { - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_FORMULA_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "metaBatches", - "outputs": [ - { - "name": "initialized", - "type": "bool" - }, - { - "name": "realSupply", - "type": "uint256" - }, - { - "name": "buyFeePct", - "type": "uint256" - }, - { - "name": "sellFeePct", - "type": "uint256" - }, - { - "name": "formula", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenManager", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_BUY_ORDER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "beneficiary", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_BENEFICIARY_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOpen", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "collateralsToBeClaimed", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "formula", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_FEES_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "sellFeePct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokensToBeMinted", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "batchBlocks", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "reserve", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_SELL_ORDER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "collaterals", - "outputs": [ - { - "name": "whitelisted", - "type": "bool" - }, - { - "name": "virtualSupply", - "type": "uint256" - }, - { - "name": "virtualBalance", - "type": "uint256" - }, - { - "name": "reserveRatio", - "type": "uint32" - }, - { - "name": "slippage", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "controller", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "buyFeePct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PCT_BASE", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "beneficiary", - "type": "address" - } - ], - "name": "UpdateBeneficiary", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "formula", - "type": "address" - } - ], - "name": "UpdateFormula", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "buyFeePct", - "type": "uint256" - }, - { - "indexed": false, - "name": "sellFeePct", - "type": "uint256" - } - ], - "name": "UpdateFees", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "name": "supply", - "type": "uint256" - }, - { - "indexed": false, - "name": "buyFeePct", - "type": "uint256" - }, - { - "indexed": false, - "name": "sellFeePct", - "type": "uint256" - }, - { - "indexed": false, - "name": "formula", - "type": "address" - } - ], - "name": "NewMetaBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "supply", - "type": "uint256" - }, - { - "indexed": false, - "name": "balance", - "type": "uint256" - }, - { - "indexed": false, - "name": "reserveRatio", - "type": "uint32" - }, - { - "indexed": false, - "name": "slippage", - "type": "uint256" - } - ], - "name": "NewBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - } - ], - "name": "CancelBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "virtualSupply", - "type": "uint256" - }, - { - "indexed": false, - "name": "virtualBalance", - "type": "uint256" - }, - { - "indexed": false, - "name": "reserveRatio", - "type": "uint32" - }, - { - "indexed": false, - "name": "slippage", - "type": "uint256" - } - ], - "name": "AddCollateralToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "collateral", - "type": "address" - } - ], - "name": "RemoveCollateralToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "virtualSupply", - "type": "uint256" - }, - { - "indexed": false, - "name": "virtualBalance", - "type": "uint256" - }, - { - "indexed": false, - "name": "reserveRatio", - "type": "uint32" - }, - { - "indexed": false, - "name": "slippage", - "type": "uint256" - } - ], - "name": "UpdateCollateralToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "Open", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "fee", - "type": "uint256" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "OpenBuyOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "OpenSellOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "ClaimBuyOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "fee", - "type": "uint256" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ClaimSellOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ClaimCancelledBuyOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "ClaimCancelledSellOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "batchId", - "type": "uint256" - }, - { - "indexed": true, - "name": "collateral", - "type": "address" - }, - { - "indexed": false, - "name": "totalBuySpend", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBuyReturn", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalSellSpend", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalSellReturn", - "type": "uint256" - } - ], - "name": "UpdatePricing", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_controller", - "type": "address" - }, - { - "name": "_tokenManager", - "type": "address" - }, - { - "name": "_formula", - "type": "address" - }, - { - "name": "_reserve", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - }, - { - "name": "_batchBlocks", - "type": "uint256" - }, - { - "name": "_buyFeePct", - "type": "uint256" - }, - { - "name": "_sellFeePct", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "open", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_formula", - "type": "address" - } - ], - "name": "updateFormula", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "updateBeneficiary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyFeePct", - "type": "uint256" - }, - { - "name": "_sellFeePct", - "type": "uint256" - } - ], - "name": "updateFees", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_virtualSupply", - "type": "uint256" - }, - { - "name": "_virtualBalance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - }, - { - "name": "_slippage", - "type": "uint256" - } - ], - "name": "addCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - } - ], - "name": "removeCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_virtualSupply", - "type": "uint256" - }, - { - "name": "_virtualBalance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - }, - { - "name": "_slippage", - "type": "uint256" - } - ], - "name": "updateCollateralToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyer", - "type": "address" - }, - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "openBuyOrder", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_seller", - "type": "address" - }, - { - "name": "_collateral", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "openSellOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyer", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimBuyOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_seller", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimSellOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_buyer", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimCancelledBuyOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_seller", - "type": "address" - }, - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "claimCancelledSellOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getCurrentBatchId", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_collateral", - "type": "address" - } - ], - "name": "getCollateralToken", - "outputs": [ - { - "name": "", - "type": "bool" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint32" - }, - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_batchId", - "type": "uint256" - }, - { - "name": "_collateral", - "type": "address" - } - ], - "name": "getBatch", - "outputs": [ - { - "name": "", - "type": "bool" - }, - { - "name": "", - "type": "bool" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint32" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_balance", - "type": "uint256" - }, - { - "name": "_reserveRatio", - "type": "uint32" - } - ], - "name": "getStaticPricePPM", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062005e49833981519152640100000000620040b16200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062005e4983398151915282640100000000620040b56200023782021704565b50565b5490565b9055565b615bfe806200024b6000396000f30060806040526004361061026e5763ffffffff60e060020a6000350416630803fac081146102735780630aaffd2a1461029c5780630d720bbc146102bf5780630e85d277146102ed5780630f1ff5ea14610314578063177c14991461033e5780632914b9bd1461038c5780632a709b14146104015780632cd4a270146104165780633017dbed1461042b57806332f0a3b51461044057806338af3eed146104555780633fae9bfb1461046a57806341644f8c1461048757806347535d7b1461049c5780634afe6c47146104b15780634b75f54f146104d25780635e6f6c77146104e7578063608bac051461051257806360e14b6014610527578063683dee471461053c5780636a928e8f146105b75780636db79437146105cc5780637403c6cd146105e757806378ea6103146106295780637b9e86bf146106545780637cfab0cb146106695780637e7db6e11461068d57806380afdea8146106ae5780638a9b1e2d146106c35780638b3dd749146106f65780639249be281461070b57806394f9059f146107365780639ba9dada146107575780639d4941d81461076c578063a1658fad1461078d578063a479e508146107f4578063b6e9c82614610809578063c56f0f6c1461081e578063cd3293de14610833578063cf9d82f214610848578063d4aae0c41461085d578063d5b49a7114610872578063dbbdf2fe14610893578063de4796ed146108be578063e720ac8e146108d3578063eeb97d3b146108e8578063f190e4271461093c578063f77c47911461095d578063f79c5c7c14610972578063fc0c546a14610987578063fc157cb41461099c578063fcfff16f146109b1578063fd531e03146109c6575b600080fd5b34801561027f57600080fd5b506102886109f9565b604080519115158252519081900360200190f35b3480156102a857600080fd5b506102bd600160a060020a0360043516610a22565b005b3480156102cb57600080fd5b506102d4610bb2565b6040805163ffffffff9092168252519081900360200190f35b3480156102f957600080fd5b50610302610bb9565b60408051918252519081900360200190f35b34801561032057600080fd5b506102bd600160a060020a0360043581169060243516604435610bdd565b34801561034a57600080fd5b50610356600435610ec4565b6040805195151586526020860194909452848401929092526060840152600160a060020a03166080830152519081900360a00190f35b34801561039857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103e5943694929360249392840191908190840183828082843750949750610f009650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561040d57600080fd5b506103e5610fe6565b34801561042257600080fd5b50610302610ff5565b34801561043757600080fd5b50610302611019565b34801561044c57600080fd5b506103e561103d565b34801561046157600080fd5b506103e56110b5565b6102bd600160a060020a03600435811690602435166044356110c4565b34801561049357600080fd5b506103026113a1565b3480156104a857600080fd5b506102886113c5565b3480156104bd57600080fd5b50610302600160a060020a03600435166113ce565b3480156104de57600080fd5b506103e56113e0565b3480156104f357600080fd5b506102bd600160a060020a0360043581169060243590604435166113ef565b34801561051e57600080fd5b50610302611751565b34801561053357600080fd5b50610302611775565b34801561054857600080fd5b50610560600435600160a060020a0360243516611799565b604080519a15158b5298151560208b015289890197909752606089019590955263ffffffff909316608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b3480156105c357600080fd5b506103026118e2565b3480156105d857600080fd5b506102bd600435602435611906565b3480156105f357600080fd5b506102bd600160a060020a036004358116906024358116906044358116906064358116906084351660a43560c43560e435611a65565b34801561063557600080fd5b506102bd600160a060020a036004358116906024359060443516612050565b34801561066057600080fd5b5061030261238e565b34801561067557600080fd5b5061030260043560243563ffffffff60443516612394565b34801561069957600080fd5b50610288600160a060020a0360043516612428565b3480156106ba57600080fd5b5061030261242e565b3480156106cf57600080fd5b506102bd600160a060020a036004351660243560443563ffffffff6064351660843561245e565b34801561070257600080fd5b50610302612636565b34801561071757600080fd5b506102bd600160a060020a036004358116906024359060443516612661565b34801561074257600080fd5b506102bd600160a060020a03600435166128a4565b34801561076357600080fd5b506103026129e0565b34801561077857600080fd5b506102bd600160a060020a03600435166129e6565b34801561079957600080fd5b506040805160206004604435818101358381028086018501909652808552610288958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750612c759650505050505050565b34801561080057600080fd5b506103e5612dc5565b34801561081557600080fd5b50610302612e7a565b34801561082a57600080fd5b50610302612e9e565b34801561083f57600080fd5b506103e5612ea4565b34801561085457600080fd5b50610302612eb3565b34801561086957600080fd5b506103e5612ed7565b34801561087e57600080fd5b506102bd600160a060020a0360043516612f02565b34801561089f57600080fd5b506102bd600160a060020a03600435811690602435906044351661303e565b3480156108ca57600080fd5b50610288613281565b3480156108df57600080fd5b50610302613294565b3480156108f457600080fd5b50610909600160a060020a036004351661331b565b60408051951515865260208601949094528484019290925263ffffffff1660608401526080830152519081900360a00190f35b34801561094857600080fd5b50610909600160a060020a0360043516613354565b34801561096957600080fd5b506103e5613426565b34801561097e57600080fd5b50610302613435565b34801561099357600080fd5b506103e561343b565b3480156109a857600080fd5b5061030261344a565b3480156109bd57600080fd5b506102bd613456565b3480156109d257600080fd5b506102bd600160a060020a036004351660243560443563ffffffff606435166084356135a2565b600080610a04612636565b90508015801590610a1c575080610a1961384d565b10155b91505090565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259391610a649133918491905b50612c75565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515610b145760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b1e82613851565b60408051808201909152601681527f4d4d5f494e56414c49445f42454e4546494349415259000000000000000000006020820152901515610ba45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae8261385f565b5050565b620f424081565b7fbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb81565b604080516000808252602082019092527fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c091610c1d913391849190610a5e565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515610c915760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600b81527f4d4d5f4e4f545f4f50454e00000000000000000000000000000000000000000060208201529060ff161515610d1e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610d28836138a9565b60408051808201909152601d8152600080516020615b538339815191526020820152901515610d9c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610dae610da86138c7565b846138ed565b6040805180820190915260128152600080516020615af383398151915260208201529015610e215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610e2c8483613921565b60408051808201909152601681527f4d4d5f494e56414c49445f424f4e445f414d4f554e54000000000000000000006020820152901515610eb25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610ebe8484846139cd565b50505050565b600d602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192909190600160a060020a031685565b6000610f0a612dc5565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f68578181015183820152602001610f50565b50505050905090810190601f168015610f955780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610fb457600080fd5b505af1158015610fc8573d6000803e3d6000fd5b505050506040513d6020811015610fde57600080fd5b505192915050565b600154600160a060020a031681565b7fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea781565b7fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d81565b6000611047612ed7565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561108457600080fd5b505af1158015611098573d6000803e3d6000fd5b505050506040513d60208110156110ae57600080fd5b5051905090565b600454600160a060020a031681565b604080516000808252602082019092527fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea791611104913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156111785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600b81527f4d4d5f4e4f545f4f50454e00000000000000000000000000000000000000000060208201529060ff1615156112055760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061120f836138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156112835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061128f610da86138c7565b6040805180820190915260128152600080516020615af3833981519152602082015290156113025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061130f84848434613cce565b60408051808201909152601b81527f4d4d5f494e56414c49445f434f4c4c41544552414c5f56414c5545000000000060208201529015156113955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610ebe848484613e3b565b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b60095460ff1681565b600b6020526000908152604090205481565b600554600160a060020a031681565b611406600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156114795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611499600080516020615b73833981519152600163ffffffff6140b516565b6114a16109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156115155760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061151f816138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156115935760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061159d826140b9565b60408051808201909152601181527f4d4d5f42415443485f4e4f545f4f56455200000000000000000000000000000060208201529015156116235760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061162e82826138ed565b6040805180820190915260128152600080516020615af3833981519152602082015290156116a15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506116ad8282856140cb565b6040805180820190915260138152600080516020615b9383398151915260208201529015156117215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614105565b61174c600080516020615b73833981519152600063ffffffff6140b516565b505050565b7f217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d81565b7f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82281565b60008060008060008060008060008060006117b26109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156118265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50600d60008e815260200190815260200160002060050160008d600160a060020a0316600160a060020a0316815260200190815260200160002090508060000160009054906101000a900460ff168160000160019054906101000a900460ff16826001015483600201548460030160009054906101000a900463ffffffff16856004015486600501548760060154886007015489600801549a509a509a509a509a509a509a509a509a509a50509295989b9194979a5092959850565b7fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a481565b604080516000808252602082019092527f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82291611946913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156119ba5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506119c483614367565b80156119d457506119d482614367565b60408051808201909152601581527f4d4d5f494e56414c49445f50455243454e5441474500000000000000000000006020820152901515611a5a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061174c8383614374565b611a6d612636565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611af25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611afb6143bd565b611b0488614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611b785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611b8287614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611bf65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611c0086614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611c745760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611c7e85614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611cf25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611cfc84613851565b60408051808201909152601681527f4d4d5f494e56414c49445f42454e4546494349415259000000000000000000006020820152901515611d825760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060408051808201909152601781527f4d4d5f494e56414c49445f42415443485f424c4f434b53000000000000000000602082015260008411611e0a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611e1482614367565b8015611e245750611e2481614367565b60408051808201909152601581527f4d4d5f494e56414c49445f50455243454e5441474500000000000000000000006020820152901515611eaa5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611eb4876144b2565b60408051808201909152601581527f4d4d5f494e56414c49445f544d5f53455454494e4700000000000000000000006020820152901515611f3a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060008054600160a060020a03808b16600160a060020a0319928316178355600180548b831693169290921791829055604080517ffc0c546a0000000000000000000000000000000000000000000000000000000081529051929091169263fc0c546a926004808401936020939083900390910190829087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b505050506040513d6020811015611fea57600080fd5b505160028054600160a060020a03928316600160a060020a03199182161790915560058054988316988216989098179097556003805496821696881696909617909555600480549490951693909516929092179092556006919091556007556008555050565b612067600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156120da5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506120fa600080516020615b73833981519152600163ffffffff6140b516565b6121026109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156121765760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612180816138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156121f45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506121fe826140b9565b60408051808201909152601181527f4d4d5f42415443485f4e4f545f4f56455200000000000000000000000000000060208201529015156122845760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061228f82826138ed565b6040805180820190915260128152600080516020615af3833981519152602082015290156123025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061230e828285614528565b6040805180820190915260138152600080516020615b9383398151915260208201529015156123825760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614562565b60085481565b600061239e6109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156124125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061241e8484846146bc565b90505b9392505050565b50600190565b60006124597fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6140b1565b905090565b604080516000808252602082019092527fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d9161249e913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156125125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061251c866138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156125905760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061259a836146e5565b60408051808201909152601881527f4d4d5f494e56414c49445f524553455256455f524154494f000000000000000060208201529015156126205760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061262e86868686866146f7565b505050505050565b60006124597febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6140b1565b612678600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156126eb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061270b600080516020615b73833981519152600163ffffffff6140b516565b6127136109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156127875760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061279282826138ed565b60408051808201909152601681527f4d4d5f42415443485f4e4f545f43414e43454c4c45440000000000000000000060208201529015156128185760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612824828285614528565b6040805180820190915260138152600080516020615b9383398151915260208201529015156128985760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614791565b604080516000808252602082019092527f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2916128e4913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156129585760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612962826138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156129d65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae826148dd565b600a5481565b60008060006129f484612428565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515612a7a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612a8361103d565b9250612a8e83614485565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515612b145760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50600160a060020a0384161515612b655760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612b5f573d6000803e3d6000fd5b50612c24565b5082612b80600160a060020a0382163063ffffffff61495a16565b9150612b9c600160a060020a038216848463ffffffff614a5a16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515612c225760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080612c806109f9565b1515612c8f5760009150612dbd565b612c97612ed7565b9050600160a060020a0381161515612cb25760009150612dbd565b80600160a060020a031663fdef9106863087612ccd88614ad0565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015612d3f578181015183820152602001612d27565b50505050905090810190601f168015612d6c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b505050506040513d6020811015612db857600080fd5b505191505b509392505050565b600080612dd0612ed7565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610fb457600080fd5b7f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee281565b60065481565b600354600160a060020a031681565b7fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c081565b60006124597f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6140b1565b604080516000808252602082019092527fbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb91612f42913391849190610a5e565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515612fb65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612fc082614485565b6040805180820190915260128152600080516020615b3383398151915260208201529015156130345760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae82614ada565b613055600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156130c85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506130e8600080516020615b73833981519152600163ffffffff6140b516565b6130f06109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156131645760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061316f82826138ed565b60408051808201909152601681527f4d4d5f42415443485f4e4f545f43414e43454c4c45440000000000000000000060208201529015156131f55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506132018282856140cb565b6040805180820190915260138152600080516020615b9383398151915260208201529015156132755760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614b24565b600060001961328e612636565b14905090565b600061329e6109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156133125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506124596138c7565b600c602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192909163ffffffff169085565b6000806000806000806133656109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156133d95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50505050600160a060020a03939093166000908152600c60205260409020805460018201546002830154600384015460049094015460ff90931697919650945063ffffffff909216925090565b600054600160a060020a031681565b60075481565b600254600160a060020a031681565b670de0b6b3a764000081565b604080516000808252602082019092527fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a491613496913391849190610a5e565b60408051808201909152600f8152600080516020615ad3833981519152602082015290151561350a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600f81527f4d4d5f414c52454144595f4f50454e000000000000000000000000000000000060208201529060ff16156135965760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061359f614c43565b50565b604080516000808252602082019092527f217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d916135e2913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156136565760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061366086614485565b806136725750600160a060020a038616155b60408051808201909152601581527f4d4d5f494e56414c49445f434f4c4c41544552414c000000000000000000000060208201529015156136f85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50613702866138a9565b60408051606081018252602181527f4d4d5f434f4c4c41544552414c5f414c52454144595f57484954454c4953544560208201527f44000000000000000000000000000000000000000000000000000000000000009181019190915290156137af5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506137b9836146e5565b60408051808201909152601881527f4d4d5f494e56414c49445f524553455256455f524154494f0000000000000000602082015290151561383f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061262e8686868686614c7b565b4390565b600160a060020a0316151590565b60048054600160a060020a031916600160a060020a0383169081179091556040517fe6131a64e93e9aa4ff38892c34d563c06dcc1e03b3d6897cc65f0903e2ad684890600090a250565b600160a060020a03166000908152600c602052604090205460ff1690565b600654600090612459906138e1438263ffffffff614d1c16565b9063ffffffff614dc116565b6000918252600d60209081526040808420600160a060020a0393909316845260059092019052902054610100900460ff1690565b600081158015906124215750600154604080517f0f8f8b83000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152915185939290921691630f8f8b83916024808201926020929091908290030181600087803b15801561399857600080fd5b505af11580156139ac573d6000803e3d6000fd5b505050506040513d60208110156139c257600080fd5b505110159392505050565b6000806000806139dc86614e6c565b600154604080517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152602482018b905291519498509296501691639dc29fac9160448082019260009290919082900301818387803b158015613a4e57600080fd5b505af1158015613a62573d6000803e3d6000fd5b5050506006840154600885015460078601549194509250613a8a91508663ffffffff6151e916565b6007840155600160a060020a0387166000908152600a84016020526040902054613aba908663ffffffff6151e916565b600160a060020a0388166000908152600a85016020526040902055613ae0838588615277565b613b098360060154613afd84600a5461559190919063ffffffff16565b9063ffffffff6151e916565b600a556008830154600160a060020a0387166000908152600b6020526040902054613b3f9190613afd908463ffffffff61559116565b600160a060020a0387166000908152600b6020526040902055613b628387615625565b60408051808201909152601981527f4d4d5f534c4950504147455f455843454544535f4c494d4954000000000000006020820152901515613be85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50613bf28661568f565b60408051808201909152601c81527f4d4d5f494e53554646494349454e545f504f4f4c5f42414c414e4345000000006020820152901515613c785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5085600160a060020a03168488600160a060020a03167f8c103b7b044048ad0382ad31454a2ca34da952258d6526af3a57a9e799cbb7ec886040518082815260200191505060405180910390a450505050505050565b6000821515613cdf57506000613e33565b600160a060020a0384161515613cf85750808214613e33565b81158015613d8f5750600080546040805160e260020a633de222bb028152600160a060020a038981166004830152888116602483015291518794929093169263f7888aec92604480840193602093929083900390910190829087803b158015613d6057600080fd5b505af1158015613d74573d6000803e3d6000fd5b505050506040513d6020811015613d8a57600080fd5b505110155b8015613e305750604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523060248301529151859287169163dd62ed3e9160448083019260209291908290030181600087803b158015613e0157600080fd5b505af1158015613e15573d6000803e3d6000fd5b505050506040513d6020811015613e2b57600080fd5b505110155b90505b949350505050565b600080600080600080613e4d88614e6c565b6000828152600d60205260409020600201549197509550613e8f90670de0b6b3a764000090613e83908a9063ffffffff614dc116565b9063ffffffff614d1c16565b9350613ea1878563ffffffff61559116565b92506000841115613ec557600454613ec5908a90600160a060020a03168a87615731565b600354613ede908a90600160a060020a03168a86615731565b5050600683015460088401546005850154613eff908463ffffffff6151e916565b6005860155600160a060020a0389166000908152600986016020526040902054613f2f908463ffffffff6151e916565b600160a060020a038a166000908152600987016020526040902055613f5585878a615277565b613f728560060154613afd84600a5461559190919063ffffffff16565b600a556008850154600160a060020a0389166000908152600b6020526040902054613fa89190613afd908463ffffffff61559116565b600160a060020a0389166000908152600b6020526040902055613fcb8589615625565b60408051808201909152601981527f4d4d5f534c4950504147455f455843454544535f4c494d49540000000000000060208201529015156140515760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5087600160a060020a0316868a600160a060020a03167fecab89c21a18231f17bff6027decbe0682bc9916e969562a87781927b18b2e4d8787604051808381526020018281526020019250505060405180910390a4505050505050505050565b5490565b9055565b60006140c36138c7565b909110919050565b6000928352600d60209081526040808520600160a060020a0394851686526005018252808520929093168452600a90910190528120541190565b6000828152600d60209081526040808320600160a060020a03808616855260059091018352818420600781015460088201549289168652600a820190945291842054919392839283926141629291613e839163ffffffff614dc116565b6000878152600d602052604090206003015490935061419690670de0b6b3a764000090613e8390869063ffffffff614dc116565b91506141a8838363ffffffff61559116565b600160a060020a0388166000908152600a86016020526040812081905590915081111561428357600160a060020a0385166000908152600b60205260409020546141f8908463ffffffff61559116565b600160a060020a038087166000818152600b602052604080822094909455600354845160e360020a6317d5759902815260048101939093528b84166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b15801561426a57600080fd5b505af115801561427e573d6000803e3d6000fd5b505050505b600082111561430a57600354600480546040805160e360020a6317d57599028152600160a060020a038a81169482019490945291831660248301526044820186905251919092169163beabacc891606480830192600092919082900301818387803b1580156142f157600080fd5b505af1158015614305573d6000803e3d6000fd5b505050505b84600160a060020a03168688600160a060020a03167f0eca047a22717e04fff16b883e2490c1490c953ec49bf7af9270fffddd8b53028585604051808381526020018281526020019250505060405180910390a450505050505050565b670de0b6b3a76400001190565b60078290556008819055604080518381526020810183905281517f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04929181900390910190a15050565b6143c5612636565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561444a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061448361445661384d565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6140b516565b565b600080600160a060020a03831615156144a157600091506144ac565b823b90506000811191505b50919050565b600060001982600160a060020a031663ecfda4326040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156144f557600080fd5b505af1158015614509573d6000803e3d6000fd5b505050506040513d602081101561451f57600080fd5b50511492915050565b6000928352600d60209081526040808520600160a060020a0394851686526005018252808520929093168452600990910190528120541190565b6000828152600d60209081526040808320600160a060020a03808616855260059182018452828520918201546006830154918916865260098301909452918420549093926145bb929091613e839163ffffffff614dc116565b600160a060020a0386166000908152600984016020526040812081905590915081111561466957600a546145f5908263ffffffff61559116565b600a556001546040805160e060020a6340c10f19028152600160a060020a03888116600483015260248201859052915191909216916340c10f1991604480830192600092919082900301818387803b15801561465057600080fd5b505af1158015614664573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167f1d3062ef0b6bc8ec6a09d7a72a4f2f8c332a0a1055605166c7ae24592c33a50b846040518082815260200191505060405180910390a45050505050565b600061241e6146d48563ffffffff80861690614dc116565b613e83856138e1620f424080614dc1565b620f424063ffffffff82161115919050565b600160a060020a0385166000818152600c6020908152604091829020600181018890556002810187905560038101805463ffffffff881663ffffffff19909116811790915560049091018590558251888152918201879052818301526060810184905290517f1b8a18e7f392180ec571af2dd1c185cbc26951042ba1f62e87db979ee7643a2c9181900360800190a25050505050565b5490565b6000828152600d60209081526040808320600160a060020a038086168552600590910183528184209087168452600981019092528220805490839055909181111561488a57600160a060020a0383166000908152600b60205260409020546147ff908263ffffffff61559116565b600160a060020a038085166000818152600b602052604080822094909455600354845160e360020a6317d5759902815260048101939093528984166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b15801561487157600080fd5b505af1158015614885573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167feb3996b71a45309a78196a4ec37faf4860dccc26536b7f6232e078b47baf2cb8846040518082815260200191505060405180910390a45050505050565b60006148e882615829565b50600160a060020a0381166000818152600c6020526040808220805460ff19168155600181018390556002810183905560038101805463ffffffff191690556004810183905590519092917fef578b3b1649eb50cb7766e79f596caa69b7de7e3fef0c0f4e678976a5d51e1591a25050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806149c58684615900565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515614a505760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090614ac78582615931565b95945050505050565b8051602002815290565b60058054600160a060020a031916600160a060020a0383169081179091556040517f050a79a49cc1dc3aeeccd8636685ad0469db41a9bd51254a34fc1cf616693d4190600090a250565b6000828152600d60209081526040808320600160a060020a038086168552600590910183528184209087168452600a810190925282208054908390559091811115614bf057600a54614b7c908263ffffffff61559116565b600a556001546040805160e060020a6340c10f19028152600160a060020a03888116600483015260248201859052915191909216916340c10f1991604480830192600092919082900301818387803b158015614bd757600080fd5b505af1158015614beb573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167f27335af9c3970a20380b78bda3af53f3ff8ad00e68ec511285c933afe4d42dd7846040518082815260200191505060405180910390a45050505050565b6009805460ff191660011790556040517f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a590600090a1565b600160a060020a0385166000818152600c6020908152604091829020805460ff19166001908117825581018890556002810187905560038101805463ffffffff881663ffffffff19909116811790915560049091018590558251888152918201879052818301526060810184905290517f769df79ace8fd94960b301fa390e66bcd330b25e4a6001f7107540a6d5e55eed9181900360800190a25050505050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411614da75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b508284811515614db357fe5b0490508091505b5092915050565b600080831515614dd45760009150614dba565b50828202828482811515614de457fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414612dbd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b6000806000806000614e7c6138c7565b6000818152600d60209081526040808320600160a060020a038b168452600581019092529091208154929550909350915060ff161515614feb57600a54600254604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051614f539392600160a060020a0316916318160ddd9160048083019260209291908290030181600087803b158015614f1b57600080fd5b505af1158015614f2f573d6000803e3d6000fd5b505050506040513d6020811015614f4557600080fd5b50519063ffffffff6151e916565b60018084018290556007546002850181905560085460038601819055600554600487018054600160a060020a031916600160a060020a039283161790819055875460ff19169094178755604080519586526020860193909352848301919091529190911660608301525184917f78ac2fc513d7c0ec8ae43a339f0da247ef78f9db22b6d6769163943f05c1a7fe919081900360800190a25b805460ff1615156151dd5760008054604080517f846a0a89000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301529151919092169263846a0a89926024808201939182900301818387803b15801561505a57600080fd5b505af115801561506e573d6000803e3d6000fd5b50505050600160a060020a0386166000908152600c602052604090206001908101549083015461509d916151e9565b6001820155600160a060020a038087166000818152600b6020908152604080832054600c8352818420600201548454600354845160e260020a633de222bb028152908916600482015260248101979097529251615133979296615127969295949093169363f7888aec93604480820194929392918390030190829087803b158015614f1b57600080fd5b9063ffffffff61559116565b60028201819055600160a060020a0387166000818152600c6020908152604091829020600380820154908701805463ffffffff191663ffffffff9283161790819055600492830154928801839055875460ff1916600190811789558801548551908152938401969096529490941681830152606081019390935251909185917f4bdd04ed9d5392ce48b8fc80abc6fdc0916ce12072be2d571c2d482416349a389181900360800190a35b91959194509092505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612dbd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b6000806000806000806152a789600101548a600201548b60030160009054906101000a900463ffffffff166146bc565b60078a01549096506152c290620f424090613e839089614dc1565b945088600501548511156154055760058901546152e8908790613e8390620f4240614dc1565b60068a0181905560078a01546153039163ffffffff61559116565b9350600d600089815260200190815260200160002060040160009054906101000a9004600160a060020a0316600160a060020a03166349f9b0f78a600101548b600201548c60030160009054906101000a900463ffffffff16886040518563ffffffff1660e060020a028152600401808581526020018481526020018363ffffffff1663ffffffff168152602001828152602001945050505050602060405180830381600087803b1580156153b757600080fd5b505af11580156153cb573d6000803e3d6000fd5b505050506040513d60208110156153e157600080fd5b505160058a01549093506153fb908463ffffffff6151e916565b60088a015561551f565b600889018590556005890154615421908663ffffffff61559116565b9150600d600089815260200190815260200160002060040160009054906101000a9004600160a060020a0316600160a060020a03166329a00e7c8a600101548b600201548c60030160009054906101000a900463ffffffff16866040518563ffffffff1660e060020a028152600401808581526020018481526020018363ffffffff1663ffffffff168152602001828152602001945050505050602060405180830381600087803b1580156154d557600080fd5b505af11580156154e9573d6000803e3d6000fd5b505050506040513d60208110156154ff57600080fd5b505160078a0154909150615519908263ffffffff6151e916565b60068a01555b600589015460068a015460078b015460088c015460408051948552602085019390935283830191909152606083015251600160a060020a038916918a917f365713522b06a53828592398186ff46abd75365ace3b70c1fad31872ae5da2229181900360800190a3505050505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f570000000000000000000000000000602082015260009081908484111561561d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b505050900390565b6001820154600283015460038401546000928392839261564c92919063ffffffff166146bc565b91508460040154905081600014156156675760019250615687565b61567285838361597f565b801561568457506156848583836159e9565b92505b505092915050565b600160a060020a038082166000818152600b60209081526040808320548354600354835160e260020a633de222bb0281529088166004820152602481019690965291519395909491169263f7888aec9260448084019391929182900301818887803b1580156156fd57600080fd5b505af1158015615711573d6000803e3d6000fd5b505050506040513d602081101561572757600080fd5b5051101592915050565b600160a060020a038216151561577d57604051600160a060020a0384169082156108fc029083906000818181858888f19350505050158015615777573d6000803e3d6000fd5b50610ebe565b615798600160a060020a03831685858463ffffffff615a5316565b60408051808201909152601781527f4d4d5f5452414e534645525f46524f4d5f4641494c4544000000000000000000602082015290151561581e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5050505050565b9055565b60008061583583614e6c565b80549193509150610100900460ff16151561174c57805461ff00191661010017815560078101546006820154600a546158799291613afd919063ffffffff61559116565b600a5560088101546005820154600160a060020a0385166000908152600b60205260409020546158b49291615127919063ffffffff6151e916565b600160a060020a0384166000818152600b6020526040808220939093559151909184917f75fe92dc34008d900951376546f4b5a99223fe53a5241a96516002ad912029e19190a3505050565b6000806000806040516020818751602089018a5afa9250600083111561592557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115615975573d8015615962576020811461596b57615973565b60019350615973565b600183511493505b505b5090949350505050565b60058301546000906159a290620f4240906138e190670de0b6b3a7640000614dc1565b6159d26159bd670de0b6b3a76400008563ffffffff6151e916565b60068701546138e1908763ffffffff614dc116565b106159df57506001612421565b5060009392505050565b6000670de0b6b3a76400008210615a0257506001612421565b6007840154615a33906138e1615a26670de0b6b3a76400008663ffffffff61559116565b869063ffffffff614dc116565b60088501546159d290620f4240906138e190670de0b6b3a7640000614dc1565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090615ac88682615931565b969550505050505056004150505f415554485f4641494c454400000000000000000000000000000000004d4d5f42415443485f43414e43454c4c454400000000000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c000000000000004d4d5f434f4e54524143545f49535f454f4100000000000000000000000000004d4d5f434f4c4c41544552414c5f4e4f545f57484954454c4953544544000000e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb4d4d5f4e4f5448494e475f544f5f434c41494d00000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a7230582048d63069fcf7982ab73471225cd641bb11cdbbfa9c5043bde6dc569d752151b30029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x60806040526004361061026e5763ffffffff60e060020a6000350416630803fac081146102735780630aaffd2a1461029c5780630d720bbc146102bf5780630e85d277146102ed5780630f1ff5ea14610314578063177c14991461033e5780632914b9bd1461038c5780632a709b14146104015780632cd4a270146104165780633017dbed1461042b57806332f0a3b51461044057806338af3eed146104555780633fae9bfb1461046a57806341644f8c1461048757806347535d7b1461049c5780634afe6c47146104b15780634b75f54f146104d25780635e6f6c77146104e7578063608bac051461051257806360e14b6014610527578063683dee471461053c5780636a928e8f146105b75780636db79437146105cc5780637403c6cd146105e757806378ea6103146106295780637b9e86bf146106545780637cfab0cb146106695780637e7db6e11461068d57806380afdea8146106ae5780638a9b1e2d146106c35780638b3dd749146106f65780639249be281461070b57806394f9059f146107365780639ba9dada146107575780639d4941d81461076c578063a1658fad1461078d578063a479e508146107f4578063b6e9c82614610809578063c56f0f6c1461081e578063cd3293de14610833578063cf9d82f214610848578063d4aae0c41461085d578063d5b49a7114610872578063dbbdf2fe14610893578063de4796ed146108be578063e720ac8e146108d3578063eeb97d3b146108e8578063f190e4271461093c578063f77c47911461095d578063f79c5c7c14610972578063fc0c546a14610987578063fc157cb41461099c578063fcfff16f146109b1578063fd531e03146109c6575b600080fd5b34801561027f57600080fd5b506102886109f9565b604080519115158252519081900360200190f35b3480156102a857600080fd5b506102bd600160a060020a0360043516610a22565b005b3480156102cb57600080fd5b506102d4610bb2565b6040805163ffffffff9092168252519081900360200190f35b3480156102f957600080fd5b50610302610bb9565b60408051918252519081900360200190f35b34801561032057600080fd5b506102bd600160a060020a0360043581169060243516604435610bdd565b34801561034a57600080fd5b50610356600435610ec4565b6040805195151586526020860194909452848401929092526060840152600160a060020a03166080830152519081900360a00190f35b34801561039857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103e5943694929360249392840191908190840183828082843750949750610f009650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561040d57600080fd5b506103e5610fe6565b34801561042257600080fd5b50610302610ff5565b34801561043757600080fd5b50610302611019565b34801561044c57600080fd5b506103e561103d565b34801561046157600080fd5b506103e56110b5565b6102bd600160a060020a03600435811690602435166044356110c4565b34801561049357600080fd5b506103026113a1565b3480156104a857600080fd5b506102886113c5565b3480156104bd57600080fd5b50610302600160a060020a03600435166113ce565b3480156104de57600080fd5b506103e56113e0565b3480156104f357600080fd5b506102bd600160a060020a0360043581169060243590604435166113ef565b34801561051e57600080fd5b50610302611751565b34801561053357600080fd5b50610302611775565b34801561054857600080fd5b50610560600435600160a060020a0360243516611799565b604080519a15158b5298151560208b015289890197909752606089019590955263ffffffff909316608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b3480156105c357600080fd5b506103026118e2565b3480156105d857600080fd5b506102bd600435602435611906565b3480156105f357600080fd5b506102bd600160a060020a036004358116906024358116906044358116906064358116906084351660a43560c43560e435611a65565b34801561063557600080fd5b506102bd600160a060020a036004358116906024359060443516612050565b34801561066057600080fd5b5061030261238e565b34801561067557600080fd5b5061030260043560243563ffffffff60443516612394565b34801561069957600080fd5b50610288600160a060020a0360043516612428565b3480156106ba57600080fd5b5061030261242e565b3480156106cf57600080fd5b506102bd600160a060020a036004351660243560443563ffffffff6064351660843561245e565b34801561070257600080fd5b50610302612636565b34801561071757600080fd5b506102bd600160a060020a036004358116906024359060443516612661565b34801561074257600080fd5b506102bd600160a060020a03600435166128a4565b34801561076357600080fd5b506103026129e0565b34801561077857600080fd5b506102bd600160a060020a03600435166129e6565b34801561079957600080fd5b506040805160206004604435818101358381028086018501909652808552610288958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750612c759650505050505050565b34801561080057600080fd5b506103e5612dc5565b34801561081557600080fd5b50610302612e7a565b34801561082a57600080fd5b50610302612e9e565b34801561083f57600080fd5b506103e5612ea4565b34801561085457600080fd5b50610302612eb3565b34801561086957600080fd5b506103e5612ed7565b34801561087e57600080fd5b506102bd600160a060020a0360043516612f02565b34801561089f57600080fd5b506102bd600160a060020a03600435811690602435906044351661303e565b3480156108ca57600080fd5b50610288613281565b3480156108df57600080fd5b50610302613294565b3480156108f457600080fd5b50610909600160a060020a036004351661331b565b60408051951515865260208601949094528484019290925263ffffffff1660608401526080830152519081900360a00190f35b34801561094857600080fd5b50610909600160a060020a0360043516613354565b34801561096957600080fd5b506103e5613426565b34801561097e57600080fd5b50610302613435565b34801561099357600080fd5b506103e561343b565b3480156109a857600080fd5b5061030261344a565b3480156109bd57600080fd5b506102bd613456565b3480156109d257600080fd5b506102bd600160a060020a036004351660243560443563ffffffff606435166084356135a2565b600080610a04612636565b90508015801590610a1c575080610a1961384d565b10155b91505090565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259391610a649133918491905b50612c75565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515610b145760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b1e82613851565b60408051808201909152601681527f4d4d5f494e56414c49445f42454e4546494349415259000000000000000000006020820152901515610ba45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae8261385f565b5050565b620f424081565b7fbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb81565b604080516000808252602082019092527fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c091610c1d913391849190610a5e565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515610c915760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600b81527f4d4d5f4e4f545f4f50454e00000000000000000000000000000000000000000060208201529060ff161515610d1e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610d28836138a9565b60408051808201909152601d8152600080516020615b538339815191526020820152901515610d9c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610dae610da86138c7565b846138ed565b6040805180820190915260128152600080516020615af383398151915260208201529015610e215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610e2c8483613921565b60408051808201909152601681527f4d4d5f494e56414c49445f424f4e445f414d4f554e54000000000000000000006020820152901515610eb25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610ebe8484846139cd565b50505050565b600d602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192909190600160a060020a031685565b6000610f0a612dc5565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f68578181015183820152602001610f50565b50505050905090810190601f168015610f955780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610fb457600080fd5b505af1158015610fc8573d6000803e3d6000fd5b505050506040513d6020811015610fde57600080fd5b505192915050565b600154600160a060020a031681565b7fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea781565b7fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d81565b6000611047612ed7565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561108457600080fd5b505af1158015611098573d6000803e3d6000fd5b505050506040513d60208110156110ae57600080fd5b5051905090565b600454600160a060020a031681565b604080516000808252602082019092527fa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea791611104913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156111785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600b81527f4d4d5f4e4f545f4f50454e00000000000000000000000000000000000000000060208201529060ff1615156112055760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061120f836138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156112835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061128f610da86138c7565b6040805180820190915260128152600080516020615af3833981519152602082015290156113025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061130f84848434613cce565b60408051808201909152601b81527f4d4d5f494e56414c49445f434f4c4c41544552414c5f56414c5545000000000060208201529015156113955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610ebe848484613e3b565b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b60095460ff1681565b600b6020526000908152604090205481565b600554600160a060020a031681565b611406600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156114795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611499600080516020615b73833981519152600163ffffffff6140b516565b6114a16109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156115155760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061151f816138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156115935760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061159d826140b9565b60408051808201909152601181527f4d4d5f42415443485f4e4f545f4f56455200000000000000000000000000000060208201529015156116235760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061162e82826138ed565b6040805180820190915260128152600080516020615af3833981519152602082015290156116a15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506116ad8282856140cb565b6040805180820190915260138152600080516020615b9383398151915260208201529015156117215760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614105565b61174c600080516020615b73833981519152600063ffffffff6140b516565b505050565b7f217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d81565b7f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82281565b60008060008060008060008060008060006117b26109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156118265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50600d60008e815260200190815260200160002060050160008d600160a060020a0316600160a060020a0316815260200190815260200160002090508060000160009054906101000a900460ff168160000160019054906101000a900460ff16826001015483600201548460030160009054906101000a900463ffffffff16856004015486600501548760060154886007015489600801549a509a509a509a509a509a509a509a509a509a50509295989b9194979a5092959850565b7fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a481565b604080516000808252602082019092527f5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca82291611946913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156119ba5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506119c483614367565b80156119d457506119d482614367565b60408051808201909152601581527f4d4d5f494e56414c49445f50455243454e5441474500000000000000000000006020820152901515611a5a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061174c8383614374565b611a6d612636565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611af25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611afb6143bd565b611b0488614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611b785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611b8287614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611bf65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611c0086614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611c745760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611c7e85614485565b6040805180820190915260128152600080516020615b338339815191526020820152901515611cf25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611cfc84613851565b60408051808201909152601681527f4d4d5f494e56414c49445f42454e4546494349415259000000000000000000006020820152901515611d825760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060408051808201909152601781527f4d4d5f494e56414c49445f42415443485f424c4f434b53000000000000000000602082015260008411611e0a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611e1482614367565b8015611e245750611e2481614367565b60408051808201909152601581527f4d4d5f494e56414c49445f50455243454e5441474500000000000000000000006020820152901515611eaa5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50611eb4876144b2565b60408051808201909152601581527f4d4d5f494e56414c49445f544d5f53455454494e4700000000000000000000006020820152901515611f3a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060008054600160a060020a03808b16600160a060020a0319928316178355600180548b831693169290921791829055604080517ffc0c546a0000000000000000000000000000000000000000000000000000000081529051929091169263fc0c546a926004808401936020939083900390910190829087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b505050506040513d6020811015611fea57600080fd5b505160028054600160a060020a03928316600160a060020a03199182161790915560058054988316988216989098179097556003805496821696881696909617909555600480549490951693909516929092179092556006919091556007556008555050565b612067600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156120da5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506120fa600080516020615b73833981519152600163ffffffff6140b516565b6121026109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156121765760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612180816138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156121f45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506121fe826140b9565b60408051808201909152601181527f4d4d5f42415443485f4e4f545f4f56455200000000000000000000000000000060208201529015156122845760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061228f82826138ed565b6040805180820190915260128152600080516020615af3833981519152602082015290156123025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061230e828285614528565b6040805180820190915260138152600080516020615b9383398151915260208201529015156123825760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614562565b60085481565b600061239e6109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156124125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061241e8484846146bc565b90505b9392505050565b50600190565b60006124597fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6140b1565b905090565b604080516000808252602082019092527fe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d9161249e913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156125125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061251c866138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156125905760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061259a836146e5565b60408051808201909152601881527f4d4d5f494e56414c49445f524553455256455f524154494f000000000000000060208201529015156126205760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061262e86868686866146f7565b505050505050565b60006124597febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6140b1565b612678600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156126eb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061270b600080516020615b73833981519152600163ffffffff6140b516565b6127136109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156127875760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061279282826138ed565b60408051808201909152601681527f4d4d5f42415443485f4e4f545f43414e43454c4c45440000000000000000000060208201529015156128185760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612824828285614528565b6040805180820190915260138152600080516020615b9383398151915260208201529015156128985760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614791565b604080516000808252602082019092527f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2916128e4913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156129585760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612962826138a9565b60408051808201909152601d8152600080516020615b5383398151915260208201529015156129d65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae826148dd565b600a5481565b60008060006129f484612428565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515612a7a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612a8361103d565b9250612a8e83614485565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515612b145760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50600160a060020a0384161515612b655760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612b5f573d6000803e3d6000fd5b50612c24565b5082612b80600160a060020a0382163063ffffffff61495a16565b9150612b9c600160a060020a038216848463ffffffff614a5a16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515612c225760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080612c806109f9565b1515612c8f5760009150612dbd565b612c97612ed7565b9050600160a060020a0381161515612cb25760009150612dbd565b80600160a060020a031663fdef9106863087612ccd88614ad0565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015612d3f578181015183820152602001612d27565b50505050905090810190601f168015612d6c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b505050506040513d6020811015612db857600080fd5b505191505b509392505050565b600080612dd0612ed7565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610fb457600080fd5b7f2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee281565b60065481565b600354600160a060020a031681565b7fd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c081565b60006124597f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6140b1565b604080516000808252602082019092527fbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb91612f42913391849190610a5e565b60408051808201909152600f8152600080516020615ad38339815191526020820152901515612fb65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50612fc082614485565b6040805180820190915260128152600080516020615b3383398151915260208201529015156130345760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50610bae82614ada565b613055600080516020615b738339815191526140b1565b6040805180820190915260198152600080516020615b13833981519152602082015290156130c85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506130e8600080516020615b73833981519152600163ffffffff6140b516565b6130f06109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156131645760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061316f82826138ed565b60408051808201909152601681527f4d4d5f42415443485f4e4f545f43414e43454c4c45440000000000000000000060208201529015156131f55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506132018282856140cb565b6040805180820190915260138152600080516020615b9383398151915260208201529015156132755760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061172d838383614b24565b600060001961328e612636565b14905090565b600061329e6109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156133125760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506124596138c7565b600c602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192909163ffffffff169085565b6000806000806000806133656109f9565b6040805180820190915260148152600080516020615bb383398151915260208201529015156133d95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50505050600160a060020a03939093166000908152600c60205260409020805460018201546002830154600384015460049094015460ff90931697919650945063ffffffff909216925090565b600054600160a060020a031681565b60075481565b600254600160a060020a031681565b670de0b6b3a764000081565b604080516000808252602082019092527fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a491613496913391849190610a5e565b60408051808201909152600f8152600080516020615ad3833981519152602082015290151561350a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5060095460408051808201909152600f81527f4d4d5f414c52454144595f4f50454e000000000000000000000000000000000060208201529060ff16156135965760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061359f614c43565b50565b604080516000808252602082019092527f217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d916135e2913391849190610a5e565b60408051808201909152600f8152600080516020615ad383398151915260208201529015156136565760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061366086614485565b806136725750600160a060020a038616155b60408051808201909152601581527f4d4d5f494e56414c49445f434f4c4c41544552414c000000000000000000000060208201529015156136f85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50613702866138a9565b60408051606081018252602181527f4d4d5f434f4c4c41544552414c5f414c52454144595f57484954454c4953544560208201527f44000000000000000000000000000000000000000000000000000000000000009181019190915290156137af5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b506137b9836146e5565b60408051808201909152601881527f4d4d5f494e56414c49445f524553455256455f524154494f0000000000000000602082015290151561383f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061262e8686868686614c7b565b4390565b600160a060020a0316151590565b60048054600160a060020a031916600160a060020a0383169081179091556040517fe6131a64e93e9aa4ff38892c34d563c06dcc1e03b3d6897cc65f0903e2ad684890600090a250565b600160a060020a03166000908152600c602052604090205460ff1690565b600654600090612459906138e1438263ffffffff614d1c16565b9063ffffffff614dc116565b6000918252600d60209081526040808420600160a060020a0393909316845260059092019052902054610100900460ff1690565b600081158015906124215750600154604080517f0f8f8b83000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152915185939290921691630f8f8b83916024808201926020929091908290030181600087803b15801561399857600080fd5b505af11580156139ac573d6000803e3d6000fd5b505050506040513d60208110156139c257600080fd5b505110159392505050565b6000806000806139dc86614e6c565b600154604080517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152602482018b905291519498509296501691639dc29fac9160448082019260009290919082900301818387803b158015613a4e57600080fd5b505af1158015613a62573d6000803e3d6000fd5b5050506006840154600885015460078601549194509250613a8a91508663ffffffff6151e916565b6007840155600160a060020a0387166000908152600a84016020526040902054613aba908663ffffffff6151e916565b600160a060020a0388166000908152600a85016020526040902055613ae0838588615277565b613b098360060154613afd84600a5461559190919063ffffffff16565b9063ffffffff6151e916565b600a556008830154600160a060020a0387166000908152600b6020526040902054613b3f9190613afd908463ffffffff61559116565b600160a060020a0387166000908152600b6020526040902055613b628387615625565b60408051808201909152601981527f4d4d5f534c4950504147455f455843454544535f4c494d4954000000000000006020820152901515613be85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b50613bf28661568f565b60408051808201909152601c81527f4d4d5f494e53554646494349454e545f504f4f4c5f42414c414e4345000000006020820152901515613c785760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5085600160a060020a03168488600160a060020a03167f8c103b7b044048ad0382ad31454a2ca34da952258d6526af3a57a9e799cbb7ec886040518082815260200191505060405180910390a450505050505050565b6000821515613cdf57506000613e33565b600160a060020a0384161515613cf85750808214613e33565b81158015613d8f5750600080546040805160e260020a633de222bb028152600160a060020a038981166004830152888116602483015291518794929093169263f7888aec92604480840193602093929083900390910190829087803b158015613d6057600080fd5b505af1158015613d74573d6000803e3d6000fd5b505050506040513d6020811015613d8a57600080fd5b505110155b8015613e305750604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523060248301529151859287169163dd62ed3e9160448083019260209291908290030181600087803b158015613e0157600080fd5b505af1158015613e15573d6000803e3d6000fd5b505050506040513d6020811015613e2b57600080fd5b505110155b90505b949350505050565b600080600080600080613e4d88614e6c565b6000828152600d60205260409020600201549197509550613e8f90670de0b6b3a764000090613e83908a9063ffffffff614dc116565b9063ffffffff614d1c16565b9350613ea1878563ffffffff61559116565b92506000841115613ec557600454613ec5908a90600160a060020a03168a87615731565b600354613ede908a90600160a060020a03168a86615731565b5050600683015460088401546005850154613eff908463ffffffff6151e916565b6005860155600160a060020a0389166000908152600986016020526040902054613f2f908463ffffffff6151e916565b600160a060020a038a166000908152600987016020526040902055613f5585878a615277565b613f728560060154613afd84600a5461559190919063ffffffff16565b600a556008850154600160a060020a0389166000908152600b6020526040902054613fa89190613afd908463ffffffff61559116565b600160a060020a0389166000908152600b6020526040902055613fcb8589615625565b60408051808201909152601981527f4d4d5f534c4950504147455f455843454544535f4c494d49540000000000000060208201529015156140515760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5087600160a060020a0316868a600160a060020a03167fecab89c21a18231f17bff6027decbe0682bc9916e969562a87781927b18b2e4d8787604051808381526020018281526020019250505060405180910390a4505050505050505050565b5490565b9055565b60006140c36138c7565b909110919050565b6000928352600d60209081526040808520600160a060020a0394851686526005018252808520929093168452600a90910190528120541190565b6000828152600d60209081526040808320600160a060020a03808616855260059091018352818420600781015460088201549289168652600a820190945291842054919392839283926141629291613e839163ffffffff614dc116565b6000878152600d602052604090206003015490935061419690670de0b6b3a764000090613e8390869063ffffffff614dc116565b91506141a8838363ffffffff61559116565b600160a060020a0388166000908152600a86016020526040812081905590915081111561428357600160a060020a0385166000908152600b60205260409020546141f8908463ffffffff61559116565b600160a060020a038087166000818152600b602052604080822094909455600354845160e360020a6317d5759902815260048101939093528b84166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b15801561426a57600080fd5b505af115801561427e573d6000803e3d6000fd5b505050505b600082111561430a57600354600480546040805160e360020a6317d57599028152600160a060020a038a81169482019490945291831660248301526044820186905251919092169163beabacc891606480830192600092919082900301818387803b1580156142f157600080fd5b505af1158015614305573d6000803e3d6000fd5b505050505b84600160a060020a03168688600160a060020a03167f0eca047a22717e04fff16b883e2490c1490c953ec49bf7af9270fffddd8b53028585604051808381526020018281526020019250505060405180910390a450505050505050565b670de0b6b3a76400001190565b60078290556008819055604080518381526020810183905281517f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04929181900390910190a15050565b6143c5612636565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561444a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5061448361445661384d565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6140b516565b565b600080600160a060020a03831615156144a157600091506144ac565b823b90506000811191505b50919050565b600060001982600160a060020a031663ecfda4326040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156144f557600080fd5b505af1158015614509573d6000803e3d6000fd5b505050506040513d602081101561451f57600080fd5b50511492915050565b6000928352600d60209081526040808520600160a060020a0394851686526005018252808520929093168452600990910190528120541190565b6000828152600d60209081526040808320600160a060020a03808616855260059182018452828520918201546006830154918916865260098301909452918420549093926145bb929091613e839163ffffffff614dc116565b600160a060020a0386166000908152600984016020526040812081905590915081111561466957600a546145f5908263ffffffff61559116565b600a556001546040805160e060020a6340c10f19028152600160a060020a03888116600483015260248201859052915191909216916340c10f1991604480830192600092919082900301818387803b15801561465057600080fd5b505af1158015614664573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167f1d3062ef0b6bc8ec6a09d7a72a4f2f8c332a0a1055605166c7ae24592c33a50b846040518082815260200191505060405180910390a45050505050565b600061241e6146d48563ffffffff80861690614dc116565b613e83856138e1620f424080614dc1565b620f424063ffffffff82161115919050565b600160a060020a0385166000818152600c6020908152604091829020600181018890556002810187905560038101805463ffffffff881663ffffffff19909116811790915560049091018590558251888152918201879052818301526060810184905290517f1b8a18e7f392180ec571af2dd1c185cbc26951042ba1f62e87db979ee7643a2c9181900360800190a25050505050565b5490565b6000828152600d60209081526040808320600160a060020a038086168552600590910183528184209087168452600981019092528220805490839055909181111561488a57600160a060020a0383166000908152600b60205260409020546147ff908263ffffffff61559116565b600160a060020a038085166000818152600b602052604080822094909455600354845160e360020a6317d5759902815260048101939093528984166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b15801561487157600080fd5b505af1158015614885573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167feb3996b71a45309a78196a4ec37faf4860dccc26536b7f6232e078b47baf2cb8846040518082815260200191505060405180910390a45050505050565b60006148e882615829565b50600160a060020a0381166000818152600c6020526040808220805460ff19168155600181018390556002810183905560038101805463ffffffff191690556004810183905590519092917fef578b3b1649eb50cb7766e79f596caa69b7de7e3fef0c0f4e678976a5d51e1591a25050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806149c58684615900565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515614a505760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090614ac78582615931565b95945050505050565b8051602002815290565b60058054600160a060020a031916600160a060020a0383169081179091556040517f050a79a49cc1dc3aeeccd8636685ad0469db41a9bd51254a34fc1cf616693d4190600090a250565b6000828152600d60209081526040808320600160a060020a038086168552600590910183528184209087168452600a810190925282208054908390559091811115614bf057600a54614b7c908263ffffffff61559116565b600a556001546040805160e060020a6340c10f19028152600160a060020a03888116600483015260248201859052915191909216916340c10f1991604480830192600092919082900301818387803b158015614bd757600080fd5b505af1158015614beb573d6000803e3d6000fd5b505050505b82600160a060020a03168486600160a060020a03167f27335af9c3970a20380b78bda3af53f3ff8ad00e68ec511285c933afe4d42dd7846040518082815260200191505060405180910390a45050505050565b6009805460ff191660011790556040517f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a590600090a1565b600160a060020a0385166000818152600c6020908152604091829020805460ff19166001908117825581018890556002810187905560038101805463ffffffff881663ffffffff19909116811790915560049091018590558251888152918201879052818301526060810184905290517f769df79ace8fd94960b301fa390e66bcd330b25e4a6001f7107540a6d5e55eed9181900360800190a25050505050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411614da75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b508284811515614db357fe5b0490508091505b5092915050565b600080831515614dd45760009150614dba565b50828202828482811515614de457fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414612dbd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b6000806000806000614e7c6138c7565b6000818152600d60209081526040808320600160a060020a038b168452600581019092529091208154929550909350915060ff161515614feb57600a54600254604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051614f539392600160a060020a0316916318160ddd9160048083019260209291908290030181600087803b158015614f1b57600080fd5b505af1158015614f2f573d6000803e3d6000fd5b505050506040513d6020811015614f4557600080fd5b50519063ffffffff6151e916565b60018084018290556007546002850181905560085460038601819055600554600487018054600160a060020a031916600160a060020a039283161790819055875460ff19169094178755604080519586526020860193909352848301919091529190911660608301525184917f78ac2fc513d7c0ec8ae43a339f0da247ef78f9db22b6d6769163943f05c1a7fe919081900360800190a25b805460ff1615156151dd5760008054604080517f846a0a89000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301529151919092169263846a0a89926024808201939182900301818387803b15801561505a57600080fd5b505af115801561506e573d6000803e3d6000fd5b50505050600160a060020a0386166000908152600c602052604090206001908101549083015461509d916151e9565b6001820155600160a060020a038087166000818152600b6020908152604080832054600c8352818420600201548454600354845160e260020a633de222bb028152908916600482015260248101979097529251615133979296615127969295949093169363f7888aec93604480820194929392918390030190829087803b158015614f1b57600080fd5b9063ffffffff61559116565b60028201819055600160a060020a0387166000818152600c6020908152604091829020600380820154908701805463ffffffff191663ffffffff9283161790819055600492830154928801839055875460ff1916600190811789558801548551908152938401969096529490941681830152606081019390935251909185917f4bdd04ed9d5392ce48b8fc80abc6fdc0916ce12072be2d571c2d482416349a389181900360800190a35b91959194509092505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612dbd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b6000806000806000806152a789600101548a600201548b60030160009054906101000a900463ffffffff166146bc565b60078a01549096506152c290620f424090613e839089614dc1565b945088600501548511156154055760058901546152e8908790613e8390620f4240614dc1565b60068a0181905560078a01546153039163ffffffff61559116565b9350600d600089815260200190815260200160002060040160009054906101000a9004600160a060020a0316600160a060020a03166349f9b0f78a600101548b600201548c60030160009054906101000a900463ffffffff16886040518563ffffffff1660e060020a028152600401808581526020018481526020018363ffffffff1663ffffffff168152602001828152602001945050505050602060405180830381600087803b1580156153b757600080fd5b505af11580156153cb573d6000803e3d6000fd5b505050506040513d60208110156153e157600080fd5b505160058a01549093506153fb908463ffffffff6151e916565b60088a015561551f565b600889018590556005890154615421908663ffffffff61559116565b9150600d600089815260200190815260200160002060040160009054906101000a9004600160a060020a0316600160a060020a03166329a00e7c8a600101548b600201548c60030160009054906101000a900463ffffffff16866040518563ffffffff1660e060020a028152600401808581526020018481526020018363ffffffff1663ffffffff168152602001828152602001945050505050602060405180830381600087803b1580156154d557600080fd5b505af11580156154e9573d6000803e3d6000fd5b505050506040513d60208110156154ff57600080fd5b505160078a0154909150615519908263ffffffff6151e916565b60068a01555b600589015460068a015460078b015460088c015460408051948552602085019390935283830191909152606083015251600160a060020a038916918a917f365713522b06a53828592398186ff46abd75365ace3b70c1fad31872ae5da2229181900360800190a3505050505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f570000000000000000000000000000602082015260009081908484111561561d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b505050900390565b6001820154600283015460038401546000928392839261564c92919063ffffffff166146bc565b91508460040154905081600014156156675760019250615687565b61567285838361597f565b801561568457506156848583836159e9565b92505b505092915050565b600160a060020a038082166000818152600b60209081526040808320548354600354835160e260020a633de222bb0281529088166004820152602481019690965291519395909491169263f7888aec9260448084019391929182900301818887803b1580156156fd57600080fd5b505af1158015615711573d6000803e3d6000fd5b505050506040513d602081101561572757600080fd5b5051101592915050565b600160a060020a038216151561577d57604051600160a060020a0384169082156108fc029083906000818181858888f19350505050158015615777573d6000803e3d6000fd5b50610ebe565b615798600160a060020a03831685858463ffffffff615a5316565b60408051808201909152601781527f4d4d5f5452414e534645525f46524f4d5f4641494c4544000000000000000000602082015290151561581e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610ad9578181015183820152602001610ac1565b5050505050565b9055565b60008061583583614e6c565b80549193509150610100900460ff16151561174c57805461ff00191661010017815560078101546006820154600a546158799291613afd919063ffffffff61559116565b600a5560088101546005820154600160a060020a0385166000908152600b60205260409020546158b49291615127919063ffffffff6151e916565b600160a060020a0384166000818152600b6020526040808220939093559151909184917f75fe92dc34008d900951376546f4b5a99223fe53a5241a96516002ad912029e19190a3505050565b6000806000806040516020818751602089018a5afa9250600083111561592557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115615975573d8015615962576020811461596b57615973565b60019350615973565b600183511493505b505b5090949350505050565b60058301546000906159a290620f4240906138e190670de0b6b3a7640000614dc1565b6159d26159bd670de0b6b3a76400008563ffffffff6151e916565b60068701546138e1908763ffffffff614dc116565b106159df57506001612421565b5060009392505050565b6000670de0b6b3a76400008210615a0257506001612421565b6007840154615a33906138e1615a26670de0b6b3a76400008663ffffffff61559116565b869063ffffffff614dc116565b60088501546159d290620f4240906138e190670de0b6b3a7640000614dc1565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090615ac88682615931565b969550505050505056004150505f415554485f4641494c454400000000000000000000000000000000004d4d5f42415443485f43414e43454c4c454400000000000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c000000000000004d4d5f434f4e54524143545f49535f454f4100000000000000000000000000004d4d5f434f4c4c41544552414c5f4e4f545f57484954454c4953544544000000e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb4d4d5f4e4f5448494e475f544f5f434c41494d00000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a7230582048d63069fcf7982ab73471225cd641bb11cdbbfa9c5043bde6dc569d752151b30029", - "sourceMap": "624:43927:7:-;;;344:9:40;:7;;;;:9;:::i;:::-;624:43927:7;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;624:43927:7:-;;;;;;;", - "deployedSourceMap": "624:43927:7:-;;;;;;;;;-1:-1:-1;;;624:43927:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;11594:217:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11594:217:7;-1:-1:-1;;;;;11594:217:7;;;;;;;2913:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2913:42:7;;;;;;;;;;;;;;;;;;;;;;;1805:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1805:121:7;;;;;;;;;;;;;;;;;;;;16470:553;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16470:553:7;-1:-1:-1;;;;;16470:553:7;;;;;;;;;;;;6361:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6361:49:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6361:49:7;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;5704:50:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:50:7;;;;2567:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2567:121:7;;;;2440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2440:121:7;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;5860:49:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5860:49:7;;;;15519:611;;-1:-1:-1;;;;;15519:611:7;;;;;;;;;;;;1932:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1932:121:7;;;;6130:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6130:44:7;;;;6240:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6240:60:7;-1:-1:-1;;;;;6240:60:7;;;;;5915:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5915:45:7;;;;18370:540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18370:540:7;-1:-1:-1;;;;;18370:540:7;;;;;;;;;;;;;2186:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2186:121:7;;;;2059;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2059:121:7;;;;21077:613;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21077:613:7;;;-1:-1:-1;;;;;21077:613:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1678:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1678:121:7;;;;12133:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12133:243:7;;;;;;;9274:1563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9274:1563:7;-1:-1:-1;;;;;9274:1563:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17430:528;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17430:528:7;-1:-1:-1;;;;;17430:528:7;;;;;;;;;;;;;6075:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6075:48:7;;;;21696:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21696:201:7;;;;;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;14694:493:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14694:493:7;-1:-1:-1;;;;;14694:493:7;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;19361:370:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19361:370:7;-1:-1:-1;;;;;19361:370:7;;;;;;;;;;;;;13810:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13810:239:7;-1:-1:-1;;;;;13810:239:7;;;;;6180:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6180:54:7;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;2313:121:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2313:121:7;;;;5967:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5967:49:7;;;;5809:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5809:45:7;;;;2694:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2694:121:7;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;11242:187:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11242:187:7;-1:-1:-1;;;;;11242:187:7;;;;;20187:378;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20187:378:7;-1:-1:-1;;;;;20187:378:7;;;;;;;;;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;20612:114:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20612:114:7;;;;6306:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6306:49:7;-1:-1:-1;;;;;6306:49:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20732:339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20732:339:7;-1:-1:-1;;;;;20732:339:7;;;;;5650:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5650:48:7;;;;6022:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6022:47:7;;;;5760:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5760:43:7;;;;2822;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2822:43:7;;;;10982:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10982:112:7;;;;13023:594;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13023:594:7;-1:-1:-1;;;;;13023:594:7;;;;;;;;;;;;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;11594:217:7:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;1987:66:7;;990:47:39;;1001:10;;1987:66:7;;1020:16:39;;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11700:33:7;11720:12;11700:19;:33::i;:::-;11735:25;;;;;;;;;;;;;;;;;;11692:69;;;;;;-1:-1:-1;;;;;11692:69:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11692:69:7;;11772:32;11791:12;11772:18;:32::i;:::-;11594:217;;:::o;2913:42::-;2948:7;2913:42;:::o;1805:121::-;1860:66;1805:121;:::o;16470:553::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2749:66:7;;990:47:39;;1001:10;;2749:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;16602:6:7;;16654:14;;;;;;;;;;;;;;;;;;16602:6;;16594:75;;;;;;-1:-1:-1;;;;;16594:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16594:75:7;;16687:37;16712:11;16687:24;:37::i;:::-;16739:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16739:32:7;;;;;16679:93;;;;;;-1:-1:-1;;;;;16679:93:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16679:93:7;;16791:49;16809:17;:15;:17::i;:::-;16828:11;16791:17;:49::i;:::-;16842:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16842:21:7;;;;;16790:50;16782:82;;;;-1:-1:-1;;;;;16782:82:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16782:82:7;;16882:36;16901:7;16910;16882:18;:36::i;:::-;16934:25;;;;;;;;;;;;;;;;;;16874:86;;;;;;-1:-1:-1;;;;;16874:86:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16874:86:7;;16971:45;16986:7;16995:11;17008:7;16971:14;:45::i;:::-;16470:553;;;;:::o;6361:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6361:49:7;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;5704:50:7:-;;;-1:-1:-1;;;;;5704:50:7;;:::o;2567:121::-;2622:66;2567:121;:::o;2440:::-;2495:66;2440:121;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;5860:49:7:-;;;-1:-1:-1;;;;;5860:49:7;;:::o;15519:611::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2622:66:7;;990:47:39;;1001:10;;2622:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;15655:6:7;;15720:14;;;;;;;;;;;;;;;;;;15655:6;;15647:88;;;;;;-1:-1:-1;;;;;15647:88:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15647:88:7;;15753:37;15778:11;15753:24;:37::i;:::-;15818:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15818:32:7;;;;;15745:106;;;;;;-1:-1:-1;;;;;15745:106:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15745:106:7;;15870:49;15888:17;:15;:17::i;15870:49::-;15934:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15934:21:7;;;;;15869:50;15861:95;;;;-1:-1:-1;;;;;15861:95:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15861:95:7;;15974:63;15998:6;16006:11;16019:6;16027:9;15974:23;:63::i;:::-;16039:30;;;;;;;;;;;;;;;;;;15966:104;;;;;;-1:-1:-1;;;;;15966:104:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15966:104:7;;16081:42;16095:6;16103:11;16116:6;16081:13;:42::i;1932:121::-;1987:66;1932:121;:::o;6130:44::-;;;;;;:::o;6240:60::-;;;;;;;;;;;;;:::o;5915:45::-;;;-1:-1:-1;;;;;5915:45:7;;:::o;18370:540::-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;18504:37:7;18529:11;18504:24;:37::i;:::-;18551:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;18551:32:7;;;;;18496:88;;;;;;-1:-1:-1;;;;;18496:88:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18496:88:7;;18602:22;18615:8;18602:12;:22::i;:::-;18649:20;;;;;;;;;;;;;;;;;;18594:76;;;;;;-1:-1:-1;;;;;18594:76:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18594:76:7;;18689:40;18707:8;18717:11;18689:17;:40::i;:::-;18735:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;18735:21:7;;;;;18688:41;18680:77;;;;-1:-1:-1;;;;;18680:77:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18680:77:7;;18775:45;18789:8;18799:11;18812:7;18775:13;:45::i;:::-;18822:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;18822:22:7;;;;;18767:78;;;;;;-1:-1:-1;;;;;18767:78:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18767:78:7;;18856:47;18872:7;18881:8;18891:11;18856:15;:47::i;:::-;881::51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;18370:540:7;;;:::o;2186:121::-;2241:66;2186:121;:::o;2059:::-;2114:66;2059:121;:::o;21077:613::-;21185:4;21191;21197:7;21206;21215:6;21223:7;21232;21241;21250;21259;21282:19;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;21304:11:7;:21;21316:8;21304:21;;;;;;;;;;;:29;;:42;21334:11;-1:-1:-1;;;;;21304:42:7;-1:-1:-1;;;;;21304:42:7;;;;;;;;;;;;21282:64;;21378:5;:17;;;;;;;;;;;;21409:5;:15;;;;;;;;;;;;21438:5;:12;;;21464:5;:13;;;21491:5;:18;;;;;;;;;;;;21523:5;:14;;;21551:5;:19;;;21584:5;:20;;;21618:5;:20;;;21652:5;:21;;;21357:326;;;;;;;;;;;;;;;;;;;;21077:613;;;;;;;;;;;;;;:::o;1678:121::-;1733:66;1678:121;:::o;12133:243::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2114:66:7;;990:47:39;;1001:10;;2114:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;12244:23:7;12256:10;12244:11;:23::i;:::-;:51;;;;;12271:24;12283:11;12271;:24::i;:::-;12297;;;;;;;;;;;;;;;;;;12236:86;;;;;;-1:-1:-1;;;;;12236:86:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12236:86:7;;12333:36;12345:10;12357:11;12333;:36::i;9274:1563::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;9745:13:7;:11;:13::i;:::-;9777:23;9788:11;9777:10;:23::i;:::-;9830:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9830:21:7;;;;;9769:83;;;;;;-1:-1:-1;;;;;9769:83:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9769:83:7;;9870:25;9881:13;9870:10;:25::i;:::-;9923:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9923:21:7;;;;;9862:83;;;;;;-1:-1:-1;;;;;9862:83:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9862:83:7;;9963:20;9974:8;9963:10;:20::i;:::-;10016:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10016:21:7;;;;;9955:83;;;;;;-1:-1:-1;;;;;9955:83:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9955:83:7;;10056:20;10067:8;10056:10;:20::i;:::-;10109:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10109:21:7;;;;;10048:83;;;;;;-1:-1:-1;;;;;10048:83:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10048:83:7;;10149:33;10169:12;10149:19;:33::i;:::-;10202:25;;;;;;;;;;;;;;;;;;10141:87;;;;;;-1:-1:-1;;;;;10141:87:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10141:87:7;-1:-1:-1;10299:26:7;;;;;;;;;;;;;;;;;10261:1;10246:16;;10238:88;;;;-1:-1:-1;;;;;10238:88:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10238:88:7;;10344:23;10356:10;10344:11;:23::i;:::-;:51;;;;;10371:24;10383:11;10371;:24::i;:::-;10397;;;;;;;;;;;;;;;;;;10336:86;;;;;;-1:-1:-1;;;;;10336:86:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10336:86:7;;10440:42;10468:13;10440:27;:42::i;:::-;10493:24;;;;;;;;;;;;;;;;;;10432:86;;;;;;-1:-1:-1;;;;;10432:86:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10432:86:7;-1:-1:-1;10529:10:7;:24;;-1:-1:-1;;;;;10529:24:7;;;-1:-1:-1;;;;;;10529:24:7;;;;;;;10563:28;;;;;;;;;;;;;;;10615:20;;;;;;;;:12;;;;;:18;;:20;;;;;;;;;;;;;;;;;:12;:20;;;5:2:-1;;;;30:1;27;20:12;5:2;10615:20:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10615:20:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10615:20:7;10601:5;:35;;-1:-1:-1;;;;;10601:35:7;;;-1:-1:-1;;;;;;10601:35:7;;;;;;;10646:7;:18;;;;;;;;;;;;;;;10674:7;:18;;;;;;;;;;;;;;;10702:11;:26;;;;;;;;;;;;;;;;;10738:11;:26;;;;10774:9;:22;10806:10;:24;-1:-1:-1;;9274:1563:7:o;17430:528::-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;17562:37:7;17587:11;17562:24;:37::i;:::-;17607:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17607:32:7;;;;;17554:86;;;;;;-1:-1:-1;;;;;17554:86:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17554:86:7;;17658:22;17671:8;17658:12;:22::i;:::-;17703:20;;;;;;;;;;;;;;;;;;17650:74;;;;;;-1:-1:-1;;;;;17650:74:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17650:74:7;;17743:40;17761:8;17771:11;17743:17;:40::i;:::-;17787:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17787:21:7;;;;;17742:41;17734:75;;;;-1:-1:-1;;;;;17734:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17734:75:7;;17827:43;17840:8;17850:11;17863:6;17827:12;:43::i;:::-;17872:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17872:22:7;;;;;17819:76;;;;;;-1:-1:-1;;;;;17819:76:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17819:76:7;;17906:45;17921:6;17929:8;17939:11;17906:14;:45::i;6075:48::-;;;;:::o;21696:201::-;21815:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;21841:49:7;21857:7;21866:8;21876:13;21841:15;:49::i;:::-;21834:56;;787:1:48;21696:201:7;;;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;14694:493:7:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2495:66:7;;990:47:39;;1001:10;;2495:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;14918:37:7;14943:11;14918:24;:37::i;:::-;14957:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14957:32:7;;;;;14910:80;;;;;;-1:-1:-1;;;;;14910:80:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;14910:80:7;;15008:35;15029:13;15008:20;:35::i;:::-;15047:27;;;;;;;;;;;;;;;;;;15000:75;;;;;;-1:-1:-1;;;;;15000:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15000:75:7;;15086:94;15109:11;15122:14;15138:15;15155:13;15170:9;15086:22;:94::i;:::-;14694:493;;;;;;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;19361:370:7:-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;19502:40:7;19520:8;19530:11;19502:17;:40::i;:::-;19547:25;;;;;;;;;;;;;;;;;;19494:79;;;;;;-1:-1:-1;;;;;19494:79:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;19494:79:7;;19591:43;19604:8;19614:11;19627:6;19591:12;:43::i;:::-;19636:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;19636:22:7;;;;;19583:76;;;;;;-1:-1:-1;;;;;19583:76:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;19583:76:7;;19670:54;19694:6;19702:8;19712:11;19670:23;:54::i;13810:239::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2368:66:7;;990:47:39;;1001:10;;2368:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;13924:37:7;13949:11;13924:24;:37::i;:::-;13963:32;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13963:32:7;;;;;13916:80;;;;;;-1:-1:-1;;;;;13916:80:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13916:80:7;;14007:35;14030:11;14007:22;:35::i;6180:54::-;;;;:::o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;2313:121:7;2368:66;2313:121;:::o;5967:49::-;;;;:::o;5809:45::-;;;-1:-1:-1;;;;;5809:45:7;;:::o;2694:121::-;2749:66;2694:121;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;11242:187:7:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;1860:66:7;;990:47:39;;1001:10;;1860:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;11343:20:7;11354:8;11343:10;:20::i;:::-;11365:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11365:21:7;;;;;11335:52;;;;;;-1:-1:-1;;;;;11335:52:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11335:52:7;;11398:24;11413:8;11398:14;:24::i;20187:378::-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;20330:40:7;20348:8;20358:11;20330:17;:40::i;:::-;20377:25;;;;;;;;;;;;;;;;;;20322:81;;;;;;-1:-1:-1;;;;;20322:81:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;20322:81:7;;20421:45;20435:8;20445:11;20458:7;20421:13;:45::i;:::-;20468:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;20468:22:7;;;;;20413:78;;;;;;-1:-1:-1;;;;;20413:78:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;20413:78:7;;20502:56;20527:7;20536:8;20546:11;20502:24;:56::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;20612:114:7:-;20676:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;20702:17:7;:15;:17::i;6306:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20732:339::-;20816:4;20822:7;20831;20840:6;20848:7;20867:29;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;;;;;;;;20899:24:7;;;;;;;;:11;:24;;;;;20942:22;;;20966:24;;;20992:25;;;;21019:23;;;;21044:19;;;;;20942:22;;;;;20966:24;;-1:-1:-1;20992:25:7;-1:-1:-1;21019:23:7;;;;;-1:-1:-1;21044:19:7;20732:339::o;5650:48::-;;;-1:-1:-1;;;;;5650:48:7;;:::o;6022:47::-;;;;:::o;5760:43::-;;;-1:-1:-1;;;;;5760:43:7;;:::o;2822:::-;2857:8;2822:43;:::o;10982:112::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;1733:66:7;;990:47:39;;1001:10;;1733:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;11042:6:7;;11050:18;;;;;;;;;;;;;;;;;;11042:6;;11041:7;11033:36;;;;-1:-1:-1;;;;;11033:36:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11033:36:7;;11080:7;:5;:7::i;:::-;10982:112;:::o;13023:594::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2241:66:7;;990:47:39;;1001:10;;2241:66:7;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;13241:23:7;13252:11;13241:10;:23::i;:::-;:45;;;-1:-1:-1;;;;;;13268:18:7;;;13241:45;13288:24;;;;;;;;;;;;;;;;;;13233:80;;;;;;-1:-1:-1;;;;;13233:80:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13233:80:7;;13332:37;13357:11;13332:24;:37::i;:::-;13378:36;;;;;;;;;;;;;;;;;;;;;;;;;13331:38;13323:92;;;;-1:-1:-1;;;;;13323:92:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13323:92:7;;13433:35;13454:13;13433:20;:35::i;:::-;13480:27;;;;;;;;;;;;;;;;;;13425:83;;;;;;-1:-1:-1;;;;;13425:83:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13425:83:7;;13519:91;13539:11;13552:14;13568:15;13585:13;13600:9;13519:19;:91::i;347:94:53:-;422:12;347:94;:::o;22367:130:7:-;-1:-1:-1;;;;;22464:26:7;;;;22367:130::o;31888:149::-;31957:11;:26;;-1:-1:-1;;;;;;31957:26:7;-1:-1:-1;;;;;31957:26:7;;;;;;;;31999:31;;;;-1:-1:-1;;31999:31:7;31888:149;:::o;23597:144::-;-1:-1:-1;;;;;23698:24:7;23675:4;23698:24;;;:11;:24;;;;;:36;;;;23597:144::o;22203:131::-;22315:11;;22253:7;;22279:48;;22280:29;:12;22315:11;22280:29;:16;:29;:::i;:::-;22279:35;:48;:35;:48;:::i;23874:171::-;23963:4;23986:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;23986:42:7;;;;;;:29;;;;:42;;;;:52;;;;;;;23874:171::o;23409:182::-;23494:4;23517:12;;;;;:67;;-1:-1:-1;23533:12:7;;:40;;;;;;-1:-1:-1;;;;;23533:40:7;;;;;;;;;23577:7;;23533:12;;;;;:31;;:40;;;;;;;;;;;;;;;:12;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;23533:40:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23533:40:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23533:40:7;:51;;23510:74;23409:182;-1:-1:-1;;;23409:182:7:o;36052:1210::-;36151:15;36168:19;36318:27;36378:28;36191:26;36205:11;36191:13;:26::i;:::-;36250:12;;:35;;;;;;-1:-1:-1;;;;;36250:35:7;;;;;;;;;;;;;;;36150:67;;-1:-1:-1;36150:67:7;;-1:-1:-1;36250:12:7;;:17;;:35;;;;;:12;;:35;;;;;;;;:12;;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;36250:35:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;36348:20:7;;;;36409:21;;;;36488:20;;;;36348;;-1:-1:-1;36409:21:7;-1:-1:-1;36488:33:7;;-1:-1:-1;36513:7:7;36488:33;:24;:33;:::i;:::-;36465:20;;;:56;-1:-1:-1;;;;;36556:22:7;;;;;;:13;;;:22;;;;;;:35;;36583:7;36556:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;36531:22:7;;;;;;:13;;;:22;;;;;:60;36628:43;36531:5;36650:7;36659:11;36628:14;:43::i;:::-;36783:67;36829:5;:20;;;36783:41;36804:19;36783:16;;:20;;:41;;;;:::i;:::-;:45;:67;:45;:67;:::i;:::-;36764:16;:86;36964:21;;;;-1:-1:-1;;;;;36898:35:7;;;;;;:22;:35;;;;;;:88;;36964:21;36898:61;;36938:20;36898:61;:39;:61;:::i;:88::-;-1:-1:-1;;;;;36860:35:7;;;;;;:22;:35;;;;;:126;37030:36;37047:5;36883:11;37030:16;:36::i;:::-;37068:28;;;;;;;;;;;;;;;;;;37022:75;;;;;;-1:-1:-1;;;;;37022:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;37022:75:7;;37115:37;37140:11;37115:24;:37::i;:::-;37154:31;;;;;;;;;;;;;;;;;;37107:79;;;;;;-1:-1:-1;;;;;37107:79:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;37107:79:7;;37234:11;-1:-1:-1;;;;;37202:53:7;37225:7;37216;-1:-1:-1;;;;;37202:53:7;;37247:7;37202:53;;;;;;;;;;;;;;;;;;36052:1210;;;;;;;:::o;22914:489::-;23042:4;23062:11;;23058:54;;;-1:-1:-1;23096:5:7;23089:12;;23058:54;-1:-1:-1;;;;;23126:18:7;;;23122:75;;;-1:-1:-1;23167:19:7;;;23160:26;;23122:75;23228:14;;:81;;;;-1:-1:-1;23258:10:7;;;:41;;;-1:-1:-1;;;;;23258:41:7;;-1:-1:-1;;;;;23258:41:7;;;;;;;;;;;;;;;;23303:6;;23258:10;;;;;:20;;:41;;;;;;;;;;;;;;;;;;:10;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;23258:41:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23258:41:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23258:41:7;:51;;23228:81;:158;;;;-1:-1:-1;23325:51:7;;;;;;-1:-1:-1;;;;;23325:51:7;;;;;;;23370:4;23325:51;;;;;;23380:6;;23325:28;;;;;:51;;;;;;;;;;;;;;-1:-1:-1;23325:28:7;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;23325:51:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23325:51:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23325:51:7;:61;;23228:158;23207:189;;22914:489;;;;;;;:::o;34662:1384::-;34758:15;34775:19;34857:11;34937:13;35200:27;35260:28;34798:26;34812:11;34798:13;:26::i;:::-;34882:20;;;;:11;:20;;;;;:30;;;34757:67;;-1:-1:-1;34757:67:7;-1:-1:-1;34871:56:7;;2857:8;;34871:42;;:6;;:42;:10;:42;:::i;:::-;:46;:56;:46;:56;:::i;:::-;34857:70;-1:-1:-1;34953:15:7;:6;34857:70;34953:15;:10;:15;:::i;:::-;34937:31;;35027:1;35021:3;:7;35017:86;;;35062:11;;35044:48;;35054:6;;-1:-1:-1;;;;;35062:11:7;35075;35088:3;35044:9;:48::i;:::-;35138:7;;35112:55;;35122:6;;-1:-1:-1;;;;;35138:7:7;35148:11;35161:5;35112:9;:55::i;:::-;-1:-1:-1;;35230:20:7;;;;35291:21;;;;35369:19;;;;:30;;35393:5;35369:30;:23;:30;:::i;:::-;35347:19;;;:52;-1:-1:-1;;;;;35432:20:7;;;;;;:12;;;:20;;;;;;:31;;35457:5;35432:31;:24;:31;:::i;:::-;-1:-1:-1;;;;;35409:20:7;;;;;;:12;;;:20;;;;;:54;35500:43;35409:5;35522:7;35531:11;35500:14;:43::i;:::-;35655:67;35701:5;:20;;;35655:41;35676:19;35655:16;;:20;;:41;;;;:::i;:67::-;35636:16;:86;35836:21;;;;-1:-1:-1;;;;;35770:35:7;;;;;;:22;:35;;;;;;:88;;35836:21;35770:61;;35810:20;35770:61;:39;:61;:::i;:88::-;-1:-1:-1;;;;;35732:35:7;;;;;;:22;:35;;;;;:126;35902:36;35919:5;35755:11;35902:16;:36::i;:::-;35940:28;;;;;;;;;;;;;;;;;;35894:75;;;;;;-1:-1:-1;;;;;35894:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;35894:75:7;;36015:11;-1:-1:-1;;;;;35985:54:7;36006:7;35998:6;-1:-1:-1;;;;;35985:54:7;;36028:3;36033:5;35985:54;;;;;;;;;;;;;;;;;;;;;;;;34662:1384;;;;;;;;;:::o;105:128:55:-;210:15;;200:27::o;659:113::-;742:22;;740:26::o;23747:121:7:-;23810:4;23844:17;:15;:17::i;:::-;23833:28;;;;23747:121;-1:-1:-1;23747:121:7:o;24283:228::-;24383:4;24421:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;24421:42:7;;;;;:29;;:42;;;;;24480:20;;;;;;:13;;;;:20;;;;;:24;;24283:228::o;37806:814::-;37906:19;37928:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;37928:42:7;;;;;:29;;;;:42;;;;;38057:20;;;;38029:21;;;;38002:22;;;;;:13;;;:22;;;;;;;37928:42;;37906:19;;;;;38001:77;;38057:20;38002:49;;;:26;:49;:::i;38001:77::-;38117:21;;;;:11;:21;;;;;:32;;;37980:98;;-1:-1:-1;38102:62:7;;2857:8;;38102:48;;37980:98;;38102:48;:14;:48;:::i;:62::-;38088:76;-1:-1:-1;38190:19:7;:10;38088:76;38190:19;:14;:19;:::i;:::-;-1:-1:-1;;;;;38220:22:7;;38245:1;38220:22;;;:13;;;:22;;;;;:26;;;38174:35;;-1:-1:-1;38261:9:7;;38257:188;;;-1:-1:-1;;;;;38324:35:7;;;;;;:22;:35;;;;;;:51;;38364:10;38324:51;:39;:51;:::i;:::-;-1:-1:-1;;;;;38286:35:7;;;;;;;:22;:35;;;;;;:89;;;;38389:7;;:45;;-1:-1:-1;;;;;38389:45:7;;;;;;;;;;;;;;;;;;;;;;;;:7;;;;;:16;;:45;;;;;38286:35;;38389:45;;;;;;38286:35;38389:7;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;38389:45:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38389:45:7;;;;38257:188;38464:1;38458:3;:7;38454:85;;;38481:7;;38511:11;;;38481:47;;;-1:-1:-1;;;;;38481:47:7;;-1:-1:-1;;;;;38481:47:7;;;;;;;;;;38511:11;;;38481:47;;;;;;;;;;;:7;;;;;:16;;:47;;;;;:7;;:47;;;;;;;:7;;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;38481:47:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38481:47:7;;;;38454:85;38589:11;-1:-1:-1;;;;;38555:58:7;38579:8;38570:7;-1:-1:-1;;;;;38555:58:7;;38602:3;38607:5;38555:58;;;;;;;;;;;;;;;;;;;;;;;;37806:814;;;;;;;:::o;22503:103::-;2857:8;-1:-1:-1;22584:15:7;22503:103::o;32190:195::-;32271:9;:22;;;32303:10;:24;;;32343:35;;;;;;;;;;;;;;;;;;;;;;;;;32190:195;;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;22743:165:7:-;22831:4;-1:-1:-1;;22854:13:7;-1:-1:-1;;;;;22854:30:7;;:32;;;;;-1:-1:-1;;;22854:32:7;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22854:32:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22854:32:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22854:32:7;:47;;22743:165;-1:-1:-1;;22743:165:7:o;24051:226::-;24150:4;24188:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;24188:42:7;;;;;:29;;:42;;;;;24247:19;;;;;;:12;;;;:19;;;;;:23;;24051:226::o;37268:532::-;37366:19;37388:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;37388:42:7;;;;;:29;;;;:42;;;;;37513:19;;;;37486:20;;;;37461;;;;;:12;;;:20;;;;;;;37388:42;;37366:19;37460:73;;37513:19;;37461:46;;;:24;:46;:::i;37460:73::-;-1:-1:-1;;;;;37544:20:7;;37567:1;37544:20;;;:12;;;:20;;;;;:24;;;37440:93;;-1:-1:-1;37583:13:7;;37579:144;;;37631:16;;:31;;37652:9;37631:31;:20;:31;:::i;:::-;37612:16;:50;37676:12;;:36;;;-1:-1:-1;;;;;37676:36:7;;-1:-1:-1;;;;;37676:36:7;;;;;;;;;;;;;;;:12;;;;;:17;;:36;;;;;:12;;:36;;;;;;;:12;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;37676:36:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;37676:36:7;;;;37579:144;37770:11;-1:-1:-1;;;;;37738:55:7;37760:8;37752:6;-1:-1:-1;;;;;37738:55:7;;37783:9;37738:55;;;;;;;;;;;;;;;;;;37268:532;;;;;:::o;21974:223::-;22079:7;22105:85;22154:35;:7;22166:22;;;;;22154:11;:35;:::i;:::-;22105:44;22140:8;22105:30;2948:7;;22105:16;:30::i;22612:125::-;2948:7;22710:20;;;;;22612:125;;;:::o;34079:577::-;-1:-1:-1;;;;;34300:24:7;;;;;;:11;:24;;;;;;;;;:38;;;:55;;;34365:39;;;:57;;;34432:37;;;:53;;;;;-1:-1:-1;;34432:53:7;;;;;;;;34495:33;;;;:45;;;34556:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34079:577;;;;;:::o;519:134:55:-;630:15;;620:27::o;38626:527:7:-;38733:19;38755:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;38755:42:7;;;;;:29;;;;:42;;;;;38824:20;;;;;:12;;;:20;;;;;;;38854:24;;;;38755:42;;38893:9;;38889:182;;;-1:-1:-1;;;;;38956:35:7;;;;;;:22;:35;;;;;;:46;;38996:5;38956:46;:39;:46;:::i;:::-;-1:-1:-1;;;;;38918:35:7;;;;;;;:22;:35;;;;;;:84;;;;39016:7;;:44;;-1:-1:-1;;;;;39016:44:7;;;;;;;;;;;;;;;;;;;;;;;;:7;;;;;:16;;:44;;;;;38918:35;;39016:44;;;;;;38918:35;39016:7;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;39016:44:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39016:44:7;;;;38889:182;39127:11;-1:-1:-1;;;;;39086:60:7;39117:8;39109:6;-1:-1:-1;;;;;39086:60:7;;39140:5;39086:60;;;;;;;;;;;;;;;;;;38626:527;;;;;:::o;33647:426::-;33762:29;33719:32;33739:11;33719:19;:32::i;:::-;-1:-1:-1;;;;;;33794:24:7;;;;;;:11;:24;;;;;;33828:29;;-1:-1:-1;;33828:29:7;;;;33874:24;;33867:31;;;33915:25;;;33908:32;;;33957:23;;;33950:30;;-1:-1:-1;;33950:30:7;;;33997:19;;;33990:26;;;34032:34;;33794:24;;;34032:34;;;33647:426;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;32043:141:7:-;32111:7;:18;;-1:-1:-1;;;;;;32111:18:7;-1:-1:-1;;;;;32111:18:7;;;;;;;;32145:32;;;;-1:-1:-1;;32145:32:7;32043:141;:::o;39159:491::-;39268:19;39290:21;;;:11;:21;;;;;;;;-1:-1:-1;;;;;39290:42:7;;;;;:29;;;;:42;;;;;39360:22;;;;;:13;;;:22;;;;;;;39392:26;;;;39290:42;;39433:10;;39429:136;;;39478:16;;:28;;39499:6;39478:28;:20;:28;:::i;:::-;39459:16;:47;39520:12;;:34;;;-1:-1:-1;;;;;39520:34:7;;-1:-1:-1;;;;;39520:34:7;;;;;;;;;;;;;;;:12;;;;;:17;;:34;;;;;:12;;:34;;;;;;;:12;;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;39520:34:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39520:34:7;;;;39429:136;39623:11;-1:-1:-1;;;;;39580:63:7;39613:8;39604:7;-1:-1:-1;;;;;39580:63:7;;39636:6;39580:63;;;;;;;;;;;;;;;;;;39159:491;;;;;:::o;31804:78::-;31840:6;:13;;-1:-1:-1;;31840:13:7;31849:4;31840:13;;;31869:6;;;;31840;;31869;31804:78::o;33064:577::-;-1:-1:-1;;;;;33235:24:7;;;;;;:11;:24;;;;;;;;;:43;;-1:-1:-1;;33235:43:7;33274:4;33235:43;;;;;33288:38;;:55;;;33353:39;;;:57;;;33420:37;;;:53;;;;;-1:-1:-1;;33420:53:7;;;;;;;;33483:33;;;;:45;;;33544:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33064:577;;;;;:::o;1251:313:79:-;1346:14;;;;;;;;;;;;;;;;;1311:7;;;;1338:6;;;1330:31;;;;-1:-1:-1;;;;;1330:31:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1330:31:79;;1446:2;1441;:7;;;;;;;;1429:19;;1556:1;1549:8;;1251:313;;;;;;:::o;685:448::-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;27626:4134:7;27688:7;27697:5;27722:15;27767:27;27827:19;27740:17;:15;:17::i;:::-;27797:20;;;;:11;:20;;;;;;;;-1:-1:-1;;;;;27849:30:7;;;;:17;;;:30;;;;;;27895:21;;27722:35;;-1:-1:-1;27797:20:7;;-1:-1:-1;27849:30:7;-1:-1:-1;27895:21:7;;27894:22;27890:1717;;;29279:16;;29255:5;;:19;;;;;;;;:41;;29279:16;-1:-1:-1;;;;;29255:5:7;;:17;;:19;;;;;;;;;;;;;;:5;;:19;;;5:2:-1;;;;30:1;27;20:12;5:2;29255:19:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29255:19:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29255:19:7;;:41;:23;:41;:::i;:::-;29232:20;;;;:64;;;29332:9;;29310:19;;;:31;;;29378:10;;29355:20;;;:33;;;29422:7;;29402:17;;;:27;;-1:-1:-1;;;;;;29402:27:7;-1:-1:-1;;;;;29422:7:7;;;29402:27;;;;;29443:28;;-1:-1:-1;;29443:28:7;;;;;;29491:105;;;;;;;;;;;;;;;;;;;;29578:17;;;;29491:105;;;;;29504:7;;29491:105;;;;;;;;;;27890:1717;29622:17;;;;29621:18;29617:2103;;;31118:10;;;:42;;;;;;-1:-1:-1;;;;;31118:42:7;;;;;;;;;:10;;;;;:29;;:42;;;;;;;;;;;:10;;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;31118:42:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;;31214:24:7;;;;;;:11;:24;;;;;:38;;;;;31189:20;;;;:64;;:24;:64::i;:::-;31174:12;;;:79;-1:-1:-1;;;;;31384:35:7;;;;;;;:22;:35;;;;;;;;;31339:11;:24;;;;;:39;;;31283:10;;31312:7;;31283:51;;-1:-1:-1;;;;;31283:51:7;;31312:7;;;31283:51;;;;;;;;;;;;;:137;;31384:35;;31283:96;;31339:39;;31283:10;;;;;:20;;:51;;;;;31384:35;;31283:51;;;;;;;;;:10;:51;;;5:2:-1;;;;30:1;27;20:12;31283:96:7;:100;:137;:100;:137;:::i;:::-;31267:13;;;:153;;;-1:-1:-1;;;;;31455:24:7;;;;;;:11;:24;;;;;;;;;:37;;;;;31434:18;;;:58;;-1:-1:-1;;31434:58:7;31455:37;;;;31434:58;;;;;31523:33;;;;;31506:14;;;:50;;;31570:24;;-1:-1:-1;;31570:24:7;31455:37;31570:24;;;;;31645:12;;;31614:95;;;;;;;;;;;;31674:18;;;;31614:95;;;;;;;;;;;;31455:24;;31623:7;;31614:95;;;;;;;;;29617:2103;31738:7;;31747:5;;-1:-1:-1;27626:4134:7;;-1:-1:-1;;;27626:4134:7:o;1928:170:79:-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;39656:4568:7;40126:22;40753:20;41730:21;42081:27;43320:20;43663:26;40151:64;40167:5;:12;;;40181:5;:13;;;40196:5;:18;;;;;;;;;;;;40151:15;:64::i;:::-;40776:20;;;;40126:89;;-1:-1:-1;40776:58:7;;2948:7;;40776:40;;40126:89;40776:24;:40::i;:58::-;40753:81;;40864:5;:19;;;40849:12;:34;40845:3232;;;41472:19;;;;:57;;41514:14;;41472:37;;2948:7;41472:23;:37::i;:57::-;41449:20;;;:80;;;41754:20;;;;:46;;;:24;:46;:::i;:::-;41730:70;;42111:11;:21;42123:8;42111:21;;;;;;;;;;;:29;;;;;;;;;;-1:-1:-1;;;;;42111:29:7;-1:-1:-1;;;;;42111:49:7;;42161:5;:12;;;42175:5;:13;;;42190:5;:18;;;;;;;;;;;;42210:13;42111:113;;;;;-1:-1:-1;;;42111:113:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42111:113:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;42111:113:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42111:113:7;42441:19;;;;42111:113;;-1:-1:-1;42441:44:7;;42111:113;42441:44;:23;:44;:::i;:::-;42417:21;;;:68;40845:3232;;;43077:21;;;:36;;;43343:19;;;;:37;;43101:12;43343:37;:23;:37;:::i;:::-;43320:60;;43692:11;:21;43704:8;43692:21;;;;;;;;;;;:29;;;;;;;;;;-1:-1:-1;;;;;43692:29:7;-1:-1:-1;;;;;43692:53:7;;43746:5;:12;;;43760:5;:13;;;43775:5;:18;;;;;;;;;;;;43795:12;43692:116;;;;;-1:-1:-1;;;43692:116:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43692:116:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;43692:116:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43692:116:7;44022:20;;;;43692:116;;-1:-1:-1;44022:44:7;;43692:116;44022:44;:24;:44;:::i;:::-;43999:20;;;:67;40845:3232;44130:19;;;;44151:20;;;;44173;;;;44195:21;;;;44093:124;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44093:124:7;;;44107:8;;44093:124;;;;;;;;;39656:4568;;;;;;;;;:::o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;24721:551:7:-;24870:13;;;;24885:14;;;;24901:19;;;;24813:4;;;;;;24854:67;;24870:13;24885:14;24901:19;;24854:15;:67::i;:::-;24829:92;;24957:6;:15;;;24931:41;;25066:14;25084:1;25066:19;25062:61;;;25108:4;25101:11;;;;25062:61;25140:60;25160:6;25168:14;25184:15;25140:19;:60::i;:::-;:125;;;;;25204:61;25225:6;25233:14;25249:15;25204:20;:61::i;:::-;25133:132;;24721:551;;;;;;;:::o;24517:198::-;-1:-1:-1;;;;;24673:35:7;;;24595:4;24673:35;;;:22;:35;;;;;;;;;24618:10;;24647:7;;24618:51;;-1:-1:-1;;;;;24618:51:7;;24647:7;;;24618:51;;;;;;;;;;;;;24595:4;;24673:35;;24618:10;;;:20;;:51;;;;;24673:35;;24618:51;;;;;;24595:4;24618:10;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;24618:51:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24618:51:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24618:51:7;:90;;;24517:198;-1:-1:-1;;24517:198:7:o;44230:319::-;-1:-1:-1;;;;;44343:23:7;;;44339:204;;;44382:21;;-1:-1:-1;;;;;44382:12:7;;;:21;;;;;44395:7;;44382:21;;;;44395:7;44382:12;:21;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;44382:21:7;44339:204;;;44442:61;-1:-1:-1;;;;;44442:40:7;;44483:5;44490:3;44495:7;44442:61;:40;:61;:::i;:::-;44505:26;;;;;;;;;;;;;;;;;;44434:98;;;;;;-1:-1:-1;;;;;44434:98:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;44434:98:7;;44230:319;;;;:::o;1028:119:55:-;1117:22;;1115:26::o;32391:667:7:-;32461:15;32478:19;32501:26;32515:11;32501:13;:26::i;:::-;32542:15;;32460:67;;-1:-1:-1;32542:15:7;-1:-1:-1;32542:15:7;;;;;32541:16;32537:515;;;32573:22;;-1:-1:-1;;32573:22:7;;;;;32828:20;;;;32802;;;;32781:16;;:68;;32828:20;32781:42;;:16;:42;:20;:42;:::i;:68::-;32762:16;:87;32966:21;;;;32941:19;;;;-1:-1:-1;;;;;32901:35:7;;;;;;:22;:35;;;;;;:87;;32966:21;32901:60;;:35;:60;:39;:60;:::i;:87::-;-1:-1:-1;;;;;32863:35:7;;;;;;:22;:35;;;;;;:125;;;;33008:33;;32863:35;;33020:7;;33008:33;;32863:35;33008:33;32391:667;;;:::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;25278:1114:7:-;26264:20;;;;25405:4;;26264:52;;2948:7;;26264:34;;2857:8;26264:24;:34::i;:52::-;26168:80;26217:30;2857:8;26230:16;26217:30;:12;:30;:::i;:::-;26168:21;;;;:44;;26194:17;26168:44;:25;:44;:::i;:80::-;:148;26151:212;;-1:-1:-1;26348:4:7;26341:11;;26151:212;-1:-1:-1;26380:5:7;25278:1114;;;;;:::o;26398:1186::-;26526:4;2857:8;26784:28;;26780:70;;-1:-1:-1;26835:4:7;26828:11;;26780:70;27486:21;;;;27428:80;;:53;27450:30;2857:8;27463:16;27450:30;:12;:30;:::i;:::-;27428:17;;:53;:21;:53;:::i;:80::-;27358:22;;;;:54;;2948:7;;27358:36;;2857:8;27358:26;:36::i;3586:361:52:-;3741:131;;;-1:-1:-1;;;;;3741:131:52;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3741:131:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3777:28:52;179:29:-1;160:49;;3689:4:52;;3889:51;3777:6;3741:131;3889:21;:51::i;:::-;3882:58;3586:361;-1:-1:-1;;;;;;3586:361:52:o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\nimport \"@aragon/apps-token-manager/contracts/TokenManager.sol\";\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\nimport \"@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol\";\n\n\ncontract BatchedBancorMarketMaker is EtherTokenConstant, IsContract, AragonApp {\n using SafeERC20 for ERC20;\n using SafeMath for uint256;\n\n /**\n Hardcoded constants to save gas\n bytes32 public constant OPEN_ROLE = keccak256(\"OPEN_ROLE\");\n bytes32 public constant UPDATE_FORMULA_ROLE = keccak256(\"UPDATE_FORMULA_ROLE\");\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = keccak256(\"UPDATE_BENEFICIARY_ROLE\");\n bytes32 public constant UPDATE_FEES_ROLE = keccak256(\"UPDATE_FEES_ROLE\");\n bytes32 public constant ADD_COLLATERAL_TOKEN_ROLE = keccak256(\"ADD_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant REMOVE_COLLATERAL_TOKEN_ROLE = keccak256(\"REMOVE_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant UPDATE_COLLATERAL_TOKEN_ROLE = keccak256(\"UPDATE_COLLATERAL_TOKEN_ROLE\");\n bytes32 public constant OPEN_BUY_ORDER_ROLE = keccak256(\"OPEN_BUY_ORDER_ROLE\");\n bytes32 public constant OPEN_SELL_ORDER_ROLE = keccak256(\"OPEN_SELL_ORDER_ROLE\");\n */\n bytes32 public constant OPEN_ROLE = 0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4;\n bytes32 public constant UPDATE_FORMULA_ROLE = 0xbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb;\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = 0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593;\n bytes32 public constant UPDATE_FEES_ROLE = 0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822;\n bytes32 public constant ADD_COLLATERAL_TOKEN_ROLE = 0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d;\n bytes32 public constant REMOVE_COLLATERAL_TOKEN_ROLE = 0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2;\n bytes32 public constant UPDATE_COLLATERAL_TOKEN_ROLE = 0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d;\n bytes32 public constant OPEN_BUY_ORDER_ROLE = 0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7;\n bytes32 public constant OPEN_SELL_ORDER_ROLE = 0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0;\n\n uint256 public constant PCT_BASE = 10 ** 18; // 0% = 0; 1% = 10 ** 16; 100% = 10 ** 18\n uint32 public constant PPM = 1000000;\n\n string private constant ERROR_CONTRACT_IS_EOA = \"MM_CONTRACT_IS_EOA\";\n string private constant ERROR_INVALID_BENEFICIARY = \"MM_INVALID_BENEFICIARY\";\n string private constant ERROR_INVALID_BATCH_BLOCKS = \"MM_INVALID_BATCH_BLOCKS\";\n string private constant ERROR_INVALID_PERCENTAGE = \"MM_INVALID_PERCENTAGE\";\n string private constant ERROR_INVALID_RESERVE_RATIO = \"MM_INVALID_RESERVE_RATIO\";\n string private constant ERROR_INVALID_TM_SETTING = \"MM_INVALID_TM_SETTING\";\n string private constant ERROR_INVALID_COLLATERAL = \"MM_INVALID_COLLATERAL\";\n string private constant ERROR_INVALID_COLLATERAL_VALUE = \"MM_INVALID_COLLATERAL_VALUE\";\n string private constant ERROR_INVALID_BOND_AMOUNT = \"MM_INVALID_BOND_AMOUNT\";\n string private constant ERROR_ALREADY_OPEN = \"MM_ALREADY_OPEN\";\n string private constant ERROR_NOT_OPEN = \"MM_NOT_OPEN\";\n string private constant ERROR_COLLATERAL_ALREADY_WHITELISTED = \"MM_COLLATERAL_ALREADY_WHITELISTED\";\n string private constant ERROR_COLLATERAL_NOT_WHITELISTED = \"MM_COLLATERAL_NOT_WHITELISTED\";\n string private constant ERROR_NOTHING_TO_CLAIM = \"MM_NOTHING_TO_CLAIM\";\n string private constant ERROR_BATCH_NOT_OVER = \"MM_BATCH_NOT_OVER\";\n string private constant ERROR_BATCH_CANCELLED = \"MM_BATCH_CANCELLED\";\n string private constant ERROR_BATCH_NOT_CANCELLED = \"MM_BATCH_NOT_CANCELLED\";\n string private constant ERROR_SLIPPAGE_EXCEEDS_LIMIT = \"MM_SLIPPAGE_EXCEEDS_LIMIT\";\n string private constant ERROR_INSUFFICIENT_POOL_BALANCE = \"MM_INSUFFICIENT_POOL_BALANCE\";\n string private constant ERROR_TRANSFER_FROM_FAILED = \"MM_TRANSFER_FROM_FAILED\";\n\n struct Collateral {\n bool whitelisted;\n uint256 virtualSupply;\n uint256 virtualBalance;\n uint32 reserveRatio;\n uint256 slippage;\n }\n\n struct MetaBatch {\n bool initialized;\n uint256 realSupply;\n uint256 buyFeePct;\n uint256 sellFeePct;\n IBancorFormula formula;\n mapping(address => Batch) batches;\n }\n\n struct Batch {\n bool initialized;\n bool cancelled;\n uint256 supply;\n uint256 balance;\n uint32 reserveRatio;\n uint256 slippage;\n uint256 totalBuySpend;\n uint256 totalBuyReturn;\n uint256 totalSellSpend;\n uint256 totalSellReturn;\n mapping(address => uint256) buyers;\n mapping(address => uint256) sellers;\n }\n\n IAragonFundraisingController public controller;\n TokenManager public tokenManager;\n ERC20 public token;\n Vault public reserve;\n address public beneficiary;\n IBancorFormula public formula;\n\n uint256 public batchBlocks;\n uint256 public buyFeePct;\n uint256 public sellFeePct;\n\n bool public isOpen;\n uint256 public tokensToBeMinted;\n mapping(address => uint256) public collateralsToBeClaimed;\n mapping(address => Collateral) public collaterals;\n mapping(uint256 => MetaBatch) public metaBatches;\n\n event UpdateBeneficiary (address indexed beneficiary);\n event UpdateFormula (address indexed formula);\n event UpdateFees (uint256 buyFeePct, uint256 sellFeePct);\n event NewMetaBatch (uint256 indexed id, uint256 supply, uint256 buyFeePct, uint256 sellFeePct, address formula);\n event NewBatch (\n uint256 indexed id,\n address indexed collateral,\n uint256 supply,\n uint256 balance,\n uint32 reserveRatio,\n uint256 slippage)\n ;\n event CancelBatch (uint256 indexed id, address indexed collateral);\n event AddCollateralToken (\n address indexed collateral,\n uint256 virtualSupply,\n uint256 virtualBalance,\n uint32 reserveRatio,\n uint256 slippage\n );\n event RemoveCollateralToken (address indexed collateral);\n event UpdateCollateralToken (\n address indexed collateral,\n uint256 virtualSupply,\n uint256 virtualBalance,\n uint32 reserveRatio,\n uint256 slippage\n );\n event Open ();\n event OpenBuyOrder (address indexed buyer, uint256 indexed batchId, address indexed collateral, uint256 fee, uint256 value);\n event OpenSellOrder (address indexed seller, uint256 indexed batchId, address indexed collateral, uint256 amount);\n event ClaimBuyOrder (address indexed buyer, uint256 indexed batchId, address indexed collateral, uint256 amount);\n event ClaimSellOrder (address indexed seller, uint256 indexed batchId, address indexed collateral, uint256 fee, uint256 value);\n event ClaimCancelledBuyOrder (address indexed buyer, uint256 indexed batchId, address indexed collateral, uint256 value);\n event ClaimCancelledSellOrder(address indexed seller, uint256 indexed batchId, address indexed collateral, uint256 amount);\n event UpdatePricing (\n uint256 indexed batchId,\n address indexed collateral,\n uint256 totalBuySpend,\n uint256 totalBuyReturn,\n uint256 totalSellSpend,\n uint256 totalSellReturn\n );\n\n\n /***** external function *****/\n\n /**\n * @notice Initialize market maker\n * @param _controller The address of the controller contract\n * @param _tokenManager The address of the [bonded token] token manager contract\n * @param _reserve The address of the reserve [pool] contract\n * @param _beneficiary The address of the beneficiary [to whom fees are to be sent]\n * @param _formula The address of the BancorFormula [computation] contract\n * @param _batchBlocks The number of blocks batches are to last\n * @param _buyFeePct The fee to be deducted from buy orders [in PCT_BASE]\n * @param _sellFeePct The fee to be deducted from sell orders [in PCT_BASE]\n */\n function initialize(\n IAragonFundraisingController _controller,\n TokenManager _tokenManager,\n IBancorFormula _formula,\n Vault _reserve,\n address _beneficiary,\n uint256 _batchBlocks,\n uint256 _buyFeePct,\n uint256 _sellFeePct\n )\n external\n onlyInit\n {\n initialized();\n\n require(isContract(_controller), ERROR_CONTRACT_IS_EOA);\n require(isContract(_tokenManager), ERROR_CONTRACT_IS_EOA);\n require(isContract(_formula), ERROR_CONTRACT_IS_EOA);\n require(isContract(_reserve), ERROR_CONTRACT_IS_EOA);\n require(_beneficiaryIsValid(_beneficiary), ERROR_INVALID_BENEFICIARY);\n require(_batchBlocks > 0, ERROR_INVALID_BATCH_BLOCKS);\n require(_feeIsValid(_buyFeePct) && _feeIsValid(_sellFeePct), ERROR_INVALID_PERCENTAGE);\n require(_tokenManagerSettingIsValid(_tokenManager), ERROR_INVALID_TM_SETTING);\n\n controller = _controller;\n tokenManager = _tokenManager;\n token = ERC20(tokenManager.token());\n formula = _formula;\n reserve = _reserve;\n beneficiary = _beneficiary;\n batchBlocks = _batchBlocks;\n buyFeePct = _buyFeePct;\n sellFeePct = _sellFeePct;\n }\n\n /* generic settings related function */\n\n /**\n * @notice Open market making [enabling users to open buy and sell orders]\n */\n function open() external auth(OPEN_ROLE) {\n require(!isOpen, ERROR_ALREADY_OPEN);\n\n _open();\n }\n\n /**\n * @notice Update formula to `_formula`\n * @param _formula The address of the new BancorFormula [computation] contract\n */\n function updateFormula(IBancorFormula _formula) external auth(UPDATE_FORMULA_ROLE) {\n require(isContract(_formula), ERROR_CONTRACT_IS_EOA);\n\n _updateFormula(_formula);\n }\n\n /**\n * @notice Update beneficiary to `_beneficiary`\n * @param _beneficiary The address of the new beneficiary [to whom fees are to be sent]\n */\n function updateBeneficiary(address _beneficiary) external auth(UPDATE_BENEFICIARY_ROLE) {\n require(_beneficiaryIsValid(_beneficiary), ERROR_INVALID_BENEFICIARY);\n\n _updateBeneficiary(_beneficiary);\n }\n\n /**\n * @notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n * @param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n * @param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]\n */\n function updateFees(uint256 _buyFeePct, uint256 _sellFeePct) external auth(UPDATE_FEES_ROLE) {\n require(_feeIsValid(_buyFeePct) && _feeIsValid(_sellFeePct), ERROR_INVALID_PERCENTAGE);\n\n _updateFees(_buyFeePct, _sellFeePct);\n }\n\n /* collateral tokens related functions */\n\n /**\n * @notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n * @param _collateral The address of the collateral token to be whitelisted\n * @param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n * @param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n * @param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n * @param _slippage The price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]\n */\n function addCollateralToken(address _collateral, uint256 _virtualSupply, uint256 _virtualBalance, uint32 _reserveRatio, uint256 _slippage)\n external\n auth(ADD_COLLATERAL_TOKEN_ROLE)\n {\n require(isContract(_collateral) || _collateral == ETH, ERROR_INVALID_COLLATERAL);\n require(!_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_ALREADY_WHITELISTED);\n require(_reserveRatioIsValid(_reserveRatio), ERROR_INVALID_RESERVE_RATIO);\n\n _addCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n /**\n * @notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n * @param _collateral The address of the collateral token to be un-whitelisted\n */\n function removeCollateralToken(address _collateral) external auth(REMOVE_COLLATERAL_TOKEN_ROLE) {\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n\n _removeCollateralToken(_collateral);\n }\n\n /**\n * @notice Update `_collateral.symbol(): string` collateralization settings\n * @param _collateral The address of the collateral token whose collateralization settings are to be updated\n * @param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n * @param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n * @param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n * @param _slippage The new price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]\n */\n function updateCollateralToken(address _collateral, uint256 _virtualSupply, uint256 _virtualBalance, uint32 _reserveRatio, uint256 _slippage)\n external\n auth(UPDATE_COLLATERAL_TOKEN_ROLE)\n {\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n require(_reserveRatioIsValid(_reserveRatio), ERROR_INVALID_RESERVE_RATIO);\n\n _updateCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n /* market making related functions */\n\n /**\n * @notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n * @param _buyer The address of the buyer\n * @param _collateral The address of the collateral token to be spent\n * @param _value The amount of collateral token to be spent\n */\n function openBuyOrder(address _buyer, address _collateral, uint256 _value) external payable auth(OPEN_BUY_ORDER_ROLE) {\n require(isOpen, ERROR_NOT_OPEN);\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n require(!_batchIsCancelled(_currentBatchId(), _collateral), ERROR_BATCH_CANCELLED);\n require(_collateralValueIsValid(_buyer, _collateral, _value, msg.value), ERROR_INVALID_COLLATERAL_VALUE);\n\n _openBuyOrder(_buyer, _collateral, _value);\n }\n\n /**\n * @notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n * @param _seller The address of the seller\n * @param _collateral The address of the collateral token to be returned\n * @param _amount The amount of bonded token to be spent\n */\n function openSellOrder(address _seller, address _collateral, uint256 _amount) external auth(OPEN_SELL_ORDER_ROLE) {\n require(isOpen, ERROR_NOT_OPEN);\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n require(!_batchIsCancelled(_currentBatchId(), _collateral), ERROR_BATCH_CANCELLED);\n require(_bondAmountIsValid(_seller, _amount), ERROR_INVALID_BOND_AMOUNT);\n\n _openSellOrder(_seller, _collateral, _amount);\n }\n\n /**\n * @notice Claim the results of `_buyer`'s `_collateral.symbol(): string` buy orders from batch #`_batchId`\n * @param _buyer The address of the user whose buy orders are to be claimed\n * @param _batchId The id of the batch in which buy orders are to be claimed\n * @param _collateral The address of the collateral token against which buy orders are to be claimed\n */\n function claimBuyOrder(address _buyer, uint256 _batchId, address _collateral) external nonReentrant isInitialized {\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n require(_batchIsOver(_batchId), ERROR_BATCH_NOT_OVER);\n require(!_batchIsCancelled(_batchId, _collateral), ERROR_BATCH_CANCELLED);\n require(_userIsBuyer(_batchId, _collateral, _buyer), ERROR_NOTHING_TO_CLAIM);\n\n _claimBuyOrder(_buyer, _batchId, _collateral);\n }\n\n /**\n * @notice Claim the results of `_seller`'s `_collateral.symbol(): string` sell orders from batch #`_batchId`\n * @param _seller The address of the user whose sell orders are to be claimed\n * @param _batchId The id of the batch in which sell orders are to be claimed\n * @param _collateral The address of the collateral token against which sell orders are to be claimed\n */\n function claimSellOrder(address _seller, uint256 _batchId, address _collateral) external nonReentrant isInitialized {\n require(_collateralIsWhitelisted(_collateral), ERROR_COLLATERAL_NOT_WHITELISTED);\n require(_batchIsOver(_batchId), ERROR_BATCH_NOT_OVER);\n require(!_batchIsCancelled(_batchId, _collateral), ERROR_BATCH_CANCELLED);\n require(_userIsSeller(_batchId, _collateral, _seller), ERROR_NOTHING_TO_CLAIM);\n\n _claimSellOrder(_seller, _batchId, _collateral);\n }\n\n /**\n * @notice Claim the investments of `_buyer`'s `_collateral.symbol(): string` buy orders from cancelled batch #`_batchId`\n * @param _buyer The address of the user whose cancelled buy orders are to be claimed\n * @param _batchId The id of the batch in which cancelled buy orders are to be claimed\n * @param _collateral The address of the collateral token against which cancelled buy orders are to be claimed\n */\n function claimCancelledBuyOrder(address _buyer, uint256 _batchId, address _collateral) external nonReentrant isInitialized {\n require(_batchIsCancelled(_batchId, _collateral), ERROR_BATCH_NOT_CANCELLED);\n require(_userIsBuyer(_batchId, _collateral, _buyer), ERROR_NOTHING_TO_CLAIM);\n\n _claimCancelledBuyOrder(_buyer, _batchId, _collateral);\n }\n\n /**\n * @notice Claim the investments of `_seller`'s `_collateral.symbol(): string` sell orders from cancelled batch #`_batchId`\n * @param _seller The address of the user whose cancelled sell orders are to be claimed\n * @param _batchId The id of the batch in which cancelled sell orders are to be claimed\n * @param _collateral The address of the collateral token against which cancelled sell orders are to be claimed\n */\n function claimCancelledSellOrder(address _seller, uint256 _batchId, address _collateral) external nonReentrant isInitialized {\n require(_batchIsCancelled(_batchId, _collateral), ERROR_BATCH_NOT_CANCELLED);\n require(_userIsSeller(_batchId, _collateral, _seller), ERROR_NOTHING_TO_CLAIM);\n\n _claimCancelledSellOrder(_seller, _batchId, _collateral);\n }\n\n /***** public view functions *****/\n\n function getCurrentBatchId() public view isInitialized returns (uint256) {\n return _currentBatchId();\n }\n\n function getCollateralToken(address _collateral) public view isInitialized returns (bool, uint256, uint256, uint32, uint256) {\n Collateral storage collateral = collaterals[_collateral];\n\n return (collateral.whitelisted, collateral.virtualSupply, collateral.virtualBalance, collateral.reserveRatio, collateral.slippage);\n }\n\n function getBatch(uint256 _batchId, address _collateral)\n public view isInitialized\n returns (bool, bool, uint256, uint256, uint32, uint256, uint256, uint256, uint256, uint256)\n {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n\n return (\n batch.initialized,\n batch.cancelled,\n batch.supply,\n batch.balance,\n batch.reserveRatio,\n batch.slippage,\n batch.totalBuySpend,\n batch.totalBuyReturn,\n batch.totalSellSpend,\n batch.totalSellReturn\n );\n }\n\n function getStaticPricePPM(uint256 _supply, uint256 _balance, uint32 _reserveRatio) public view isInitialized returns (uint256) {\n return _staticPricePPM(_supply, _balance, _reserveRatio);\n }\n\n /***** internal functions *****/\n\n /* computation functions */\n\n function _staticPricePPM(uint256 _supply, uint256 _balance, uint32 _reserveRatio) internal pure returns (uint256) {\n return uint256(PPM).mul(uint256(PPM)).mul(_balance).div(_supply.mul(uint256(_reserveRatio)));\n }\n\n function _currentBatchId() internal view returns (uint256) {\n return (block.number.div(batchBlocks)).mul(batchBlocks);\n }\n\n /* check functions */\n\n function _beneficiaryIsValid(address _beneficiary) internal pure returns (bool) {\n return _beneficiary != address(0);\n }\n\n function _feeIsValid(uint256 _fee) internal pure returns (bool) {\n return _fee < PCT_BASE;\n }\n\n function _reserveRatioIsValid(uint32 _reserveRatio) internal pure returns (bool) {\n return _reserveRatio <= PPM;\n }\n\n function _tokenManagerSettingIsValid(TokenManager _tokenManager) internal view returns (bool) {\n return _tokenManager.maxAccountTokens() == uint256(-1);\n }\n\n function _collateralValueIsValid(address _buyer, address _collateral, uint256 _value, uint256 _msgValue) internal view returns (bool) {\n if (_value == 0) {\n return false;\n }\n\n if (_collateral == ETH) {\n return _msgValue == _value;\n }\n\n return (\n _msgValue == 0 &&\n controller.balanceOf(_buyer, _collateral) >= _value &&\n ERC20(_collateral).allowance(_buyer, address(this)) >= _value\n );\n }\n\n function _bondAmountIsValid(address _seller, uint256 _amount) internal view returns (bool) {\n return _amount != 0 && tokenManager.spendableBalanceOf(_seller) >= _amount;\n }\n\n function _collateralIsWhitelisted(address _collateral) internal view returns (bool) {\n return collaterals[_collateral].whitelisted;\n }\n\n function _batchIsOver(uint256 _batchId) internal view returns (bool) {\n return _batchId < _currentBatchId();\n }\n\n function _batchIsCancelled(uint256 _batchId, address _collateral) internal view returns (bool) {\n return metaBatches[_batchId].batches[_collateral].cancelled;\n }\n\n function _userIsBuyer(uint256 _batchId, address _collateral, address _user) internal view returns (bool) {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n return batch.buyers[_user] > 0;\n }\n\n function _userIsSeller(uint256 _batchId, address _collateral, address _user) internal view returns (bool) {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n return batch.sellers[_user] > 0;\n }\n\n function _poolBalanceIsSufficient(address _collateral) internal view returns (bool) {\n return controller.balanceOf(address(reserve), _collateral) >= collateralsToBeClaimed[_collateral];\n }\n\n function _slippageIsValid(Batch storage _batch, address _collateral) internal view returns (bool) {\n uint256 staticPricePPM = _staticPricePPM(_batch.supply, _batch.balance, _batch.reserveRatio);\n uint256 maximumSlippage = _batch.slippage;\n\n // if static price is zero let's consider that every slippage is valid\n if (staticPricePPM == 0) {\n return true;\n }\n\n return _buySlippageIsValid(_batch, staticPricePPM, maximumSlippage) && _sellSlippageIsValid(_batch, staticPricePPM, maximumSlippage);\n }\n\n function _buySlippageIsValid(Batch storage _batch, uint256 _startingPricePPM, uint256 _maximumSlippage) internal view returns (bool) {\n /**\n * NOTE\n * the case where starting price is zero is handled\n * in the meta function _slippageIsValid()\n */\n\n /**\n * NOTE\n * slippage is valid if:\n * totalBuyReturn >= totalBuySpend / (startingPrice * (1 + maxSlippage))\n * totalBuyReturn >= totalBuySpend / ((startingPricePPM / PPM) * (1 + maximumSlippage / PCT_BASE))\n * totalBuyReturn >= totalBuySpend / ((startingPricePPM / PPM) * (1 + maximumSlippage / PCT_BASE))\n * totalBuyReturn >= totalBuySpend / ((startingPricePPM / PPM) * (PCT + maximumSlippage) / PCT_BASE)\n * totalBuyReturn * startingPrice * ( PCT + maximumSlippage) >= totalBuySpend * PCT_BASE * PPM\n */\n if (\n _batch.totalBuyReturn.mul(_startingPricePPM).mul(PCT_BASE.add(_maximumSlippage)) >=\n _batch.totalBuySpend.mul(PCT_BASE).mul(uint256(PPM))\n ) {\n return true;\n }\n\n return false;\n }\n\n function _sellSlippageIsValid(Batch storage _batch, uint256 _startingPricePPM, uint256 _maximumSlippage) internal view returns (bool) {\n /**\n * NOTE\n * the case where starting price is zero is handled\n * in the meta function _slippageIsValid()\n */\n\n // if allowed sell slippage >= 100%\n // then any sell slippage is valid\n if (_maximumSlippage >= PCT_BASE) {\n return true;\n }\n\n /**\n * NOTE\n * slippage is valid if\n * totalSellReturn >= startingPrice * (1 - maxSlippage) * totalBuySpend\n * totalSellReturn >= (startingPricePPM / PPM) * (1 - maximumSlippage / PCT_BASE) * totalBuySpend\n * totalSellReturn >= (startingPricePPM / PPM) * (PCT_BASE - maximumSlippage) * totalBuySpend / PCT_BASE\n * totalSellReturn * PCT_BASE * PPM = startingPricePPM * (PCT_BASE - maximumSlippage) * totalBuySpend\n */\n\n if (\n _batch.totalSellReturn.mul(PCT_BASE).mul(uint256(PPM)) >=\n _startingPricePPM.mul(PCT_BASE.sub(_maximumSlippage)).mul(_batch.totalSellSpend)\n ) {\n return true;\n }\n\n return false;\n }\n\n /* initialization functions */\n\n function _currentBatch(address _collateral) internal returns (uint256, Batch storage) {\n uint256 batchId = _currentBatchId();\n MetaBatch storage metaBatch = metaBatches[batchId];\n Batch storage batch = metaBatch.batches[_collateral];\n\n if (!metaBatch.initialized) {\n /**\n * NOTE\n * all collateral batches should be initialized with the same supply to\n * avoid price manipulation between different collaterals in the same meta-batch\n * we don't need to do the same with collateral balances as orders against one collateral\n * can't affect the pool's balance against another collateral and tap is a step-function\n * of the meta-batch duration\n */\n\n /**\n * NOTE\n * realSupply(metaBatch) = totalSupply(metaBatchInitialization) + tokensToBeMinted(metaBatchInitialization)\n * 1. buy and sell orders incoming during the current meta-batch and affecting totalSupply or tokensToBeMinted\n * should not be taken into account in the price computation [they are already a part of the batched pricing computation]\n * 2. the only way for totalSupply to be modified during a meta-batch [outside of incoming buy and sell orders]\n * is for buy orders from previous meta-batches to be claimed [and tokens to be minted]:\n * as such totalSupply(metaBatch) + tokenToBeMinted(metaBatch) will always equal totalSupply(metaBatchInitialization) + tokenToBeMinted(metaBatchInitialization)\n */\n metaBatch.realSupply = token.totalSupply().add(tokensToBeMinted);\n metaBatch.buyFeePct = buyFeePct;\n metaBatch.sellFeePct = sellFeePct;\n metaBatch.formula = formula;\n metaBatch.initialized = true;\n\n emit NewMetaBatch(batchId, metaBatch.realSupply, metaBatch.buyFeePct, metaBatch.sellFeePct, metaBatch.formula);\n }\n\n if (!batch.initialized) {\n /**\n * NOTE\n * supply(batch) = realSupply(metaBatch) + virtualSupply(batchInitialization)\n * virtualSupply can technically be updated during a batch: the on-going batch will still use\n * its value at the time of initialization [it's up to the updater to act wisely]\n */\n\n /**\n * NOTE\n * balance(batch) = poolBalance(batchInitialization) - collateralsToBeClaimed(batchInitialization) + virtualBalance(metaBatchInitialization)\n * 1. buy and sell orders incoming during the current batch and affecting poolBalance or collateralsToBeClaimed\n * should not be taken into account in the price computation [they are already a part of the batched price computation]\n * 2. the only way for poolBalance to be modified during a batch [outside of incoming buy and sell orders]\n * is for sell orders from previous meta-batches to be claimed [and collateral to be transfered] as the tap is a step-function of the meta-batch duration:\n * as such poolBalance(batch) - collateralsToBeClaimed(batch) will always equal poolBalance(batchInitialization) - collateralsToBeClaimed(batchInitialization)\n * 3. virtualBalance can technically be updated during a batch: the on-going batch will still use\n * its value at the time of initialization [it's up to the updater to act wisely]\n */\n controller.updateTappedAmount(_collateral);\n batch.supply = metaBatch.realSupply.add(collaterals[_collateral].virtualSupply);\n batch.balance = controller.balanceOf(address(reserve), _collateral).add(collaterals[_collateral].virtualBalance).sub(collateralsToBeClaimed[_collateral]);\n batch.reserveRatio = collaterals[_collateral].reserveRatio;\n batch.slippage = collaterals[_collateral].slippage;\n batch.initialized = true;\n\n emit NewBatch(batchId, _collateral, batch.supply, batch.balance, batch.reserveRatio, batch.slippage);\n }\n\n return (batchId, batch);\n }\n\n /* state modifiying functions */\n\n function _open() internal {\n isOpen = true;\n\n emit Open();\n }\n\n function _updateBeneficiary(address _beneficiary) internal {\n beneficiary = _beneficiary;\n\n emit UpdateBeneficiary(_beneficiary);\n }\n\n function _updateFormula(IBancorFormula _formula) internal {\n formula = _formula;\n\n emit UpdateFormula(address(_formula));\n }\n\n function _updateFees(uint256 _buyFeePct, uint256 _sellFeePct) internal {\n buyFeePct = _buyFeePct;\n sellFeePct = _sellFeePct;\n\n emit UpdateFees(_buyFeePct, _sellFeePct);\n }\n\n function _cancelCurrentBatch(address _collateral) internal {\n (uint256 batchId, Batch storage batch) = _currentBatch(_collateral);\n if (!batch.cancelled) {\n batch.cancelled = true;\n\n // bought bonds are cancelled but sold bonds are due back\n // bought collaterals are cancelled but sold collaterals are due back\n tokensToBeMinted = tokensToBeMinted.sub(batch.totalBuyReturn).add(batch.totalSellSpend);\n collateralsToBeClaimed[_collateral] = collateralsToBeClaimed[_collateral].add(batch.totalBuySpend).sub(batch.totalSellReturn);\n\n emit CancelBatch(batchId, _collateral);\n }\n }\n\n function _addCollateralToken(address _collateral, uint256 _virtualSupply, uint256 _virtualBalance, uint32 _reserveRatio, uint256 _slippage)\n internal\n {\n collaterals[_collateral].whitelisted = true;\n collaterals[_collateral].virtualSupply = _virtualSupply;\n collaterals[_collateral].virtualBalance = _virtualBalance;\n collaterals[_collateral].reserveRatio = _reserveRatio;\n collaterals[_collateral].slippage = _slippage;\n\n emit AddCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n function _removeCollateralToken(address _collateral) internal {\n _cancelCurrentBatch(_collateral);\n\n Collateral storage collateral = collaterals[_collateral];\n delete collateral.whitelisted;\n delete collateral.virtualSupply;\n delete collateral.virtualBalance;\n delete collateral.reserveRatio;\n delete collateral.slippage;\n\n emit RemoveCollateralToken(_collateral);\n }\n\n function _updateCollateralToken(\n address _collateral,\n uint256 _virtualSupply,\n uint256 _virtualBalance,\n uint32 _reserveRatio,\n uint256 _slippage\n )\n internal\n {\n collaterals[_collateral].virtualSupply = _virtualSupply;\n collaterals[_collateral].virtualBalance = _virtualBalance;\n collaterals[_collateral].reserveRatio = _reserveRatio;\n collaterals[_collateral].slippage = _slippage;\n\n emit UpdateCollateralToken(_collateral, _virtualSupply, _virtualBalance, _reserveRatio, _slippage);\n }\n\n function _openBuyOrder(address _buyer, address _collateral, uint256 _value) internal {\n (uint256 batchId, Batch storage batch) = _currentBatch(_collateral);\n\n // deduct fee\n uint256 fee = _value.mul(metaBatches[batchId].buyFeePct).div(PCT_BASE);\n uint256 value = _value.sub(fee);\n\n // collect fee and collateral\n if (fee > 0) {\n _transfer(_buyer, beneficiary, _collateral, fee);\n }\n _transfer(_buyer, address(reserve), _collateral, value);\n\n // save batch\n uint256 deprecatedBuyReturn = batch.totalBuyReturn;\n uint256 deprecatedSellReturn = batch.totalSellReturn;\n\n // update batch\n batch.totalBuySpend = batch.totalBuySpend.add(value);\n batch.buyers[_buyer] = batch.buyers[_buyer].add(value);\n\n // update pricing\n _updatePricing(batch, batchId, _collateral);\n\n // update the amount of tokens to be minted and collaterals to be claimed\n tokensToBeMinted = tokensToBeMinted.sub(deprecatedBuyReturn).add(batch.totalBuyReturn);\n collateralsToBeClaimed[_collateral] = collateralsToBeClaimed[_collateral].sub(deprecatedSellReturn).add(batch.totalSellReturn);\n\n // sanity checks\n require(_slippageIsValid(batch, _collateral), ERROR_SLIPPAGE_EXCEEDS_LIMIT);\n\n emit OpenBuyOrder(_buyer, batchId, _collateral, fee, value);\n }\n\n function _openSellOrder(address _seller, address _collateral, uint256 _amount) internal {\n (uint256 batchId, Batch storage batch) = _currentBatch(_collateral);\n\n // burn bonds\n tokenManager.burn(_seller, _amount);\n\n // save batch\n uint256 deprecatedBuyReturn = batch.totalBuyReturn;\n uint256 deprecatedSellReturn = batch.totalSellReturn;\n\n // update batch\n batch.totalSellSpend = batch.totalSellSpend.add(_amount);\n batch.sellers[_seller] = batch.sellers[_seller].add(_amount);\n\n // update pricing\n _updatePricing(batch, batchId, _collateral);\n\n // update the amount of tokens to be minted and collaterals to be claimed\n tokensToBeMinted = tokensToBeMinted.sub(deprecatedBuyReturn).add(batch.totalBuyReturn);\n collateralsToBeClaimed[_collateral] = collateralsToBeClaimed[_collateral].sub(deprecatedSellReturn).add(batch.totalSellReturn);\n\n // sanity checks\n require(_slippageIsValid(batch, _collateral), ERROR_SLIPPAGE_EXCEEDS_LIMIT);\n require(_poolBalanceIsSufficient(_collateral), ERROR_INSUFFICIENT_POOL_BALANCE);\n\n emit OpenSellOrder(_seller, batchId, _collateral, _amount);\n }\n\n function _claimBuyOrder(address _buyer, uint256 _batchId, address _collateral) internal {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n uint256 buyReturn = (batch.buyers[_buyer].mul(batch.totalBuyReturn)).div(batch.totalBuySpend);\n\n batch.buyers[_buyer] = 0;\n\n if (buyReturn > 0) {\n tokensToBeMinted = tokensToBeMinted.sub(buyReturn);\n tokenManager.mint(_buyer, buyReturn);\n }\n\n emit ClaimBuyOrder(_buyer, _batchId, _collateral, buyReturn);\n }\n\n function _claimSellOrder(address _seller, uint256 _batchId, address _collateral) internal {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n uint256 saleReturn = (batch.sellers[_seller].mul(batch.totalSellReturn)).div(batch.totalSellSpend);\n uint256 fee = saleReturn.mul(metaBatches[_batchId].sellFeePct).div(PCT_BASE);\n uint256 value = saleReturn.sub(fee);\n\n batch.sellers[_seller] = 0;\n\n if (value > 0) {\n collateralsToBeClaimed[_collateral] = collateralsToBeClaimed[_collateral].sub(saleReturn);\n reserve.transfer(_collateral, _seller, value);\n }\n if (fee > 0) {\n reserve.transfer(_collateral, beneficiary, fee);\n }\n\n\n emit ClaimSellOrder(_seller, _batchId, _collateral, fee, value);\n }\n\n function _claimCancelledBuyOrder(address _buyer, uint256 _batchId, address _collateral) internal {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n\n uint256 value = batch.buyers[_buyer];\n batch.buyers[_buyer] = 0;\n\n if (value > 0) {\n collateralsToBeClaimed[_collateral] = collateralsToBeClaimed[_collateral].sub(value);\n reserve.transfer(_collateral, _buyer, value);\n }\n\n emit ClaimCancelledBuyOrder(_buyer, _batchId, _collateral, value);\n }\n\n function _claimCancelledSellOrder(address _seller, uint256 _batchId, address _collateral) internal {\n Batch storage batch = metaBatches[_batchId].batches[_collateral];\n\n uint256 amount = batch.sellers[_seller];\n batch.sellers[_seller] = 0;\n\n if (amount > 0) {\n tokensToBeMinted = tokensToBeMinted.sub(amount);\n tokenManager.mint(_seller, amount);\n }\n\n emit ClaimCancelledSellOrder(_seller, _batchId, _collateral, amount);\n }\n\n function _updatePricing(Batch storage batch, uint256 _batchId, address _collateral) internal {\n // the situation where there are no buy nor sell orders can't happen [keep commented]\n // if (batch.totalSellSpend == 0 && batch.totalBuySpend == 0)\n // return;\n\n // static price is the current exact price in collateral\n // per token according to the initial state of the batch\n // [expressed in PPM for precision sake]\n uint256 staticPricePPM = _staticPricePPM(batch.supply, batch.balance, batch.reserveRatio);\n\n // [NOTE]\n // if staticPrice is zero then resultOfSell [= 0] <= batch.totalBuySpend\n // so totalSellReturn will be zero and totalBuyReturn will be\n // computed normally along the formula\n\n // 1. we want to find out if buy orders are worth more sell orders [or vice-versa]\n // 2. we thus check the return of sell orders at the current exact price\n // 3. if the return of sell orders is larger than the pending buys,\n // there are more sells than buys [and vice-versa]\n uint256 resultOfSell = batch.totalSellSpend.mul(staticPricePPM).div(uint256(PPM));\n\n if (resultOfSell > batch.totalBuySpend) {\n // >> sell orders are worth more than buy orders\n\n // 1. first we execute all pending buy orders at the current exact\n // price because there is at least one sell order for each buy order\n // 2. then the final sell return is the addition of this first\n // matched return with the remaining bonding curve return\n\n // the number of tokens bought as a result of all buy orders matched at the\n // current exact price [which is less than the total amount of tokens to be sold]\n batch.totalBuyReturn = batch.totalBuySpend.mul(uint256(PPM)).div(staticPricePPM);\n // the number of tokens left over to be sold along the curve which is the difference\n // between the original total sell order and the result of all the buy orders\n uint256 remainingSell = batch.totalSellSpend.sub(batch.totalBuyReturn);\n // the amount of collateral generated by selling tokens left over to be sold\n // along the bonding curve in the batch initial state [as if the buy orders\n // never existed and the sell order was just smaller than originally thought]\n uint256 remainingSellReturn = metaBatches[_batchId].formula.calculateSaleReturn(batch.supply, batch.balance, batch.reserveRatio, remainingSell);\n // the total result of all sells is the original amount of buys which were matched\n // plus the remaining sells which were executed along the bonding curve\n batch.totalSellReturn = batch.totalBuySpend.add(remainingSellReturn);\n } else {\n // >> buy orders are worth more than sell orders\n\n // 1. first we execute all pending sell orders at the current exact\n // price because there is at least one buy order for each sell order\n // 2. then the final buy return is the addition of this first\n // matched return with the remaining bonding curve return\n\n // the number of collaterals bought as a result of all sell orders matched at the\n // current exact price [which is less than the total amount of collateral to be spent]\n batch.totalSellReturn = resultOfSell;\n // the number of collaterals left over to be spent along the curve which is the difference\n // between the original total buy order and the result of all the sell orders\n uint256 remainingBuy = batch.totalBuySpend.sub(resultOfSell);\n // the amount of tokens generated by selling collaterals left over to be spent\n // along the bonding curve in the batch initial state [as if the sell orders\n // never existed and the buy order was just smaller than originally thought]\n uint256 remainingBuyReturn = metaBatches[_batchId].formula.calculatePurchaseReturn(batch.supply, batch.balance, batch.reserveRatio, remainingBuy);\n // the total result of all buys is the original amount of buys which were matched\n // plus the remaining buys which were executed along the bonding curve\n batch.totalBuyReturn = batch.totalSellSpend.add(remainingBuyReturn);\n }\n\n\n emit UpdatePricing(_batchId, _collateral, batch.totalBuySpend, batch.totalBuyReturn, batch.totalSellSpend, batch.totalSellReturn);\n }\n\n function _transfer(address _from, address _to, address _collateralToken, uint256 _amount) internal {\n if (_collateralToken == ETH) {\n _to.transfer(_amount);\n } else {\n require(ERC20(_collateralToken).safeTransferFrom(_from, _to, _amount), ERROR_TRANSFER_FROM_FAILED);\n }\n }\n}\n", - "sourcePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "ast": { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "exportedSymbols": { - "BatchedBancorMarketMaker": [ - 8578 - ] - }, - "id": 8579, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5890, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 5891, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23454, - "src": "25:49:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 5892, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23650, - "src": "75:60:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 5893, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23826, - "src": "136:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 5894, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 24108, - "src": "189:51:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 5895, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 27870, - "src": "241:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 5896, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 28100, - "src": "294:50:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 5897, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 19074, - "src": "345:63:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 5898, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 19336, - "src": "409:48:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "file": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "id": 5899, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 5798, - "src": "458:72:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 5900, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 9607, - "src": "531:90:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5901, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "661:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 5902, - "nodeType": "InheritanceSpecifier", - "src": "661:18:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5903, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "681:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 5904, - "nodeType": "InheritanceSpecifier", - "src": "681:10:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5905, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "693:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 5906, - "nodeType": "InheritanceSpecifier", - "src": "693:9:7" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 8578, - "linearizedBaseContracts": [ - 8578, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "BatchedBancorMarketMaker", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5909, - "libraryName": { - "contractScope": null, - "id": 5907, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "715:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "709:26:7", - "typeName": { - "contractScope": null, - "id": 5908, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "729:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 5912, - "libraryName": { - "contractScope": null, - "id": 5910, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "746:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "740:28:7", - "typeName": { - "id": 5911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "760:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 5915, - "name": "OPEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1678:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1678:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865666130363035336532636139396134336339376334613466336438613339346565333332336138666632333765363235666261303966653330636562306134", - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1733:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108386131170973996371274332126567441977523977910033735392086041742419547828388_by_1", - "typeString": "int_const 1083...(70 digits omitted)...8388" - }, - "value": "0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5918, - "name": "UPDATE_FORMULA_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1805:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1805:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862666237366438643433663535656665353835343465613332616631383737393261376264623938333835306438666564333334373832363665656333636262", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1860:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86715843191119468095966784732408470410642339878307578177892412554385124244667_by_1", - "typeString": "int_const 8671...(69 digits omitted)...4667" - }, - "value": "0xbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5921, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1932:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5919, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1932:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 5920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5924, - "name": "UPDATE_FEES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2059:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2059:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663962653239333265643361373233663239356137363362653138303463376562666431613431633133343866623862646635626531633563646361383232", - "id": 5923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43245145673168925571563649325145709611164663756998149195724414801912339933218_by_1", - "typeString": "int_const 4324...(69 digits omitted)...3218" - }, - "value": "0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5927, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2186:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5925, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2186:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832313762373963623262633737363064656663383835323938353365663831616233336165356262333135343038636539663561663039633837373636363264", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2241:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15144486781003149278302303915639999182740100159752824079265178216709076969005_by_1", - "typeString": "int_const 1514...(69 digits omitted)...9005" - }, - "value": "0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5930, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2313:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5928, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2313:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832303434653536646532323338343565346265376430613666346539613239623633353534376631363431336136643133323763353864396462343338656532", - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2368:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14595740217432245110586185713053284721170097726977563463766954419142971854562_by_1", - "typeString": "int_const 1459...(69 digits omitted)...4562" - }, - "value": "0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5933, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2440:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5931, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865303536356332633433653064383431653230366262333661333766313266323235383462343635326363656536663965306330373162363937613265313364", - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2495:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101470663084272589443640010826168505403047938469021583920932387593436059066685_by_1", - "typeString": "int_const 1014...(70 digits omitted)...6685" - }, - "value": "0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5936, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2567:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2567:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307861353839633866323834623736666338643531306439643535333438356334376462656631623037343561653030653066336664346532386663643737656137", - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2622:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74875064951666728262478327895309352630719236443135036862611625946537069608615_by_1", - "typeString": "int_const 7487...(69 digits omitted)...8615" - }, - "value": "0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5939, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2694:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5937, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2694:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363862613262373639666133376132613762643462656439323431623434386263393965636134316635313965663033373430363338366138663239316330", - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2749:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97041664366562346756231049942652716525890363183279880200358210036101134062016_by_1", - "typeString": "int_const 9704...(69 digits omitted)...2016" - }, - "value": "0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5944, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2822:43:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2857:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2863:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2857:8:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5947, - "name": "PPM", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2913:42:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5945, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2913:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:7:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5950, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2962:83:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5948, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2962:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4e54524143545f49535f454f41", - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3025:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2ce2523381cd1b4c58989ba256d9aeb50cb1a9bf4d8dcc263f69f384599e1abc", - "typeString": "literal_string \"MM_CONTRACT_IS_EOA\"" - }, - "value": "MM_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5953, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3051:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5951, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3051:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f42454e4546494349415259", - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3114:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_787513832df2e3055afcf88cf68a64f44630067bbbed286d324cc82c3e9c5f6c", - "typeString": "literal_string \"MM_INVALID_BENEFICIARY\"" - }, - "value": "MM_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5956, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3144:88:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5954, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3144:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f42415443485f424c4f434b53", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3207:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fbb0940b3ad56b8bf7657d978a559c7b69b3965212838ca09317e21dbf5691b", - "typeString": "literal_string \"MM_INVALID_BATCH_BLOCKS\"" - }, - "value": "MM_INVALID_BATCH_BLOCKS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5959, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3238:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5957, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3238:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f50455243454e54414745", - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3301:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45f83b29873ea7072ad447c87410d3555f190f3657434679febd00ced9f63c1e", - "typeString": "literal_string \"MM_INVALID_PERCENTAGE\"" - }, - "value": "MM_INVALID_PERCENTAGE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5962, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3330:89:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5960, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3330:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f524553455256455f524154494f", - "id": 5961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:26:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98a075b750a1a9329406ca4b39c7cffa8db6bb84047ce8ecad87e93aa2351b36", - "typeString": "literal_string \"MM_INVALID_RESERVE_RATIO\"" - }, - "value": "MM_INVALID_RESERVE_RATIO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5965, - "name": "ERROR_INVALID_TM_SETTING", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3425:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5963, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3425:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f544d5f53455454494e47", - "id": 5964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3488:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ef7e1b794d95f63c355fe0d1a5f1cb4b54d25c89dfcaeb16788406dc71e2f7", - "typeString": "literal_string \"MM_INVALID_TM_SETTING\"" - }, - "value": "MM_INVALID_TM_SETTING" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5968, - "name": "ERROR_INVALID_COLLATERAL", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3517:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5966, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3517:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f434f4c4c41544552414c", - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3580:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_016214fb675cf4e5fecb6bf08a32827be551431c0791e6e1739664e6634f4cfa", - "typeString": "literal_string \"MM_INVALID_COLLATERAL\"" - }, - "value": "MM_INVALID_COLLATERAL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5971, - "name": "ERROR_INVALID_COLLATERAL_VALUE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3609:92:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5969, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3609:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f434f4c4c41544552414c5f56414c5545", - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3672:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af8ba6629b972bc59e389a114e89ed542b1a563636773cf3daaa8276d321bc94", - "typeString": "literal_string \"MM_INVALID_COLLATERAL_VALUE\"" - }, - "value": "MM_INVALID_COLLATERAL_VALUE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5974, - "name": "ERROR_INVALID_BOND_AMOUNT", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3707:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5972, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3707:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f424f4e445f414d4f554e54", - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3770:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_007cda905d2c80c1f0657db33482358fdd407c5fa4c11814341371ca26c481e0", - "typeString": "literal_string \"MM_INVALID_BOND_AMOUNT\"" - }, - "value": "MM_INVALID_BOND_AMOUNT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5977, - "name": "ERROR_ALREADY_OPEN", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3800:80:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5975, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3800:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f414c52454144595f4f50454e", - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3863:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_302dc38ecf8763fae3a32a9b5da8729480ef4aecd9238221556cfab1ffe1cd48", - "typeString": "literal_string \"MM_ALREADY_OPEN\"" - }, - "value": "MM_ALREADY_OPEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5980, - "name": "ERROR_NOT_OPEN", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3886:76:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5978, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3886:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f4e4f545f4f50454e", - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3949:13:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_100af42c2be9f6f5c3ebc26e6ff1be512b5dc1977beaa253bb50a7d67be65147", - "typeString": "literal_string \"MM_NOT_OPEN\"" - }, - "value": "MM_NOT_OPEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5983, - "name": "ERROR_COLLATERAL_ALREADY_WHITELISTED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3968:98:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5981, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3968:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4c4c41544552414c5f414c52454144595f57484954454c4953544544", - "id": 5982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4031:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d940ed5f136221cda3f0d521eae84c807dc270f874372266733235b92deea49", - "typeString": "literal_string \"MM_COLLATERAL_ALREADY_WHITELISTED\"" - }, - "value": "MM_COLLATERAL_ALREADY_WHITELISTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5986, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4072:94:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5984, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4072:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4c4c41544552414c5f4e4f545f57484954454c4953544544", - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7cbc0be2c1b1752a690f804ae9bcb1e616da5911d8d796c755434c20b9ba22a2", - "typeString": "literal_string \"MM_COLLATERAL_NOT_WHITELISTED\"" - }, - "value": "MM_COLLATERAL_NOT_WHITELISTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5989, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4172:84:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5987, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4172:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f4e4f5448494e475f544f5f434c41494d", - "id": 5988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4235:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f7563cc81ce2b2090211c06f3b84ab2e04334b8a1a99c64543af30662cedcd5", - "typeString": "literal_string \"MM_NOTHING_TO_CLAIM\"" - }, - "value": "MM_NOTHING_TO_CLAIM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5992, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4262:82:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4262:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f4e4f545f4f564552", - "id": 5991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4325:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e1db0294e83f8b879efcee8ce9d1760f33582533e985854a966a30620c260d35", - "typeString": "literal_string \"MM_BATCH_NOT_OVER\"" - }, - "value": "MM_BATCH_NOT_OVER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5995, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4350:83:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5993, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4350:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f43414e43454c4c4544", - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4413:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5940303af45e59087fa00bfeb7c0067c87d2ebe997aa97308a703a0521dd1b31", - "typeString": "literal_string \"MM_BATCH_CANCELLED\"" - }, - "value": "MM_BATCH_CANCELLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5998, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4439:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4439:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f4e4f545f43414e43454c4c4544", - "id": 5997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4502:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca0c97e173014012b6ec5dfb35cea394eadcf895bafa9f348fb23052e526f92f", - "typeString": "literal_string \"MM_BATCH_NOT_CANCELLED\"" - }, - "value": "MM_BATCH_NOT_CANCELLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6001, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4532:90:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f534c4950504147455f455843454544535f4c494d4954", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4595:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5fc6b9d7117ae0b72f88c2717107bcc12882c79dc894029840cf45a67a8a7e5", - "typeString": "literal_string \"MM_SLIPPAGE_EXCEEDS_LIMIT\"" - }, - "value": "MM_SLIPPAGE_EXCEEDS_LIMIT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6004, - "name": "ERROR_INSUFFICIENT_POOL_BALANCE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4628:93:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 6002, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4628:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e53554646494349454e545f504f4f4c5f42414c414e4345", - "id": 6003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4691:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e5b09a111f9badcd38ea3b7b070db8548c02cef2d83ad5c21466fac102ca60c6", - "typeString": "literal_string \"MM_INSUFFICIENT_POOL_BALANCE\"" - }, - "value": "MM_INSUFFICIENT_POOL_BALANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6007, - "name": "ERROR_TRANSFER_FROM_FAILED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4727:88:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 6005, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4727:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f5452414e534645525f46524f4d5f4641494c4544", - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4790:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ca6909adea56c8355b9de5d3a12306381e0ea6b9e2ebf6e01f98e5a5ec16aa3", - "typeString": "literal_string \"MM_TRANSFER_FROM_FAILED\"" - }, - "value": "MM_TRANSFER_FROM_FAILED" - }, - "visibility": "private" - }, - { - "canonicalName": "BatchedBancorMarketMaker.Collateral", - "id": 6018, - "members": [ - { - "constant": false, - "id": 6009, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4850:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6008, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6011, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4879:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6013, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4910:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6015, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4942:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6014, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "4942:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6017, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4972:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6016, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Collateral", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "4822:173:7", - "visibility": "public" - }, - { - "canonicalName": "BatchedBancorMarketMaker.MetaBatch", - "id": 6033, - "members": [ - { - "constant": false, - "id": 6020, - "name": "initialized", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5028:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6019, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5028:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6022, - "name": "realSupply", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5064:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5064:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6024, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5099:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6026, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5133:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5133:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6028, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5168:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6027, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "5168:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6032, - "name": "batches", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5200:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch)" - }, - "typeName": { - "id": 6031, - "keyType": { - "id": 6029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5208:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5200:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch)" - }, - "valueType": { - "contractScope": null, - "id": 6030, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "5219:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MetaBatch", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "5001:239:7", - "visibility": "public" - }, - { - "canonicalName": "BatchedBancorMarketMaker.Batch", - "id": 6062, - "members": [ - { - "constant": false, - "id": 6035, - "name": "initialized", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5269:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6034, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6037, - "name": "cancelled", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5298:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6036, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5298:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6039, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5325:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5325:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6041, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5349:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5349:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6043, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5374:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6042, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5374:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6045, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5404:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5404:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "totalBuySpend", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5430:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5430:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6049, - "name": "totalBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5461:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5461:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6051, - "name": "totalSellSpend", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5493:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5493:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6053, - "name": "totalSellReturn", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5525:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5525:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6057, - "name": "buyers", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5558:34:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6056, - "keyType": { - "id": 6054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5566:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5558:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6061, - "name": "sellers", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5602:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6060, - "keyType": { - "id": 6058, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5610:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5602:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Batch", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "5246:398:7", - "visibility": "public" - }, - { - "constant": false, - "id": 6064, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5650:48:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 6063, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "5650:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6066, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5704:50:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 6065, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "5704:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6068, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5760:43:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6067, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "5760:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6070, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5809:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 6069, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "5809:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6072, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5860:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5860:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6074, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5915:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6073, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "5915:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6076, - "name": "batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5967:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5967:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6078, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6022:47:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6022:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6080, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6075:48:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6082, - "name": "isOpen", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6130:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6081, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6130:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6084, - "name": "tokensToBeMinted", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6180:54:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6180:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6088, - "name": "collateralsToBeClaimed", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6240:60:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6087, - "keyType": { - "id": 6085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6248:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6240:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6259:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6092, - "name": "collaterals", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6306:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral)" - }, - "typeName": { - "id": 6091, - "keyType": { - "id": 6089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6306:30:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral)" - }, - "valueType": { - "contractScope": null, - "id": 6090, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "6325:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6096, - "name": "metaBatches", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6361:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch)" - }, - "typeName": { - "id": 6095, - "keyType": { - "id": 6093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "6361:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch)" - }, - "valueType": { - "contractScope": null, - "id": 6094, - "name": "MetaBatch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6033, - "src": "6380:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6100, - "name": "UpdateBeneficiary", - "nodeType": "EventDefinition", - "parameters": { - "id": 6099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6098, - "indexed": true, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6100, - "src": "6447:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6447:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6446:29:7" - }, - "src": "6417:59:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6104, - "name": "UpdateFormula", - "nodeType": "EventDefinition", - "parameters": { - "id": 6103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6102, - "indexed": true, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6104, - "src": "6511:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6510:25:7" - }, - "src": "6481:55:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6110, - "name": "UpdateFees", - "nodeType": "EventDefinition", - "parameters": { - "id": 6109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6106, - "indexed": false, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6110, - "src": "6571:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6571:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6108, - "indexed": false, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6110, - "src": "6590:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6590:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6570:39:7" - }, - "src": "6541:69:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6122, - "name": "NewMetaBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6112, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6645:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6645:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6114, - "indexed": false, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6665:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6665:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6116, - "indexed": false, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6681:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6118, - "indexed": false, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6700:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6700:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6120, - "indexed": false, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6720:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:92:7" - }, - "src": "6615:122:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6136, - "name": "NewBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6124, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6781:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6126, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6809:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6809:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6128, - "indexed": false, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6845:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6130, - "indexed": false, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6869:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6132, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6894:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6131, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "6894:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6134, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6924:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6771:170:7" - }, - "src": "6742:205:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6142, - "name": "CancelBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6138, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6142, - "src": "6982:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6982:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6140, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6142, - "src": "7002:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6981:48:7" - }, - "src": "6952:78:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6154, - "name": "AddCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6144, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7074:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7074:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6146, - "indexed": false, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7110:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7110:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6148, - "indexed": false, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7141:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6147, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7141:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6150, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7173:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6149, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "7173:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6152, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7203:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7064:161:7" - }, - "src": "7035:191:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6158, - "name": "RemoveCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6156, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6158, - "src": "7261:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7261:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7260:28:7" - }, - "src": "7231:58:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6170, - "name": "UpdateCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6160, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7333:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7333:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6162, - "indexed": false, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7369:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6164, - "indexed": false, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7400:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6166, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7432:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6165, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "7432:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6168, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7462:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7462:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7323:161:7" - }, - "src": "7294:191:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6172, - "name": "Open", - "nodeType": "EventDefinition", - "parameters": { - "id": 6171, - "nodeType": "ParameterList", - "parameters": [], - "src": "7519:2:7" - }, - "src": "7490:32:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6184, - "name": "OpenBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6174, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7557:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7557:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6176, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7580:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7580:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6178, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7605:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7605:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6180, - "indexed": false, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7633:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7633:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6182, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7646:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7646:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7556:104:7" - }, - "src": "7527:134:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6194, - "name": "OpenSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6186, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7696:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7696:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6188, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7720:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6190, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7745:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6192, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7773:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7695:93:7" - }, - "src": "7666:123:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6204, - "name": "ClaimBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6203, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6196, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7824:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7824:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6198, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7847:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7847:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7872:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7872:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6202, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7900:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7900:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7823:92:7" - }, - "src": "7794:122:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6216, - "name": "ClaimSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6206, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "7951:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7951:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6208, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "7975:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6210, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8000:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6212, - "indexed": false, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8028:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8028:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6214, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8041:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8041:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7950:105:7" - }, - "src": "7921:135:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6226, - "name": "ClaimCancelledBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6218, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8091:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8091:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6220, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8114:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6222, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8139:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6224, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8167:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8167:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8090:91:7" - }, - "src": "8061:121:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6236, - "name": "ClaimCancelledSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6228, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8217:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8217:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6230, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8241:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8241:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6232, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8266:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8266:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6234, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8294:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8294:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8216:93:7" - }, - "src": "8187:123:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6250, - "name": "UpdatePricing", - "nodeType": "EventDefinition", - "parameters": { - "id": 6249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6238, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8354:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8354:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6240, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8387:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8387:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6242, - "indexed": false, - "name": "totalBuySpend", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8423:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8423:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6244, - "indexed": false, - "name": "totalBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8454:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8454:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6246, - "indexed": false, - "name": "totalSellSpend", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8486:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8486:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6248, - "indexed": false, - "name": "totalSellReturn", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8518:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8518:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8344:203:7" - }, - "src": "8315:233:7" - }, - { - "body": { - "id": 6374, - "nodeType": "Block", - "src": "9735:1102:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6271, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "9745:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9745:13:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6273, - "nodeType": "ExpressionStatement", - "src": "9745:13:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6276, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6252, - "src": "9788:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 6275, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9777:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9777:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6278, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "9830:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6274, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9769:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6280, - "nodeType": "ExpressionStatement", - "src": "9769:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6283, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "9881:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 6282, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9870:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9870:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6285, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "9923:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9862:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9862:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6287, - "nodeType": "ExpressionStatement", - "src": "9862:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6290, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "9974:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6289, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9963:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9963:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6292, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "10016:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9955:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9955:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6294, - "nodeType": "ExpressionStatement", - "src": "9955:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6297, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "10067:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 6296, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "10056:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10056:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6299, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "10109:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10048:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10048:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6301, - "nodeType": "ExpressionStatement", - "src": "10048:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6304, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "10169:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6303, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "10149:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10149:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5953, - "src": "10202:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10141:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10141:87:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6308, - "nodeType": "ExpressionStatement", - "src": "10141:87:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6310, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "10246:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10261:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10246:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6313, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5956, - "src": "10299:26:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10238:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10238:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6315, - "nodeType": "ExpressionStatement", - "src": "10238:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6318, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6264, - "src": "10356:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6317, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "10344:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10344:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6321, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6266, - "src": "10383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6320, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "10371:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10371:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10344:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6324, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5959, - "src": "10397:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6316, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10336:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10336:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6326, - "nodeType": "ExpressionStatement", - "src": "10336:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "10468:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 6328, - "name": "_tokenManagerSettingIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7078, - "src": "10440:27:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_TokenManager_$19073_$returns$_t_bool_$", - "typeString": "function (contract TokenManager) view returns (bool)" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10440:42:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6331, - "name": "ERROR_INVALID_TM_SETTING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5965, - "src": "10493:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10432:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10432:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "10432:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6334, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "10529:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6335, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6252, - "src": "10542:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "10529:24:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 6337, - "nodeType": "ExpressionStatement", - "src": "10529:24:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6338, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "10563:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6339, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "10578:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "10563:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 6341, - "nodeType": "ExpressionStatement", - "src": "10563:28:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "10601:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 6344, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "10615:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 6345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 18274, - "src": "10615:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function () view external returns (contract MiniMeToken)" - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10615:20:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 6343, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "10609:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10609:27:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "src": "10601:35:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 6349, - "nodeType": "ExpressionStatement", - "src": "10601:35:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6350, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "10646:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6351, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "10656:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "10646:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 6353, - "nodeType": "ExpressionStatement", - "src": "10646:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6354, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "10674:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6355, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "10684:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "10674:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 6357, - "nodeType": "ExpressionStatement", - "src": "10674:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6358, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "10702:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6359, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "10716:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10702:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6361, - "nodeType": "ExpressionStatement", - "src": "10702:26:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6362, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "10738:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6363, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "10752:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10738:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6365, - "nodeType": "ExpressionStatement", - "src": "10738:26:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6366, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "10774:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6367, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6264, - "src": "10786:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10774:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6369, - "nodeType": "ExpressionStatement", - "src": "10774:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6370, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "10806:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6371, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6266, - "src": "10819:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10806:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "nodeType": "ExpressionStatement", - "src": "10806:24:7" - } - ] - }, - "documentation": "@notice Initialize market maker\n@param _controller The address of the controller contract\n@param _tokenManager The address of the [bonded token] token manager contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom fees are to be sent]\n@param _formula The address of the BancorFormula [computation] contract\n@param _batchBlocks The number of blocks batches are to last\n@param _buyFeePct The fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The fee to be deducted from sell orders [in PCT_BASE]", - "id": 6375, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6269, - "modifierName": { - "argumentTypes": null, - "id": 6268, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "9722:8:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9722:8:7" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6252, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9303:40:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 6251, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "9303:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6254, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9353:42:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 6253, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "9353:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6256, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9405:37:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6255, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "9405:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6258, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9452:37:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 6257, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "9452:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6260, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9499:41:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9499:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6262, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9550:41:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9550:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6264, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9601:39:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9601:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6266, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9650:40:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9293:403:7" - }, - "payable": false, - "returnParameters": { - "id": 6270, - "nodeType": "ParameterList", - "parameters": [], - "src": "9735:0:7" - }, - "scope": 8578, - "src": "9274:1563:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6390, - "nodeType": "Block", - "src": "11023:71:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11041:7:7", - "subExpression": { - "argumentTypes": null, - "id": 6382, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "11042:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6384, - "name": "ERROR_ALREADY_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5977, - "src": "11050:18:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6381, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11033:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11033:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6386, - "nodeType": "ExpressionStatement", - "src": "11033:36:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6387, - "name": "_open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7585, - "src": "11080:5:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 6388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11080:7:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6389, - "nodeType": "ExpressionStatement", - "src": "11080:7:7" - } - ] - }, - "documentation": "@notice Open market making [enabling users to open buy and sell orders]", - "id": 6391, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6378, - "name": "OPEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5915, - "src": "11012:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6379, - "modifierName": { - "argumentTypes": null, - "id": 6377, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11007:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11007:15:7" - } - ], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6376, - "nodeType": "ParameterList", - "parameters": [], - "src": "10995:2:7" - }, - "payable": false, - "returnParameters": { - "id": 6380, - "nodeType": "ParameterList", - "parameters": [], - "src": "11023:0:7" - }, - "scope": 8578, - "src": "10982:112:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "11325:104:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6401, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "11354:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6400, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "11343:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11343:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6403, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "11365:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6399, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11335:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11335:52:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6405, - "nodeType": "ExpressionStatement", - "src": "11335:52:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6407, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "11413:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6406, - "name": "_updateFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "11398:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IBancorFormula_$5841_$returns$__$", - "typeString": "function (contract IBancorFormula)" - } - }, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11398:24:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "11398:24:7" - } - ] - }, - "documentation": "@notice Update formula to `_formula`\n@param _formula The address of the new BancorFormula [computation] contract", - "id": 6411, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6396, - "name": "UPDATE_FORMULA_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "11304:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6397, - "modifierName": { - "argumentTypes": null, - "id": 6395, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11299:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11299:25:7" - } - ], - "name": "updateFormula", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6393, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 6411, - "src": "11265:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6392, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "11265:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11264:25:7" - }, - "payable": false, - "returnParameters": { - "id": 6398, - "nodeType": "ParameterList", - "parameters": [], - "src": "11325:0:7" - }, - "scope": 8578, - "src": "11242:187:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6430, - "nodeType": "Block", - "src": "11682:129:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6421, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "11720:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6420, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "11700:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6423, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5953, - "src": "11735:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6419, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11692:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11692:69:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "11692:69:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6427, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "11791:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6426, - "name": "_updateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "11772:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6429, - "nodeType": "ExpressionStatement", - "src": "11772:32:7" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary [to whom fees are to be sent]", - "id": 6431, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6416, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5921, - "src": "11657:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6417, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11652:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11652:29:7" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6431, - "src": "11621:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11620:22:7" - }, - "payable": false, - "returnParameters": { - "id": 6418, - "nodeType": "ParameterList", - "parameters": [], - "src": "11682:0:7" - }, - "scope": 8578, - "src": "11594:217:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6457, - "nodeType": "Block", - "src": "12226:150:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6433, - "src": "12256:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "12244:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12244:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6446, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6435, - "src": "12283:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6445, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "12271:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12271:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12244:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6449, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5959, - "src": "12297:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6441, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12236:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12236:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6451, - "nodeType": "ExpressionStatement", - "src": "12236:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6453, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6433, - "src": "12345:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6454, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6435, - "src": "12357:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6452, - "name": "_updateFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "12333:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12333:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "12333:36:7" - } - ] - }, - "documentation": "@notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n@param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]", - "id": 6458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6438, - "name": "UPDATE_FEES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5924, - "src": "12208:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6439, - "modifierName": { - "argumentTypes": null, - "id": 6437, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12203:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12203:22:7" - } - ], - "name": "updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6433, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6458, - "src": "12153:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12153:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6435, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6458, - "src": "12173:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12173:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12152:41:7" - }, - "payable": false, - "returnParameters": { - "id": 6440, - "nodeType": "ParameterList", - "parameters": [], - "src": "12226:0:7" - }, - "scope": 8578, - "src": "12133:243:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6508, - "nodeType": "Block", - "src": "13223:394:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6476, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13252:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6475, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "13241:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13241:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6478, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13268:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6479, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "13283:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13268:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13241:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6482, - "name": "ERROR_INVALID_COLLATERAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13288:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6474, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13233:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13233:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6484, - "nodeType": "ExpressionStatement", - "src": "13233:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13331:38:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6487, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13357:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6486, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "13332:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13332:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6490, - "name": "ERROR_COLLATERAL_ALREADY_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5983, - "src": "13378:36:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6485, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13323:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13323:92:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6492, - "nodeType": "ExpressionStatement", - "src": "13323:92:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6495, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6466, - "src": "13454:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6494, - "name": "_reserveRatioIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "13433:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint32_$returns$_t_bool_$", - "typeString": "function (uint32) pure returns (bool)" - } - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:35:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6497, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5962, - "src": "13480:27:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13425:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13425:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6499, - "nodeType": "ExpressionStatement", - "src": "13425:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6501, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13539:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6502, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6462, - "src": "13552:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6503, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6464, - "src": "13568:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6504, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6466, - "src": "13585:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6505, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6468, - "src": "13600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6500, - "name": "_addCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7751, - "src": "13519:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13519:91:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6507, - "nodeType": "ExpressionStatement", - "src": "13519:91:7" - } - ] - }, - "documentation": "@notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]", - "id": 6509, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6471, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5927, - "src": "13192:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6472, - "modifierName": { - "argumentTypes": null, - "id": 6470, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13187:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13187:31:7" - } - ], - "name": "addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6460, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13051:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13051:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6462, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13072:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13072:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6464, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13096:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6466, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13121:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6465, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13121:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6468, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13143:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13143:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13050:111:7" - }, - "payable": false, - "returnParameters": { - "id": 6473, - "nodeType": "ParameterList", - "parameters": [], - "src": "13223:0:7" - }, - "scope": 8578, - "src": "13023:594:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6528, - "nodeType": "Block", - "src": "13906:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6519, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6511, - "src": "13949:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6518, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "13924:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13924:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6521, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "13963:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13916:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13916:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6523, - "nodeType": "ExpressionStatement", - "src": "13916:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6525, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6511, - "src": "14030:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6524, - "name": "_removeCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "14007:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14007:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6527, - "nodeType": "ExpressionStatement", - "src": "14007:35:7" - } - ] - }, - "documentation": "@notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be un-whitelisted", - "id": 6529, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6514, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5930, - "src": "13876:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6515, - "modifierName": { - "argumentTypes": null, - "id": 6513, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13871:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13871:34:7" - } - ], - "name": "removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6511, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6529, - "src": "13841:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13841:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13840:21:7" - }, - "payable": false, - "returnParameters": { - "id": 6516, - "nodeType": "ParameterList", - "parameters": [], - "src": "13906:0:7" - }, - "scope": 8578, - "src": "13810:239:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6567, - "nodeType": "Block", - "src": "14900:287:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6547, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "14943:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6546, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "14918:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14918:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6549, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "14957:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "14910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14910:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6551, - "nodeType": "ExpressionStatement", - "src": "14910:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6554, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6537, - "src": "15029:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6553, - "name": "_reserveRatioIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "15008:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint32_$returns$_t_bool_$", - "typeString": "function (uint32) pure returns (bool)" - } - }, - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15008:35:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6556, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5962, - "src": "15047:27:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15000:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6558, - "nodeType": "ExpressionStatement", - "src": "15000:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6560, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "15109:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6561, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6533, - "src": "15122:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6562, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6535, - "src": "15138:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6563, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6537, - "src": "15155:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6564, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "15170:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6559, - "name": "_updateCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7841, - "src": "15086:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:94:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6566, - "nodeType": "ExpressionStatement", - "src": "15086:94:7" - } - ] - }, - "documentation": "@notice Update `_collateral.symbol(): string` collateralization settings\n@param _collateral The address of the collateral token whose collateralization settings are to be updated\n@param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The new price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]", - "id": 6568, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6542, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "14866:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6543, - "modifierName": { - "argumentTypes": null, - "id": 6541, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "14861:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14861:34:7" - } - ], - "name": "updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6531, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14725:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14725:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6533, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14746:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14746:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6535, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14770:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14770:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6537, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14795:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6536, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14795:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6539, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14817:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14817:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14724:111:7" - }, - "payable": false, - "returnParameters": { - "id": 6544, - "nodeType": "ParameterList", - "parameters": [], - "src": "14900:0:7" - }, - "scope": 8578, - "src": "14694:493:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6619, - "nodeType": "Block", - "src": "15637:493:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6581, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15655:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6582, - "name": "ERROR_NOT_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5980, - "src": "15720:14:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6580, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15647:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15647:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6584, - "nodeType": "ExpressionStatement", - "src": "15647:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6587, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "15778:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6586, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "15753:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15753:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6589, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "15818:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6585, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15745:106:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6591, - "nodeType": "ExpressionStatement", - "src": "15745:106:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15869:50:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6594, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "15888:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6596, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "15907:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6593, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "15870:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15870:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6599, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "15934:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6592, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15861:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15861:95:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6601, - "nodeType": "ExpressionStatement", - "src": "15861:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6604, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6570, - "src": "15998:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6605, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "16006:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6606, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "16019:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "16027:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16027:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6603, - "name": "_collateralValueIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "15974:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,uint256) view returns (bool)" - } - }, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15974:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6610, - "name": "ERROR_INVALID_COLLATERAL_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5971, - "src": "16039:30:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15966:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:104:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6612, - "nodeType": "ExpressionStatement", - "src": "15966:104:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6614, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6570, - "src": "16095:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6615, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "16103:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "16116:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6613, - "name": "_openBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7982, - "src": "16081:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16081:42:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6618, - "nodeType": "ExpressionStatement", - "src": "16081:42:7" - } - ] - }, - "documentation": "@notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n@param _buyer The address of the buyer\n@param _collateral The address of the collateral token to be spent\n@param _value The amount of collateral token to be spent", - "id": 6620, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6577, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15616:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6578, - "modifierName": { - "argumentTypes": null, - "id": 6576, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15611:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15611:25:7" - } - ], - "name": "openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6570, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15541:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6572, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15557:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15557:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6574, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15578:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15578:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15540:53:7" - }, - "payable": true, - "returnParameters": { - "id": 6579, - "nodeType": "ParameterList", - "parameters": [], - "src": "15637:0:7" - }, - "scope": 8578, - "src": "15519:611:7", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6668, - "nodeType": "Block", - "src": "16584:439:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "16602:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "ERROR_NOT_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5980, - "src": "16654:14:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6632, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16594:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16594:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6636, - "nodeType": "ExpressionStatement", - "src": "16594:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6639, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16712:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6638, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "16687:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16687:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6641, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "16739:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16679:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16679:93:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6643, - "nodeType": "ExpressionStatement", - "src": "16679:93:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16790:50:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6646, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "16809:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16809:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6648, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16828:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6645, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "16791:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16791:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6651, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "16842:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16782:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16782:82:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6653, - "nodeType": "ExpressionStatement", - "src": "16782:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6622, - "src": "16901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6657, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6626, - "src": "16910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6655, - "name": "_bondAmountIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "16882:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16882:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6659, - "name": "ERROR_INVALID_BOND_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5974, - "src": "16934:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6654, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16874:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16874:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6661, - "nodeType": "ExpressionStatement", - "src": "16874:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6663, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6622, - "src": "16986:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6664, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16995:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6665, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6626, - "src": "17008:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6662, - "name": "_openSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8095, - "src": "16971:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16971:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6667, - "nodeType": "ExpressionStatement", - "src": "16971:45:7" - } - ] - }, - "documentation": "@notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n@param _seller The address of the seller\n@param _collateral The address of the collateral token to be returned\n@param _amount The amount of bonded token to be spent", - "id": 6669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6629, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "16562:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6630, - "modifierName": { - "argumentTypes": null, - "id": 6628, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "16557:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16557:26:7" - } - ], - "name": "openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6622, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16493:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16493:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6624, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16510:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6623, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16510:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6626, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16531:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16492:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6631, - "nodeType": "ParameterList", - "parameters": [], - "src": "16584:0:7" - }, - "scope": 8578, - "src": "16470:553:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6720, - "nodeType": "Block", - "src": "17544:414:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6684, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17587:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6683, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "17562:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17562:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6686, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "17607:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6682, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17554:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17554:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "17554:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6691, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17671:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6690, - "name": "_batchIsOver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7180, - "src": "17658:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17658:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6693, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "17703:20:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6689, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17650:74:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6695, - "nodeType": "ExpressionStatement", - "src": "17650:74:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "17742:41:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6698, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17761:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6699, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17771:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6697, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "17743:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17743:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6702, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "17787:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6696, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17734:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17734:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6704, - "nodeType": "ExpressionStatement", - "src": "17734:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6707, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17840:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6708, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17850:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6709, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6671, - "src": "17863:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6706, - "name": "_userIsBuyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "17827:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17827:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6711, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "17872:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6705, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17819:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17819:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6713, - "nodeType": "ExpressionStatement", - "src": "17819:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6715, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6671, - "src": "17921:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6716, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17929:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6717, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17939:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6714, - "name": "_claimBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8164, - "src": "17906:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17906:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6719, - "nodeType": "ExpressionStatement", - "src": "17906:45:7" - } - ] - }, - "documentation": "@notice Claim the results of `_buyer`'s `_collateral.symbol(): string` buy orders from batch #`_batchId`\n@param _buyer The address of the user whose buy orders are to be claimed\n@param _batchId The id of the batch in which buy orders are to be claimed\n@param _collateral The address of the collateral token against which buy orders are to be claimed", - "id": 6721, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6678, - "modifierName": { - "argumentTypes": null, - "id": 6677, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "17517:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17517:12:7" - }, - { - "arguments": null, - "id": 6680, - "modifierName": { - "argumentTypes": null, - "id": 6679, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17530:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17530:13:7" - } - ], - "name": "claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6671, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17453:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17453:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6673, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17469:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17469:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6675, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17487:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17487:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17452:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6681, - "nodeType": "ParameterList", - "parameters": [], - "src": "17544:0:7" - }, - "scope": 8578, - "src": "17430:528:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6772, - "nodeType": "Block", - "src": "18486:424:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6736, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18529:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6735, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "18504:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18504:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6738, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "18551:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6734, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18496:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18496:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6740, - "nodeType": "ExpressionStatement", - "src": "18496:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6743, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18615:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6742, - "name": "_batchIsOver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7180, - "src": "18602:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18602:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6745, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "18649:20:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18594:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18594:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6747, - "nodeType": "ExpressionStatement", - "src": "18594:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18688:41:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6750, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18707:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6751, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18717:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6749, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "18689:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18689:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6754, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "18735:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6748, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18680:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18680:77:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6756, - "nodeType": "ExpressionStatement", - "src": "18680:77:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6759, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18789:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6760, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18799:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6761, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "18812:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6758, - "name": "_userIsSeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7254, - "src": "18775:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18775:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6763, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "18822:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6757, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18767:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18767:78:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "18767:78:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6767, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "18872:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6768, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18881:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6769, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18891:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6766, - "name": "_claimSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8272, - "src": "18856:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18856:47:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6771, - "nodeType": "ExpressionStatement", - "src": "18856:47:7" - } - ] - }, - "documentation": "@notice Claim the results of `_seller`'s `_collateral.symbol(): string` sell orders from batch #`_batchId`\n@param _seller The address of the user whose sell orders are to be claimed\n@param _batchId The id of the batch in which sell orders are to be claimed\n@param _collateral The address of the collateral token against which sell orders are to be claimed", - "id": 6773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6730, - "modifierName": { - "argumentTypes": null, - "id": 6729, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "18459:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18459:12:7" - }, - { - "arguments": null, - "id": 6732, - "modifierName": { - "argumentTypes": null, - "id": 6731, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18472:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18472:13:7" - } - ], - "name": "claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6723, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18394:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18394:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6725, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18411:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18411:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6727, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18429:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18429:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18393:56:7" - }, - "payable": false, - "returnParameters": { - "id": 6733, - "nodeType": "ParameterList", - "parameters": [], - "src": "18486:0:7" - }, - "scope": 8578, - "src": "18370:540:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6809, - "nodeType": "Block", - "src": "19484:247:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6788, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19520:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6789, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19530:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6787, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "19502:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19502:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6791, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5998, - "src": "19547:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19494:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19494:79:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6793, - "nodeType": "ExpressionStatement", - "src": "19494:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6796, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19604:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6797, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19614:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6798, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "19627:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6795, - "name": "_userIsBuyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "19591:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19591:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6800, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "19636:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19583:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19583:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6802, - "nodeType": "ExpressionStatement", - "src": "19583:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6804, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "19694:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6805, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19702:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6806, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19712:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6803, - "name": "_claimCancelledBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8337, - "src": "19670:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19670:54:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6808, - "nodeType": "ExpressionStatement", - "src": "19670:54:7" - } - ] - }, - "documentation": "@notice Claim the investments of `_buyer`'s `_collateral.symbol(): string` buy orders from cancelled batch #`_batchId`\n@param _buyer The address of the user whose cancelled buy orders are to be claimed\n@param _batchId The id of the batch in which cancelled buy orders are to be claimed\n@param _collateral The address of the collateral token against which cancelled buy orders are to be claimed", - "id": 6810, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6782, - "modifierName": { - "argumentTypes": null, - "id": 6781, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "19457:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "19457:12:7" - }, - { - "arguments": null, - "id": 6784, - "modifierName": { - "argumentTypes": null, - "id": 6783, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "19470:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "19470:13:7" - } - ], - "name": "claimCancelledBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6775, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19393:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19393:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6777, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19409:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19409:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6779, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19427:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19427:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19392:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6785, - "nodeType": "ParameterList", - "parameters": [], - "src": "19484:0:7" - }, - "scope": 8578, - "src": "19361:370:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6846, - "nodeType": "Block", - "src": "20312:253:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6825, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20348:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6826, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20358:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6824, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "20330:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20330:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6828, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5998, - "src": "20377:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6823, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20322:81:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6830, - "nodeType": "ExpressionStatement", - "src": "20322:81:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6833, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20435:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6834, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20445:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6835, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6812, - "src": "20458:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6832, - "name": "_userIsSeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7254, - "src": "20421:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6837, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "20468:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6831, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20413:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20413:78:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6839, - "nodeType": "ExpressionStatement", - "src": "20413:78:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6841, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6812, - "src": "20527:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6842, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20536:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6843, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20546:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6840, - "name": "_claimCancelledSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8397, - "src": "20502:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20502:56:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6845, - "nodeType": "ExpressionStatement", - "src": "20502:56:7" - } - ] - }, - "documentation": "@notice Claim the investments of `_seller`'s `_collateral.symbol(): string` sell orders from cancelled batch #`_batchId`\n@param _seller The address of the user whose cancelled sell orders are to be claimed\n@param _batchId The id of the batch in which cancelled sell orders are to be claimed\n@param _collateral The address of the collateral token against which cancelled sell orders are to be claimed", - "id": 6847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6819, - "modifierName": { - "argumentTypes": null, - "id": 6818, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "20285:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20285:12:7" - }, - { - "arguments": null, - "id": 6821, - "modifierName": { - "argumentTypes": null, - "id": 6820, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20298:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20298:13:7" - } - ], - "name": "claimCancelledSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6812, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20220:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20220:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20237:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20255:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20255:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20219:56:7" - }, - "payable": false, - "returnParameters": { - "id": 6822, - "nodeType": "ParameterList", - "parameters": [], - "src": "20312:0:7" - }, - "scope": 8578, - "src": "20187:378:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6857, - "nodeType": "Block", - "src": "20685:41:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6854, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "20702:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20702:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6853, - "id": 6856, - "nodeType": "Return", - "src": "20695:24:7" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 6858, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6850, - "modifierName": { - "argumentTypes": null, - "id": 6849, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20653:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20653:13:7" - } - ], - "name": "getCurrentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [], - "src": "20638:2:7" - }, - "payable": false, - "returnParameters": { - "id": 6853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6858, - "src": "20676:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20676:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20675:9:7" - }, - "scope": 8578, - "src": "20612:114:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6893, - "nodeType": "Block", - "src": "20857:214:7", - "statements": [ - { - "assignments": [ - 6876 - ], - "declarations": [ - { - "constant": false, - "id": 6876, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20867:29:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - }, - "typeName": { - "contractScope": null, - "id": 6875, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "20867:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6880, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6877, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "20899:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 6879, - "indexExpression": { - "argumentTypes": null, - "id": 6878, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "20911:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20899:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20867:56:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20942:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "20942:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20966:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "20966:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6885, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20992:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6886, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "20992:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6887, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "21019:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "21019:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6889, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "21044:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "21044:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20941:123:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$", - "typeString": "tuple(bool,uint256,uint256,uint32,uint256)" - } - }, - "functionReturnParameters": 6874, - "id": 6892, - "nodeType": "Return", - "src": "20934:130:7" - } - ] - }, - "documentation": null, - "id": 6894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6863, - "modifierName": { - "argumentTypes": null, - "id": 6862, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20793:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20793:13:7" - } - ], - "name": "getCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6860, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20760:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20760:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20759:21:7" - }, - "payable": false, - "returnParameters": { - "id": 6874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20816:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6864, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20816:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20822:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6869, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20831:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20831:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6871, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20840:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6870, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "20840:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6873, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20848:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20848:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20815:41:7" - }, - "scope": 8578, - "src": "20732:339:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6954, - "nodeType": "Block", - "src": "21272:418:7", - "statements": [ - { - "assignments": [ - 6924 - ], - "declarations": [ - { - "constant": false, - "id": 6924, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21282:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 6923, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "21282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6931, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6925, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "21304:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 6927, - "indexExpression": { - "argumentTypes": null, - "id": 6926, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6896, - "src": "21316:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21304:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 6928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "21304:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 6930, - "indexExpression": { - "argumentTypes": null, - "id": 6929, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6898, - "src": "21334:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21304:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21282:64:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6932, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21378:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6933, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "21378:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6934, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "21409:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6936, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21438:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "21438:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6938, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21464:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "21464:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6940, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21491:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "21491:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6942, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21523:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "21523:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6944, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21551:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "21551:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6946, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21584:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "21584:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6948, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21618:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "21618:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6950, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21652:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "21652:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6952, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21364:319:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(bool,bool,uint256,uint256,uint32,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 6922, - "id": 6953, - "nodeType": "Return", - "src": "21357:326:7" - } - ] - }, - "documentation": null, - "id": 6955, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6901, - "modifierName": { - "argumentTypes": null, - "id": 6900, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21154:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21154:13:7" - } - ], - "name": "getBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6896, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21095:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21095:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6898, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21113:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21094:39:7" - }, - "payable": false, - "returnParameters": { - "id": 6922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6903, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21185:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6902, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6905, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21191:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6904, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21191:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6907, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21197:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21197:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6909, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21206:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21206:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6911, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21215:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6910, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "21215:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6913, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21223:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21223:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6915, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21232:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21232:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6917, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21241:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21241:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6919, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21250:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21250:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6921, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21259:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21259:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:83:7" - }, - "scope": 8578, - "src": "21077:613:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6974, - "nodeType": "Block", - "src": "21824:73:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6969, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "21857:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6970, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "21866:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6971, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "21876:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6968, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "21841:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 6972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21841:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6967, - "id": 6973, - "nodeType": "Return", - "src": "21834:56:7" - } - ] - }, - "documentation": null, - "id": 6975, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6964, - "modifierName": { - "argumentTypes": null, - "id": 6963, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21792:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21792:13:7" - } - ], - "name": "getStaticPricePPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6957, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21723:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21723:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6959, - "name": "_balance", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21740:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6961, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21758:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6960, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "21758:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21722:57:7" - }, - "payable": false, - "returnParameters": { - "id": 6967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6966, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21815:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21815:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21814:9:7" - }, - "scope": 8578, - "src": "21696:201:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 7006, - "nodeType": "Block", - "src": "22088:109:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7001, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6981, - "src": "22174:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22166:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22166:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6998, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6977, - "src": "22154:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22154: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": 7003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22154:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6995, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "22140:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6991, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22130:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22122:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 6992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22122:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6987, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22113:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22105:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 6988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22105: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": 6993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22105:34: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": 6996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "22105:48: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": 7004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:85:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6985, - "id": 7005, - "nodeType": "Return", - "src": "22098:92:7" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 7007, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_staticPricePPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6977, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "21999:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21999:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6979, - "name": "_balance", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22016:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6981, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22034:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6980, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "22034:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21998:57:7" - }, - "payable": false, - "returnParameters": { - "id": 6985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6984, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22079:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22078:9:7" - }, - "scope": 8578, - "src": "21974:223:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7022, - "nodeType": "Block", - "src": "22262:72:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7019, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "22315:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7015, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "22297:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7012, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "22280:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22280:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "22280: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": 7016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22280:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7017, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22279:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22279:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22279:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7011, - "id": 7021, - "nodeType": "Return", - "src": "22272:55:7" - } - ] - }, - "documentation": null, - "id": 7023, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7008, - "nodeType": "ParameterList", - "parameters": [], - "src": "22227:2:7" - }, - "payable": false, - "returnParameters": { - "id": 7011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7010, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7023, - "src": "22253:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22253:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22252:9:7" - }, - "scope": 8578, - "src": "22203:131:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7036, - "nodeType": "Block", - "src": "22447:50:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7030, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7025, - "src": "22464:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22488:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22480:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22480:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "22464:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7029, - "id": 7035, - "nodeType": "Return", - "src": "22457:33:7" - } - ] - }, - "documentation": null, - "id": 7037, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_beneficiaryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7025, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "22396:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22396:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22395:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7028, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "22441:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7027, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22441:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22440:6:7" - }, - "scope": 8578, - "src": "22367:130:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7048, - "nodeType": "Block", - "src": "22567:39:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7044, - "name": "_fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "22584:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7045, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "22591:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22584:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7043, - "id": 7047, - "nodeType": "Return", - "src": "22577:22:7" - } - ] - }, - "documentation": null, - "id": 7049, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_feeIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7039, - "name": "_fee", - "nodeType": "VariableDeclaration", - "scope": 7049, - "src": "22524:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22524:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22523:14:7" - }, - "payable": false, - "returnParameters": { - "id": 7043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7042, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7049, - "src": "22561:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7041, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22561:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22560:6:7" - }, - "scope": 8578, - "src": "22503:103:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7060, - "nodeType": "Block", - "src": "22693:44:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 7058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7056, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7051, - "src": "22710:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7057, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22727:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "22710:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7055, - "id": 7059, - "nodeType": "Return", - "src": "22703:27:7" - } - ] - }, - "documentation": null, - "id": 7061, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_reserveRatioIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7051, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7061, - "src": "22642:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7050, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "22642:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22641:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7054, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7061, - "src": "22687:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7053, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22687:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22686:6:7" - }, - "scope": 8578, - "src": "22612:125:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7077, - "nodeType": "Block", - "src": "22837:71:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7068, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "22854:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "maxAccountTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 18276, - "src": "22854:30:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 7070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22854:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "22898:2:7", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 7072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22899:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 7071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22890:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22890:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22854:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7067, - "id": 7076, - "nodeType": "Return", - "src": "22847:54:7" - } - ] - }, - "documentation": null, - "id": 7078, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenManagerSettingIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7063, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 7078, - "src": "22780:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 7062, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "22780:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22779:28:7" - }, - "payable": false, - "returnParameters": { - "id": 7067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7066, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7078, - "src": "22831:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7065, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22831:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22830:6:7" - }, - "scope": 8578, - "src": "22743:165:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7132, - "nodeType": "Block", - "src": "23048:355:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7091, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23062:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23072:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23062:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7097, - "nodeType": "IfStatement", - "src": "23058:54:7", - "trueBody": { - "id": 7096, - "nodeType": "Block", - "src": "23075:37:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23096:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7090, - "id": 7095, - "nodeType": "Return", - "src": "23089:12:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7098, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23126:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7099, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23141:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23126:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7106, - "nodeType": "IfStatement", - "src": "23122:75:7", - "trueBody": { - "id": 7105, - "nodeType": "Block", - "src": "23146:51:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7101, - "name": "_msgValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "23167:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7102, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23180:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23167:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7090, - "id": 7104, - "nodeType": "Return", - "src": "23160:26:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7107, - "name": "_msgValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "23228:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23241:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23228:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7112, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7080, - "src": "23279:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7113, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23287:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7110, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "23258:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "23258:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23258:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7115, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23303:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23258:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23228:81:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7122, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7080, - "src": "23354:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7124, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29953, - "src": "23370:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 7123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23362:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23362:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7119, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23331:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7118, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23325:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23325:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 7121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "23325:28:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23325:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7127, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23380:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23325:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23228:158:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 7130, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23214:182:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7090, - "id": 7131, - "nodeType": "Return", - "src": "23207:189:7" - } - ] - }, - "documentation": null, - "id": 7133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_collateralValueIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7087, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7080, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22947:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22947:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7082, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22963:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7081, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22963:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7084, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22984:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22984:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7086, - "name": "_msgValue", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "23000:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22946:72:7" - }, - "payable": false, - "returnParameters": { - "id": 7090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7089, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "23042:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7088, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23042:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23041:6:7" - }, - "scope": 8578, - "src": "22914:489:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7153, - "nodeType": "Block", - "src": "23500:91:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7142, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "23517:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23528:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23517:12:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7147, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7135, - "src": "23565:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7145, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "23533:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 7146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "spendableBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 18838, - "src": "23533:31:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 7148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23533:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7149, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "23577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23533:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23517:67:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7141, - "id": 7152, - "nodeType": "Return", - "src": "23510:74:7" - } - ] - }, - "documentation": null, - "id": 7154, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_bondAmountIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7135, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23437:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23437:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7137, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23454:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23454:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23436:34:7" - }, - "payable": false, - "returnParameters": { - "id": 7141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7140, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23494:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23494:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23493:6:7" - }, - "scope": 8578, - "src": "23409:182:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7166, - "nodeType": "Block", - "src": "23681:60:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7161, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "23698:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7163, - "indexExpression": { - "argumentTypes": null, - "id": 7162, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "23710:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23698:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "23698:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7160, - "id": 7165, - "nodeType": "Return", - "src": "23691:43:7" - } - ] - }, - "documentation": null, - "id": 7167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_collateralIsWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7156, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7167, - "src": "23631:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23631:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23630:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7159, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7167, - "src": "23675:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7158, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23675:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23674:6:7" - }, - "scope": 8578, - "src": "23597:144:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7179, - "nodeType": "Block", - "src": "23816:52:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7174, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7169, - "src": "23833:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7175, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "23844:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23844:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23833:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7173, - "id": 7178, - "nodeType": "Return", - "src": "23826:35:7" - } - ] - }, - "documentation": null, - "id": 7180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_batchIsOver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7169, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7180, - "src": "23769:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23768:18:7" - }, - "payable": false, - "returnParameters": { - "id": 7173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7172, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7180, - "src": "23810:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7171, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23810:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23809:6:7" - }, - "scope": 8578, - "src": "23747:121:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7197, - "nodeType": "Block", - "src": "23969:76:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7189, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "23986:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7191, - "indexExpression": { - "argumentTypes": null, - "id": 7190, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7182, - "src": "23998:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23986:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "23986:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7194, - "indexExpression": { - "argumentTypes": null, - "id": 7193, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7184, - "src": "24016:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23986:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "id": 7195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "23986:52:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7188, - "id": 7196, - "nodeType": "Return", - "src": "23979:59:7" - } - ] - }, - "documentation": null, - "id": 7198, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_batchIsCancelled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7182, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23901:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7184, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23919:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23919:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23900:39:7" - }, - "payable": false, - "returnParameters": { - "id": 7188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7187, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23963:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7186, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23963:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23962:6:7" - }, - "scope": 8578, - "src": "23874:171:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7225, - "nodeType": "Block", - "src": "24156:121:7", - "statements": [ - { - "assignments": [ - 7210 - ], - "declarations": [ - { - "constant": false, - "id": 7210, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24166:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7209, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24166:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7217, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7211, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "24188:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7213, - "indexExpression": { - "argumentTypes": null, - "id": 7212, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7200, - "src": "24200:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24188:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "24188:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7216, - "indexExpression": { - "argumentTypes": null, - "id": 7215, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7202, - "src": "24218:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24188:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24166:64:7" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7218, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7210, - "src": "24247:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "24247:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7221, - "indexExpression": { - "argumentTypes": null, - "id": 7220, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7204, - "src": "24260:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24247:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24269:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24247:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7208, - "id": 7224, - "nodeType": "Return", - "src": "24240:30:7" - } - ] - }, - "documentation": null, - "id": 7226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_userIsBuyer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7200, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24073:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24073:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7202, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24091:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24091:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7204, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24112:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24112:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24072:54:7" - }, - "payable": false, - "returnParameters": { - "id": 7208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7207, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24150:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24150:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24149:6:7" - }, - "scope": 8578, - "src": "24051:226:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7253, - "nodeType": "Block", - "src": "24389:122:7", - "statements": [ - { - "assignments": [ - 7238 - ], - "declarations": [ - { - "constant": false, - "id": 7238, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24399:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7237, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24399:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7245, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7239, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "24421:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7241, - "indexExpression": { - "argumentTypes": null, - "id": 7240, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7228, - "src": "24433:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24421:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "24421:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7244, - "indexExpression": { - "argumentTypes": null, - "id": 7243, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7230, - "src": "24451:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24421:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24399:64:7" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7246, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7238, - "src": "24480:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "24480:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7249, - "indexExpression": { - "argumentTypes": null, - "id": 7248, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7232, - "src": "24494:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24480:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24503:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24480:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7236, - "id": 7252, - "nodeType": "Return", - "src": "24473:31:7" - } - ] - }, - "documentation": null, - "id": 7254, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_userIsSeller", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7228, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24306:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24306:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7230, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24324:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24324:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7232, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24345:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24345:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24305:54:7" - }, - "payable": false, - "returnParameters": { - "id": 7236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24383:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7234, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24383:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24382:6:7" - }, - "scope": 8578, - "src": "24283:228:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7273, - "nodeType": "Block", - "src": "24601:114:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7264, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "24647:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24639:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24639:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7266, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "24657:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7261, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "24618:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "24618:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24618:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7268, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "24673:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7270, - "indexExpression": { - "argumentTypes": null, - "id": 7269, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "24696:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24673:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24618:90:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7260, - "id": 7272, - "nodeType": "Return", - "src": "24611:97:7" - } - ] - }, - "documentation": null, - "id": 7274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_poolBalanceIsSufficient", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7256, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7274, - "src": "24551:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24551:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24550:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7259, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7274, - "src": "24595:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7258, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24595:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24594:6:7" - }, - "scope": 8578, - "src": "24517:198:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7318, - "nodeType": "Block", - "src": "24819:453:7", - "statements": [ - { - "assignments": [ - 7284 - ], - "declarations": [ - { - "constant": false, - "id": 7284, - "name": "staticPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24829:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7293, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7286, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24870:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "24870:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7288, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24885:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7289, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "24885:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7290, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24901:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "24901:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7285, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "24854:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 7292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24854:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24829:92:7" - }, - { - "assignments": [ - 7295 - ], - "declarations": [ - { - "constant": false, - "id": 7295, - "name": "maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24931:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24931:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7298, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7296, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24957:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "24957:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24931:41:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7299, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25066:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25066:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7305, - "nodeType": "IfStatement", - "src": "25062:61:7", - "trueBody": { - "id": 7304, - "nodeType": "Block", - "src": "25087:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25108:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7282, - "id": 7303, - "nodeType": "Return", - "src": "25101:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7307, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "25160:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7308, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25168:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7309, - "name": "maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "25184:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7306, - "name": "_buySlippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7359, - "src": "25140:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,uint256) view returns (bool)" - } - }, - "id": 7310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25140:60:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7312, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "25225:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7313, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25233:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7314, - "name": "maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "25249:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7311, - "name": "_sellSlippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7406, - "src": "25204:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,uint256) view returns (bool)" - } - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25204:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "25140:125:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7282, - "id": 7317, - "nodeType": "Return", - "src": "25133:132:7" - } - ] - }, - "documentation": null, - "id": 7319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_slippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7276, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24747:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7275, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24747:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7278, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24769:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24746:43:7" - }, - "payable": false, - "returnParameters": { - "id": 7282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7281, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24813:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24813:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24812:6:7" - }, - "scope": 8578, - "src": "24721:551:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7358, - "nodeType": "Block", - "src": "25411:981:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7338, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7325, - "src": "26230:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7336, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26217:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26217: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": 7339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26217:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7333, - "name": "_startingPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7323, - "src": "26194:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7330, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7321, - "src": "26168:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "26168:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26168:25: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": 7334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26168:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26168:48: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": 7340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26168:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7348, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "26311:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26303:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7344, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26289:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7341, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7321, - "src": "26264:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "26264:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26264:24: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": 7345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26264:34:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26264:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26264:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26168:148:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7355, - "nodeType": "IfStatement", - "src": "26151:212:7", - "trueBody": { - "id": 7354, - "nodeType": "Block", - "src": "26327:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26348:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7329, - "id": 7353, - "nodeType": "Return", - "src": "26341:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26380:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7329, - "id": 7357, - "nodeType": "Return", - "src": "26373:12:7" - } - ] - }, - "documentation": null, - "id": 7359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_buySlippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7321, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25307:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7320, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "25307:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7323, - "name": "_startingPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25329:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7325, - "name": "_maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25356:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25356:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25306:75:7" - }, - "payable": false, - "returnParameters": { - "id": 7329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7328, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25405:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7327, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "25405:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25404:6:7" - }, - "scope": 8578, - "src": "25278:1114:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7405, - "nodeType": "Block", - "src": "26532:1052:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7370, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "26784:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7371, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26804:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26784:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7376, - "nodeType": "IfStatement", - "src": "26780:70:7", - "trueBody": { - "id": 7375, - "nodeType": "Block", - "src": "26814:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26835:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7369, - "id": 7374, - "nodeType": "Return", - "src": "26828:11:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7384, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "27407:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27399:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7380, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "27385:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7377, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7361, - "src": "27358:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7378, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "27358:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27358:26: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": 7381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27358:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27358: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": 7386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27358:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7395, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7361, - "src": "27486:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "27486:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7391, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "27463:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7389, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "27450:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "27450: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": 7392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27450:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7387, - "name": "_startingPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "27428:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27428:21: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": 7393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27428:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27428:57: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": 7397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27428:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27358:150:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7402, - "nodeType": "IfStatement", - "src": "27341:214:7", - "trueBody": { - "id": 7401, - "nodeType": "Block", - "src": "27519:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27540:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7369, - "id": 7400, - "nodeType": "Return", - "src": "27533:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27572:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7369, - "id": 7404, - "nodeType": "Return", - "src": "27565:12:7" - } - ] - }, - "documentation": null, - "id": 7406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_sellSlippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7361, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26428:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7360, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "26428:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7363, - "name": "_startingPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26450:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26450:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7365, - "name": "_maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26477:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26477:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26427:75:7" - }, - "payable": false, - "returnParameters": { - "id": 7369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7368, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26526:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "26526:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26525:6:7" - }, - "scope": 8578, - "src": "26398:1186:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7573, - "nodeType": "Block", - "src": "27712:4048:7", - "statements": [ - { - "assignments": [ - 7416 - ], - "declarations": [ - { - "constant": false, - "id": 7416, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27722:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7419, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7417, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "27740:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27740:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27722:35:7" - }, - { - "assignments": [ - 7421 - ], - "declarations": [ - { - "constant": false, - "id": 7421, - "name": "metaBatch", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27767:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - }, - "typeName": { - "contractScope": null, - "id": 7420, - "name": "MetaBatch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6033, - "src": "27767:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7425, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7422, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "27797:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7424, - "indexExpression": { - "argumentTypes": null, - "id": 7423, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "27809:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27797:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27767:50:7" - }, - { - "assignments": [ - 7427 - ], - "declarations": [ - { - "constant": false, - "id": 7427, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27827:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7426, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "27827:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7432, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7428, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "27849:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "27849:17:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7431, - "indexExpression": { - "argumentTypes": null, - "id": 7430, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "27867:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27849:30:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27827:52:7" - }, - { - "condition": { - "argumentTypes": null, - "id": 7435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "27894:22:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7433, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "27895:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7434, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6020, - "src": "27895:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7484, - "nodeType": "IfStatement", - "src": "27890:1717:7", - "trueBody": { - "id": 7483, - "nodeType": "Block", - "src": "27918:1689:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7436, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29232:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "29232:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7443, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "29279:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7439, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "29255:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 7440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 28037, - "src": "29255:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 7441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29255:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "29255: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": 7444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29255:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29232:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7446, - "nodeType": "ExpressionStatement", - "src": "29232:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7447, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29310:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "29310:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7450, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "29332:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29310:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7452, - "nodeType": "ExpressionStatement", - "src": "29310:31:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7453, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29355:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "29355:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7456, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "29378:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29355:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7458, - "nodeType": "ExpressionStatement", - "src": "29355:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7459, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29402:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "29402:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7462, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "29422:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "29402:27:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 7464, - "nodeType": "ExpressionStatement", - "src": "29402:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7465, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29443:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7467, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6020, - "src": "29443:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29467:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "29443:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7470, - "nodeType": "ExpressionStatement", - "src": "29443:28:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7472, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "29504:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7473, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29513:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "29513:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7475, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29535:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "29535:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7477, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29556:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "29556:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7479, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29578:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "29578:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 7471, - "name": "NewMetaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "29491:12:7", - "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": 7481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29491:105:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7482, - "nodeType": "EmitStatement", - "src": "29486:110:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "29621:18:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7485, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "29622:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "29622:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7568, - "nodeType": "IfStatement", - "src": "29617:2103:7", - "trueBody": { - "id": 7567, - "nodeType": "Block", - "src": "29641:2079:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7491, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31148:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7488, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "31118:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 9589, - "src": "31118:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 7492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31118:42:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7493, - "nodeType": "ExpressionStatement", - "src": "31118:42:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7494, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31174:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "31174:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7500, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31214:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7502, - "indexExpression": { - "argumentTypes": null, - "id": 7501, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31226:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31214:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "31214:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7497, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "31189:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7498, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "31189:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "31189:24: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": 7504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31189:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31174:79:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7506, - "nodeType": "ExpressionStatement", - "src": "31174:79:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7507, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31267:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "31267:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7524, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "31384:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7526, - "indexExpression": { - "argumentTypes": null, - "id": 7525, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31407:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31384:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7518, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31339:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7520, - "indexExpression": { - "argumentTypes": null, - "id": 7519, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31351:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31339:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "31339:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7513, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "31312:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31304:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31304:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7515, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31322:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7510, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "31283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "31283:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "31283: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": 7522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:96:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "31283:100: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": 7527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:137:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31267:153:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7529, - "nodeType": "ExpressionStatement", - "src": "31267:153:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7530, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31434:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "31434:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7533, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31455:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7535, - "indexExpression": { - "argumentTypes": null, - "id": 7534, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31467:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31455:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "31455:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "31434:58:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7538, - "nodeType": "ExpressionStatement", - "src": "31434:58:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7539, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31506:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "31506:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7542, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31523:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7544, - "indexExpression": { - "argumentTypes": null, - "id": 7543, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31535:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31523:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "31523:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31506:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7547, - "nodeType": "ExpressionStatement", - "src": "31506:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7548, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31570:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "31570:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31590:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31570:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7553, - "nodeType": "ExpressionStatement", - "src": "31570:24:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7555, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "31623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7556, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31632:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7557, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31645:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "31645:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7559, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31659:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "31659:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7561, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31674:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "31674:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7563, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31694:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "31694:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7554, - "name": "NewBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6136, - "src": "31614:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31614:95:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7566, - "nodeType": "EmitStatement", - "src": "31609:100:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7569, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "31738:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7570, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31747:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - } - ], - "id": 7571, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "31737:16:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "functionReturnParameters": 7414, - "id": 7572, - "nodeType": "Return", - "src": "31730:23:7" - } - ] - }, - "documentation": null, - "id": 7574, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_currentBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7408, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27649:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27649:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27648:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7411, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27688:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27688:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7413, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27697:5:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7412, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "27697:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27687:24:7" - }, - "scope": 8578, - "src": "27626:4134:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7584, - "nodeType": "Block", - "src": "31830:52:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7577, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "31840:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31849:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31840:13:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7580, - "nodeType": "ExpressionStatement", - "src": "31840:13:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7581, - "name": "Open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6172, - "src": "31869:4:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 7582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31869:6:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7583, - "nodeType": "EmitStatement", - "src": "31864:11:7" - } - ] - }, - "documentation": null, - "id": 7585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7575, - "nodeType": "ParameterList", - "parameters": [], - "src": "31818:2:7" - }, - "payable": false, - "returnParameters": { - "id": 7576, - "nodeType": "ParameterList", - "parameters": [], - "src": "31830:0:7" - }, - "scope": 8578, - "src": "31804:78:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7598, - "nodeType": "Block", - "src": "31947:90:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7590, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "31957:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7591, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7587, - "src": "31971:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "31957:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7593, - "nodeType": "ExpressionStatement", - "src": "31957:26:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7595, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7587, - "src": "32017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7594, - "name": "UpdateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6100, - "src": "31999:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31999:31:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7597, - "nodeType": "EmitStatement", - "src": "31994:36:7" - } - ] - }, - "documentation": null, - "id": 7599, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7587, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 7599, - "src": "31916:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31916:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31915:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7589, - "nodeType": "ParameterList", - "parameters": [], - "src": "31947:0:7" - }, - "scope": 8578, - "src": "31888:149:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7614, - "nodeType": "Block", - "src": "32101:83:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7604, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "32111:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7605, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "32121:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "32111:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 7607, - "nodeType": "ExpressionStatement", - "src": "32111:18:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7610, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "32167:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 7609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32159:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32159:17:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7608, - "name": "UpdateFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "32145:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32145:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7613, - "nodeType": "EmitStatement", - "src": "32140:37:7" - } - ] - }, - "documentation": null, - "id": 7615, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateFormula", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7601, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 7615, - "src": "32067:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 7600, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "32067:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32066:25:7" - }, - "payable": false, - "returnParameters": { - "id": 7603, - "nodeType": "ParameterList", - "parameters": [], - "src": "32101:0:7" - }, - "scope": 8578, - "src": "32043:141:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7635, - "nodeType": "Block", - "src": "32261:124:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7622, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "32271:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7623, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "32283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32271:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7625, - "nodeType": "ExpressionStatement", - "src": "32271:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7626, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "32303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7627, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "32316:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32303:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7629, - "nodeType": "ExpressionStatement", - "src": "32303:24:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7631, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "32354:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7632, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "32366:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7630, - "name": "UpdateFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "32343:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 7633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32343:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7634, - "nodeType": "EmitStatement", - "src": "32338:40:7" - } - ] - }, - "documentation": null, - "id": 7636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7617, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "32211:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32211:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7619, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "32231:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32231:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32210:41:7" - }, - "payable": false, - "returnParameters": { - "id": 7621, - "nodeType": "ParameterList", - "parameters": [], - "src": "32261:0:7" - }, - "scope": 8578, - "src": "32190:195:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7693, - "nodeType": "Block", - "src": "32450:608:7", - "statements": [ - { - "assignments": [ - 7642, - 7644 - ], - "declarations": [ - { - "constant": false, - "id": 7642, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32461:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32461:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7644, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32478:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7643, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "32478:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7648, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7646, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32515:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7645, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "32501:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32501:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32460:67:7" - }, - { - "condition": { - "argumentTypes": null, - "id": 7651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "32541:16:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7649, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "32542:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7692, - "nodeType": "IfStatement", - "src": "32537:515:7", - "trueBody": { - "id": 7691, - "nodeType": "Block", - "src": "32559:493:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7652, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32573:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "32573:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32591:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "32573:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7657, - "nodeType": "ExpressionStatement", - "src": "32573:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7658, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "32762:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7665, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32828:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "32828:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7661, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32802:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "32802:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7659, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "32781:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "32781:20: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": 7663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32781:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32781:46: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": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32781:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32762:87:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7669, - "nodeType": "ExpressionStatement", - "src": "32762:87:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7670, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "32863:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7672, - "indexExpression": { - "argumentTypes": null, - "id": 7671, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32886:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32863:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7681, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32966:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "32966:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7677, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32941:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "32941:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7673, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "32901:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7675, - "indexExpression": { - "argumentTypes": null, - "id": 7674, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32924:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32901:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32901:39: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": 7679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32901:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "32901:64: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": 7683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32901:87:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32863:125:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7685, - "nodeType": "ExpressionStatement", - "src": "32863:125:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7687, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7642, - "src": "33020:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7688, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "33029:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7686, - "name": "CancelBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6142, - "src": "33008:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 7689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33008:33:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7690, - "nodeType": "EmitStatement", - "src": "33003:38:7" - } - ] - } - } - ] - }, - "documentation": null, - "id": 7694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cancelCurrentBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7638, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32420:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "32420:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32419:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7640, - "nodeType": "ParameterList", - "parameters": [], - "src": "32450:0:7" - }, - "scope": 8578, - "src": "32391:667:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7750, - "nodeType": "Block", - "src": "33225:416:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7707, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33235:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7709, - "indexExpression": { - "argumentTypes": null, - "id": 7708, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33247:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33235:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "33235:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33274:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "33235:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7713, - "nodeType": "ExpressionStatement", - "src": "33235:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7714, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33288:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7716, - "indexExpression": { - "argumentTypes": null, - "id": 7715, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33300:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33288:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "33288:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7718, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7698, - "src": "33329:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33288:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7720, - "nodeType": "ExpressionStatement", - "src": "33288:55:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7721, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33353:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7723, - "indexExpression": { - "argumentTypes": null, - "id": 7722, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33365:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33353:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7724, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "33353:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7725, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7700, - "src": "33395:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33353:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7727, - "nodeType": "ExpressionStatement", - "src": "33353:57:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7728, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33420:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7730, - "indexExpression": { - "argumentTypes": null, - "id": 7729, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33432:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33420:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "33420:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7732, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "33460:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "33420:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7734, - "nodeType": "ExpressionStatement", - "src": "33420:53:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7735, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33483:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7737, - "indexExpression": { - "argumentTypes": null, - "id": 7736, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33495:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33483:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "33483:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7739, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7704, - "src": "33519:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33483:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7741, - "nodeType": "ExpressionStatement", - "src": "33483:45:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7743, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33563:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7744, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7698, - "src": "33576:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7745, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7700, - "src": "33592:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7746, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "33609:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7747, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7704, - "src": "33624:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7742, - "name": "AddCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6154, - "src": "33544:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33544:90:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7749, - "nodeType": "EmitStatement", - "src": "33539:95:7" - } - ] - }, - "documentation": null, - "id": 7751, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7696, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33093:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "33093:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7698, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33114:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7700, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33138:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33138:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7702, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33163:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7701, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "33163:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7704, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33185:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33185:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33092:111:7" - }, - "payable": false, - "returnParameters": { - "id": 7706, - "nodeType": "ParameterList", - "parameters": [], - "src": "33225:0:7" - }, - "scope": 8578, - "src": "33064:577:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7790, - "nodeType": "Block", - "src": "33709:364:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7757, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "33739:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7756, - "name": "_cancelCurrentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7694, - "src": "33719:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33719:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7759, - "nodeType": "ExpressionStatement", - "src": "33719:32:7" - }, - { - "assignments": [ - 7761 - ], - "declarations": [ - { - "constant": false, - "id": 7761, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 7791, - "src": "33762:29:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - }, - "typeName": { - "contractScope": null, - "id": 7760, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "33762:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7765, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7762, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33794:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7764, - "indexExpression": { - "argumentTypes": null, - "id": 7763, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "33806:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33794:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33762:56:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33828:29:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7766, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33835:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "33835:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7769, - "nodeType": "ExpressionStatement", - "src": "33828:29:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33867:31:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7770, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33874:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "33874:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7773, - "nodeType": "ExpressionStatement", - "src": "33867:31:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33908:32:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7774, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33915:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "33915:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7777, - "nodeType": "ExpressionStatement", - "src": "33908:32:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33950:30:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7778, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33957:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7779, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "33957:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "ExpressionStatement", - "src": "33950:30:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33990:26:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7782, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33997:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "33997:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7785, - "nodeType": "ExpressionStatement", - "src": "33990:26:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7787, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "34054:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7786, - "name": "RemoveCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6158, - "src": "34032:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34032:34:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7789, - "nodeType": "EmitStatement", - "src": "34027:39:7" - } - ] - }, - "documentation": null, - "id": 7791, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7753, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7791, - "src": "33679:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "33679:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33678:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7755, - "nodeType": "ParameterList", - "parameters": [], - "src": "33709:0:7" - }, - "scope": 8578, - "src": "33647:426:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7840, - "nodeType": "Block", - "src": "34290:366:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7804, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34300:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7806, - "indexExpression": { - "argumentTypes": null, - "id": 7805, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34312:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34300:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "34300:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7808, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "34341:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34300:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7810, - "nodeType": "ExpressionStatement", - "src": "34300:55:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7811, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34365:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7813, - "indexExpression": { - "argumentTypes": null, - "id": 7812, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34377:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34365:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7814, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "34365:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7815, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "34407:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34365:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7817, - "nodeType": "ExpressionStatement", - "src": "34365:57:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7818, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34432:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7820, - "indexExpression": { - "argumentTypes": null, - "id": 7819, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34444:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34432:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "34432:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7822, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "34472:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "34432:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7824, - "nodeType": "ExpressionStatement", - "src": "34432:53:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7825, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34495:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7827, - "indexExpression": { - "argumentTypes": null, - "id": 7826, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34507:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34495:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "34495:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7829, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7801, - "src": "34531:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34495:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7831, - "nodeType": "ExpressionStatement", - "src": "34495:45:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7833, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34578:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7834, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "34591:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7835, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "34607:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7836, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "34624:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7837, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7801, - "src": "34639:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7832, - "name": "UpdateCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6170, - "src": "34556:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34556:93:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7839, - "nodeType": "EmitStatement", - "src": "34551:98:7" - } - ] - }, - "documentation": null, - "id": 7841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7793, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34120:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34120:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7795, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34149:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7797, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34181:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34181:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7799, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34214:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7798, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "34214:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7801, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34245:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34245:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34110:158:7" - }, - "payable": false, - "returnParameters": { - "id": 7803, - "nodeType": "ParameterList", - "parameters": [], - "src": "34290:0:7" - }, - "scope": 8578, - "src": "34079:577:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7981, - "nodeType": "Block", - "src": "34747:1299:7", - "statements": [ - { - "assignments": [ - 7851, - 7853 - ], - "declarations": [ - { - "constant": false, - "id": 7851, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34758:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34758:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7853, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34775:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7852, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "34775:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7857, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7855, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "34812:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7854, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "34798:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34798:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34757:67:7" - }, - { - "assignments": [ - 7859 - ], - "declarations": [ - { - "constant": false, - "id": 7859, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34857:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34857:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7870, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7868, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "34918:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7862, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "34882:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7864, - "indexExpression": { - "argumentTypes": null, - "id": 7863, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "34894:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34882:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7865, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "34882:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7860, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "34871:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "34871:10: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": 7866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34871:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "34871:46: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": 7869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34871:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34857:70:7" - }, - { - "assignments": [ - 7872 - ], - "declarations": [ - { - "constant": false, - "id": 7872, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34937:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34937:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7875, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "34964:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "34953:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "34953:10: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": 7876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34953:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34937:31:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7878, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "35021:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35027:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35021:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7889, - "nodeType": "IfStatement", - "src": "35017:86:7", - "trueBody": { - "id": 7888, - "nodeType": "Block", - "src": "35030:73:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7882, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35054:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7883, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "35062:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7884, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35075:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7885, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "35088:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7881, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "35044:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 7886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35044:48:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7887, - "nodeType": "ExpressionStatement", - "src": "35044:48:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7891, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35122:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7893, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "35138:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7892, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35130:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7895, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35148:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7896, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35161:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7890, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "35112:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 7897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35112:55:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7898, - "nodeType": "ExpressionStatement", - "src": "35112:55:7" - }, - { - "assignments": [ - 7900 - ], - "declarations": [ - { - "constant": false, - "id": 7900, - "name": "deprecatedBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "35200:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35200:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7903, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7901, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35230:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "35230:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "35200:50:7" - }, - { - "assignments": [ - 7905 - ], - "declarations": [ - { - "constant": false, - "id": 7905, - "name": "deprecatedSellReturn", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "35260:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35260:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7908, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7906, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35291:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7907, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "35291:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "35260:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7909, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35347:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "35347:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7915, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35393:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7912, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35369:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "35369:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35369: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": 7916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35369:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35347:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7918, - "nodeType": "ExpressionStatement", - "src": "35347:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7919, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "35409:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7923, - "indexExpression": { - "argumentTypes": null, - "id": 7921, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35422:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35409:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7929, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35457:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7924, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35432:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7925, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "35432:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7927, - "indexExpression": { - "argumentTypes": null, - "id": 7926, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35445:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35432:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35432:24: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": 7930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35432:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35409:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7932, - "nodeType": "ExpressionStatement", - "src": "35409:54:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7934, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35515:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7935, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "35522:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7936, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35531:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7933, - "name": "_updatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "35500:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,address)" - } - }, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35500:43:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7938, - "nodeType": "ExpressionStatement", - "src": "35500:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7939, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "35636:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7945, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35701:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "35701:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7942, - "name": "deprecatedBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "35676:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7940, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "35655:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "35655:20: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": 7943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35655:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35655:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35655:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35636:86:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7949, - "nodeType": "ExpressionStatement", - "src": "35636:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7950, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "35732:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7952, - "indexExpression": { - "argumentTypes": null, - "id": 7951, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35755:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35732:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7960, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35836:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7961, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "35836:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7957, - "name": "deprecatedSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7905, - "src": "35810:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7953, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "35770:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7955, - "indexExpression": { - "argumentTypes": null, - "id": 7954, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35793:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35770:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "35770:39: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": 7958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35770:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35770:65: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": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35770:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35732:126:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7964, - "nodeType": "ExpressionStatement", - "src": "35732:126:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7967, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35919:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7968, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35926:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7966, - "name": "_slippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7319, - "src": "35902:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,address) view returns (bool)" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35902:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7970, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6001, - "src": "35940:28:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 7965, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "35894:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35894:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7972, - "nodeType": "ExpressionStatement", - "src": "35894:75:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7974, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35998:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7975, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "36006:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7976, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "36015:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7977, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "36028:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7978, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "36033:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7973, - "name": "OpenBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6184, - "src": "35985:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256,uint256)" - } - }, - "id": 7979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35985:54:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7980, - "nodeType": "EmitStatement", - "src": "35980:59:7" - } - ] - }, - "documentation": null, - "id": 7982, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7843, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34685:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34685:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7845, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34701:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34701:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7847, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34722:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34684:53:7" - }, - "payable": false, - "returnParameters": { - "id": 7849, - "nodeType": "ParameterList", - "parameters": [], - "src": "34747:0:7" - }, - "scope": 8578, - "src": "34662:1384:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8094, - "nodeType": "Block", - "src": "36140:1122:7", - "statements": [ - { - "assignments": [ - 7992, - 7994 - ], - "declarations": [ - { - "constant": false, - "id": 7992, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36151:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7994, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36168:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7993, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "36168:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7998, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7996, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36205:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7995, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "36191:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36191:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36150:67:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8002, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36268:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8003, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36277:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7999, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "36250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 18478, - "src": "36250:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36250:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8005, - "nodeType": "ExpressionStatement", - "src": "36250:35:7" - }, - { - "assignments": [ - 8007 - ], - "declarations": [ - { - "constant": false, - "id": 8007, - "name": "deprecatedBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36318:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36318:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8010, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8008, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36348:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "36348:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36318:50:7" - }, - { - "assignments": [ - 8012 - ], - "declarations": [ - { - "constant": false, - "id": 8012, - "name": "deprecatedSellReturn", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36378:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36378:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8015, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8013, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "36409:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36378:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8016, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36465:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "36465:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8022, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36513:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8019, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36488:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "36488:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36488:24: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": 8023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36488:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36465:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8025, - "nodeType": "ExpressionStatement", - "src": "36465:56:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8026, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36531:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8029, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "36531:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8030, - "indexExpression": { - "argumentTypes": null, - "id": 8028, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36545:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36531:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8036, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36583:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8031, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36556:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "36556:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8034, - "indexExpression": { - "argumentTypes": null, - "id": 8033, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36570:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36556:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36556:26: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": 8037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36556:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36531:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8039, - "nodeType": "ExpressionStatement", - "src": "36531:60:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8041, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36643:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 8042, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "36650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8043, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36659:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8040, - "name": "_updatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "36628:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,address)" - } - }, - "id": 8044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36628:43:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8045, - "nodeType": "ExpressionStatement", - "src": "36628:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8046, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "36764:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8052, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36829:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "36829:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8049, - "name": "deprecatedBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "36804:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8047, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "36783:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "36783:20: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": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36783:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36783:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36783:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36764:86:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8056, - "nodeType": "ExpressionStatement", - "src": "36764:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8057, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "36860:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8059, - "indexExpression": { - "argumentTypes": null, - "id": 8058, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36883:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36860:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8067, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36964:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "36964:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8064, - "name": "deprecatedSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "36938:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8060, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "36898:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8062, - "indexExpression": { - "argumentTypes": null, - "id": 8061, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36921:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36898:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "36898:39: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": 8065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36898:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36898:65: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": 8069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36898:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36860:126:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8071, - "nodeType": "ExpressionStatement", - "src": "36860:126:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8074, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "37047:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 8075, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37054:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8073, - "name": "_slippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7319, - "src": "37030:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,address) view returns (bool)" - } - }, - "id": 8076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37030:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8077, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6001, - "src": "37068:28:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8072, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "37022:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37022:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8079, - "nodeType": "ExpressionStatement", - "src": "37022:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8082, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37140:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8081, - "name": "_poolBalanceIsSufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7274, - "src": "37115:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37115:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8084, - "name": "ERROR_INSUFFICIENT_POOL_BALANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6004, - "src": "37154:31:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "37107:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37107:79:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8086, - "nodeType": "ExpressionStatement", - "src": "37107:79:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8088, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "37216:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8089, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "37225:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8090, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37234:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8091, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "37247:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8087, - "name": "OpenSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6194, - "src": "37202:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37202:53:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8093, - "nodeType": "EmitStatement", - "src": "37197:58:7" - } - ] - }, - "documentation": null, - "id": 8095, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7989, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7984, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36076:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7983, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36076:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7986, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36093:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36093:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7988, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36114:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36075:55:7" - }, - "payable": false, - "returnParameters": { - "id": 7990, - "nodeType": "ParameterList", - "parameters": [], - "src": "36140:0:7" - }, - "scope": 8578, - "src": "36052:1210:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8163, - "nodeType": "Block", - "src": "37356:444:7", - "statements": [ - { - "assignments": [ - 8105 - ], - "declarations": [ - { - "constant": false, - "id": 8105, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37366:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8104, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "37366:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8112, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8106, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "37388:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8108, - "indexExpression": { - "argumentTypes": null, - "id": 8107, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8099, - "src": "37400:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37388:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "37388:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8111, - "indexExpression": { - "argumentTypes": null, - "id": 8110, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8101, - "src": "37418:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37388:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37366:64:7" - }, - { - "assignments": [ - 8114 - ], - "declarations": [ - { - "constant": false, - "id": 8114, - "name": "buyReturn", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37440:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8128, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8125, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "37513:19:7", - "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, - "id": 8120, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37486:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8121, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "37486:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8115, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37461:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "37461:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8118, - "indexExpression": { - "argumentTypes": null, - "id": 8117, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37474:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37461:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "37461:24: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": 8122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37461:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8123, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37460:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "37460:52: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": 8127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37460:73:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37440:93:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8129, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37544:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "37544:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8133, - "indexExpression": { - "argumentTypes": null, - "id": 8131, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37557:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "37544:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37567:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37544:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8136, - "nodeType": "ExpressionStatement", - "src": "37544:24:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8137, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37583:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37595:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37583:13:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8155, - "nodeType": "IfStatement", - "src": "37579:144:7", - "trueBody": { - "id": 8154, - "nodeType": "Block", - "src": "37598:125:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8140, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "37612:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8143, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37652:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8141, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "37631:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "37631:20: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": 8144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37631:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37612:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8146, - "nodeType": "ExpressionStatement", - "src": "37612:50:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8150, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37694:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8151, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37702:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8147, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "37676:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "37676:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37676:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8153, - "nodeType": "ExpressionStatement", - "src": "37676:36:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8157, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37752:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8158, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8099, - "src": "37760:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8159, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8101, - "src": "37770:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8160, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37783:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8156, - "name": "ClaimBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6204, - "src": "37738:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37738:55:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8162, - "nodeType": "EmitStatement", - "src": "37733:60:7" - } - ] - }, - "documentation": null, - "id": 8164, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8097, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37292:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8096, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8099, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37308:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37308:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8101, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37326:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37291:55:7" - }, - "payable": false, - "returnParameters": { - "id": 8103, - "nodeType": "ParameterList", - "parameters": [], - "src": "37356:0:7" - }, - "scope": 8578, - "src": "37268:532:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8271, - "nodeType": "Block", - "src": "37896:724:7", - "statements": [ - { - "assignments": [ - 8174 - ], - "declarations": [ - { - "constant": false, - "id": 8174, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37906:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8173, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "37906:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8181, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8175, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "37928:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8177, - "indexExpression": { - "argumentTypes": null, - "id": 8176, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "37940:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37928:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "37928:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8180, - "indexExpression": { - "argumentTypes": null, - "id": 8179, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "37958:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37928:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37906:64:7" - }, - { - "assignments": [ - 8183 - ], - "declarations": [ - { - "constant": false, - "id": 8183, - "name": "saleReturn", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37980:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37980:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8197, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8194, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38057:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "38057:20:7", - "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, - "id": 8189, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38029:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "38029:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8184, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38002:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "38002:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8187, - "indexExpression": { - "argumentTypes": null, - "id": 8186, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38002:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "38002:26: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": 8191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38002:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8192, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38001:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "38001: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": 8196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38001:77:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37980:98:7" - }, - { - "assignments": [ - 8199 - ], - "declarations": [ - { - "constant": false, - "id": 8199, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "38088:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38088:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8210, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8208, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "38155:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8202, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "38117:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8204, - "indexExpression": { - "argumentTypes": null, - "id": 8203, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "38129:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38117:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8205, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "38117:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8200, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38102:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "38102:14: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": 8206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38102:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "38102:52: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": 8209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38102:62:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38088:76:7" - }, - { - "assignments": [ - 8212 - ], - "declarations": [ - { - "constant": false, - "id": 8212, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "38174:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8215, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38205:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8213, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38190:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38190:14: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": 8216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38190:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38174:35:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8218, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38220:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "38220:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8222, - "indexExpression": { - "argumentTypes": null, - "id": 8220, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38234:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38220:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38245:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38220:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8225, - "nodeType": "ExpressionStatement", - "src": "38220:26:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8226, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38261:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38269:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38261:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8249, - "nodeType": "IfStatement", - "src": "38257:188:7", - "trueBody": { - "id": 8248, - "nodeType": "Block", - "src": "38272:173:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8229, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38286:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8231, - "indexExpression": { - "argumentTypes": null, - "id": 8230, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38309:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38286:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8236, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38364:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8232, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38324:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8234, - "indexExpression": { - "argumentTypes": null, - "id": 8233, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38347:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38324:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38324:39: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": 8237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38324:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38286:89:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8239, - "nodeType": "ExpressionStatement", - "src": "38286:89:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8243, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38406:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8244, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38419:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8245, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38428:5:7", - "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": 8240, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "38389:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "38389:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38389:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8247, - "nodeType": "ExpressionStatement", - "src": "38389:45:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8250, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38458:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38464:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38458:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8262, - "nodeType": "IfStatement", - "src": "38454:85:7", - "trueBody": { - "id": 8261, - "nodeType": "Block", - "src": "38467:72:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8256, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38498:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8257, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "38511:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8258, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38524:3:7", - "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": 8253, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "38481:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "38481:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38481:47:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8260, - "nodeType": "ExpressionStatement", - "src": "38481:47:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8264, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38570:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8265, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "38579:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8266, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38589:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8267, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38602:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8268, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38607:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8263, - "name": "ClaimSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "38555:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256,uint256)" - } - }, - "id": 8269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38555:58:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8270, - "nodeType": "EmitStatement", - "src": "38550:63:7" - } - ] - }, - "documentation": null, - "id": 8272, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8166, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37831:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37831:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8168, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37848:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37848:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8170, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37866:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37866:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37830:56:7" - }, - "payable": false, - "returnParameters": { - "id": 8172, - "nodeType": "ParameterList", - "parameters": [], - "src": "37896:0:7" - }, - "scope": 8578, - "src": "37806:814:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8336, - "nodeType": "Block", - "src": "38723:430:7", - "statements": [ - { - "assignments": [ - 8282 - ], - "declarations": [ - { - "constant": false, - "id": 8282, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38733:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8281, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "38733:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8289, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8283, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "38755:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8285, - "indexExpression": { - "argumentTypes": null, - "id": 8284, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8276, - "src": "38767:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38755:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "38755:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8288, - "indexExpression": { - "argumentTypes": null, - "id": 8287, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38785:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38755:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38733:64:7" - }, - { - "assignments": [ - 8291 - ], - "declarations": [ - { - "constant": false, - "id": 8291, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38808:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38808:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8296, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8292, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8282, - "src": "38824:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "38824:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8295, - "indexExpression": { - "argumentTypes": null, - "id": 8294, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "38837:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38824:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38808:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8297, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8282, - "src": "38854:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "38854:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8301, - "indexExpression": { - "argumentTypes": null, - "id": 8299, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "38867:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38854:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38877:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38854:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8304, - "nodeType": "ExpressionStatement", - "src": "38854:24:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8305, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "38893:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38901:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38893:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8328, - "nodeType": "IfStatement", - "src": "38889:182:7", - "trueBody": { - "id": 8327, - "nodeType": "Block", - "src": "38904:167:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8308, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38918:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8310, - "indexExpression": { - "argumentTypes": null, - "id": 8309, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38941:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38918:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8315, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "38996:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8311, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38956:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8313, - "indexExpression": { - "argumentTypes": null, - "id": 8312, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38979:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38956:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38956:39: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": 8316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38956:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38918:84:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8318, - "nodeType": "ExpressionStatement", - "src": "38918:84:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8322, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "39033:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8323, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "39046:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "39054:5:7", - "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": 8319, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "39016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "39016:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39016:44:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8326, - "nodeType": "ExpressionStatement", - "src": "39016:44:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8330, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "39109:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8331, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8276, - "src": "39117:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8332, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "39127:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8333, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "39140:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8329, - "name": "ClaimCancelledBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "39086:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39086:60:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8335, - "nodeType": "EmitStatement", - "src": "39081:65:7" - } - ] - }, - "documentation": null, - "id": 8337, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimCancelledBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8274, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38659:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "38659:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8276, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38675:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38675:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8278, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38693:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "38693:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38658:55:7" - }, - "payable": false, - "returnParameters": { - "id": 8280, - "nodeType": "ParameterList", - "parameters": [], - "src": "38723:0:7" - }, - "scope": 8578, - "src": "38626:527:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8396, - "nodeType": "Block", - "src": "39258:392:7", - "statements": [ - { - "assignments": [ - 8347 - ], - "declarations": [ - { - "constant": false, - "id": 8347, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39268:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8346, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "39268:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8354, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8348, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "39290:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8350, - "indexExpression": { - "argumentTypes": null, - "id": 8349, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "39302:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39290:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "39290:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8353, - "indexExpression": { - "argumentTypes": null, - "id": 8352, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "39320:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39290:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39268:64:7" - }, - { - "assignments": [ - 8356 - ], - "declarations": [ - { - "constant": false, - "id": 8356, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39343:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8361, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8357, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8347, - "src": "39360:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "39360:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8360, - "indexExpression": { - "argumentTypes": null, - "id": 8359, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39374:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39360:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39343:39:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8362, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8347, - "src": "39392:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "39392:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8366, - "indexExpression": { - "argumentTypes": null, - "id": 8364, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39406:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "39392:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39417:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39392:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8369, - "nodeType": "ExpressionStatement", - "src": "39392:26:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39433:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39442:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39433:10:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8388, - "nodeType": "IfStatement", - "src": "39429:136:7", - "trueBody": { - "id": 8387, - "nodeType": "Block", - "src": "39445:120:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8373, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "39459:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8376, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39499:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8374, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "39478:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "39478:20: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": 8377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39478:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39459:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8379, - "nodeType": "ExpressionStatement", - "src": "39459:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8383, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39538:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8384, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39547:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8380, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "39520:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "39520:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39520:34:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8386, - "nodeType": "ExpressionStatement", - "src": "39520:34:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8390, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39604:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8391, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "39613:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8392, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "39623:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8393, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39636:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8389, - "name": "ClaimCancelledSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6236, - "src": "39580:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39580:63:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8395, - "nodeType": "EmitStatement", - "src": "39575:68:7" - } - ] - }, - "documentation": null, - "id": 8397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimCancelledSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8339, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39193:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39193:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8341, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39210:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8343, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39228:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39228:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39192:56:7" - }, - "payable": false, - "returnParameters": { - "id": 8345, - "nodeType": "ParameterList", - "parameters": [], - "src": "39258:0:7" - }, - "scope": 8578, - "src": "39159:491:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8540, - "nodeType": "Block", - "src": "39749:4475:7", - "statements": [ - { - "assignments": [ - 8407 - ], - "declarations": [ - { - "constant": false, - "id": 8407, - "name": "staticPricePPM", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "40126:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40126:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8409, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40167:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "40167:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8411, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40181:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "40181:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8413, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40196:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8414, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "40196:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8408, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "40151:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40151:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40126:89:7" - }, - { - "assignments": [ - 8418 - ], - "declarations": [ - { - "constant": false, - "id": 8418, - "name": "resultOfSell", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "40753:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8429, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8426, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "40829:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40821:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 8427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40821:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8422, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "40801:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8419, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40776:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "40776:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "40776:24: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": 8423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40776:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "40776:44: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": 8428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40776:58:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40753:81:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8430, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "40849:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8431, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40864:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "40864:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40849:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8525, - "nodeType": "Block", - "src": "42502:1575:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8485, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43077:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "43077:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8488, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "43101:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "43077:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8490, - "nodeType": "ExpressionStatement", - "src": "43077:36:7" - }, - { - "assignments": [ - 8492 - ], - "declarations": [ - { - "constant": false, - "id": 8492, - "name": "remainingBuy", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "43320:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "43320:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8498, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8496, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "43367:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8493, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43343:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "43343:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "43343: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": 8497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "43343:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "43320:60:7" - }, - { - "assignments": [ - 8500 - ], - "declarations": [ - { - "constant": false, - "id": 8500, - "name": "remainingBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "43663:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "43663:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8506, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43746:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8507, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "43746:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8508, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43760:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "43760:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8510, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43775:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "43775:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 8512, - "name": "remainingBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8492, - "src": "43795:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8501, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "43692:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8503, - "indexExpression": { - "argumentTypes": null, - "id": 8502, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "43704:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "43692:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8504, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "43692:29:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 8505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "calculatePurchaseReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5812, - "src": "43692:53:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32,uint256) view external returns (uint256)" - } - }, - "id": 8513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "43692:116:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "43663:145:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8515, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43999:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "43999:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8521, - "name": "remainingBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8500, - "src": "44047:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8518, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44022:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "44022:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "44022:24: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": 8522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44022:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "43999:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8524, - "nodeType": "ExpressionStatement", - "src": "43999:67:7" - } - ] - }, - "id": 8526, - "nodeType": "IfStatement", - "src": "40845:3232:7", - "trueBody": { - "id": 8484, - "nodeType": "Block", - "src": "40885:1611:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8434, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41449:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "41449:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8445, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "41514:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8441, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "41504:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "41496:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41496:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8437, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41472:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "41472:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "41472: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": 8443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41472:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "41472:41: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": 8446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41472:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41449:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8448, - "nodeType": "ExpressionStatement", - "src": "41449:80:7" - }, - { - "assignments": [ - 8450 - ], - "declarations": [ - { - "constant": false, - "id": 8450, - "name": "remainingSell", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "41730:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "41730:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8454, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41779:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "41779:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8451, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41754:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "41754:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "41754:24: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": 8456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41754:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "41730:70:7" - }, - { - "assignments": [ - 8459 - ], - "declarations": [ - { - "constant": false, - "id": 8459, - "name": "remainingSellReturn", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "42081:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "42081:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8473, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8465, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42161:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "42161:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8467, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42175:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "42175:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8469, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42190:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "42190:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 8471, - "name": "remainingSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "42210:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8460, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "42111:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8462, - "indexExpression": { - "argumentTypes": null, - "id": 8461, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "42123:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "42111:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "42111:29:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 8464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "calculateSaleReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5825, - "src": "42111:49:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32,uint256) view external returns (uint256)" - } - }, - "id": 8472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "42111:113:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "42081:143:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8474, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42417:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "42417:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8480, - "name": "remainingSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8459, - "src": "42465:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8477, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42441:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "42441:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "42441: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": 8481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "42441:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "42417:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8483, - "nodeType": "ExpressionStatement", - "src": "42417:68:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8528, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "44107:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8529, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "44117:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8530, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44130:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "44130:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8532, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44151:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "44151:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8534, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44173:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "44173:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8536, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44195:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "44195:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8527, - "name": "UpdatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6250, - "src": "44093:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256,uint256)" - } - }, - "id": 8538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44093:124:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8539, - "nodeType": "EmitStatement", - "src": "44088:129:7" - } - ] - }, - "documentation": null, - "id": 8541, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updatePricing", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8399, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39680:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8398, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "39680:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8401, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39701:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39701:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8403, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39719:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39719:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39679:60:7" - }, - "payable": false, - "returnParameters": { - "id": 8405, - "nodeType": "ParameterList", - "parameters": [], - "src": "39749:0:7" - }, - "scope": 8578, - "src": "39656:4568:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8576, - "nodeType": "Block", - "src": "44329:220:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8552, - "name": "_collateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8547, - "src": "44343:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8553, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "44363:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "44343:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8574, - "nodeType": "Block", - "src": "44420:123:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8567, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8543, - "src": "44483:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8568, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8545, - "src": "44490:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8569, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "44495:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8564, - "name": "_collateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8547, - "src": "44448:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8563, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "44442:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 8565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44442:23:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "44442:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 8570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44442:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8571, - "name": "ERROR_TRANSFER_FROM_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6007, - "src": "44505:26:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8562, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "44434:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44434:98:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8573, - "nodeType": "ExpressionStatement", - "src": "44434:98:7" - } - ] - }, - "id": 8575, - "nodeType": "IfStatement", - "src": "44339:204:7", - "trueBody": { - "id": 8561, - "nodeType": "Block", - "src": "44368:46:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8558, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "44395:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8555, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8545, - "src": "44382:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "44382:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44382:21:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8560, - "nodeType": "ExpressionStatement", - "src": "44382:21:7" - } - ] - } - } - ] - }, - "documentation": null, - "id": 8577, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8543, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44249:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44249:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8545, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44264:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44264:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8547, - "name": "_collateralToken", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44277:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44277:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8549, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44303:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "44303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "44248:71:7" - }, - "payable": false, - "returnParameters": { - "id": 8551, - "nodeType": "ParameterList", - "parameters": [], - "src": "44329:0:7" - }, - "scope": 8578, - "src": "44230:319:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 8579, - "src": "624:43927:7" - } - ], - "src": "0:44552:7" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "exportedSymbols": { - "BatchedBancorMarketMaker": [ - 8578 - ] - }, - "id": 8579, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5890, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 5891, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23454, - "src": "25:49:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 5892, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23650, - "src": "75:60:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 5893, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 23826, - "src": "136:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 5894, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 24108, - "src": "189:51:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 5895, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 27870, - "src": "241:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 5896, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 28100, - "src": "294:50:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 5897, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 19074, - "src": "345:63:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 5898, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 19336, - "src": "409:48:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "file": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "id": 5899, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 5798, - "src": "458:72:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 5900, - "nodeType": "ImportDirective", - "scope": 8579, - "sourceUnit": 9607, - "src": "531:90:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5901, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "661:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 5902, - "nodeType": "InheritanceSpecifier", - "src": "661:18:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5903, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "681:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 5904, - "nodeType": "InheritanceSpecifier", - "src": "681:10:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5905, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "693:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 5906, - "nodeType": "InheritanceSpecifier", - "src": "693:9:7" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 8578, - "linearizedBaseContracts": [ - 8578, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "BatchedBancorMarketMaker", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5909, - "libraryName": { - "contractScope": null, - "id": 5907, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "715:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "709:26:7", - "typeName": { - "contractScope": null, - "id": 5908, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "729:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 5912, - "libraryName": { - "contractScope": null, - "id": 5910, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "746:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "740:28:7", - "typeName": { - "id": 5911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "760:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 5915, - "name": "OPEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1678:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1678:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865666130363035336532636139396134336339376334613466336438613339346565333332336138666632333765363235666261303966653330636562306134", - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1733:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108386131170973996371274332126567441977523977910033735392086041742419547828388_by_1", - "typeString": "int_const 1083...(70 digits omitted)...8388" - }, - "value": "0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5918, - "name": "UPDATE_FORMULA_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1805:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1805:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862666237366438643433663535656665353835343465613332616631383737393261376264623938333835306438666564333334373832363665656333636262", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1860:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86715843191119468095966784732408470410642339878307578177892412554385124244667_by_1", - "typeString": "int_const 8671...(69 digits omitted)...4667" - }, - "value": "0xbfb76d8d43f55efe58544ea32af187792a7bdb983850d8fed33478266eec3cbb" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5921, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "1932:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5919, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1932:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 5920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5924, - "name": "UPDATE_FEES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2059:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2059:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663962653239333265643361373233663239356137363362653138303463376562666431613431633133343866623862646635626531633563646361383232", - "id": 5923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43245145673168925571563649325145709611164663756998149195724414801912339933218_by_1", - "typeString": "int_const 4324...(69 digits omitted)...3218" - }, - "value": "0x5f9be2932ed3a723f295a763be1804c7ebfd1a41c1348fb8bdf5be1c5cdca822" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5927, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2186:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5925, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2186:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832313762373963623262633737363064656663383835323938353365663831616233336165356262333135343038636539663561663039633837373636363264", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2241:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15144486781003149278302303915639999182740100159752824079265178216709076969005_by_1", - "typeString": "int_const 1514...(69 digits omitted)...9005" - }, - "value": "0x217b79cb2bc7760defc88529853ef81ab33ae5bb315408ce9f5af09c8776662d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5930, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2313:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5928, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2313:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832303434653536646532323338343565346265376430613666346539613239623633353534376631363431336136643133323763353864396462343338656532", - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2368:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14595740217432245110586185713053284721170097726977563463766954419142971854562_by_1", - "typeString": "int_const 1459...(69 digits omitted)...4562" - }, - "value": "0x2044e56de223845e4be7d0a6f4e9a29b635547f16413a6d1327c58d9db438ee2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5933, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2440:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5931, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865303536356332633433653064383431653230366262333661333766313266323235383462343635326363656536663965306330373162363937613265313364", - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2495:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101470663084272589443640010826168505403047938469021583920932387593436059066685_by_1", - "typeString": "int_const 1014...(70 digits omitted)...6685" - }, - "value": "0xe0565c2c43e0d841e206bb36a37f12f22584b4652ccee6f9e0c071b697a2e13d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5936, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2567:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2567:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307861353839633866323834623736666338643531306439643535333438356334376462656631623037343561653030653066336664346532386663643737656137", - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2622:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_74875064951666728262478327895309352630719236443135036862611625946537069608615_by_1", - "typeString": "int_const 7487...(69 digits omitted)...8615" - }, - "value": "0xa589c8f284b76fc8d510d9d553485c47dbef1b0745ae00e0f3fd4e28fcd77ea7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5939, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2694:121:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5937, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2694:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864363862613262373639666133376132613762643462656439323431623434386263393965636134316635313965663033373430363338366138663239316330", - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2749:66:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97041664366562346756231049942652716525890363183279880200358210036101134062016_by_1", - "typeString": "int_const 9704...(69 digits omitted)...2016" - }, - "value": "0xd68ba2b769fa37a2a7bd4bed9241b448bc99eca41f519ef037406386a8f291c0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5944, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2822:43:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2857:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2863:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2857:8:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5947, - "name": "PPM", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2913:42:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5945, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2913:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:7:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5950, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "2962:83:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5948, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2962:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4e54524143545f49535f454f41", - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3025:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2ce2523381cd1b4c58989ba256d9aeb50cb1a9bf4d8dcc263f69f384599e1abc", - "typeString": "literal_string \"MM_CONTRACT_IS_EOA\"" - }, - "value": "MM_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5953, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3051:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5951, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3051:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f42454e4546494349415259", - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3114:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_787513832df2e3055afcf88cf68a64f44630067bbbed286d324cc82c3e9c5f6c", - "typeString": "literal_string \"MM_INVALID_BENEFICIARY\"" - }, - "value": "MM_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5956, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3144:88:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5954, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3144:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f42415443485f424c4f434b53", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3207:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fbb0940b3ad56b8bf7657d978a559c7b69b3965212838ca09317e21dbf5691b", - "typeString": "literal_string \"MM_INVALID_BATCH_BLOCKS\"" - }, - "value": "MM_INVALID_BATCH_BLOCKS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5959, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3238:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5957, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3238:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f50455243454e54414745", - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3301:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45f83b29873ea7072ad447c87410d3555f190f3657434679febd00ced9f63c1e", - "typeString": "literal_string \"MM_INVALID_PERCENTAGE\"" - }, - "value": "MM_INVALID_PERCENTAGE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5962, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3330:89:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5960, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3330:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f524553455256455f524154494f", - "id": 5961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:26:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98a075b750a1a9329406ca4b39c7cffa8db6bb84047ce8ecad87e93aa2351b36", - "typeString": "literal_string \"MM_INVALID_RESERVE_RATIO\"" - }, - "value": "MM_INVALID_RESERVE_RATIO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5965, - "name": "ERROR_INVALID_TM_SETTING", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3425:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5963, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3425:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f544d5f53455454494e47", - "id": 5964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3488:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ef7e1b794d95f63c355fe0d1a5f1cb4b54d25c89dfcaeb16788406dc71e2f7", - "typeString": "literal_string \"MM_INVALID_TM_SETTING\"" - }, - "value": "MM_INVALID_TM_SETTING" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5968, - "name": "ERROR_INVALID_COLLATERAL", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3517:86:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5966, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3517:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f434f4c4c41544552414c", - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3580:23:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_016214fb675cf4e5fecb6bf08a32827be551431c0791e6e1739664e6634f4cfa", - "typeString": "literal_string \"MM_INVALID_COLLATERAL\"" - }, - "value": "MM_INVALID_COLLATERAL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5971, - "name": "ERROR_INVALID_COLLATERAL_VALUE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3609:92:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5969, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3609:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f434f4c4c41544552414c5f56414c5545", - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3672:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af8ba6629b972bc59e389a114e89ed542b1a563636773cf3daaa8276d321bc94", - "typeString": "literal_string \"MM_INVALID_COLLATERAL_VALUE\"" - }, - "value": "MM_INVALID_COLLATERAL_VALUE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5974, - "name": "ERROR_INVALID_BOND_AMOUNT", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3707:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5972, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3707:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e56414c49445f424f4e445f414d4f554e54", - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3770:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_007cda905d2c80c1f0657db33482358fdd407c5fa4c11814341371ca26c481e0", - "typeString": "literal_string \"MM_INVALID_BOND_AMOUNT\"" - }, - "value": "MM_INVALID_BOND_AMOUNT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5977, - "name": "ERROR_ALREADY_OPEN", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3800:80:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5975, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3800:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f414c52454144595f4f50454e", - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3863:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_302dc38ecf8763fae3a32a9b5da8729480ef4aecd9238221556cfab1ffe1cd48", - "typeString": "literal_string \"MM_ALREADY_OPEN\"" - }, - "value": "MM_ALREADY_OPEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5980, - "name": "ERROR_NOT_OPEN", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3886:76:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5978, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3886:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f4e4f545f4f50454e", - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3949:13:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_100af42c2be9f6f5c3ebc26e6ff1be512b5dc1977beaa253bb50a7d67be65147", - "typeString": "literal_string \"MM_NOT_OPEN\"" - }, - "value": "MM_NOT_OPEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5983, - "name": "ERROR_COLLATERAL_ALREADY_WHITELISTED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "3968:98:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5981, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3968:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4c4c41544552414c5f414c52454144595f57484954454c4953544544", - "id": 5982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4031:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d940ed5f136221cda3f0d521eae84c807dc270f874372266733235b92deea49", - "typeString": "literal_string \"MM_COLLATERAL_ALREADY_WHITELISTED\"" - }, - "value": "MM_COLLATERAL_ALREADY_WHITELISTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5986, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4072:94:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5984, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4072:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f434f4c4c41544552414c5f4e4f545f57484954454c4953544544", - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7cbc0be2c1b1752a690f804ae9bcb1e616da5911d8d796c755434c20b9ba22a2", - "typeString": "literal_string \"MM_COLLATERAL_NOT_WHITELISTED\"" - }, - "value": "MM_COLLATERAL_NOT_WHITELISTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5989, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4172:84:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5987, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4172:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f4e4f5448494e475f544f5f434c41494d", - "id": 5988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4235:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f7563cc81ce2b2090211c06f3b84ab2e04334b8a1a99c64543af30662cedcd5", - "typeString": "literal_string \"MM_NOTHING_TO_CLAIM\"" - }, - "value": "MM_NOTHING_TO_CLAIM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5992, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4262:82:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4262:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f4e4f545f4f564552", - "id": 5991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4325:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e1db0294e83f8b879efcee8ce9d1760f33582533e985854a966a30620c260d35", - "typeString": "literal_string \"MM_BATCH_NOT_OVER\"" - }, - "value": "MM_BATCH_NOT_OVER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5995, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4350:83:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5993, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4350:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f43414e43454c4c4544", - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4413:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5940303af45e59087fa00bfeb7c0067c87d2ebe997aa97308a703a0521dd1b31", - "typeString": "literal_string \"MM_BATCH_CANCELLED\"" - }, - "value": "MM_BATCH_CANCELLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 5998, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4439:87:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4439:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f42415443485f4e4f545f43414e43454c4c4544", - "id": 5997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4502:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca0c97e173014012b6ec5dfb35cea394eadcf895bafa9f348fb23052e526f92f", - "typeString": "literal_string \"MM_BATCH_NOT_CANCELLED\"" - }, - "value": "MM_BATCH_NOT_CANCELLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6001, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4532:90:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 5999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f534c4950504147455f455843454544535f4c494d4954", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4595:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5fc6b9d7117ae0b72f88c2717107bcc12882c79dc894029840cf45a67a8a7e5", - "typeString": "literal_string \"MM_SLIPPAGE_EXCEEDS_LIMIT\"" - }, - "value": "MM_SLIPPAGE_EXCEEDS_LIMIT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6004, - "name": "ERROR_INSUFFICIENT_POOL_BALANCE", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4628:93:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 6002, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4628:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f494e53554646494349454e545f504f4f4c5f42414c414e4345", - "id": 6003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4691:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e5b09a111f9badcd38ea3b7b070db8548c02cef2d83ad5c21466fac102ca60c6", - "typeString": "literal_string \"MM_INSUFFICIENT_POOL_BALANCE\"" - }, - "value": "MM_INSUFFICIENT_POOL_BALANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 6007, - "name": "ERROR_TRANSFER_FROM_FAILED", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "4727:88:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 6005, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4727:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d5f5452414e534645525f46524f4d5f4641494c4544", - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4790:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ca6909adea56c8355b9de5d3a12306381e0ea6b9e2ebf6e01f98e5a5ec16aa3", - "typeString": "literal_string \"MM_TRANSFER_FROM_FAILED\"" - }, - "value": "MM_TRANSFER_FROM_FAILED" - }, - "visibility": "private" - }, - { - "canonicalName": "BatchedBancorMarketMaker.Collateral", - "id": 6018, - "members": [ - { - "constant": false, - "id": 6009, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4850:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6008, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6011, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4879:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6013, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4910:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6015, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4942:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6014, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "4942:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6017, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6018, - "src": "4972:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6016, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Collateral", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "4822:173:7", - "visibility": "public" - }, - { - "canonicalName": "BatchedBancorMarketMaker.MetaBatch", - "id": 6033, - "members": [ - { - "constant": false, - "id": 6020, - "name": "initialized", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5028:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6019, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5028:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6022, - "name": "realSupply", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5064:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5064:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6024, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5099:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6026, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5133:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5133:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6028, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5168:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6027, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "5168:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6032, - "name": "batches", - "nodeType": "VariableDeclaration", - "scope": 6033, - "src": "5200:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch)" - }, - "typeName": { - "id": 6031, - "keyType": { - "id": 6029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5208:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5200:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch)" - }, - "valueType": { - "contractScope": null, - "id": 6030, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "5219:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MetaBatch", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "5001:239:7", - "visibility": "public" - }, - { - "canonicalName": "BatchedBancorMarketMaker.Batch", - "id": 6062, - "members": [ - { - "constant": false, - "id": 6035, - "name": "initialized", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5269:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6034, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6037, - "name": "cancelled", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5298:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6036, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5298:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6039, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5325:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5325:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6041, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5349:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5349:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6043, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5374:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6042, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5374:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6045, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5404:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5404:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "totalBuySpend", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5430:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5430:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6049, - "name": "totalBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5461:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5461:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6051, - "name": "totalSellSpend", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5493:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5493:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6053, - "name": "totalSellReturn", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5525:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5525:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6057, - "name": "buyers", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5558:34:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6056, - "keyType": { - "id": 6054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5566:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5558:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6061, - "name": "sellers", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "5602:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6060, - "keyType": { - "id": 6058, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5610:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5602:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Batch", - "nodeType": "StructDefinition", - "scope": 8578, - "src": "5246:398:7", - "visibility": "public" - }, - { - "constant": false, - "id": 6064, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5650:48:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 6063, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "5650:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6066, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5704:50:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 6065, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "5704:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6068, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5760:43:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6067, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "5760:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6070, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5809:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 6069, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "5809:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6072, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5860:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5860:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6074, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5915:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6073, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "5915:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6076, - "name": "batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "5967:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5967:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6078, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6022:47:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6022:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6080, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6075:48:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6082, - "name": "isOpen", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6130:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6081, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6130:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6084, - "name": "tokensToBeMinted", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6180:54:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6180:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6088, - "name": "collateralsToBeClaimed", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6240:60:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6087, - "keyType": { - "id": 6085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6248:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6240:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6259:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6092, - "name": "collaterals", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6306:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral)" - }, - "typeName": { - "id": 6091, - "keyType": { - "id": 6089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6306:30:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral)" - }, - "valueType": { - "contractScope": null, - "id": 6090, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "6325:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6096, - "name": "metaBatches", - "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "6361:49:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch)" - }, - "typeName": { - "id": 6095, - "keyType": { - "id": 6093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "6361:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch)" - }, - "valueType": { - "contractScope": null, - "id": 6094, - "name": "MetaBatch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6033, - "src": "6380:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6100, - "name": "UpdateBeneficiary", - "nodeType": "EventDefinition", - "parameters": { - "id": 6099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6098, - "indexed": true, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6100, - "src": "6447:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6447:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6446:29:7" - }, - "src": "6417:59:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6104, - "name": "UpdateFormula", - "nodeType": "EventDefinition", - "parameters": { - "id": 6103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6102, - "indexed": true, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6104, - "src": "6511:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6510:25:7" - }, - "src": "6481:55:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6110, - "name": "UpdateFees", - "nodeType": "EventDefinition", - "parameters": { - "id": 6109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6106, - "indexed": false, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6110, - "src": "6571:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6571:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6108, - "indexed": false, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6110, - "src": "6590:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6590:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6570:39:7" - }, - "src": "6541:69:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6122, - "name": "NewMetaBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6112, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6645:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6645:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6114, - "indexed": false, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6665:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6665:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6116, - "indexed": false, - "name": "buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6681:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6118, - "indexed": false, - "name": "sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6700:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6700:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6120, - "indexed": false, - "name": "formula", - "nodeType": "VariableDeclaration", - "scope": 6122, - "src": "6720:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:92:7" - }, - "src": "6615:122:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6136, - "name": "NewBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6124, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6781:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6126, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6809:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6809:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6128, - "indexed": false, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6845:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6130, - "indexed": false, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6869:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6132, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6894:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6131, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "6894:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6134, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6136, - "src": "6924:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6771:170:7" - }, - "src": "6742:205:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6142, - "name": "CancelBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 6141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6138, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6142, - "src": "6982:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6982:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6140, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6142, - "src": "7002:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6981:48:7" - }, - "src": "6952:78:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6154, - "name": "AddCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6144, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7074:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7074:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6146, - "indexed": false, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7110:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7110:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6148, - "indexed": false, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7141:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6147, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7141:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6150, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7173:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6149, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "7173:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6152, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6154, - "src": "7203:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7064:161:7" - }, - "src": "7035:191:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6158, - "name": "RemoveCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6156, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6158, - "src": "7261:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7261:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7260:28:7" - }, - "src": "7231:58:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6170, - "name": "UpdateCollateralToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 6169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6160, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7333:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7333:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6162, - "indexed": false, - "name": "virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7369:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6164, - "indexed": false, - "name": "virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7400:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6166, - "indexed": false, - "name": "reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7432:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6165, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "7432:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6168, - "indexed": false, - "name": "slippage", - "nodeType": "VariableDeclaration", - "scope": 6170, - "src": "7462:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7462:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7323:161:7" - }, - "src": "7294:191:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6172, - "name": "Open", - "nodeType": "EventDefinition", - "parameters": { - "id": 6171, - "nodeType": "ParameterList", - "parameters": [], - "src": "7519:2:7" - }, - "src": "7490:32:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6184, - "name": "OpenBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6174, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7557:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7557:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6176, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7580:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7580:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6178, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7605:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7605:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6180, - "indexed": false, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7633:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7633:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6182, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6184, - "src": "7646:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7646:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7556:104:7" - }, - "src": "7527:134:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6194, - "name": "OpenSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6186, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7696:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7696:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6188, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7720:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6190, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7745:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6192, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6194, - "src": "7773:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7695:93:7" - }, - "src": "7666:123:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6204, - "name": "ClaimBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6203, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6196, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7824:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7824:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6198, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7847:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7847:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7872:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7872:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6202, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6204, - "src": "7900:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7900:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7823:92:7" - }, - "src": "7794:122:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6216, - "name": "ClaimSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6206, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "7951:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7951:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6208, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "7975:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6210, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8000:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6212, - "indexed": false, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8028:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8028:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6214, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6216, - "src": "8041:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8041:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7950:105:7" - }, - "src": "7921:135:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6226, - "name": "ClaimCancelledBuyOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6218, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8091:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8091:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6220, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8114:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6222, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8139:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6224, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6226, - "src": "8167:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8167:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8090:91:7" - }, - "src": "8061:121:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6236, - "name": "ClaimCancelledSellOrder", - "nodeType": "EventDefinition", - "parameters": { - "id": 6235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6228, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8217:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8217:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6230, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8241:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8241:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6232, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8266:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8266:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6234, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 6236, - "src": "8294:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8294:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8216:93:7" - }, - "src": "8187:123:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 6250, - "name": "UpdatePricing", - "nodeType": "EventDefinition", - "parameters": { - "id": 6249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6238, - "indexed": true, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8354:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8354:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6240, - "indexed": true, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8387:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8387:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6242, - "indexed": false, - "name": "totalBuySpend", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8423:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8423:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6244, - "indexed": false, - "name": "totalBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8454:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8454:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6246, - "indexed": false, - "name": "totalSellSpend", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8486:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8486:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6248, - "indexed": false, - "name": "totalSellReturn", - "nodeType": "VariableDeclaration", - "scope": 6250, - "src": "8518:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8518:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8344:203:7" - }, - "src": "8315:233:7" - }, - { - "body": { - "id": 6374, - "nodeType": "Block", - "src": "9735:1102:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6271, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "9745:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9745:13:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6273, - "nodeType": "ExpressionStatement", - "src": "9745:13:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6276, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6252, - "src": "9788:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 6275, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9777:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9777:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6278, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "9830:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6274, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9769:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6280, - "nodeType": "ExpressionStatement", - "src": "9769:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6283, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "9881:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 6282, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9870:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9870:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6285, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "9923:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9862:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9862:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6287, - "nodeType": "ExpressionStatement", - "src": "9862:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6290, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "9974:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6289, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9963:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9963:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6292, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "10016:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9955:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9955:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6294, - "nodeType": "ExpressionStatement", - "src": "9955:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6297, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "10067:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 6296, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "10056:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10056:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6299, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "10109:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10048:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10048:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6301, - "nodeType": "ExpressionStatement", - "src": "10048:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6304, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "10169:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6303, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "10149:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10149:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5953, - "src": "10202:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10141:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10141:87:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6308, - "nodeType": "ExpressionStatement", - "src": "10141:87:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6310, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "10246:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10261:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10246:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6313, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5956, - "src": "10299:26:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10238:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10238:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6315, - "nodeType": "ExpressionStatement", - "src": "10238:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6318, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6264, - "src": "10356:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6317, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "10344:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10344:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6321, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6266, - "src": "10383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6320, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "10371:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10371:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10344:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6324, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5959, - "src": "10397:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6316, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10336:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10336:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6326, - "nodeType": "ExpressionStatement", - "src": "10336:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "10468:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 6328, - "name": "_tokenManagerSettingIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7078, - "src": "10440:27:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_TokenManager_$19073_$returns$_t_bool_$", - "typeString": "function (contract TokenManager) view returns (bool)" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10440:42:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6331, - "name": "ERROR_INVALID_TM_SETTING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5965, - "src": "10493:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10432:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10432:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "10432:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6334, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "10529:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6335, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6252, - "src": "10542:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "10529:24:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 6337, - "nodeType": "ExpressionStatement", - "src": "10529:24:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6338, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "10563:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6339, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6254, - "src": "10578:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "10563:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 6341, - "nodeType": "ExpressionStatement", - "src": "10563:28:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "10601:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 6344, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "10615:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 6345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 18274, - "src": "10615:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function () view external returns (contract MiniMeToken)" - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10615:20:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 6343, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "10609:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10609:27:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "src": "10601:35:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 6349, - "nodeType": "ExpressionStatement", - "src": "10601:35:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6350, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "10646:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6351, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "10656:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "10646:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 6353, - "nodeType": "ExpressionStatement", - "src": "10646:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6354, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "10674:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6355, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "10684:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "10674:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 6357, - "nodeType": "ExpressionStatement", - "src": "10674:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6358, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "10702:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6359, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "10716:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10702:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6361, - "nodeType": "ExpressionStatement", - "src": "10702:26:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6362, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "10738:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6363, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "10752:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10738:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6365, - "nodeType": "ExpressionStatement", - "src": "10738:26:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6366, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "10774:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6367, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6264, - "src": "10786:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10774:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6369, - "nodeType": "ExpressionStatement", - "src": "10774:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 6372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6370, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "10806:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6371, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6266, - "src": "10819:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10806:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "nodeType": "ExpressionStatement", - "src": "10806:24:7" - } - ] - }, - "documentation": "@notice Initialize market maker\n@param _controller The address of the controller contract\n@param _tokenManager The address of the [bonded token] token manager contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom fees are to be sent]\n@param _formula The address of the BancorFormula [computation] contract\n@param _batchBlocks The number of blocks batches are to last\n@param _buyFeePct The fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The fee to be deducted from sell orders [in PCT_BASE]", - "id": 6375, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6269, - "modifierName": { - "argumentTypes": null, - "id": 6268, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "9722:8:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9722:8:7" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6252, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9303:40:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 6251, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "9303:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6254, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9353:42:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 6253, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "9353:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6256, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9405:37:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6255, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "9405:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6258, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9452:37:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 6257, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "9452:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6260, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9499:41:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9499:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6262, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9550:41:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9550:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6264, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9601:39:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9601:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6266, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6375, - "src": "9650:40:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9293:403:7" - }, - "payable": false, - "returnParameters": { - "id": 6270, - "nodeType": "ParameterList", - "parameters": [], - "src": "9735:0:7" - }, - "scope": 8578, - "src": "9274:1563:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6390, - "nodeType": "Block", - "src": "11023:71:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11041:7:7", - "subExpression": { - "argumentTypes": null, - "id": 6382, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "11042:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6384, - "name": "ERROR_ALREADY_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5977, - "src": "11050:18:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6381, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11033:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11033:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6386, - "nodeType": "ExpressionStatement", - "src": "11033:36:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6387, - "name": "_open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7585, - "src": "11080:5:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 6388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11080:7:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6389, - "nodeType": "ExpressionStatement", - "src": "11080:7:7" - } - ] - }, - "documentation": "@notice Open market making [enabling users to open buy and sell orders]", - "id": 6391, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6378, - "name": "OPEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5915, - "src": "11012:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6379, - "modifierName": { - "argumentTypes": null, - "id": 6377, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11007:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11007:15:7" - } - ], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6376, - "nodeType": "ParameterList", - "parameters": [], - "src": "10995:2:7" - }, - "payable": false, - "returnParameters": { - "id": 6380, - "nodeType": "ParameterList", - "parameters": [], - "src": "11023:0:7" - }, - "scope": 8578, - "src": "10982:112:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "11325:104:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6401, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "11354:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6400, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "11343:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11343:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6403, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5950, - "src": "11365:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6399, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11335:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11335:52:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6405, - "nodeType": "ExpressionStatement", - "src": "11335:52:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6407, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "11413:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 6406, - "name": "_updateFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "11398:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IBancorFormula_$5841_$returns$__$", - "typeString": "function (contract IBancorFormula)" - } - }, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11398:24:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "11398:24:7" - } - ] - }, - "documentation": "@notice Update formula to `_formula`\n@param _formula The address of the new BancorFormula [computation] contract", - "id": 6411, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6396, - "name": "UPDATE_FORMULA_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "11304:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6397, - "modifierName": { - "argumentTypes": null, - "id": 6395, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11299:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11299:25:7" - } - ], - "name": "updateFormula", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6393, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 6411, - "src": "11265:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 6392, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "11265:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11264:25:7" - }, - "payable": false, - "returnParameters": { - "id": 6398, - "nodeType": "ParameterList", - "parameters": [], - "src": "11325:0:7" - }, - "scope": 8578, - "src": "11242:187:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6430, - "nodeType": "Block", - "src": "11682:129:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6421, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "11720:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6420, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "11700:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6423, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5953, - "src": "11735:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6419, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11692:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11692:69:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "11692:69:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6427, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "11791:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6426, - "name": "_updateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "11772:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6429, - "nodeType": "ExpressionStatement", - "src": "11772:32:7" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary [to whom fees are to be sent]", - "id": 6431, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6416, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5921, - "src": "11657:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6417, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11652:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11652:29:7" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 6431, - "src": "11621:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11620:22:7" - }, - "payable": false, - "returnParameters": { - "id": 6418, - "nodeType": "ParameterList", - "parameters": [], - "src": "11682:0:7" - }, - "scope": 8578, - "src": "11594:217:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6457, - "nodeType": "Block", - "src": "12226:150:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6433, - "src": "12256:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "12244:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12244:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6446, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6435, - "src": "12283:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6445, - "name": "_feeIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "12271:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12271:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12244:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6449, - "name": "ERROR_INVALID_PERCENTAGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5959, - "src": "12297:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6441, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12236:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12236:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6451, - "nodeType": "ExpressionStatement", - "src": "12236:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6453, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6433, - "src": "12345:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6454, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6435, - "src": "12357:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6452, - "name": "_updateFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "12333:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12333:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "12333:36:7" - } - ] - }, - "documentation": "@notice Update fees deducted from buy and sell orders to respectively `@formatPct(_buyFeePct)`% and `@formatPct(_sellFeePct)`%\n@param _buyFeePct The new fee to be deducted from buy orders [in PCT_BASE]\n@param _sellFeePct The new fee to be deducted from sell orders [in PCT_BASE]", - "id": 6458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6438, - "name": "UPDATE_FEES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5924, - "src": "12208:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6439, - "modifierName": { - "argumentTypes": null, - "id": 6437, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12203:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12203:22:7" - } - ], - "name": "updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6433, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 6458, - "src": "12153:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12153:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6435, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 6458, - "src": "12173:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12173:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12152:41:7" - }, - "payable": false, - "returnParameters": { - "id": 6440, - "nodeType": "ParameterList", - "parameters": [], - "src": "12226:0:7" - }, - "scope": 8578, - "src": "12133:243:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6508, - "nodeType": "Block", - "src": "13223:394:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6476, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13252:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6475, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "13241:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13241:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6478, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13268:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6479, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "13283:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13268:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13241:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6482, - "name": "ERROR_INVALID_COLLATERAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13288:24:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6474, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13233:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13233:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6484, - "nodeType": "ExpressionStatement", - "src": "13233:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13331:38:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6487, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13357:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6486, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "13332:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13332:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6490, - "name": "ERROR_COLLATERAL_ALREADY_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5983, - "src": "13378:36:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6485, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13323:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13323:92:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6492, - "nodeType": "ExpressionStatement", - "src": "13323:92:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6495, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6466, - "src": "13454:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6494, - "name": "_reserveRatioIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "13433:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint32_$returns$_t_bool_$", - "typeString": "function (uint32) pure returns (bool)" - } - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:35:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6497, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5962, - "src": "13480:27:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13425:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13425:83:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6499, - "nodeType": "ExpressionStatement", - "src": "13425:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6501, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "13539:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6502, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6462, - "src": "13552:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6503, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6464, - "src": "13568:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6504, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6466, - "src": "13585:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6505, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6468, - "src": "13600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6500, - "name": "_addCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7751, - "src": "13519:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13519:91:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6507, - "nodeType": "ExpressionStatement", - "src": "13519:91:7" - } - ] - }, - "documentation": "@notice Add `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be whitelisted\n@param _virtualSupply The virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]", - "id": 6509, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6471, - "name": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5927, - "src": "13192:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6472, - "modifierName": { - "argumentTypes": null, - "id": 6470, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13187:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13187:31:7" - } - ], - "name": "addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6460, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13051:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13051:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6462, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13072:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13072:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6464, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13096:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6466, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13121:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6465, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13121:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6468, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 6509, - "src": "13143:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13143:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13050:111:7" - }, - "payable": false, - "returnParameters": { - "id": 6473, - "nodeType": "ParameterList", - "parameters": [], - "src": "13223:0:7" - }, - "scope": 8578, - "src": "13023:594:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6528, - "nodeType": "Block", - "src": "13906:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6519, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6511, - "src": "13949:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6518, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "13924:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13924:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6521, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "13963:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13916:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13916:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6523, - "nodeType": "ExpressionStatement", - "src": "13916:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6525, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6511, - "src": "14030:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6524, - "name": "_removeCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "14007:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14007:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6527, - "nodeType": "ExpressionStatement", - "src": "14007:35:7" - } - ] - }, - "documentation": "@notice Remove `_collateral.symbol(): string` as a whitelisted collateral token\n@param _collateral The address of the collateral token to be un-whitelisted", - "id": 6529, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6514, - "name": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5930, - "src": "13876:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6515, - "modifierName": { - "argumentTypes": null, - "id": 6513, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "13871:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13871:34:7" - } - ], - "name": "removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6511, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6529, - "src": "13841:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13841:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13840:21:7" - }, - "payable": false, - "returnParameters": { - "id": 6516, - "nodeType": "ParameterList", - "parameters": [], - "src": "13906:0:7" - }, - "scope": 8578, - "src": "13810:239:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6567, - "nodeType": "Block", - "src": "14900:287:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6547, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "14943:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6546, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "14918:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14918:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6549, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "14957:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "14910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14910:80:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6551, - "nodeType": "ExpressionStatement", - "src": "14910:80:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6554, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6537, - "src": "15029:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6553, - "name": "_reserveRatioIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "15008:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint32_$returns$_t_bool_$", - "typeString": "function (uint32) pure returns (bool)" - } - }, - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15008:35:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6556, - "name": "ERROR_INVALID_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5962, - "src": "15047:27:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15000:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6558, - "nodeType": "ExpressionStatement", - "src": "15000:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6560, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "15109:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6561, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6533, - "src": "15122:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6562, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6535, - "src": "15138:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6563, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6537, - "src": "15155:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6564, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "15170:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6559, - "name": "_updateCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7841, - "src": "15086:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:94:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6566, - "nodeType": "ExpressionStatement", - "src": "15086:94:7" - } - ] - }, - "documentation": "@notice Update `_collateral.symbol(): string` collateralization settings\n@param _collateral The address of the collateral token whose collateralization settings are to be updated\n@param _virtualSupply The new virtual supply to be used for that collateral token [in wei]\n@param _virtualBalance The new virtual balance to be used for that collateral token [in wei]\n@param _reserveRatio The new reserve ratio to be used for that collateral token [in PPM]\n@param _slippage The new price slippage below which each batch is to be kept for that collateral token [in PCT_BASE]", - "id": 6568, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6542, - "name": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "14866:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6543, - "modifierName": { - "argumentTypes": null, - "id": 6541, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "14861:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14861:34:7" - } - ], - "name": "updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6531, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14725:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14725:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6533, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14746:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14746:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6535, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14770:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14770:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6537, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14795:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6536, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14795:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6539, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 6568, - "src": "14817:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14817:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14724:111:7" - }, - "payable": false, - "returnParameters": { - "id": 6544, - "nodeType": "ParameterList", - "parameters": [], - "src": "14900:0:7" - }, - "scope": 8578, - "src": "14694:493:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6619, - "nodeType": "Block", - "src": "15637:493:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6581, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15655:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6582, - "name": "ERROR_NOT_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5980, - "src": "15720:14:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6580, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15647:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15647:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6584, - "nodeType": "ExpressionStatement", - "src": "15647:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6587, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "15778:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6586, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "15753:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15753:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6589, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "15818:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6585, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15745:106:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6591, - "nodeType": "ExpressionStatement", - "src": "15745:106:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15869:50:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6594, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "15888:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6596, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "15907:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6593, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "15870:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15870:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6599, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "15934:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6592, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15861:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15861:95:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6601, - "nodeType": "ExpressionStatement", - "src": "15861:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6604, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6570, - "src": "15998:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6605, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "16006:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6606, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "16019:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "16027:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16027:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6603, - "name": "_collateralValueIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "15974:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,uint256) view returns (bool)" - } - }, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15974:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6610, - "name": "ERROR_INVALID_COLLATERAL_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5971, - "src": "16039:30:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15966:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:104:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6612, - "nodeType": "ExpressionStatement", - "src": "15966:104:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6614, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6570, - "src": "16095:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6615, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6572, - "src": "16103:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "16116:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6613, - "name": "_openBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7982, - "src": "16081:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16081:42:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6618, - "nodeType": "ExpressionStatement", - "src": "16081:42:7" - } - ] - }, - "documentation": "@notice Open a buy order worth `@tokenAmount(_collateral, _value)`\n@param _buyer The address of the buyer\n@param _collateral The address of the collateral token to be spent\n@param _value The amount of collateral token to be spent", - "id": 6620, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6577, - "name": "OPEN_BUY_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15616:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6578, - "modifierName": { - "argumentTypes": null, - "id": 6576, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "15611:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15611:25:7" - } - ], - "name": "openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6570, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15541:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6572, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15557:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15557:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6574, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6620, - "src": "15578:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15578:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15540:53:7" - }, - "payable": true, - "returnParameters": { - "id": 6579, - "nodeType": "ParameterList", - "parameters": [], - "src": "15637:0:7" - }, - "scope": 8578, - "src": "15519:611:7", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6668, - "nodeType": "Block", - "src": "16584:439:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "16602:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "ERROR_NOT_OPEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5980, - "src": "16654:14:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6632, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16594:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16594:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6636, - "nodeType": "ExpressionStatement", - "src": "16594:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6639, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16712:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6638, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "16687:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16687:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6641, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "16739:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16679:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16679:93:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6643, - "nodeType": "ExpressionStatement", - "src": "16679:93:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16790:50:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6646, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "16809:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16809:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6648, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16828:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6645, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "16791:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16791:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6651, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "16842:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16782:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16782:82:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6653, - "nodeType": "ExpressionStatement", - "src": "16782:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6622, - "src": "16901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6657, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6626, - "src": "16910:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6655, - "name": "_bondAmountIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "16882:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16882:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6659, - "name": "ERROR_INVALID_BOND_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5974, - "src": "16934:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6654, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16874:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16874:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6661, - "nodeType": "ExpressionStatement", - "src": "16874:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6663, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6622, - "src": "16986:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6664, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6624, - "src": "16995:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6665, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6626, - "src": "17008:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6662, - "name": "_openSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8095, - "src": "16971:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16971:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6667, - "nodeType": "ExpressionStatement", - "src": "16971:45:7" - } - ] - }, - "documentation": "@notice Open a sell order worth `@tokenAmount(self.token(): address, _amount)` against `_collateral.symbol(): string`\n@param _seller The address of the seller\n@param _collateral The address of the collateral token to be returned\n@param _amount The amount of bonded token to be spent", - "id": 6669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6629, - "name": "OPEN_SELL_ORDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "16562:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6630, - "modifierName": { - "argumentTypes": null, - "id": 6628, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "16557:4:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16557:26:7" - } - ], - "name": "openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6622, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16493:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16493:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6624, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16510:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6623, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16510:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6626, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "16531:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16492:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6631, - "nodeType": "ParameterList", - "parameters": [], - "src": "16584:0:7" - }, - "scope": 8578, - "src": "16470:553:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6720, - "nodeType": "Block", - "src": "17544:414:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6684, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17587:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6683, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "17562:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17562:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6686, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "17607:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6682, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17554:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17554:86:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "17554:86:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6691, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17671:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6690, - "name": "_batchIsOver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7180, - "src": "17658:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17658:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6693, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "17703:20:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6689, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17650:74:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6695, - "nodeType": "ExpressionStatement", - "src": "17650:74:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "17742:41:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6698, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17761:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6699, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17771:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6697, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "17743:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17743:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6702, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "17787:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6696, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17734:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17734:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6704, - "nodeType": "ExpressionStatement", - "src": "17734:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6707, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17840:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6708, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17850:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6709, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6671, - "src": "17863:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6706, - "name": "_userIsBuyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "17827:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17827:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6711, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "17872:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6705, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17819:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17819:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6713, - "nodeType": "ExpressionStatement", - "src": "17819:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6715, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6671, - "src": "17921:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6716, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "17929:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6717, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6675, - "src": "17939:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6714, - "name": "_claimBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8164, - "src": "17906:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17906:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6719, - "nodeType": "ExpressionStatement", - "src": "17906:45:7" - } - ] - }, - "documentation": "@notice Claim the results of `_buyer`'s `_collateral.symbol(): string` buy orders from batch #`_batchId`\n@param _buyer The address of the user whose buy orders are to be claimed\n@param _batchId The id of the batch in which buy orders are to be claimed\n@param _collateral The address of the collateral token against which buy orders are to be claimed", - "id": 6721, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6678, - "modifierName": { - "argumentTypes": null, - "id": 6677, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "17517:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17517:12:7" - }, - { - "arguments": null, - "id": 6680, - "modifierName": { - "argumentTypes": null, - "id": 6679, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17530:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17530:13:7" - } - ], - "name": "claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6671, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17453:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17453:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6673, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17469:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17469:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6675, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6721, - "src": "17487:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17487:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17452:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6681, - "nodeType": "ParameterList", - "parameters": [], - "src": "17544:0:7" - }, - "scope": 8578, - "src": "17430:528:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6772, - "nodeType": "Block", - "src": "18486:424:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6736, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18529:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6735, - "name": "_collateralIsWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7167, - "src": "18504:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 6737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18504:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6738, - "name": "ERROR_COLLATERAL_NOT_WHITELISTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "18551:32:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6734, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18496:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18496:88:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6740, - "nodeType": "ExpressionStatement", - "src": "18496:88:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6743, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18615:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6742, - "name": "_batchIsOver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7180, - "src": "18602:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18602:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6745, - "name": "ERROR_BATCH_NOT_OVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "18649:20:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18594:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18594:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6747, - "nodeType": "ExpressionStatement", - "src": "18594:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18688:41:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6750, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18707:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6751, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18717:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6749, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "18689:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18689:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6754, - "name": "ERROR_BATCH_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "18735:21:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6748, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18680:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18680:77:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6756, - "nodeType": "ExpressionStatement", - "src": "18680:77:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6759, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18789:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6760, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18799:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6761, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "18812:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6758, - "name": "_userIsSeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7254, - "src": "18775:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18775:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6763, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "18822:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6757, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18767:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18767:78:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "18767:78:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6767, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "18872:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6768, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "18881:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6769, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "18891:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6766, - "name": "_claimSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8272, - "src": "18856:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18856:47:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6771, - "nodeType": "ExpressionStatement", - "src": "18856:47:7" - } - ] - }, - "documentation": "@notice Claim the results of `_seller`'s `_collateral.symbol(): string` sell orders from batch #`_batchId`\n@param _seller The address of the user whose sell orders are to be claimed\n@param _batchId The id of the batch in which sell orders are to be claimed\n@param _collateral The address of the collateral token against which sell orders are to be claimed", - "id": 6773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6730, - "modifierName": { - "argumentTypes": null, - "id": 6729, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "18459:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18459:12:7" - }, - { - "arguments": null, - "id": 6732, - "modifierName": { - "argumentTypes": null, - "id": 6731, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "18472:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18472:13:7" - } - ], - "name": "claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6723, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18394:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18394:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6725, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18411:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18411:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6727, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6773, - "src": "18429:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18429:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18393:56:7" - }, - "payable": false, - "returnParameters": { - "id": 6733, - "nodeType": "ParameterList", - "parameters": [], - "src": "18486:0:7" - }, - "scope": 8578, - "src": "18370:540:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6809, - "nodeType": "Block", - "src": "19484:247:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6788, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19520:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6789, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19530:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6787, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "19502:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19502:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6791, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5998, - "src": "19547:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19494:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19494:79:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6793, - "nodeType": "ExpressionStatement", - "src": "19494:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6796, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19604:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6797, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19614:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6798, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "19627:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6795, - "name": "_userIsBuyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "19591:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19591:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6800, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "19636:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19583:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19583:76:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6802, - "nodeType": "ExpressionStatement", - "src": "19583:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6804, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "19694:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6805, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "19702:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6806, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6779, - "src": "19712:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6803, - "name": "_claimCancelledBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8337, - "src": "19670:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19670:54:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6808, - "nodeType": "ExpressionStatement", - "src": "19670:54:7" - } - ] - }, - "documentation": "@notice Claim the investments of `_buyer`'s `_collateral.symbol(): string` buy orders from cancelled batch #`_batchId`\n@param _buyer The address of the user whose cancelled buy orders are to be claimed\n@param _batchId The id of the batch in which cancelled buy orders are to be claimed\n@param _collateral The address of the collateral token against which cancelled buy orders are to be claimed", - "id": 6810, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6782, - "modifierName": { - "argumentTypes": null, - "id": 6781, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "19457:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "19457:12:7" - }, - { - "arguments": null, - "id": 6784, - "modifierName": { - "argumentTypes": null, - "id": 6783, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "19470:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "19470:13:7" - } - ], - "name": "claimCancelledBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6775, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19393:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19393:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6777, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19409:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19409:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6779, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6810, - "src": "19427:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19427:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19392:55:7" - }, - "payable": false, - "returnParameters": { - "id": 6785, - "nodeType": "ParameterList", - "parameters": [], - "src": "19484:0:7" - }, - "scope": 8578, - "src": "19361:370:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6846, - "nodeType": "Block", - "src": "20312:253:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6825, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20348:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6826, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20358:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6824, - "name": "_batchIsCancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7198, - "src": "20330:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20330:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6828, - "name": "ERROR_BATCH_NOT_CANCELLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5998, - "src": "20377:25:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6823, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20322:81:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6830, - "nodeType": "ExpressionStatement", - "src": "20322:81:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6833, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20435:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6834, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20445:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6835, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6812, - "src": "20458:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6832, - "name": "_userIsSeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7254, - "src": "20421:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) view returns (bool)" - } - }, - "id": 6836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 6837, - "name": "ERROR_NOTHING_TO_CLAIM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "20468:22:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 6831, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20413:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20413:78:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6839, - "nodeType": "ExpressionStatement", - "src": "20413:78:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6841, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6812, - "src": "20527:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6842, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6814, - "src": "20536:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6843, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6816, - "src": "20546:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6840, - "name": "_claimCancelledSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8397, - "src": "20502:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address)" - } - }, - "id": 6844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20502:56:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6845, - "nodeType": "ExpressionStatement", - "src": "20502:56:7" - } - ] - }, - "documentation": "@notice Claim the investments of `_seller`'s `_collateral.symbol(): string` sell orders from cancelled batch #`_batchId`\n@param _seller The address of the user whose cancelled sell orders are to be claimed\n@param _batchId The id of the batch in which cancelled sell orders are to be claimed\n@param _collateral The address of the collateral token against which cancelled sell orders are to be claimed", - "id": 6847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 6819, - "modifierName": { - "argumentTypes": null, - "id": 6818, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "20285:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20285:12:7" - }, - { - "arguments": null, - "id": 6821, - "modifierName": { - "argumentTypes": null, - "id": 6820, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20298:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20298:13:7" - } - ], - "name": "claimCancelledSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6812, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20220:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20220:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20237:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "20255:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20255:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20219:56:7" - }, - "payable": false, - "returnParameters": { - "id": 6822, - "nodeType": "ParameterList", - "parameters": [], - "src": "20312:0:7" - }, - "scope": 8578, - "src": "20187:378:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6857, - "nodeType": "Block", - "src": "20685:41:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6854, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "20702:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20702:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6853, - "id": 6856, - "nodeType": "Return", - "src": "20695:24:7" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 6858, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6850, - "modifierName": { - "argumentTypes": null, - "id": 6849, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20653:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20653:13:7" - } - ], - "name": "getCurrentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [], - "src": "20638:2:7" - }, - "payable": false, - "returnParameters": { - "id": 6853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6858, - "src": "20676:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20676:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20675:9:7" - }, - "scope": 8578, - "src": "20612:114:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6893, - "nodeType": "Block", - "src": "20857:214:7", - "statements": [ - { - "assignments": [ - 6876 - ], - "declarations": [ - { - "constant": false, - "id": 6876, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20867:29:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - }, - "typeName": { - "contractScope": null, - "id": 6875, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "20867:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6880, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6877, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "20899:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 6879, - "indexExpression": { - "argumentTypes": null, - "id": 6878, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "20911:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20899:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20867:56:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20942:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "20942:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20966:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "20966:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6885, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "20992:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6886, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "20992:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6887, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "21019:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "21019:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6889, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "21044:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 6890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "21044:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20941:123:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$", - "typeString": "tuple(bool,uint256,uint256,uint32,uint256)" - } - }, - "functionReturnParameters": 6874, - "id": 6892, - "nodeType": "Return", - "src": "20934:130:7" - } - ] - }, - "documentation": null, - "id": 6894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6863, - "modifierName": { - "argumentTypes": null, - "id": 6862, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "20793:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20793:13:7" - } - ], - "name": "getCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6860, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20760:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20760:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20759:21:7" - }, - "payable": false, - "returnParameters": { - "id": 6874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20816:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6864, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20816:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20822:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6869, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20831:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20831:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6871, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20840:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6870, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "20840:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6873, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6894, - "src": "20848:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20848:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20815:41:7" - }, - "scope": 8578, - "src": "20732:339:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6954, - "nodeType": "Block", - "src": "21272:418:7", - "statements": [ - { - "assignments": [ - 6924 - ], - "declarations": [ - { - "constant": false, - "id": 6924, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21282:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 6923, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "21282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6931, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6925, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "21304:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 6927, - "indexExpression": { - "argumentTypes": null, - "id": 6926, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6896, - "src": "21316:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21304:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 6928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "21304:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 6930, - "indexExpression": { - "argumentTypes": null, - "id": 6929, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6898, - "src": "21334:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21304:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21282:64:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6932, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21378:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6933, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "21378:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6934, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "21409:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6936, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21438:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "21438:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6938, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21464:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "21464:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6940, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21491:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "21491:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6942, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21523:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "21523:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6944, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21551:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "21551:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6946, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21584:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "21584:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6948, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21618:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "21618:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6950, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6924, - "src": "21652:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 6951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "21652:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6952, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21364:319:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(bool,bool,uint256,uint256,uint32,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 6922, - "id": 6953, - "nodeType": "Return", - "src": "21357:326:7" - } - ] - }, - "documentation": null, - "id": 6955, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6901, - "modifierName": { - "argumentTypes": null, - "id": 6900, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21154:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21154:13:7" - } - ], - "name": "getBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6896, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21095:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21095:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6898, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21113:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6897, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21094:39:7" - }, - "payable": false, - "returnParameters": { - "id": 6922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6903, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21185:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6902, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6905, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21191:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6904, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21191:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6907, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21197:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21197:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6909, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21206:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21206:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6911, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21215:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6910, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "21215:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6913, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21223:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21223:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6915, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21232:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21232:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6917, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21241:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21241:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6919, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21250:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21250:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6921, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6955, - "src": "21259:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21259:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:83:7" - }, - "scope": 8578, - "src": "21077:613:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6974, - "nodeType": "Block", - "src": "21824:73:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6969, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "21857:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6970, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "21866:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6971, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "21876:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6968, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "21841:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 6972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21841:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6967, - "id": 6973, - "nodeType": "Return", - "src": "21834:56:7" - } - ] - }, - "documentation": null, - "id": 6975, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 6964, - "modifierName": { - "argumentTypes": null, - "id": 6963, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21792:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21792:13:7" - } - ], - "name": "getStaticPricePPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6957, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21723:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21723:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6959, - "name": "_balance", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21740:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6961, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21758:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6960, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "21758:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21722:57:7" - }, - "payable": false, - "returnParameters": { - "id": 6967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6966, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "21815:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21815:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21814:9:7" - }, - "scope": 8578, - "src": "21696:201:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 7006, - "nodeType": "Block", - "src": "22088:109:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7001, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6981, - "src": "22174:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22166:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22166:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6998, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6977, - "src": "22154:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22154: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": 7003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22154:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6995, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "22140:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6991, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22130:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22122:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 6992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22122:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6987, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22113:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 6986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22105:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 6988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22105: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": 6993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22105:34: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": 6996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "22105:48: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": 7004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:85:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6985, - "id": 7005, - "nodeType": "Return", - "src": "22098:92:7" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 7007, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_staticPricePPM", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6977, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "21999:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21999:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6979, - "name": "_balance", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22016:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6981, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22034:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6980, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "22034:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21998:57:7" - }, - "payable": false, - "returnParameters": { - "id": 6985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6984, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7007, - "src": "22079:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22078:9:7" - }, - "scope": 8578, - "src": "21974:223:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7022, - "nodeType": "Block", - "src": "22262:72:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7019, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "22315:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7015, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "22297:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7012, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "22280:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22280:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "22280: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": 7016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22280:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7017, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22279:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "22279:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22279:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7011, - "id": 7021, - "nodeType": "Return", - "src": "22272:55:7" - } - ] - }, - "documentation": null, - "id": 7023, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7008, - "nodeType": "ParameterList", - "parameters": [], - "src": "22227:2:7" - }, - "payable": false, - "returnParameters": { - "id": 7011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7010, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7023, - "src": "22253:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22253:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22252:9:7" - }, - "scope": 8578, - "src": "22203:131:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7036, - "nodeType": "Block", - "src": "22447:50:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7030, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7025, - "src": "22464:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22488:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22480:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22480:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "22464:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7029, - "id": 7035, - "nodeType": "Return", - "src": "22457:33:7" - } - ] - }, - "documentation": null, - "id": 7037, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_beneficiaryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7025, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "22396:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22396:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22395:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7028, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "22441:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7027, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22441:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22440:6:7" - }, - "scope": 8578, - "src": "22367:130:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7048, - "nodeType": "Block", - "src": "22567:39:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7044, - "name": "_fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "22584:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7045, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "22591:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22584:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7043, - "id": 7047, - "nodeType": "Return", - "src": "22577:22:7" - } - ] - }, - "documentation": null, - "id": 7049, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_feeIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7039, - "name": "_fee", - "nodeType": "VariableDeclaration", - "scope": 7049, - "src": "22524:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22524:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22523:14:7" - }, - "payable": false, - "returnParameters": { - "id": 7043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7042, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7049, - "src": "22561:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7041, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22561:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22560:6:7" - }, - "scope": 8578, - "src": "22503:103:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7060, - "nodeType": "Block", - "src": "22693:44:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 7058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7056, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7051, - "src": "22710:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7057, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "22727:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "22710:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7055, - "id": 7059, - "nodeType": "Return", - "src": "22703:27:7" - } - ] - }, - "documentation": null, - "id": 7061, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_reserveRatioIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7051, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7061, - "src": "22642:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7050, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "22642:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22641:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7054, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7061, - "src": "22687:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7053, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22687:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22686:6:7" - }, - "scope": 8578, - "src": "22612:125:7", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7077, - "nodeType": "Block", - "src": "22837:71:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7068, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "22854:13:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "maxAccountTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 18276, - "src": "22854:30:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 7070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22854:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "22898:2:7", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 7072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22899:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 7071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22890:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22890:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22854:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7067, - "id": 7076, - "nodeType": "Return", - "src": "22847:54:7" - } - ] - }, - "documentation": null, - "id": 7078, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenManagerSettingIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7063, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 7078, - "src": "22780:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 7062, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "22780:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22779:28:7" - }, - "payable": false, - "returnParameters": { - "id": 7067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7066, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7078, - "src": "22831:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7065, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22831:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22830:6:7" - }, - "scope": 8578, - "src": "22743:165:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7132, - "nodeType": "Block", - "src": "23048:355:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7091, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23062:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23072:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23062:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7097, - "nodeType": "IfStatement", - "src": "23058:54:7", - "trueBody": { - "id": 7096, - "nodeType": "Block", - "src": "23075:37:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23096:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7090, - "id": 7095, - "nodeType": "Return", - "src": "23089:12:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7098, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23126:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7099, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23141:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23126:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7106, - "nodeType": "IfStatement", - "src": "23122:75:7", - "trueBody": { - "id": 7105, - "nodeType": "Block", - "src": "23146:51:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7101, - "name": "_msgValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "23167:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7102, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23180:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23167:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7090, - "id": 7104, - "nodeType": "Return", - "src": "23160:26:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7107, - "name": "_msgValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "23228:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23241:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23228:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7112, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7080, - "src": "23279:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7113, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23287:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7110, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "23258:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "23258:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23258:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7115, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23303:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23258:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23228:81:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7122, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7080, - "src": "23354:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7124, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29953, - "src": "23370:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 7123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23362:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23362:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7119, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7082, - "src": "23331:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7118, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23325:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23325:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 7121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "23325:28:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23325:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7127, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "23380:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23325:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23228:158:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 7130, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23214:182:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7090, - "id": 7131, - "nodeType": "Return", - "src": "23207:189:7" - } - ] - }, - "documentation": null, - "id": 7133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_collateralValueIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7087, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7080, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22947:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22947:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7082, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22963:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7081, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22963:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7084, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "22984:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22984:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7086, - "name": "_msgValue", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "23000:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23000:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22946:72:7" - }, - "payable": false, - "returnParameters": { - "id": 7090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7089, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7133, - "src": "23042:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7088, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23042:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23041:6:7" - }, - "scope": 8578, - "src": "22914:489:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7153, - "nodeType": "Block", - "src": "23500:91:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7142, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "23517:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23528:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23517:12:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7147, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7135, - "src": "23565:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7145, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "23533:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 7146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "spendableBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 18838, - "src": "23533:31:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 7148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23533:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7149, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "23577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23533:51:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23517:67:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7141, - "id": 7152, - "nodeType": "Return", - "src": "23510:74:7" - } - ] - }, - "documentation": null, - "id": 7154, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_bondAmountIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7135, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23437:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23437:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7137, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23454:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23454:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23436:34:7" - }, - "payable": false, - "returnParameters": { - "id": 7141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7140, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7154, - "src": "23494:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23494:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23493:6:7" - }, - "scope": 8578, - "src": "23409:182:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7166, - "nodeType": "Block", - "src": "23681:60:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7161, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "23698:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7163, - "indexExpression": { - "argumentTypes": null, - "id": 7162, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "23710:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23698:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "23698:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7160, - "id": 7165, - "nodeType": "Return", - "src": "23691:43:7" - } - ] - }, - "documentation": null, - "id": 7167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_collateralIsWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7156, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7167, - "src": "23631:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23631:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23630:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7159, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7167, - "src": "23675:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7158, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23675:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23674:6:7" - }, - "scope": 8578, - "src": "23597:144:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7179, - "nodeType": "Block", - "src": "23816:52:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7174, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7169, - "src": "23833:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7175, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "23844:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23844:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23833:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7173, - "id": 7178, - "nodeType": "Return", - "src": "23826:35:7" - } - ] - }, - "documentation": null, - "id": 7180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_batchIsOver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7169, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7180, - "src": "23769:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23768:18:7" - }, - "payable": false, - "returnParameters": { - "id": 7173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7172, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7180, - "src": "23810:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7171, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23810:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23809:6:7" - }, - "scope": 8578, - "src": "23747:121:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7197, - "nodeType": "Block", - "src": "23969:76:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7189, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "23986:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7191, - "indexExpression": { - "argumentTypes": null, - "id": 7190, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7182, - "src": "23998:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23986:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "23986:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7194, - "indexExpression": { - "argumentTypes": null, - "id": 7193, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7184, - "src": "24016:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23986:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "id": 7195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "23986:52:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7188, - "id": 7196, - "nodeType": "Return", - "src": "23979:59:7" - } - ] - }, - "documentation": null, - "id": 7198, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_batchIsCancelled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7182, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23901:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7184, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23919:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23919:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23900:39:7" - }, - "payable": false, - "returnParameters": { - "id": 7188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7187, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7198, - "src": "23963:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7186, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23963:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23962:6:7" - }, - "scope": 8578, - "src": "23874:171:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7225, - "nodeType": "Block", - "src": "24156:121:7", - "statements": [ - { - "assignments": [ - 7210 - ], - "declarations": [ - { - "constant": false, - "id": 7210, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24166:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7209, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24166:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7217, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7211, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "24188:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7213, - "indexExpression": { - "argumentTypes": null, - "id": 7212, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7200, - "src": "24200:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24188:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "24188:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7216, - "indexExpression": { - "argumentTypes": null, - "id": 7215, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7202, - "src": "24218:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24188:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24166:64:7" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7218, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7210, - "src": "24247:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "24247:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7221, - "indexExpression": { - "argumentTypes": null, - "id": 7220, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7204, - "src": "24260:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24247:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24269:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24247:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7208, - "id": 7224, - "nodeType": "Return", - "src": "24240:30:7" - } - ] - }, - "documentation": null, - "id": 7226, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_userIsBuyer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7200, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24073:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24073:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7202, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24091:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24091:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7204, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24112:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24112:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24072:54:7" - }, - "payable": false, - "returnParameters": { - "id": 7208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7207, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7226, - "src": "24150:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24150:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24149:6:7" - }, - "scope": 8578, - "src": "24051:226:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7253, - "nodeType": "Block", - "src": "24389:122:7", - "statements": [ - { - "assignments": [ - 7238 - ], - "declarations": [ - { - "constant": false, - "id": 7238, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24399:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7237, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24399:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7245, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7239, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "24421:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7241, - "indexExpression": { - "argumentTypes": null, - "id": 7240, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7228, - "src": "24433:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24421:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "24421:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7244, - "indexExpression": { - "argumentTypes": null, - "id": 7243, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7230, - "src": "24451:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24421:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24399:64:7" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7246, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7238, - "src": "24480:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "24480:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7249, - "indexExpression": { - "argumentTypes": null, - "id": 7248, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7232, - "src": "24494:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24480:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24503:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24480:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7236, - "id": 7252, - "nodeType": "Return", - "src": "24473:31:7" - } - ] - }, - "documentation": null, - "id": 7254, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_userIsSeller", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7228, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24306:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24306:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7230, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24324:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24324:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7232, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24345:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24345:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24305:54:7" - }, - "payable": false, - "returnParameters": { - "id": 7236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7254, - "src": "24383:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7234, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24383:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24382:6:7" - }, - "scope": 8578, - "src": "24283:228:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7273, - "nodeType": "Block", - "src": "24601:114:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7264, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "24647:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24639:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24639:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7266, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "24657:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7261, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "24618:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "24618:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24618:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7268, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "24673:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7270, - "indexExpression": { - "argumentTypes": null, - "id": 7269, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "24696:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24673:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24618:90:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7260, - "id": 7272, - "nodeType": "Return", - "src": "24611:97:7" - } - ] - }, - "documentation": null, - "id": 7274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_poolBalanceIsSufficient", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7256, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7274, - "src": "24551:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24551:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24550:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7259, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7274, - "src": "24595:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7258, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24595:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24594:6:7" - }, - "scope": 8578, - "src": "24517:198:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7318, - "nodeType": "Block", - "src": "24819:453:7", - "statements": [ - { - "assignments": [ - 7284 - ], - "declarations": [ - { - "constant": false, - "id": 7284, - "name": "staticPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24829:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7293, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7286, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24870:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "24870:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7288, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24885:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7289, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "24885:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7290, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24901:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "24901:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7285, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "24854:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 7292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24854:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24829:92:7" - }, - { - "assignments": [ - 7295 - ], - "declarations": [ - { - "constant": false, - "id": 7295, - "name": "maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24931:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24931:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7298, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7296, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "24957:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "24957:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24931:41:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7299, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25066:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25084:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25066:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7305, - "nodeType": "IfStatement", - "src": "25062:61:7", - "trueBody": { - "id": 7304, - "nodeType": "Block", - "src": "25087:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25108:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7282, - "id": 7303, - "nodeType": "Return", - "src": "25101:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7307, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "25160:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7308, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25168:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7309, - "name": "maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "25184:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7306, - "name": "_buySlippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7359, - "src": "25140:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,uint256) view returns (bool)" - } - }, - "id": 7310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25140:60:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7312, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7276, - "src": "25225:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7313, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "25233:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7314, - "name": "maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "25249:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7311, - "name": "_sellSlippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7406, - "src": "25204:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,uint256) view returns (bool)" - } - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25204:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "25140:125:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7282, - "id": 7317, - "nodeType": "Return", - "src": "25133:132:7" - } - ] - }, - "documentation": null, - "id": 7319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_slippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7276, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24747:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7275, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "24747:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7278, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24769:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24769:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24746:43:7" - }, - "payable": false, - "returnParameters": { - "id": 7282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7281, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7319, - "src": "24813:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24813:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24812:6:7" - }, - "scope": 8578, - "src": "24721:551:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7358, - "nodeType": "Block", - "src": "25411:981:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7338, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7325, - "src": "26230:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7336, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26217:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26217: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": 7339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26217:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7333, - "name": "_startingPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7323, - "src": "26194:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7330, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7321, - "src": "26168:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "26168:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26168:25: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": 7334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26168:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26168:48: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": 7340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26168:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7348, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "26311:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26303:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7344, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26289:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7341, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7321, - "src": "26264:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "26264:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26264:24: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": 7345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26264:34:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "26264:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26264:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26168:148:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7355, - "nodeType": "IfStatement", - "src": "26151:212:7", - "trueBody": { - "id": 7354, - "nodeType": "Block", - "src": "26327:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26348:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7329, - "id": 7353, - "nodeType": "Return", - "src": "26341:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26380:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7329, - "id": 7357, - "nodeType": "Return", - "src": "26373:12:7" - } - ] - }, - "documentation": null, - "id": 7359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_buySlippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7321, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25307:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7320, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "25307:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7323, - "name": "_startingPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25329:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7325, - "name": "_maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25356:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25356:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25306:75:7" - }, - "payable": false, - "returnParameters": { - "id": 7329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7328, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7359, - "src": "25405:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7327, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "25405:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25404:6:7" - }, - "scope": 8578, - "src": "25278:1114:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7405, - "nodeType": "Block", - "src": "26532:1052:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7370, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "26784:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7371, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "26804:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26784:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7376, - "nodeType": "IfStatement", - "src": "26780:70:7", - "trueBody": { - "id": 7375, - "nodeType": "Block", - "src": "26814:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26835:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7369, - "id": 7374, - "nodeType": "Return", - "src": "26828:11:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7384, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "27407:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 7383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27399:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 7385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7380, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "27385:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7377, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7361, - "src": "27358:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7378, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "27358:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27358:26: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": 7381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27358:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27358: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": 7386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27358:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7395, - "name": "_batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7361, - "src": "27486:6:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "27486:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7391, - "name": "_maximumSlippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "27463:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7389, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "27450:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "27450: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": 7392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27450:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7387, - "name": "_startingPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "27428:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27428:21: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": 7393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27428:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "27428:57: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": 7397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27428:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27358:150:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7402, - "nodeType": "IfStatement", - "src": "27341:214:7", - "trueBody": { - "id": 7401, - "nodeType": "Block", - "src": "27519:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27540:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7369, - "id": 7400, - "nodeType": "Return", - "src": "27533:11:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27572:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 7369, - "id": 7404, - "nodeType": "Return", - "src": "27565:12:7" - } - ] - }, - "documentation": null, - "id": 7406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_sellSlippageIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7361, - "name": "_batch", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26428:20:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7360, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "26428:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7363, - "name": "_startingPricePPM", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26450:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26450:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7365, - "name": "_maximumSlippage", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26477:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26477:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26427:75:7" - }, - "payable": false, - "returnParameters": { - "id": 7369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7368, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7406, - "src": "26526:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "26526:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26525:6:7" - }, - "scope": 8578, - "src": "26398:1186:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7573, - "nodeType": "Block", - "src": "27712:4048:7", - "statements": [ - { - "assignments": [ - 7416 - ], - "declarations": [ - { - "constant": false, - "id": 7416, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27722:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7419, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7417, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "27740:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27740:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27722:35:7" - }, - { - "assignments": [ - 7421 - ], - "declarations": [ - { - "constant": false, - "id": 7421, - "name": "metaBatch", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27767:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - }, - "typeName": { - "contractScope": null, - "id": 7420, - "name": "MetaBatch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6033, - "src": "27767:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7425, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7422, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "27797:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7424, - "indexExpression": { - "argumentTypes": null, - "id": 7423, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "27809:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27797:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27767:50:7" - }, - { - "assignments": [ - 7427 - ], - "declarations": [ - { - "constant": false, - "id": 7427, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27827:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7426, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "27827:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7432, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7428, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "27849:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "27849:17:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 7431, - "indexExpression": { - "argumentTypes": null, - "id": 7430, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "27867:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27849:30:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27827:52:7" - }, - { - "condition": { - "argumentTypes": null, - "id": 7435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "27894:22:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7433, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "27895:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7434, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6020, - "src": "27895:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7484, - "nodeType": "IfStatement", - "src": "27890:1717:7", - "trueBody": { - "id": 7483, - "nodeType": "Block", - "src": "27918:1689:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7436, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29232:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "29232:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7443, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "29279:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7439, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "29255:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 7440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 28037, - "src": "29255:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 7441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29255:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "29255: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": 7444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29255:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29232:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7446, - "nodeType": "ExpressionStatement", - "src": "29232:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7447, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29310:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "29310:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7450, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "29332:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29310:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7452, - "nodeType": "ExpressionStatement", - "src": "29310:31:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7453, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29355:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "29355:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7456, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "29378:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29355:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7458, - "nodeType": "ExpressionStatement", - "src": "29355:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7459, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29402:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "29402:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7462, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "29422:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "29402:27:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 7464, - "nodeType": "ExpressionStatement", - "src": "29402:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7465, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29443:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7467, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6020, - "src": "29443:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29467:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "29443:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7470, - "nodeType": "ExpressionStatement", - "src": "29443:28:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7472, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "29504:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7473, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29513:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "29513:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7475, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29535:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "29535:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7477, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29556:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "29556:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7479, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "29578:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "29578:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 7471, - "name": "NewMetaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "29491:12:7", - "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": 7481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29491:105:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7482, - "nodeType": "EmitStatement", - "src": "29486:110:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "29621:18:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7485, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "29622:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "29622:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7568, - "nodeType": "IfStatement", - "src": "29617:2103:7", - "trueBody": { - "id": 7567, - "nodeType": "Block", - "src": "29641:2079:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7491, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31148:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7488, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "31118:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateTappedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 9589, - "src": "31118:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 7492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31118:42:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7493, - "nodeType": "ExpressionStatement", - "src": "31118:42:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7494, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31174:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "31174:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7500, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31214:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7502, - "indexExpression": { - "argumentTypes": null, - "id": 7501, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31226:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31214:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "31214:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7497, - "name": "metaBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "31189:9:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage pointer" - } - }, - "id": 7498, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "realSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6022, - "src": "31189:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "31189:24: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": 7504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31189:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31174:79:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7506, - "nodeType": "ExpressionStatement", - "src": "31174:79:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7507, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31267:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "31267:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7524, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "31384:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7526, - "indexExpression": { - "argumentTypes": null, - "id": 7525, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31407:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31384:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7518, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31339:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7520, - "indexExpression": { - "argumentTypes": null, - "id": 7519, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31351:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31339:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "31339:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7513, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "31312:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31304:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31304:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7515, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31322:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7510, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "31283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9605, - "src": "31283:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "31283: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": 7522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:96:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "31283:100: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": 7527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31283:137:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31267:153:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7529, - "nodeType": "ExpressionStatement", - "src": "31267:153:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7530, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31434:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "31434:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7533, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31455:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7535, - "indexExpression": { - "argumentTypes": null, - "id": 7534, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31467:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31455:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "31455:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "31434:58:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7538, - "nodeType": "ExpressionStatement", - "src": "31434:58:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7539, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31506:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "31506:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7542, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "31523:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7544, - "indexExpression": { - "argumentTypes": null, - "id": 7543, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31535:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31523:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "31523:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31506:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7547, - "nodeType": "ExpressionStatement", - "src": "31506:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7548, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31570:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialized", - "nodeType": "MemberAccess", - "referencedDeclaration": 6035, - "src": "31570:17:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31590:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31570:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7553, - "nodeType": "ExpressionStatement", - "src": "31570:24:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7555, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "31623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7556, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "31632:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7557, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31645:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "31645:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7559, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31659:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "31659:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7561, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31674:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "31674:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7563, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31694:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6045, - "src": "31694:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7554, - "name": "NewBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6136, - "src": "31614:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31614:95:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7566, - "nodeType": "EmitStatement", - "src": "31609:100:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7569, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "31738:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7570, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "31747:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - } - ], - "id": 7571, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "31737:16:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "functionReturnParameters": 7414, - "id": 7572, - "nodeType": "Return", - "src": "31730:23:7" - } - ] - }, - "documentation": null, - "id": 7574, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_currentBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7408, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27649:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27649:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27648:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7411, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27688:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27688:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7413, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7574, - "src": "27697:5:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7412, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "27697:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27687:24:7" - }, - "scope": 8578, - "src": "27626:4134:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7584, - "nodeType": "Block", - "src": "31830:52:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7577, - "name": "isOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "31840:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31849:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31840:13:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7580, - "nodeType": "ExpressionStatement", - "src": "31840:13:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7581, - "name": "Open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6172, - "src": "31869:4:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 7582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31869:6:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7583, - "nodeType": "EmitStatement", - "src": "31864:11:7" - } - ] - }, - "documentation": null, - "id": 7585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7575, - "nodeType": "ParameterList", - "parameters": [], - "src": "31818:2:7" - }, - "payable": false, - "returnParameters": { - "id": 7576, - "nodeType": "ParameterList", - "parameters": [], - "src": "31830:0:7" - }, - "scope": 8578, - "src": "31804:78:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7598, - "nodeType": "Block", - "src": "31947:90:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7590, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "31957:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7591, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7587, - "src": "31971:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "31957:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7593, - "nodeType": "ExpressionStatement", - "src": "31957:26:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7595, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7587, - "src": "32017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7594, - "name": "UpdateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6100, - "src": "31999:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31999:31:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7597, - "nodeType": "EmitStatement", - "src": "31994:36:7" - } - ] - }, - "documentation": null, - "id": 7599, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7587, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 7599, - "src": "31916:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31916:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31915:22:7" - }, - "payable": false, - "returnParameters": { - "id": 7589, - "nodeType": "ParameterList", - "parameters": [], - "src": "31947:0:7" - }, - "scope": 8578, - "src": "31888:149:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7614, - "nodeType": "Block", - "src": "32101:83:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7604, - "name": "formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "32111:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7605, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "32121:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "src": "32111:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 7607, - "nodeType": "ExpressionStatement", - "src": "32111:18:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7610, - "name": "_formula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "32167:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - ], - "id": 7609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32159:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32159:17:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7608, - "name": "UpdateFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "32145:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32145:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7613, - "nodeType": "EmitStatement", - "src": "32140:37:7" - } - ] - }, - "documentation": null, - "id": 7615, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateFormula", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7601, - "name": "_formula", - "nodeType": "VariableDeclaration", - "scope": 7615, - "src": "32067:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 7600, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "32067:14:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32066:25:7" - }, - "payable": false, - "returnParameters": { - "id": 7603, - "nodeType": "ParameterList", - "parameters": [], - "src": "32101:0:7" - }, - "scope": 8578, - "src": "32043:141:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7635, - "nodeType": "Block", - "src": "32261:124:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7622, - "name": "buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6078, - "src": "32271:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7623, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "32283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32271:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7625, - "nodeType": "ExpressionStatement", - "src": "32271:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7626, - "name": "sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "32303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7627, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "32316:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32303:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7629, - "nodeType": "ExpressionStatement", - "src": "32303:24:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7631, - "name": "_buyFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "32354:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7632, - "name": "_sellFeePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "32366:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7630, - "name": "UpdateFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "32343:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 7633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32343:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7634, - "nodeType": "EmitStatement", - "src": "32338:40:7" - } - ] - }, - "documentation": null, - "id": 7636, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateFees", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7617, - "name": "_buyFeePct", - "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "32211:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32211:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7619, - "name": "_sellFeePct", - "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "32231:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32231:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32210:41:7" - }, - "payable": false, - "returnParameters": { - "id": 7621, - "nodeType": "ParameterList", - "parameters": [], - "src": "32261:0:7" - }, - "scope": 8578, - "src": "32190:195:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7693, - "nodeType": "Block", - "src": "32450:608:7", - "statements": [ - { - "assignments": [ - 7642, - 7644 - ], - "declarations": [ - { - "constant": false, - "id": 7642, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32461:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32461:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7644, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32478:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7643, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "32478:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7648, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7646, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32515:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7645, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "32501:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32501:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32460:67:7" - }, - { - "condition": { - "argumentTypes": null, - "id": 7651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "32541:16:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7649, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "32542:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7692, - "nodeType": "IfStatement", - "src": "32537:515:7", - "trueBody": { - "id": 7691, - "nodeType": "Block", - "src": "32559:493:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7652, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32573:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cancelled", - "nodeType": "MemberAccess", - "referencedDeclaration": 6037, - "src": "32573:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32591:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "32573:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7657, - "nodeType": "ExpressionStatement", - "src": "32573:22:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7658, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "32762:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7665, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32828:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "32828:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7661, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32802:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "32802:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7659, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "32781:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "32781:20: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": 7663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32781:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32781:46: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": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32781:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32762:87:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7669, - "nodeType": "ExpressionStatement", - "src": "32762:87:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7670, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "32863:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7672, - "indexExpression": { - "argumentTypes": null, - "id": 7671, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32886:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32863:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7681, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32966:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "32966:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7677, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "32941:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "32941:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7673, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "32901:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7675, - "indexExpression": { - "argumentTypes": null, - "id": 7674, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "32924:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32901:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32901:39: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": 7679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32901:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "32901:64: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": 7683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32901:87:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32863:125:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7685, - "nodeType": "ExpressionStatement", - "src": "32863:125:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7687, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7642, - "src": "33020:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7688, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "33029:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7686, - "name": "CancelBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6142, - "src": "33008:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 7689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33008:33:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7690, - "nodeType": "EmitStatement", - "src": "33003:38:7" - } - ] - } - } - ] - }, - "documentation": null, - "id": 7694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cancelCurrentBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7638, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7694, - "src": "32420:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "32420:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32419:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7640, - "nodeType": "ParameterList", - "parameters": [], - "src": "32450:0:7" - }, - "scope": 8578, - "src": "32391:667:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7750, - "nodeType": "Block", - "src": "33225:416:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7707, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33235:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7709, - "indexExpression": { - "argumentTypes": null, - "id": 7708, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33247:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33235:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "33235:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33274:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "33235:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7713, - "nodeType": "ExpressionStatement", - "src": "33235:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7714, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33288:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7716, - "indexExpression": { - "argumentTypes": null, - "id": 7715, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33300:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33288:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "33288:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7718, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7698, - "src": "33329:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33288:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7720, - "nodeType": "ExpressionStatement", - "src": "33288:55:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7721, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33353:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7723, - "indexExpression": { - "argumentTypes": null, - "id": 7722, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33365:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33353:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7724, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "33353:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7725, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7700, - "src": "33395:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33353:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7727, - "nodeType": "ExpressionStatement", - "src": "33353:57:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7728, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33420:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7730, - "indexExpression": { - "argumentTypes": null, - "id": 7729, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33432:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33420:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "33420:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7732, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "33460:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "33420:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7734, - "nodeType": "ExpressionStatement", - "src": "33420:53:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7735, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33483:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7737, - "indexExpression": { - "argumentTypes": null, - "id": 7736, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33495:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33483:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "33483:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7739, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7704, - "src": "33519:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33483:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7741, - "nodeType": "ExpressionStatement", - "src": "33483:45:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7743, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "33563:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7744, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7698, - "src": "33576:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7745, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7700, - "src": "33592:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7746, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "33609:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7747, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7704, - "src": "33624:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7742, - "name": "AddCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6154, - "src": "33544:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33544:90:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7749, - "nodeType": "EmitStatement", - "src": "33539:95:7" - } - ] - }, - "documentation": null, - "id": 7751, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7696, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33093:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "33093:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7698, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33114:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7700, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33138:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33138:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7702, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33163:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7701, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "33163:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7704, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 7751, - "src": "33185:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33185:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33092:111:7" - }, - "payable": false, - "returnParameters": { - "id": 7706, - "nodeType": "ParameterList", - "parameters": [], - "src": "33225:0:7" - }, - "scope": 8578, - "src": "33064:577:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7790, - "nodeType": "Block", - "src": "33709:364:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7757, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "33739:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7756, - "name": "_cancelCurrentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7694, - "src": "33719:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33719:32:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7759, - "nodeType": "ExpressionStatement", - "src": "33719:32:7" - }, - { - "assignments": [ - 7761 - ], - "declarations": [ - { - "constant": false, - "id": 7761, - "name": "collateral", - "nodeType": "VariableDeclaration", - "scope": 7791, - "src": "33762:29:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - }, - "typeName": { - "contractScope": null, - "id": 7760, - "name": "Collateral", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6018, - "src": "33762:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7765, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7762, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "33794:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7764, - "indexExpression": { - "argumentTypes": null, - "id": 7763, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "33806:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33794:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33762:56:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33828:29:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7766, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33835:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 6009, - "src": "33835:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7769, - "nodeType": "ExpressionStatement", - "src": "33828:29:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33867:31:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7770, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33874:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "33874:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7773, - "nodeType": "ExpressionStatement", - "src": "33867:31:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33908:32:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7774, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33915:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "33915:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7777, - "nodeType": "ExpressionStatement", - "src": "33908:32:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33950:30:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7778, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33957:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7779, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "33957:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "ExpressionStatement", - "src": "33950:30:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "33990:26:7", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7782, - "name": "collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7761, - "src": "33997:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage pointer" - } - }, - "id": 7783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "33997:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7785, - "nodeType": "ExpressionStatement", - "src": "33990:26:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7787, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "34054:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7786, - "name": "RemoveCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6158, - "src": "34032:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 7788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34032:34:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7789, - "nodeType": "EmitStatement", - "src": "34027:39:7" - } - ] - }, - "documentation": null, - "id": 7791, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7753, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7791, - "src": "33679:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "33679:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33678:21:7" - }, - "payable": false, - "returnParameters": { - "id": 7755, - "nodeType": "ParameterList", - "parameters": [], - "src": "33709:0:7" - }, - "scope": 8578, - "src": "33647:426:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7840, - "nodeType": "Block", - "src": "34290:366:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7804, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34300:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7806, - "indexExpression": { - "argumentTypes": null, - "id": 7805, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34312:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34300:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6011, - "src": "34300:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7808, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "34341:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34300:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7810, - "nodeType": "ExpressionStatement", - "src": "34300:55:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7811, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34365:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7813, - "indexExpression": { - "argumentTypes": null, - "id": 7812, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34377:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34365:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7814, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "virtualBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6013, - "src": "34365:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7815, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "34407:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34365:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7817, - "nodeType": "ExpressionStatement", - "src": "34365:57:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7818, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34432:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7820, - "indexExpression": { - "argumentTypes": null, - "id": 7819, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34444:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34432:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6015, - "src": "34432:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7822, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "34472:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "34432:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 7824, - "nodeType": "ExpressionStatement", - "src": "34432:53:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7825, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6092, - "src": "34495:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Collateral_$6018_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Collateral storage ref)" - } - }, - "id": 7827, - "indexExpression": { - "argumentTypes": null, - "id": 7826, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34507:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34495:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Collateral_$6018_storage", - "typeString": "struct BatchedBancorMarketMaker.Collateral storage ref" - } - }, - "id": 7828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "slippage", - "nodeType": "MemberAccess", - "referencedDeclaration": 6017, - "src": "34495:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7829, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7801, - "src": "34531:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34495:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7831, - "nodeType": "ExpressionStatement", - "src": "34495:45:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7833, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7793, - "src": "34578:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7834, - "name": "_virtualSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "34591:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7835, - "name": "_virtualBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "34607:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7836, - "name": "_reserveRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "34624:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7837, - "name": "_slippage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7801, - "src": "34639:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7832, - "name": "UpdateCollateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6170, - "src": "34556:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256)" - } - }, - "id": 7838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34556:93:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7839, - "nodeType": "EmitStatement", - "src": "34551:98:7" - } - ] - }, - "documentation": null, - "id": 7841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateCollateralToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7793, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34120:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34120:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7795, - "name": "_virtualSupply", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34149:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7797, - "name": "_virtualBalance", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34181:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34181:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7799, - "name": "_reserveRatio", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34214:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7798, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "34214:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7801, - "name": "_slippage", - "nodeType": "VariableDeclaration", - "scope": 7841, - "src": "34245:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34245:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34110:158:7" - }, - "payable": false, - "returnParameters": { - "id": 7803, - "nodeType": "ParameterList", - "parameters": [], - "src": "34290:0:7" - }, - "scope": 8578, - "src": "34079:577:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 7981, - "nodeType": "Block", - "src": "34747:1299:7", - "statements": [ - { - "assignments": [ - 7851, - 7853 - ], - "declarations": [ - { - "constant": false, - "id": 7851, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34758:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34758:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7853, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34775:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7852, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "34775:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7857, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7855, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "34812:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7854, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "34798:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34798:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34757:67:7" - }, - { - "assignments": [ - 7859 - ], - "declarations": [ - { - "constant": false, - "id": 7859, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34857:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34857:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7870, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7868, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "34918:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7862, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "34882:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 7864, - "indexExpression": { - "argumentTypes": null, - "id": 7863, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "34894:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34882:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 7865, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6024, - "src": "34882:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7860, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "34871:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "34871:10: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": 7866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34871:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "34871:46: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": 7869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34871:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34857:70:7" - }, - { - "assignments": [ - 7872 - ], - "declarations": [ - { - "constant": false, - "id": 7872, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34937:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34937:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7875, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "34964:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "34953:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "34953:10: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": 7876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34953:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34937:31:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7878, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "35021:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35027:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35021:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7889, - "nodeType": "IfStatement", - "src": "35017:86:7", - "trueBody": { - "id": 7888, - "nodeType": "Block", - "src": "35030:73:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7882, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35054:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7883, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "35062:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7884, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35075:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7885, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "35088:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7881, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "35044:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 7886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35044:48:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7887, - "nodeType": "ExpressionStatement", - "src": "35044:48:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7891, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35122:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7893, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "35138:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 7892, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 7894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35130:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7895, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35148:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7896, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35161:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7890, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "35112:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 7897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35112:55:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7898, - "nodeType": "ExpressionStatement", - "src": "35112:55:7" - }, - { - "assignments": [ - 7900 - ], - "declarations": [ - { - "constant": false, - "id": 7900, - "name": "deprecatedBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "35200:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35200:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7903, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7901, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35230:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "35230:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "35200:50:7" - }, - { - "assignments": [ - 7905 - ], - "declarations": [ - { - "constant": false, - "id": 7905, - "name": "deprecatedSellReturn", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "35260:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35260:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7908, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7906, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35291:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7907, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "35291:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "35260:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7909, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35347:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "35347:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7915, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35393:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7912, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35369:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "35369:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35369: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": 7916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35369:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35347:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7918, - "nodeType": "ExpressionStatement", - "src": "35347:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7919, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "35409:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7923, - "indexExpression": { - "argumentTypes": null, - "id": 7921, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35422:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35409:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7929, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "35457:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7924, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35432:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7925, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "35432:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7927, - "indexExpression": { - "argumentTypes": null, - "id": 7926, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35445:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35432:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35432:24: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": 7930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35432:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35409:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7932, - "nodeType": "ExpressionStatement", - "src": "35409:54:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7934, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35515:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7935, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "35522:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7936, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35531:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7933, - "name": "_updatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "35500:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,address)" - } - }, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35500:43:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7938, - "nodeType": "ExpressionStatement", - "src": "35500:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7939, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "35636:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7945, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35701:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "35701:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7942, - "name": "deprecatedBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "35676:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7940, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "35655:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "35655:20: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": 7943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35655:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35655:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35655:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35636:86:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7949, - "nodeType": "ExpressionStatement", - "src": "35636:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7950, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "35732:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7952, - "indexExpression": { - "argumentTypes": null, - "id": 7951, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35755:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35732:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7960, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35836:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 7961, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "35836:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7957, - "name": "deprecatedSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7905, - "src": "35810:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7953, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "35770:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7955, - "indexExpression": { - "argumentTypes": null, - "id": 7954, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35793:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35770:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "35770:39: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": 7958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35770:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "35770:65: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": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35770:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35732:126:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7964, - "nodeType": "ExpressionStatement", - "src": "35732:126:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7967, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "35919:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 7968, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "35926:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7966, - "name": "_slippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7319, - "src": "35902:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,address) view returns (bool)" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35902:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7970, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6001, - "src": "35940:28:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 7965, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "35894:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35894:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7972, - "nodeType": "ExpressionStatement", - "src": "35894:75:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7974, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7843, - "src": "35998:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7975, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "36006:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7976, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7845, - "src": "36015:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7977, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7859, - "src": "36028:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7978, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "36033:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7973, - "name": "OpenBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6184, - "src": "35985:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256,uint256)" - } - }, - "id": 7979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35985:54:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7980, - "nodeType": "EmitStatement", - "src": "35980:59:7" - } - ] - }, - "documentation": null, - "id": 7982, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_openBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7843, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34685:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34685:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7845, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34701:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34701:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7847, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 7982, - "src": "34722:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34684:53:7" - }, - "payable": false, - "returnParameters": { - "id": 7849, - "nodeType": "ParameterList", - "parameters": [], - "src": "34747:0:7" - }, - "scope": 8578, - "src": "34662:1384:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8094, - "nodeType": "Block", - "src": "36140:1122:7", - "statements": [ - { - "assignments": [ - 7992, - 7994 - ], - "declarations": [ - { - "constant": false, - "id": 7992, - "name": "batchId", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36151:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7994, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36168:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 7993, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "36168:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7998, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7996, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36205:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7995, - "name": "_currentBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7574, - "src": "36191:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "function (address) returns (uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "id": 7997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36191:26:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_struct$_Batch_$6062_storage_ptr_$", - "typeString": "tuple(uint256,struct BatchedBancorMarketMaker.Batch storage pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36150:67:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8002, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36268:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8003, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36277:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7999, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "36250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 18478, - "src": "36250:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36250:35:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8005, - "nodeType": "ExpressionStatement", - "src": "36250:35:7" - }, - { - "assignments": [ - 8007 - ], - "declarations": [ - { - "constant": false, - "id": 8007, - "name": "deprecatedBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36318:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36318:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8010, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8008, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36348:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "36348:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36318:50:7" - }, - { - "assignments": [ - 8012 - ], - "declarations": [ - { - "constant": false, - "id": 8012, - "name": "deprecatedSellReturn", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36378:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36378:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8015, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8013, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36409:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "36409:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36378:52:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8016, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36465:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "36465:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8022, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36513:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8019, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36488:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "36488:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36488:24: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": 8023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36488:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36465:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8025, - "nodeType": "ExpressionStatement", - "src": "36465:56:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8026, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36531:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8029, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "36531:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8030, - "indexExpression": { - "argumentTypes": null, - "id": 8028, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36545:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36531:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8036, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "36583:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8031, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36556:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "36556:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8034, - "indexExpression": { - "argumentTypes": null, - "id": 8033, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "36570:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36556:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36556:26: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": 8037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36556:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36531:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8039, - "nodeType": "ExpressionStatement", - "src": "36531:60:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8041, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36643:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 8042, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "36650:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8043, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36659:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8040, - "name": "_updatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "36628:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Batch_$6062_storage_ptr_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,uint256,address)" - } - }, - "id": 8044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36628:43:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8045, - "nodeType": "ExpressionStatement", - "src": "36628:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8046, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "36764:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8052, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36829:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "36829:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8049, - "name": "deprecatedBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "36804:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8047, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "36783:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "36783:20: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": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36783:41:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36783:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36783:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36764:86:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8056, - "nodeType": "ExpressionStatement", - "src": "36764:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8057, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "36860:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8059, - "indexExpression": { - "argumentTypes": null, - "id": 8058, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36883:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36860:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8067, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "36964:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "36964:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8064, - "name": "deprecatedSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "36938:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8060, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "36898:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8062, - "indexExpression": { - "argumentTypes": null, - "id": 8061, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "36921:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36898:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "36898:39: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": 8065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36898:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "36898:65: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": 8069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36898:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36860:126:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8071, - "nodeType": "ExpressionStatement", - "src": "36860:126:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8074, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7994, - "src": "37047:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - { - "argumentTypes": null, - "id": 8075, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37054:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8073, - "name": "_slippageIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7319, - "src": "37030:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Batch_$6062_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct BatchedBancorMarketMaker.Batch storage pointer,address) view returns (bool)" - } - }, - "id": 8076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37030:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8077, - "name": "ERROR_SLIPPAGE_EXCEEDS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6001, - "src": "37068:28:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8072, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "37022:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37022:75:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8079, - "nodeType": "ExpressionStatement", - "src": "37022:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8082, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37140:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8081, - "name": "_poolBalanceIsSufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7274, - "src": "37115:24:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37115:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8084, - "name": "ERROR_INSUFFICIENT_POOL_BALANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6004, - "src": "37154:31:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "37107:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37107:79:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8086, - "nodeType": "ExpressionStatement", - "src": "37107:79:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8088, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7984, - "src": "37216:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8089, - "name": "batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "37225:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8090, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7986, - "src": "37234:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8091, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7988, - "src": "37247:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8087, - "name": "OpenSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6194, - "src": "37202:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37202:53:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8093, - "nodeType": "EmitStatement", - "src": "37197:58:7" - } - ] - }, - "documentation": null, - "id": 8095, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_openSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7989, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7984, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36076:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7983, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36076:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7986, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36093:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36093:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7988, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 8095, - "src": "36114:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36075:55:7" - }, - "payable": false, - "returnParameters": { - "id": 7990, - "nodeType": "ParameterList", - "parameters": [], - "src": "36140:0:7" - }, - "scope": 8578, - "src": "36052:1210:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8163, - "nodeType": "Block", - "src": "37356:444:7", - "statements": [ - { - "assignments": [ - 8105 - ], - "declarations": [ - { - "constant": false, - "id": 8105, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37366:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8104, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "37366:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8112, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8106, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "37388:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8108, - "indexExpression": { - "argumentTypes": null, - "id": 8107, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8099, - "src": "37400:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37388:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "37388:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8111, - "indexExpression": { - "argumentTypes": null, - "id": 8110, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8101, - "src": "37418:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37388:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37366:64:7" - }, - { - "assignments": [ - 8114 - ], - "declarations": [ - { - "constant": false, - "id": 8114, - "name": "buyReturn", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37440:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8128, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8125, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "37513:19:7", - "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, - "id": 8120, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37486:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8121, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "37486:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8115, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37461:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "37461:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8118, - "indexExpression": { - "argumentTypes": null, - "id": 8117, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37474:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37461:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "37461:24: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": 8122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37461:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8123, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37460:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "37460:52: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": 8127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37460:73:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37440:93:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8129, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8105, - "src": "37544:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "37544:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8133, - "indexExpression": { - "argumentTypes": null, - "id": 8131, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37557:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "37544:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37567:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37544:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8136, - "nodeType": "ExpressionStatement", - "src": "37544:24:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8137, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37583:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37595:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37583:13:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8155, - "nodeType": "IfStatement", - "src": "37579:144:7", - "trueBody": { - "id": 8154, - "nodeType": "Block", - "src": "37598:125:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8140, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "37612:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8143, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37652:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8141, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "37631:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "37631:20: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": 8144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37631:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37612:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8146, - "nodeType": "ExpressionStatement", - "src": "37612:50:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8150, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37694:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8151, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37702:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8147, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "37676:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "37676:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37676:36:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8153, - "nodeType": "ExpressionStatement", - "src": "37676:36:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8157, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8097, - "src": "37752:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8158, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8099, - "src": "37760:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8159, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8101, - "src": "37770:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8160, - "name": "buyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "37783:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8156, - "name": "ClaimBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6204, - "src": "37738:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37738:55:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8162, - "nodeType": "EmitStatement", - "src": "37733:60:7" - } - ] - }, - "documentation": null, - "id": 8164, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8097, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37292:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8096, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8099, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37308:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37308:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8101, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8164, - "src": "37326:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37291:55:7" - }, - "payable": false, - "returnParameters": { - "id": 8103, - "nodeType": "ParameterList", - "parameters": [], - "src": "37356:0:7" - }, - "scope": 8578, - "src": "37268:532:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8271, - "nodeType": "Block", - "src": "37896:724:7", - "statements": [ - { - "assignments": [ - 8174 - ], - "declarations": [ - { - "constant": false, - "id": 8174, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37906:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8173, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "37906:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8181, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8175, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "37928:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8177, - "indexExpression": { - "argumentTypes": null, - "id": 8176, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "37940:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37928:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "37928:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8180, - "indexExpression": { - "argumentTypes": null, - "id": 8179, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "37958:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37928:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37906:64:7" - }, - { - "assignments": [ - 8183 - ], - "declarations": [ - { - "constant": false, - "id": 8183, - "name": "saleReturn", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37980:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37980:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8197, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8194, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38057:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "38057:20:7", - "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, - "id": 8189, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38029:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "38029:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8184, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38002:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "38002:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8187, - "indexExpression": { - "argumentTypes": null, - "id": 8186, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38002:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "38002:26: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": 8191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38002:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8192, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38001:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "38001: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": 8196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38001:77:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37980:98:7" - }, - { - "assignments": [ - 8199 - ], - "declarations": [ - { - "constant": false, - "id": 8199, - "name": "fee", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "38088:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38088:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8210, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8208, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "38155:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8202, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "38117:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8204, - "indexExpression": { - "argumentTypes": null, - "id": 8203, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "38129:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38117:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8205, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellFeePct", - "nodeType": "MemberAccess", - "referencedDeclaration": 6026, - "src": "38117:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8200, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38102:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "38102:14: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": 8206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38102:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "38102:52: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": 8209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38102:62:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38088:76:7" - }, - { - "assignments": [ - 8212 - ], - "declarations": [ - { - "constant": false, - "id": 8212, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "38174:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8215, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38205:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8213, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38190:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38190:14: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": 8216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38190:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38174:35:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8218, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "38220:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "38220:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8222, - "indexExpression": { - "argumentTypes": null, - "id": 8220, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38234:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38220:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38245:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38220:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8225, - "nodeType": "ExpressionStatement", - "src": "38220:26:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8226, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38261:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38269:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38261:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8249, - "nodeType": "IfStatement", - "src": "38257:188:7", - "trueBody": { - "id": 8248, - "nodeType": "Block", - "src": "38272:173:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8229, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38286:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8231, - "indexExpression": { - "argumentTypes": null, - "id": 8230, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38309:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38286:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8236, - "name": "saleReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "38364:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8232, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38324:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8234, - "indexExpression": { - "argumentTypes": null, - "id": 8233, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38347:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38324:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38324:39: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": 8237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38324:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38286:89:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8239, - "nodeType": "ExpressionStatement", - "src": "38286:89:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8243, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38406:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8244, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38419:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8245, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38428:5:7", - "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": 8240, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "38389:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "38389:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38389:45:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8247, - "nodeType": "ExpressionStatement", - "src": "38389:45:7" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8250, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38458:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38464:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38458:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8262, - "nodeType": "IfStatement", - "src": "38454:85:7", - "trueBody": { - "id": 8261, - "nodeType": "Block", - "src": "38467:72:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8256, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38498:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8257, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "38511:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8258, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38524:3:7", - "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": 8253, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "38481:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "38481:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38481:47:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8260, - "nodeType": "ExpressionStatement", - "src": "38481:47:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8264, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8166, - "src": "38570:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8265, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8168, - "src": "38579:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8266, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8170, - "src": "38589:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8267, - "name": "fee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "38602:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8268, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8212, - "src": "38607:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8263, - "name": "ClaimSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "38555:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256,uint256)" - } - }, - "id": 8269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38555:58:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8270, - "nodeType": "EmitStatement", - "src": "38550:63:7" - } - ] - }, - "documentation": null, - "id": 8272, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8166, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37831:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37831:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8168, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37848:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37848:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8170, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8272, - "src": "37866:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "37866:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37830:56:7" - }, - "payable": false, - "returnParameters": { - "id": 8172, - "nodeType": "ParameterList", - "parameters": [], - "src": "37896:0:7" - }, - "scope": 8578, - "src": "37806:814:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8336, - "nodeType": "Block", - "src": "38723:430:7", - "statements": [ - { - "assignments": [ - 8282 - ], - "declarations": [ - { - "constant": false, - "id": 8282, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38733:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8281, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "38733:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8289, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8283, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "38755:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8285, - "indexExpression": { - "argumentTypes": null, - "id": 8284, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8276, - "src": "38767:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38755:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "38755:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8288, - "indexExpression": { - "argumentTypes": null, - "id": 8287, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38785:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38755:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38733:64:7" - }, - { - "assignments": [ - 8291 - ], - "declarations": [ - { - "constant": false, - "id": 8291, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38808:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38808:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8296, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8292, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8282, - "src": "38824:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "38824:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8295, - "indexExpression": { - "argumentTypes": null, - "id": 8294, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "38837:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38824:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38808:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8297, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8282, - "src": "38854:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6057, - "src": "38854:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8301, - "indexExpression": { - "argumentTypes": null, - "id": 8299, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "38867:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38854:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38877:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38854:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8304, - "nodeType": "ExpressionStatement", - "src": "38854:24:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8305, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "38893:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38901:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38893:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8328, - "nodeType": "IfStatement", - "src": "38889:182:7", - "trueBody": { - "id": 8327, - "nodeType": "Block", - "src": "38904:167:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8308, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38918:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8310, - "indexExpression": { - "argumentTypes": null, - "id": 8309, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38941:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38918:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8315, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "38996:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8311, - "name": "collateralsToBeClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6088, - "src": "38956:22:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8313, - "indexExpression": { - "argumentTypes": null, - "id": 8312, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "38979:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38956:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "38956:39: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": 8316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38956:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38918:84:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8318, - "nodeType": "ExpressionStatement", - "src": "38918:84:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8322, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "39033:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8323, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "39046:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "39054:5:7", - "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": 8319, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "39016:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 8321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "39016:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 8325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39016:44:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8326, - "nodeType": "ExpressionStatement", - "src": "39016:44:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8330, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8274, - "src": "39109:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8331, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8276, - "src": "39117:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8332, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8278, - "src": "39127:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8333, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8291, - "src": "39140:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8329, - "name": "ClaimCancelledBuyOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "39086:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39086:60:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8335, - "nodeType": "EmitStatement", - "src": "39081:65:7" - } - ] - }, - "documentation": null, - "id": 8337, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimCancelledBuyOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8274, - "name": "_buyer", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38659:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "38659:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8276, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38675:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38675:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8278, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8337, - "src": "38693:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "38693:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38658:55:7" - }, - "payable": false, - "returnParameters": { - "id": 8280, - "nodeType": "ParameterList", - "parameters": [], - "src": "38723:0:7" - }, - "scope": 8578, - "src": "38626:527:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8396, - "nodeType": "Block", - "src": "39258:392:7", - "statements": [ - { - "assignments": [ - 8347 - ], - "declarations": [ - { - "constant": false, - "id": 8347, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39268:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8346, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "39268:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8354, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8348, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "39290:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8350, - "indexExpression": { - "argumentTypes": null, - "id": 8349, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "39302:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39290:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "batches", - "nodeType": "MemberAccess", - "referencedDeclaration": 6032, - "src": "39290:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Batch_$6062_storage_$", - "typeString": "mapping(address => struct BatchedBancorMarketMaker.Batch storage ref)" - } - }, - "id": 8353, - "indexExpression": { - "argumentTypes": null, - "id": 8352, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "39320:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39290:42:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage", - "typeString": "struct BatchedBancorMarketMaker.Batch storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39268:64:7" - }, - { - "assignments": [ - 8356 - ], - "declarations": [ - { - "constant": false, - "id": 8356, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39343:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8361, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8357, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8347, - "src": "39360:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "39360:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8360, - "indexExpression": { - "argumentTypes": null, - "id": 8359, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39374:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39360:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39343:39:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8362, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8347, - "src": "39392:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sellers", - "nodeType": "MemberAccess", - "referencedDeclaration": 6061, - "src": "39392:13:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8366, - "indexExpression": { - "argumentTypes": null, - "id": 8364, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39406:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "39392:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 8367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39417:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39392:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8369, - "nodeType": "ExpressionStatement", - "src": "39392:26:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39433:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39442:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39433:10:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8388, - "nodeType": "IfStatement", - "src": "39429:136:7", - "trueBody": { - "id": 8387, - "nodeType": "Block", - "src": "39445:120:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8373, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "39459:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8376, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39499:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8374, - "name": "tokensToBeMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "39478:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "39478:20: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": 8377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39478:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39459:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8379, - "nodeType": "ExpressionStatement", - "src": "39459:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8383, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39538:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8384, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39547:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8380, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6066, - "src": "39520:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 18417, - "src": "39520:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39520:34:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8386, - "nodeType": "ExpressionStatement", - "src": "39520:34:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8390, - "name": "_seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8339, - "src": "39604:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8391, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "39613:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8392, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "39623:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8393, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8356, - "src": "39636:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8389, - "name": "ClaimCancelledSellOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6236, - "src": "39580:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,address,uint256)" - } - }, - "id": 8394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39580:63:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8395, - "nodeType": "EmitStatement", - "src": "39575:68:7" - } - ] - }, - "documentation": null, - "id": 8397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_claimCancelledSellOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8339, - "name": "_seller", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39193:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39193:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8341, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39210:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8343, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "39228:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39228:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39192:56:7" - }, - "payable": false, - "returnParameters": { - "id": 8345, - "nodeType": "ParameterList", - "parameters": [], - "src": "39258:0:7" - }, - "scope": 8578, - "src": "39159:491:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8540, - "nodeType": "Block", - "src": "39749:4475:7", - "statements": [ - { - "assignments": [ - 8407 - ], - "declarations": [ - { - "constant": false, - "id": 8407, - "name": "staticPricePPM", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "40126:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40126:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8409, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40167:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "40167:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8411, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40181:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "40181:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8413, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40196:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8414, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "40196:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8408, - "name": "_staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7007, - "src": "40151:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32) pure returns (uint256)" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40151:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40126:89:7" - }, - { - "assignments": [ - 8418 - ], - "declarations": [ - { - "constant": false, - "id": 8418, - "name": "resultOfSell", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "40753:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8429, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8426, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "40829:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40821:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 8427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40821:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8422, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "40801:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8419, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40776:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "40776:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "40776:24: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": 8423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40776:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "40776:44: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": 8428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "40776:58:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40753:81:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8430, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "40849:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8431, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "40864:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "40864:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40849:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8525, - "nodeType": "Block", - "src": "42502:1575:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8485, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43077:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "43077:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8488, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "43101:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "43077:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8490, - "nodeType": "ExpressionStatement", - "src": "43077:36:7" - }, - { - "assignments": [ - 8492 - ], - "declarations": [ - { - "constant": false, - "id": 8492, - "name": "remainingBuy", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "43320:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "43320:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8498, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8496, - "name": "resultOfSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8418, - "src": "43367:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8493, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43343:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "43343:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "43343: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": 8497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "43343:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "43320:60:7" - }, - { - "assignments": [ - 8500 - ], - "declarations": [ - { - "constant": false, - "id": 8500, - "name": "remainingBuyReturn", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "43663:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "43663:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8506, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43746:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8507, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "43746:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8508, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43760:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "43760:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8510, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43775:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "43775:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 8512, - "name": "remainingBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8492, - "src": "43795:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8501, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "43692:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8503, - "indexExpression": { - "argumentTypes": null, - "id": 8502, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "43704:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "43692:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8504, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "43692:29:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 8505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "calculatePurchaseReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5812, - "src": "43692:53:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32,uint256) view external returns (uint256)" - } - }, - "id": 8513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "43692:116:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "43663:145:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8515, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "43999:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "43999:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8521, - "name": "remainingBuyReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8500, - "src": "44047:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8518, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44022:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "44022:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "44022:24: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": 8522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44022:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "43999:67:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8524, - "nodeType": "ExpressionStatement", - "src": "43999:67:7" - } - ] - }, - "id": 8526, - "nodeType": "IfStatement", - "src": "40845:3232:7", - "trueBody": { - "id": 8484, - "nodeType": "Block", - "src": "40885:1611:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8434, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41449:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "41449:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8445, - "name": "staticPricePPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "41514:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8441, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "41504:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 8440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "41496:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41496:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8437, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41472:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "41472:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "41472: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": 8443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41472:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "41472:41: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": 8446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41472:57:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41449:80:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8448, - "nodeType": "ExpressionStatement", - "src": "41449:80:7" - }, - { - "assignments": [ - 8450 - ], - "declarations": [ - { - "constant": false, - "id": 8450, - "name": "remainingSell", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "41730:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "41730:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8454, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41779:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "41779:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8451, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "41754:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "41754:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "41754:24: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": 8456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "41754:46:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "41730:70:7" - }, - { - "assignments": [ - 8459 - ], - "declarations": [ - { - "constant": false, - "id": 8459, - "name": "remainingSellReturn", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "42081:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "42081:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8473, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8465, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42161:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supply", - "nodeType": "MemberAccess", - "referencedDeclaration": 6039, - "src": "42161:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8467, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42175:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 6041, - "src": "42175:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8469, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42190:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserveRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 6043, - "src": "42190:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 8471, - "name": "remainingSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "42210:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8460, - "name": "metaBatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "42111:11:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MetaBatch_$6033_storage_$", - "typeString": "mapping(uint256 => struct BatchedBancorMarketMaker.MetaBatch storage ref)" - } - }, - "id": 8462, - "indexExpression": { - "argumentTypes": null, - "id": 8461, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "42123:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "42111:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MetaBatch_$6033_storage", - "typeString": "struct BatchedBancorMarketMaker.MetaBatch storage ref" - } - }, - "id": 8463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "formula", - "nodeType": "MemberAccess", - "referencedDeclaration": 6028, - "src": "42111:29:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "id": 8464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "calculateSaleReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5825, - "src": "42111:49:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint32,uint256) view external returns (uint256)" - } - }, - "id": 8472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "42111:113:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "42081:143:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 8482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8474, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42417:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "42417:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8480, - "name": "remainingSellReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8459, - "src": "42465:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8477, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "42441:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "42441:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "42441: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": 8481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "42441:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "42417:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8483, - "nodeType": "ExpressionStatement", - "src": "42417:68:7" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8528, - "name": "_batchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "44107:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8529, - "name": "_collateral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "44117:11:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8530, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44130:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuySpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6047, - "src": "44130:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8532, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44151:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalBuyReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6049, - "src": "44151:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8534, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44173:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellSpend", - "nodeType": "MemberAccess", - "referencedDeclaration": 6051, - "src": "44173:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8536, - "name": "batch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "44195:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch storage pointer" - } - }, - "id": 8537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSellReturn", - "nodeType": "MemberAccess", - "referencedDeclaration": 6053, - "src": "44195:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8527, - "name": "UpdatePricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6250, - "src": "44093:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256,uint256)" - } - }, - "id": 8538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44093:124:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8539, - "nodeType": "EmitStatement", - "src": "44088:129:7" - } - ] - }, - "documentation": null, - "id": 8541, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updatePricing", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8399, - "name": "batch", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39680:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - }, - "typeName": { - "contractScope": null, - "id": 8398, - "name": "Batch", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6062, - "src": "39680:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Batch_$6062_storage_ptr", - "typeString": "struct BatchedBancorMarketMaker.Batch" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8401, - "name": "_batchId", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39701:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39701:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8403, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 8541, - "src": "39719:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "39719:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39679:60:7" - }, - "payable": false, - "returnParameters": { - "id": 8405, - "nodeType": "ParameterList", - "parameters": [], - "src": "39749:0:7" - }, - "scope": 8578, - "src": "39656:4568:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 8576, - "nodeType": "Block", - "src": "44329:220:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8552, - "name": "_collateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8547, - "src": "44343:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8553, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "44363:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "44343:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8574, - "nodeType": "Block", - "src": "44420:123:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8567, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8543, - "src": "44483:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8568, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8545, - "src": "44490:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8569, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "44495:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8564, - "name": "_collateralToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8547, - "src": "44448:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8563, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "44442:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 8565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44442:23:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "44442:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 8570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44442:61:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8571, - "name": "ERROR_TRANSFER_FROM_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6007, - "src": "44505:26:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8562, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "44434:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44434:98:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8573, - "nodeType": "ExpressionStatement", - "src": "44434:98:7" - } - ] - }, - "id": 8575, - "nodeType": "IfStatement", - "src": "44339:204:7", - "trueBody": { - "id": 8561, - "nodeType": "Block", - "src": "44368:46:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8558, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "44395:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8555, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8545, - "src": "44382:3:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "44382:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "44382:21:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8560, - "nodeType": "ExpressionStatement", - "src": "44382:21:7" - } - ] - } - } - ] - }, - "documentation": null, - "id": 8577, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8543, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44249:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44249:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8545, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44264:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44264:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8547, - "name": "_collateralToken", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44277:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "44277:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8549, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "44303:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "44303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "44248:71:7" - }, - "payable": false, - "returnParameters": { - "id": 8551, - "nodeType": "ParameterList", - "parameters": [], - "src": "44329:0:7" - }, - "scope": 8578, - "src": "44230:319:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 8579, - "src": "624:43927:7" - } - ], - "src": "0:44552:7" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.873Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/CallsScript.json b/templates/multisig/build/contracts/CallsScript.json deleted file mode 100644 index 396fed3..0000000 --- a/templates/multisig/build/contracts/CallsScript.json +++ /dev/null @@ -1,4331 +0,0 @@ -{ - "contractName": "CallsScript", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "name": "src", - "type": "address" - }, - { - "indexed": true, - "name": "dst", - "type": "address" - } - ], - "name": "LogScriptCall", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_script", - "type": "bytes" - }, - { - "name": "", - "type": "bytes" - }, - { - "name": "_blacklist", - "type": "address[]" - } - ], - "name": "execScript", - "outputs": [ - { - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "executorType", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405261001564010000000061001a810204565b610223565b61002b64010000000061011a810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156100c85781810151838201526020016100b0565b50505050905090810190601f1680156100f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610118600019640100000000610145810204565b565b600061014060008051602061096d8339815191526401000000006106ff61021b82021704565b905090565b61015664010000000061011a810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156101f2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156100c85781810151838201526020016100b0565b5061021860008051602061096d8339815191528264010000000061070b61021f82021704565b50565b5490565b9055565b61073b806102326000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630803fac08114610058578063279cea35146100815780638333d9b21461012e5780638b3dd74914610155578063de4796ed1461016a575b600080fd5b34801561006457600080fd5b5061006d61017f565b604080519115158252519081900360200190f35b34801561008d57600080fd5b506100b960246004803582810192908201359181358083019290820135916044359182019101356101a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f35781810151838201526020016100db565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013a57600080fd5b5061014361061c565b60408051918252519081900360200190f35b34801561016157600080fd5b50610143610640565b34801561017657600080fd5b5061006d610670565b60008061018a610640565b905080158015906101a257508061019f610683565b10155b91505090565b606060008060008060008060006101bd61017f565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a4544000000000000000000000000602082015290151561027f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561024457818101518382015260200161022c565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600496505b8c87101561060b5760408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e47544800000000000000000060208201526018888f0310156103175760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b5061035b878f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106871692505050565b9550600094505b8885101561042f5789898681811061037657fe5b90506020020135600160a060020a0316600160a060020a031686600160a060020a031614156040805190810160405280601981526020017f45564d43414c4c535f424c41434b4c49535445445f43414c4c000000000000008152509015156104235760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600190940193610362565b604051600160a060020a03871690309033907f9dcff9d94fbfdb4622d11edb383005f95e78efb446c72d92f8e615c6025c470390600090a46104ad876014018f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106bc1692505050565b63ffffffff169350866014016004019250610501838f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106f81692505050565b60408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e475448000000000000000000602082015284860198509092508d8811156105905760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600080858460008a6113885a03f190508080156105ad57610605565b6040513d80156105c0573d6000833e3d82fd5b60e560020a62461bcd02825260206004830152601660248301527f45564d43414c4c535f43414c4c5f5245564552544544000000000000000000006044830152606482fd5b50610285565b505050505050509695505050505050565b7f2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a87030290565b600061066b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6106ff565b905090565b600060001961067d610640565b14905090565b4390565b6000806106948484610703565b6c010000000000000000000000006bffffffffffffffffffffffff1990911604949350505050565b6000806106c98484610703565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b0160200190565b5490565b016020015190565b90555600a165627a7a723058204f6226e4b72f33eac3c95335e6d56a06b748d2211fc92a8ec2946c7a46f443ee0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100535763ffffffff60e060020a6000350416630803fac08114610058578063279cea35146100815780638333d9b21461012e5780638b3dd74914610155578063de4796ed1461016a575b600080fd5b34801561006457600080fd5b5061006d61017f565b604080519115158252519081900360200190f35b34801561008d57600080fd5b506100b960246004803582810192908201359181358083019290820135916044359182019101356101a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f35781810151838201526020016100db565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013a57600080fd5b5061014361061c565b60408051918252519081900360200190f35b34801561016157600080fd5b50610143610640565b34801561017657600080fd5b5061006d610670565b60008061018a610640565b905080158015906101a257508061019f610683565b10155b91505090565b606060008060008060008060006101bd61017f565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a4544000000000000000000000000602082015290151561027f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561024457818101518382015260200161022c565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600496505b8c87101561060b5760408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e47544800000000000000000060208201526018888f0310156103175760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b5061035b878f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106871692505050565b9550600094505b8885101561042f5789898681811061037657fe5b90506020020135600160a060020a0316600160a060020a031686600160a060020a031614156040805190810160405280601981526020017f45564d43414c4c535f424c41434b4c49535445445f43414c4c000000000000008152509015156104235760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600190940193610362565b604051600160a060020a03871690309033907f9dcff9d94fbfdb4622d11edb383005f95e78efb446c72d92f8e615c6025c470390600090a46104ad876014018f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106bc1692505050565b63ffffffff169350866014016004019250610501838f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106f81692505050565b60408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e475448000000000000000000602082015284860198509092508d8811156105905760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600080858460008a6113885a03f190508080156105ad57610605565b6040513d80156105c0573d6000833e3d82fd5b60e560020a62461bcd02825260206004830152601660248301527f45564d43414c4c535f43414c4c5f5245564552544544000000000000000000006044830152606482fd5b50610285565b505050505050509695505050505050565b7f2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a87030290565b600061066b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6106ff565b905090565b600060001961067d610640565b14905090565b4390565b6000806106948484610703565b6c010000000000000000000000006bffffffffffffffffffffffff1990911604949350505050565b6000806106c98484610703565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b0160200190565b5490565b016020015190565b90555600a165627a7a723058204f6226e4b72f33eac3c95335e6d56a06b748d2211fc92a8ec2946c7a46f443ee0029", - "sourceMap": "153:4489:65:-;;;344:9:40;:7;;;;:9;:::i;:::-;153:4489:65;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;153:4489:65:-;;;;;;;", - "deployedSourceMap": "153:4489:65:-;;;;;;;;;-1:-1:-1;;;153:4489:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;1226:3315:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1226:3315:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1226:3315:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4547:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4547:93:65;;;;;;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;1226:3315:65:-;1322:5;1339:16;1618:23;1749:9;2121:22;2202:19;2260:21;2508:12;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;273:1:64;1339:40:65;;1418:2965;1425:25;;;1418:2965;;;1582:20;;;;;;;;;;;;;;;;;1576:4;1547:25;;;:33;;1539:64;;;;-1:-1:-1;;;;;1539:64:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1539:64:65;;1644:27;1662:8;1644:7;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1644:17:65;;:27;-1:-1:-1;;1644:27:65;:17;:27;;-1:-1:-1;;;1644:27:65:i;:::-;1618:53;;1761:1;1749:13;;1744:146;1764:21;;;1744:146;;;1837:10;;1848:1;1837:13;;;;;;;1852:22;;;;;;;;;;;;;1837:13;1852:22;;;;;;;;;1837:13;;;;-1:-1:-1;1837:13:65;;;1818:32;;;;;;-1:-1:-1;1810:65:65;;;;-1:-1:-1;;;;;1810:65:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1810:65:65;-1:-1:-1;1787:3:65;;;;;1744:146;;;2049:57;;-1:-1:-1;2049:57:65;;;2083:4;;2063:10;;2049:57;;;;;2154:33;2171:8;2182:4;2171:15;2154:7;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2154:16:65;;:33;-1:-1:-1;;2154:33:65;:16;:33;;-1:-1:-1;;;2154:33:65:i;:::-;2146:42;;2121:67;;2224:8;2235:4;2224:15;2242:4;2224:22;2202:44;;2284:31;2303:11;2284:7;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2284:18:65;;:31;-1:-1:-1;;2284:31:65;:18;:31;;-1:-1:-1;;;2284:31:65:i;:::-;2472:20;;;;;;;;;;;;;;;;;2394:28;;;;-1:-1:-1;2260:55:65;;-1:-1:-1;2444:26:65;;;;2436:57;;;;-1:-1:-1;;;;;2436:57:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2436:57:65;;2959:1;2895;2834:14;2774:13;2720:1;2667:15;2607:4;2602:3;2598:14;2572:448;2561:459;-1:-1:-1;2561:459:65;3069:1262;;;;3038:1321;;3069:1262;3115:4;3109:11;3149:14;3184:907;;;;4224:14;4221:1;4216:3;4201:38;4276:14;4271:3;4264:27;3184:907;-1:-1:-1;;;;;3454:79:65;;3609:66;3602:4;3593:14;;3586:90;3743:66;3736:4;3727:14;;3720:90;3875:66;3868:4;3859:14;;3852:90;3990:3;3454:79;3978:16;3038:1321;;2543:1830;;;1226:3315;;;;;;;;;;;;;;;:::o;4547:93::-;402:66;4547:93;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:53:-;422:12;347:94;:::o;408:325:63:-;482:14;508:12;523:27;533:5;540:9;523;:27::i;:::-;689;-1:-1:-1;;598:77:63;;;594:123;;570:157;-1:-1:-1;;;;570:157:63:o;739:355::-;812:13;837:12;852:27;862:5;869:9;852;:27::i;:::-;-1:-1:-1;;;;;927:77:63;;;;923:155;;;-1:-1:-1;;;;899:189:63:o;1100:182::-;1234:32;1249:4;1234:32;;1210:66::o;519:134:55:-;630:15;;620:27::o;214:188:63:-;353:32;368:4;353:32;347:39;;323:73::o;1028:119:55:-;1117:22;;1115:26::o", - "source": "pragma solidity 0.4.24;\n\n// Inspired by https://github.com/reverendus/tx-manager\n\nimport \"../ScriptHelpers.sol\";\nimport \"./BaseEVMScriptExecutor.sol\";\n\n\ncontract CallsScript is BaseEVMScriptExecutor {\n using ScriptHelpers for bytes;\n\n /* Hardcoded constants to save gas\n bytes32 internal constant EXECUTOR_TYPE = keccak256(\"CALLS_SCRIPT\");\n */\n bytes32 internal constant EXECUTOR_TYPE = 0x2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a870302;\n\n string private constant ERROR_BLACKLISTED_CALL = \"EVMCALLS_BLACKLISTED_CALL\";\n string private constant ERROR_INVALID_LENGTH = \"EVMCALLS_INVALID_LENGTH\";\n\n /* This is manually crafted in assembly\n string private constant ERROR_CALL_REVERTED = \"EVMCALLS_CALL_REVERTED\";\n */\n\n event LogScriptCall(address indexed sender, address indexed src, address indexed dst);\n\n /**\n * @notice Executes a number of call scripts\n * @param _script [ specId (uint32) ] many calls with this structure ->\n * [ to (address: 20 bytes) ] [ calldataLength (uint32: 4 bytes) ] [ calldata (calldataLength bytes) ]\n * @param _blacklist Addresses the script cannot call to, or will revert.\n * @return Always returns empty byte array\n */\n function execScript(bytes _script, bytes, address[] _blacklist) external isInitialized returns (bytes) {\n uint256 location = SCRIPT_START_LOCATION; // first 32 bits are spec id\n while (location < _script.length) {\n // Check there's at least address + calldataLength available\n require(_script.length - location >= 0x18, ERROR_INVALID_LENGTH);\n\n address contractAddress = _script.addressAt(location);\n // Check address being called is not blacklist\n for (uint256 i = 0; i < _blacklist.length; i++) {\n require(contractAddress != _blacklist[i], ERROR_BLACKLISTED_CALL);\n }\n\n // logged before execution to ensure event ordering in receipt\n // if failed entire execution is reverted regardless\n emit LogScriptCall(msg.sender, address(this), contractAddress);\n\n uint256 calldataLength = uint256(_script.uint32At(location + 0x14));\n uint256 startOffset = location + 0x14 + 0x04;\n uint256 calldataStart = _script.locationOf(startOffset);\n\n // compute end of script / next location\n location = startOffset + calldataLength;\n require(location <= _script.length, ERROR_INVALID_LENGTH);\n\n bool success;\n assembly {\n success := call(\n sub(gas, 5000), // forward gas left - 5000\n contractAddress, // address\n 0, // no value\n calldataStart, // calldata start\n calldataLength, // calldata length\n 0, // don't write output\n 0 // don't write output\n )\n\n switch success\n case 0 {\n let ptr := mload(0x40)\n\n switch returndatasize\n case 0 {\n // No error data was returned, revert with \"EVMCALLS_CALL_REVERTED\"\n // See remix: doing a `revert(\"EVMCALLS_CALL_REVERTED\")` always results in\n // this memory layout\n mstore(ptr, 0x08c379a000000000000000000000000000000000000000000000000000000000) // error identifier\n mstore(add(ptr, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020) // starting offset\n mstore(add(ptr, 0x24), 0x0000000000000000000000000000000000000000000000000000000000000016) // reason length\n mstore(add(ptr, 0x44), 0x45564d43414c4c535f43414c4c5f524556455254454400000000000000000000) // reason\n\n revert(ptr, 100) // 100 = 4 + 3 * 32 (error identifier + 3 words for the ABI encoded error)\n }\n default {\n // Forward the full error data\n returndatacopy(ptr, 0, returndatasize)\n revert(ptr, returndatasize)\n }\n }\n default { }\n }\n }\n // No need to allocate empty bytes for the return as this can only be called via an delegatecall\n // (due to the isInitialized modifier)\n }\n\n function executorType() external pure returns (bytes32) {\n return EXECUTOR_TYPE;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/executors/CallsScript.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/executors/CallsScript.sol", - "exportedSymbols": { - "CallsScript": [ - 25414 - ] - }, - "id": 25415, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25264, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:65" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "file": "../ScriptHelpers.sol", - "id": 25265, - "nodeType": "ImportDirective", - "scope": 25415, - "sourceUnit": 25251, - "src": "82:30:65", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/executors/BaseEVMScriptExecutor.sol", - "file": "./BaseEVMScriptExecutor.sol", - "id": 25266, - "nodeType": "ImportDirective", - "scope": 25415, - "sourceUnit": 25263, - "src": "113:37:65", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25267, - "name": "BaseEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25262, - "src": "177:21:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseEVMScriptExecutor_$25262", - "typeString": "contract BaseEVMScriptExecutor" - } - }, - "id": 25268, - "nodeType": "InheritanceSpecifier", - "src": "177:21:65" - } - ], - "contractDependencies": [ - 23466, - 23797, - 23858, - 24154, - 25131, - 25262 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25414, - "linearizedBaseContracts": [ - 25414, - 25262, - 23466, - 23858, - 23797, - 24154, - 25131 - ], - "name": "CallsScript", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 25271, - "libraryName": { - "contractScope": null, - "id": 25269, - "name": "ScriptHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25250, - "src": "211:13:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ScriptHelpers_$25250", - "typeString": "library ScriptHelpers" - } - }, - "nodeType": "UsingForDirective", - "src": "205:30:65", - "typeName": { - "id": 25270, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "229:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "constant": true, - "id": 25274, - "name": "EXECUTOR_TYPE", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "360:108:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25272, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "360:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832646338353861303066336534313762653133393462383763303731353865393839656336383163653863633638613930393336383061633161383730333032", - "id": 25273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "402:66:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20708059268077943580677606616711462293513402141599588069272609168866821997314_by_1", - "typeString": "int_const 2070...(69 digits omitted)...7314" - }, - "value": "0x2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a870302" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 25277, - "name": "ERROR_BLACKLISTED_CALL", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "475:76:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 25275, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "475:6:65", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d43414c4c535f424c41434b4c49535445445f43414c4c", - "id": 25276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "524:27:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_820e7bc5a5dbe3fe12a354732308daec36659428c18b63a8bd98d3e1a1aa880c", - "typeString": "literal_string \"EVMCALLS_BLACKLISTED_CALL\"" - }, - "value": "EVMCALLS_BLACKLISTED_CALL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 25280, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "557:72:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 25278, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "557:6:65", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d43414c4c535f494e56414c49445f4c454e475448", - "id": 25279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "604:25:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b74cfdfb5c338a9838591e3a37b6a9b307874ae00970d0ccb03700cda2f9a5e1", - "typeString": "literal_string \"EVMCALLS_INVALID_LENGTH\"" - }, - "value": "EVMCALLS_INVALID_LENGTH" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 25288, - "name": "LogScriptCall", - "nodeType": "EventDefinition", - "parameters": { - "id": 25287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25282, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "784:22:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "784:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25284, - "indexed": true, - "name": "src", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "808:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "808:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25286, - "indexed": true, - "name": "dst", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "829:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "829:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "783:66:65" - }, - "src": "764:86:65" - }, - { - "body": { - "id": 25404, - "nodeType": "Block", - "src": "1329:3212:65", - "statements": [ - { - "assignments": [ - 25303 - ], - "declarations": [ - { - "constant": false, - "id": 25303, - "name": "location", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1339:16:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1339:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25305, - "initialValue": { - "argumentTypes": null, - "id": 25304, - "name": "SCRIPT_START_LOCATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25261, - "src": "1358:21:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1339:40:65" - }, - { - "body": { - "id": 25402, - "nodeType": "Block", - "src": "1452:2931:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25311, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1547:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1547:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 25313, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1564:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1547:25:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783138", - "id": 25315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1576:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "0x18" - }, - "src": "1547:33:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25317, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25280, - "src": "1582:20:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1539:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:64:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25319, - "nodeType": "ExpressionStatement", - "src": "1539:64:65" - }, - { - "assignments": [ - 25321 - ], - "declarations": [ - { - "constant": false, - "id": 25321, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1618:23:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25320, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25326, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25324, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1662:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25322, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1644:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addressAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 25202, - "src": "1644:17:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (address)" - } - }, - "id": 25325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1644:27:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1618:53:65" - }, - { - "body": { - "id": 25347, - "nodeType": "Block", - "src": "1792:98:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25339, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25321, - "src": "1818:15:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 25340, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25295, - "src": "1837:10:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 25342, - "indexExpression": { - "argumentTypes": null, - "id": 25341, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1848:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1837:13:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1818:32:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25344, - "name": "ERROR_BLACKLISTED_CALL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25277, - "src": "1852:22:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1810:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1810:65:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25346, - "nodeType": "ExpressionStatement", - "src": "1810:65:65" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25331, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1764:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25332, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25295, - "src": "1768:10:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 25333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1768:17:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:21:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 25348, - "initializationExpression": { - "assignments": [ - 25328 - ], - "declarations": [ - { - "constant": false, - "id": 25328, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1749:9:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1749:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25330, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 25329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1761:1:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1749:13:65" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 25336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1787:3:65", - "subExpression": { - "argumentTypes": null, - "id": 25335, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1787:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 25337, - "nodeType": "ExpressionStatement", - "src": "1787:3:65" - }, - "nodeType": "ForStatement", - "src": "1744:146:65" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2063:3:65", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 25351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2063:10:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29933, - "src": "2083:4:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - ], - "id": 25352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2075:7:65", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2075:13:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25355, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25321, - "src": "2090:15:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25349, - "name": "LogScriptCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25288, - "src": "2049:13:65", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 25356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2049:57:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25357, - "nodeType": "EmitStatement", - "src": "2044:62:65" - }, - { - "assignments": [ - 25359 - ], - "declarations": [ - { - "constant": false, - "id": 25359, - "name": "calldataLength", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2121:22:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2121:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25368, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25363, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2171:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 25364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2182:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "2171:15:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25361, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2154:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uint32At", - "nodeType": "MemberAccess", - "referencedDeclaration": 25220, - "src": "2154:16:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" - } - }, - "id": 25366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:33:65", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 25360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2146:7:65", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 25367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:42:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2121:67:65" - }, - { - "assignments": [ - 25370 - ], - "declarations": [ - { - "constant": false, - "id": 25370, - "name": "startOffset", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2202:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2202:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25376, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25371, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2224:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 25372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2235:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "2224:15:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783034", - "id": 25374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2242:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "0x04" - }, - "src": "2224:22:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2202:44:65" - }, - { - "assignments": [ - 25378 - ], - "declarations": [ - { - "constant": false, - "id": 25378, - "name": "calldataStart", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2260:21:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2260:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25383, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25381, - "name": "startOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25370, - "src": "2303:11:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25379, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2284:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "locationOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 25231, - "src": "2284:18:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2284:31:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2260:55:65" - }, - { - "expression": { - "argumentTypes": null, - "id": 25388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25384, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2383:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25385, - "name": "startOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25370, - "src": "2394:11:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 25386, - "name": "calldataLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25359, - "src": "2408:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2394:28:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2383:39:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 25389, - "nodeType": "ExpressionStatement", - "src": "2383:39:65" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25391, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2444:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25392, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2456:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2456:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2444:26:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25395, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25280, - "src": "2472:20:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2436:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2436:57:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25397, - "nodeType": "ExpressionStatement", - "src": "2436:57:65" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25399, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2508:12:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 25398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2508:4:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25400, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2508:12:65" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 25399, - "isOffset": false, - "isSlot": false, - "src": "2561:7:65", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 25399, - "isOffset": false, - "isSlot": false, - "src": "3045:7:65", - "valueSize": 1 - } - }, - { - "contractAddress": { - "declaration": 25321, - "isOffset": false, - "isSlot": false, - "src": "2667:15:65", - "valueSize": 1 - } - }, - { - "calldataStart": { - "declaration": 25378, - "isOffset": false, - "isSlot": false, - "src": "2774:13:65", - "valueSize": 1 - } - }, - { - "calldataLength": { - "declaration": 25359, - "isOffset": false, - "isSlot": false, - "src": "2834:14:65", - "valueSize": 1 - } - } - ], - "id": 25401, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(sub(gas(), 5000), contractAddress, 0, calldataStart, calldataLength, 0, 0)\n switch success\n case 0 {\n let ptr := mload(0x40)\n switch returndatasize()\n case 0 {\n mstore(ptr, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n mstore(add(ptr, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020)\n mstore(add(ptr, 0x24), 0x0000000000000000000000000000000000000000000000000000000000000016)\n mstore(add(ptr, 0x44), 0x45564d43414c4c535f43414c4c5f524556455254454400000000000000000000)\n revert(ptr, 100)\n }\n default {\n returndatacopy(ptr, 0, returndatasize())\n revert(ptr, returndatasize())\n }\n }\n default {\n }\n}", - "src": "2534:1849:65" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25306, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1425:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25307, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1436:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1436:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1425:25:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 25403, - "nodeType": "WhileStatement", - "src": "1418:2965:65" - } - ] - }, - "documentation": "@notice Executes a number of call scripts\n@param _script [ specId (uint32) ] many calls with this structure ->\n [ to (address: 20 bytes) ] [ calldataLength (uint32: 4 bytes) ] [ calldata (calldataLength bytes) ]\n@param _blacklist Addresses the script cannot call to, or will revert.\n@return Always returns empty byte array", - "id": 25405, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 25298, - "modifierName": { - "argumentTypes": null, - "id": 25297, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1299:13:65", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1299:13:65" - } - ], - "name": "execScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25290, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1246:13:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25289, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1246:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25292, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1261:5:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1261:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25295, - "name": "_blacklist", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1268:20:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1268:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25294, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1268:9:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:44:65" - }, - "payable": false, - "returnParameters": { - "id": 25301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25300, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1322:5:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25299, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1322:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1321:7:65" - }, - "scope": 25414, - "src": "1226:3315:65", - "stateMutability": "nonpayable", - "superFunction": 25125, - "visibility": "external" - }, - { - "body": { - "id": 25412, - "nodeType": "Block", - "src": "4603:37:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25410, - "name": "EXECUTOR_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25274, - "src": "4620:13:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 25409, - "id": 25411, - "nodeType": "Return", - "src": "4613:20:65" - } - ] - }, - "documentation": null, - "id": 25413, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "executorType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25406, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:2:65" - }, - "payable": false, - "returnParameters": { - "id": 25409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25408, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25413, - "src": "4594:7:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25407, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4594:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4593:9:65" - }, - "scope": 25414, - "src": "4547:93:65", - "stateMutability": "pure", - "superFunction": 25130, - "visibility": "external" - } - ], - "scope": 25415, - "src": "153:4489:65" - } - ], - "src": "0:4643:65" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/executors/CallsScript.sol", - "exportedSymbols": { - "CallsScript": [ - 25414 - ] - }, - "id": 25415, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25264, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:65" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "file": "../ScriptHelpers.sol", - "id": 25265, - "nodeType": "ImportDirective", - "scope": 25415, - "sourceUnit": 25251, - "src": "82:30:65", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/executors/BaseEVMScriptExecutor.sol", - "file": "./BaseEVMScriptExecutor.sol", - "id": 25266, - "nodeType": "ImportDirective", - "scope": 25415, - "sourceUnit": 25263, - "src": "113:37:65", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 25267, - "name": "BaseEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25262, - "src": "177:21:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseEVMScriptExecutor_$25262", - "typeString": "contract BaseEVMScriptExecutor" - } - }, - "id": 25268, - "nodeType": "InheritanceSpecifier", - "src": "177:21:65" - } - ], - "contractDependencies": [ - 23466, - 23797, - 23858, - 24154, - 25131, - 25262 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25414, - "linearizedBaseContracts": [ - 25414, - 25262, - 23466, - 23858, - 23797, - 24154, - 25131 - ], - "name": "CallsScript", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 25271, - "libraryName": { - "contractScope": null, - "id": 25269, - "name": "ScriptHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25250, - "src": "211:13:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ScriptHelpers_$25250", - "typeString": "library ScriptHelpers" - } - }, - "nodeType": "UsingForDirective", - "src": "205:30:65", - "typeName": { - "id": 25270, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "229:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "constant": true, - "id": 25274, - "name": "EXECUTOR_TYPE", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "360:108:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25272, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "360:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832646338353861303066336534313762653133393462383763303731353865393839656336383163653863633638613930393336383061633161383730333032", - "id": 25273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "402:66:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20708059268077943580677606616711462293513402141599588069272609168866821997314_by_1", - "typeString": "int_const 2070...(69 digits omitted)...7314" - }, - "value": "0x2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a870302" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 25277, - "name": "ERROR_BLACKLISTED_CALL", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "475:76:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 25275, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "475:6:65", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d43414c4c535f424c41434b4c49535445445f43414c4c", - "id": 25276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "524:27:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_820e7bc5a5dbe3fe12a354732308daec36659428c18b63a8bd98d3e1a1aa880c", - "typeString": "literal_string \"EVMCALLS_BLACKLISTED_CALL\"" - }, - "value": "EVMCALLS_BLACKLISTED_CALL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 25280, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "VariableDeclaration", - "scope": 25414, - "src": "557:72:65", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 25278, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "557:6:65", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d43414c4c535f494e56414c49445f4c454e475448", - "id": 25279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "604:25:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b74cfdfb5c338a9838591e3a37b6a9b307874ae00970d0ccb03700cda2f9a5e1", - "typeString": "literal_string \"EVMCALLS_INVALID_LENGTH\"" - }, - "value": "EVMCALLS_INVALID_LENGTH" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 25288, - "name": "LogScriptCall", - "nodeType": "EventDefinition", - "parameters": { - "id": 25287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25282, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "784:22:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "784:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25284, - "indexed": true, - "name": "src", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "808:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "808:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25286, - "indexed": true, - "name": "dst", - "nodeType": "VariableDeclaration", - "scope": 25288, - "src": "829:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "829:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "783:66:65" - }, - "src": "764:86:65" - }, - { - "body": { - "id": 25404, - "nodeType": "Block", - "src": "1329:3212:65", - "statements": [ - { - "assignments": [ - 25303 - ], - "declarations": [ - { - "constant": false, - "id": 25303, - "name": "location", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1339:16:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1339:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25305, - "initialValue": { - "argumentTypes": null, - "id": 25304, - "name": "SCRIPT_START_LOCATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25261, - "src": "1358:21:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1339:40:65" - }, - { - "body": { - "id": 25402, - "nodeType": "Block", - "src": "1452:2931:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25311, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1547:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1547:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 25313, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1564:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1547:25:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783138", - "id": 25315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1576:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "0x18" - }, - "src": "1547:33:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25317, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25280, - "src": "1582:20:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1539:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1539:64:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25319, - "nodeType": "ExpressionStatement", - "src": "1539:64:65" - }, - { - "assignments": [ - 25321 - ], - "declarations": [ - { - "constant": false, - "id": 25321, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1618:23:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25320, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25326, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25324, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1662:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25322, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1644:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addressAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 25202, - "src": "1644:17:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (address)" - } - }, - "id": 25325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1644:27:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1618:53:65" - }, - { - "body": { - "id": 25347, - "nodeType": "Block", - "src": "1792:98:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25339, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25321, - "src": "1818:15:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 25340, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25295, - "src": "1837:10:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 25342, - "indexExpression": { - "argumentTypes": null, - "id": 25341, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1848:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1837:13:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1818:32:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25344, - "name": "ERROR_BLACKLISTED_CALL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25277, - "src": "1852:22:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1810:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1810:65:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25346, - "nodeType": "ExpressionStatement", - "src": "1810:65:65" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25331, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1764:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25332, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25295, - "src": "1768:10:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 25333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1768:17:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:21:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 25348, - "initializationExpression": { - "assignments": [ - 25328 - ], - "declarations": [ - { - "constant": false, - "id": 25328, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1749:9:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1749:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25330, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 25329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1761:1:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1749:13:65" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 25336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1787:3:65", - "subExpression": { - "argumentTypes": null, - "id": 25335, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25328, - "src": "1787:1:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 25337, - "nodeType": "ExpressionStatement", - "src": "1787:3:65" - }, - "nodeType": "ForStatement", - "src": "1744:146:65" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2063:3:65", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 25351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2063:10:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29933, - "src": "2083:4:65", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - ], - "id": 25352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2075:7:65", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2075:13:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25355, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25321, - "src": "2090:15:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25349, - "name": "LogScriptCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25288, - "src": "2049:13:65", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 25356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2049:57:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25357, - "nodeType": "EmitStatement", - "src": "2044:62:65" - }, - { - "assignments": [ - 25359 - ], - "declarations": [ - { - "constant": false, - "id": 25359, - "name": "calldataLength", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2121:22:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2121:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25368, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25363, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2171:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 25364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2182:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "2171:15:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25361, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2154:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uint32At", - "nodeType": "MemberAccess", - "referencedDeclaration": 25220, - "src": "2154:16:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" - } - }, - "id": 25366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:33:65", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 25360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2146:7:65", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 25367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:42:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2121:67:65" - }, - { - "assignments": [ - 25370 - ], - "declarations": [ - { - "constant": false, - "id": 25370, - "name": "startOffset", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2202:19:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2202:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25376, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25371, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2224:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 25372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2235:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "2224:15:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783034", - "id": 25374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2242:4:65", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "0x04" - }, - "src": "2224:22:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2202:44:65" - }, - { - "assignments": [ - 25378 - ], - "declarations": [ - { - "constant": false, - "id": 25378, - "name": "calldataStart", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2260:21:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2260:7:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25383, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25381, - "name": "startOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25370, - "src": "2303:11:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 25379, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2284:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "locationOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 25231, - "src": "2284:18:65", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2284:31:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2260:55:65" - }, - { - "expression": { - "argumentTypes": null, - "id": 25388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25384, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2383:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25385, - "name": "startOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25370, - "src": "2394:11:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 25386, - "name": "calldataLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25359, - "src": "2408:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2394:28:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2383:39:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 25389, - "nodeType": "ExpressionStatement", - "src": "2383:39:65" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25391, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "2444:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25392, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "2456:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2456:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2444:26:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25395, - "name": "ERROR_INVALID_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25280, - "src": "2472:20:65", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2436:7:65", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2436:57:65", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25397, - "nodeType": "ExpressionStatement", - "src": "2436:57:65" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25399, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "2508:12:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 25398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2508:4:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25400, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2508:12:65" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 25399, - "isOffset": false, - "isSlot": false, - "src": "2561:7:65", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 25399, - "isOffset": false, - "isSlot": false, - "src": "3045:7:65", - "valueSize": 1 - } - }, - { - "contractAddress": { - "declaration": 25321, - "isOffset": false, - "isSlot": false, - "src": "2667:15:65", - "valueSize": 1 - } - }, - { - "calldataStart": { - "declaration": 25378, - "isOffset": false, - "isSlot": false, - "src": "2774:13:65", - "valueSize": 1 - } - }, - { - "calldataLength": { - "declaration": 25359, - "isOffset": false, - "isSlot": false, - "src": "2834:14:65", - "valueSize": 1 - } - } - ], - "id": 25401, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(sub(gas(), 5000), contractAddress, 0, calldataStart, calldataLength, 0, 0)\n switch success\n case 0 {\n let ptr := mload(0x40)\n switch returndatasize()\n case 0 {\n mstore(ptr, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n mstore(add(ptr, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020)\n mstore(add(ptr, 0x24), 0x0000000000000000000000000000000000000000000000000000000000000016)\n mstore(add(ptr, 0x44), 0x45564d43414c4c535f43414c4c5f524556455254454400000000000000000000)\n revert(ptr, 100)\n }\n default {\n returndatacopy(ptr, 0, returndatasize())\n revert(ptr, returndatasize())\n }\n }\n default {\n }\n}", - "src": "2534:1849:65" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 25309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 25306, - "name": "location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25303, - "src": "1425:8:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25307, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25290, - "src": "1436:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 25308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1436:14:65", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1425:25:65", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 25403, - "nodeType": "WhileStatement", - "src": "1418:2965:65" - } - ] - }, - "documentation": "@notice Executes a number of call scripts\n@param _script [ specId (uint32) ] many calls with this structure ->\n [ to (address: 20 bytes) ] [ calldataLength (uint32: 4 bytes) ] [ calldata (calldataLength bytes) ]\n@param _blacklist Addresses the script cannot call to, or will revert.\n@return Always returns empty byte array", - "id": 25405, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 25298, - "modifierName": { - "argumentTypes": null, - "id": 25297, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1299:13:65", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1299:13:65" - } - ], - "name": "execScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25290, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1246:13:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25289, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1246:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25292, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1261:5:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1261:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25295, - "name": "_blacklist", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1268:20:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1268:7:65", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25294, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1268:9:65", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:44:65" - }, - "payable": false, - "returnParameters": { - "id": 25301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25300, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25405, - "src": "1322:5:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25299, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1322:5:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1321:7:65" - }, - "scope": 25414, - "src": "1226:3315:65", - "stateMutability": "nonpayable", - "superFunction": 25125, - "visibility": "external" - }, - { - "body": { - "id": 25412, - "nodeType": "Block", - "src": "4603:37:65", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 25410, - "name": "EXECUTOR_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25274, - "src": "4620:13:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 25409, - "id": 25411, - "nodeType": "Return", - "src": "4613:20:65" - } - ] - }, - "documentation": null, - "id": 25413, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "executorType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25406, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:2:65" - }, - "payable": false, - "returnParameters": { - "id": 25409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25408, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25413, - "src": "4594:7:65", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25407, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4594:7:65", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4593:9:65" - }, - "scope": 25414, - "src": "4547:93:65", - "stateMutability": "pure", - "superFunction": 25130, - "visibility": "external" - } - ], - "scope": 25415, - "src": "153:4489:65" - } - ], - "src": "0:4643:65" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.279Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Controlled.json b/templates/multisig/build/contracts/Controlled.json deleted file mode 100644 index 9e9e841..0000000 --- a/templates/multisig/build/contracts/Controlled.json +++ /dev/null @@ -1,29628 +0,0 @@ -{ - "contractName": "Controlled", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "controller", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newController", - "type": "address" - } - ], - "name": "changeController", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060008054600160a060020a0319163317905561011b806100326000396000f30060806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633cebb8238114604d578063f77c479114606d575b600080fd5b348015605857600080fd5b50606b600160a060020a0360043516609b565b005b348015607857600080fd5b50607f60e0565b60408051600160a060020a039092168252519081900360200190f35b600054600160a060020a0316331460b157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316815600a165627a7a72305820a8c9b9dfb3c7d88913b70621d6a72542af7421be37657d406d98bf20e3a6be8c0029", - "deployedBytecode": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633cebb8238114604d578063f77c479114606d575b600080fd5b348015605857600080fd5b50606b600160a060020a0360043516609b565b005b348015607857600080fd5b50607f60e0565b60408051600160a060020a039092168252519081900360200190f35b600054600160a060020a0316331460b157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316815600a165627a7a72305820a8c9b9dfb3c7d88913b70621d6a72542af7421be37657d406d98bf20e3a6be8c0029", - "sourceMap": "1157:570:20:-;;;1425:57;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1457:10:20;:23;;-1:-1:-1;;;;;;1457:23:20;1470:10;1457:23;;;1157:570;;;;;;", - "deployedSourceMap": "1157:570:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1608:117:20;-1:-1:-1;;;;;1608:117:20;;;;;;;1393:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1393:25:20;;;;;;;;-1:-1:-1;;;;;1393:25:20;;;;;;;;;;;;;;1608:117;1358:10;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;1691:10;:27;;-1:-1:-1;;1691:27:20;-1:-1:-1;;;;;1691:27:20;;;;;;;;;;1608:117::o;1393:25::-;;;-1:-1:-1;;;;;1393:25:20;;:::o", - "source": "pragma solidity ^0.4.24;\n\n/*\n Copyright 2016, Jordi Baylina\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n */\n\n/// @title MiniMeToken Contract\n/// @author Jordi Baylina\n/// @dev This token contract's goal is to make it easy for anyone to clone this\n/// token using the token distribution at a given block, this will allow DAO's\n/// and DApps to upgrade their features in a decentralized manner without\n/// affecting the original token\n/// @dev It is ERC20 compliant, but still needs to under go further testing.\n\nimport \"./ITokenController.sol\";\n\ncontract Controlled {\n /// @notice The address of the controller is the only address that can call\n /// a function with this modifier\n modifier onlyController {\n require(msg.sender == controller);\n _;\n }\n\n address public controller;\n\n function Controlled() public { controller = msg.sender;}\n\n /// @notice Changes the controller of the contract\n /// @param _newController The new controller of the contract\n function changeController(address _newController) onlyController public {\n controller = _newController;\n }\n}\n\ncontract ApproveAndCallFallBack {\n function receiveApproval(\n address from,\n uint256 _amount,\n address _token,\n bytes _data\n ) public;\n}\n\n/// @dev The actual token contract, the default controller is the msg.sender\n/// that deploys the contract, so usually this token will be deployed by a\n/// token controller contract, which Giveth will call a \"Campaign\"\ncontract MiniMeToken is Controlled {\n\n string public name; //The Token's name: e.g. DigixDAO Tokens\n uint8 public decimals; //Number of decimals of the smallest unit\n string public symbol; //An identifier: e.g. REP\n string public version = \"MMT_0.1\"; //An arbitrary versioning scheme\n\n\n /// @dev `Checkpoint` is the structure that attaches a block number to a\n /// given value, the block number attached is the one that last changed the\n /// value\n struct Checkpoint {\n\n // `fromBlock` is the block number that the value was generated from\n uint128 fromBlock;\n\n // `value` is the amount of tokens at a specific block number\n uint128 value;\n }\n\n // `parentToken` is the Token address that was cloned to produce this token;\n // it will be 0x0 for a token that was not cloned\n MiniMeToken public parentToken;\n\n // `parentSnapShotBlock` is the block number from the Parent Token that was\n // used to determine the initial distribution of the Clone Token\n uint public parentSnapShotBlock;\n\n // `creationBlock` is the block number that the Clone Token was created\n uint public creationBlock;\n\n // `balances` is the map that tracks the balance of each address, in this\n // contract when the balance changes the block number that the change\n // occurred is also included in the map\n mapping (address => Checkpoint[]) balances;\n\n // `allowed` tracks any extra transfer rights as in all ERC20 tokens\n mapping (address => mapping (address => uint256)) allowed;\n\n // Tracks the history of the `totalSupply` of the token\n Checkpoint[] totalSupplyHistory;\n\n // Flag that determines if the token is transferable or not.\n bool public transfersEnabled;\n\n // The factory used to create new clone tokens\n MiniMeTokenFactory public tokenFactory;\n\n////////////////\n// Constructor\n////////////////\n\n /// @notice Constructor to create a MiniMeToken\n /// @param _tokenFactory The address of the MiniMeTokenFactory contract that\n /// will create the Clone token contracts, the token factory needs to be\n /// deployed first\n /// @param _parentToken Address of the parent token, set to 0x0 if it is a\n /// new token\n /// @param _parentSnapShotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token, set to 0 if it\n /// is a new token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n function MiniMeToken(\n MiniMeTokenFactory _tokenFactory,\n MiniMeToken _parentToken,\n uint _parentSnapShotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public\n {\n tokenFactory = _tokenFactory;\n name = _tokenName; // Set the name\n decimals = _decimalUnits; // Set the decimals\n symbol = _tokenSymbol; // Set the symbol\n parentToken = _parentToken;\n parentSnapShotBlock = _parentSnapShotBlock;\n transfersEnabled = _transfersEnabled;\n creationBlock = block.number;\n }\n\n\n///////////////////\n// ERC20 Methods\n///////////////////\n\n /// @notice Send `_amount` tokens to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n return doTransfer(msg.sender, _to, _amount);\n }\n\n /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n /// is approved by `_from`\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {\n\n // The controller of this contract can move tokens around at will,\n // this is important to recognize! Confirm that you trust the\n // controller of this contract, which in most situations should be\n // another open source smart contract or 0x0\n if (msg.sender != controller) {\n require(transfersEnabled);\n\n // The standard ERC 20 transferFrom functionality\n if (allowed[_from][msg.sender] < _amount)\n return false;\n allowed[_from][msg.sender] -= _amount;\n }\n return doTransfer(_from, _to, _amount);\n }\n\n /// @dev This is the actual transfer function in the token contract, it can\n /// only be called by other functions in this contract.\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function doTransfer(address _from, address _to, uint _amount) internal returns(bool) {\n if (_amount == 0) {\n return true;\n }\n require(parentSnapShotBlock < block.number);\n // Do not allow transfer to 0x0 or the token contract itself\n require((_to != 0) && (_to != address(this)));\n // If the amount being transfered is more than the balance of the\n // account the transfer returns false\n var previousBalanceFrom = balanceOfAt(_from, block.number);\n if (previousBalanceFrom < _amount) {\n return false;\n }\n // Alerts the token controller of the transfer\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onTransfer(_from, _to, _amount) == true);\n }\n // First update the balance array with the new value for the address\n // sending the tokens\n updateValueAtNow(balances[_from], previousBalanceFrom - _amount);\n // Then update the balance array with the new value for the address\n // receiving the tokens\n var previousBalanceTo = balanceOfAt(_to, block.number);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(balances[_to], previousBalanceTo + _amount);\n // An event to make the transfer easy to find on the blockchain\n Transfer(_from, _to, _amount);\n return true;\n }\n\n /// @param _owner The address that's balance is being requested\n /// @return The balance of `_owner` at the current block\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balanceOfAt(_owner, block.number);\n }\n\n /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n /// its behalf. This is a modified version of the ERC20 approve function\n /// to be a little bit safer\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the approval was successful\n function approve(address _spender, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n\n // To change the approve amount you first have to reduce the addresses`\n // allowance to zero by calling `approve(_spender,0)` if it is not\n // already 0 to mitigate the race condition described here:\n // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n require((_amount == 0) || (allowed[msg.sender][_spender] == 0));\n\n // Alerts the token controller of the approve function call\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onApprove(msg.sender, _spender, _amount) == true);\n }\n\n allowed[msg.sender][_spender] = _amount;\n Approval(msg.sender, _spender, _amount);\n return true;\n }\n\n /// @dev This function makes it easy to read the `allowed[]` map\n /// @param _owner The address of the account that owns the token\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens of _owner that _spender is allowed\n /// to spend\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on\n /// its behalf, and then a function is triggered in the contract that is\n /// being approved, `_spender`. This allows users to use their tokens to\n /// interact with contracts in one function call instead of two\n /// @param _spender The address of the contract able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the function call was successful\n function approveAndCall(ApproveAndCallFallBack _spender, uint256 _amount, bytes _extraData) public returns (bool success) {\n require(approve(_spender, _amount));\n\n _spender.receiveApproval(\n msg.sender,\n _amount,\n this,\n _extraData\n );\n\n return true;\n }\n\n /// @dev This function makes it easy to get the total number of tokens\n /// @return The total number of tokens\n function totalSupply() public constant returns (uint) {\n return totalSupplyAt(block.number);\n }\n\n\n////////////////\n// Query balance and totalSupply in History\n////////////////\n\n /// @dev Queries the balance of `_owner` at a specific `_blockNumber`\n /// @param _owner The address from which the balance will be retrieved\n /// @param _blockNumber The block number when the balance is queried\n /// @return The balance at `_blockNumber`\n function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {\n\n // These next few lines are used when the balance of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.balanceOfAt` be queried at the\n // genesis block for that token as this contains initial balance of\n // this token\n if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock));\n } else {\n // Has no parent\n return 0;\n }\n\n // This will return the expected balance during normal situations\n } else {\n return getValueAt(balances[_owner], _blockNumber);\n }\n }\n\n /// @notice Total amount of tokens at a specific `_blockNumber`.\n /// @param _blockNumber The block number when the totalSupply is queried\n /// @return The total amount of tokens at `_blockNumber`\n function totalSupplyAt(uint _blockNumber) public constant returns(uint) {\n\n // These next few lines are used when the totalSupply of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.totalSupplyAt` be queried at the\n // genesis block for this token as that contains totalSupply of this\n // token at this block number.\n if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock));\n } else {\n return 0;\n }\n\n // This will return the expected totalSupply during normal situations\n } else {\n return getValueAt(totalSupplyHistory, _blockNumber);\n }\n }\n\n////////////////\n// Clone Token Method\n////////////////\n\n /// @notice Creates a new clone token with the initial distribution being\n /// this token at `_snapshotBlock`\n /// @param _cloneTokenName Name of the clone token\n /// @param _cloneDecimalUnits Number of decimals of the smallest unit\n /// @param _cloneTokenSymbol Symbol of the clone token\n /// @param _snapshotBlock Block when the distribution of the parent token is\n /// copied to set the initial distribution of the new clone token;\n /// if the block is zero than the actual block, the current block is used\n /// @param _transfersEnabled True if transfers are allowed in the clone\n /// @return The address of the new MiniMeToken Contract\n function createCloneToken(\n string _cloneTokenName,\n uint8 _cloneDecimalUnits,\n string _cloneTokenSymbol,\n uint _snapshotBlock,\n bool _transfersEnabled\n ) public returns(MiniMeToken)\n {\n uint256 snapshot = _snapshotBlock == 0 ? block.number - 1 : _snapshotBlock;\n\n MiniMeToken cloneToken = tokenFactory.createCloneToken(\n this,\n snapshot,\n _cloneTokenName,\n _cloneDecimalUnits,\n _cloneTokenSymbol,\n _transfersEnabled\n );\n\n cloneToken.changeController(msg.sender);\n\n // An event to make the token easy to find on the blockchain\n NewCloneToken(address(cloneToken), snapshot);\n return cloneToken;\n }\n\n////////////////\n// Generate and destroy tokens\n////////////////\n\n /// @notice Generates `_amount` tokens that are assigned to `_owner`\n /// @param _owner The address that will be assigned the new tokens\n /// @param _amount The quantity of tokens generated\n /// @return True if the tokens are generated correctly\n function generateTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow\n uint previousBalanceTo = balanceOf(_owner);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);\n updateValueAtNow(balances[_owner], previousBalanceTo + _amount);\n Transfer(0, _owner, _amount);\n return true;\n }\n\n\n /// @notice Burns `_amount` tokens from `_owner`\n /// @param _owner The address that will lose the tokens\n /// @param _amount The quantity of tokens to burn\n /// @return True if the tokens are burned correctly\n function destroyTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply >= _amount);\n uint previousBalanceFrom = balanceOf(_owner);\n require(previousBalanceFrom >= _amount);\n updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount);\n updateValueAtNow(balances[_owner], previousBalanceFrom - _amount);\n Transfer(_owner, 0, _amount);\n return true;\n }\n\n////////////////\n// Enable tokens transfers\n////////////////\n\n\n /// @notice Enables token holders to transfer their tokens freely if true\n /// @param _transfersEnabled True if transfers are allowed in the clone\n function enableTransfers(bool _transfersEnabled) onlyController public {\n transfersEnabled = _transfersEnabled;\n }\n\n////////////////\n// Internal helper functions to query and set a value in a snapshot array\n////////////////\n\n /// @dev `getValueAt` retrieves the number of tokens at a given block number\n /// @param checkpoints The history of values being queried\n /// @param _block The block number to retrieve the value at\n /// @return The number of tokens being queried\n function getValueAt(Checkpoint[] storage checkpoints, uint _block) constant internal returns (uint) {\n if (checkpoints.length == 0)\n return 0;\n\n // Shortcut for the actual value\n if (_block >= checkpoints[checkpoints.length-1].fromBlock)\n return checkpoints[checkpoints.length-1].value;\n if (_block < checkpoints[0].fromBlock)\n return 0;\n\n // Binary search of the value in the array\n uint min = 0;\n uint max = checkpoints.length-1;\n while (max > min) {\n uint mid = (max + min + 1) / 2;\n if (checkpoints[mid].fromBlock<=_block) {\n min = mid;\n } else {\n max = mid-1;\n }\n }\n return checkpoints[min].value;\n }\n\n /// @dev `updateValueAtNow` used to update the `balances` map and the\n /// `totalSupplyHistory`\n /// @param checkpoints The history of data being updated\n /// @param _value The new number of tokens\n function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value) internal {\n if ((checkpoints.length == 0) || (checkpoints[checkpoints.length - 1].fromBlock < block.number)) {\n Checkpoint storage newCheckPoint = checkpoints[checkpoints.length++];\n newCheckPoint.fromBlock = uint128(block.number);\n newCheckPoint.value = uint128(_value);\n } else {\n Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length - 1];\n oldCheckPoint.value = uint128(_value);\n }\n }\n\n /// @dev Internal function to determine if an address is a contract\n /// @param _addr The address being queried\n /// @return True if `_addr` is a contract\n function isContract(address _addr) constant internal returns(bool) {\n uint size;\n if (_addr == 0)\n return false;\n\n assembly {\n size := extcodesize(_addr)\n }\n\n return size>0;\n }\n\n /// @dev Helper function to return a min betwen the two uints\n function min(uint a, uint b) pure internal returns (uint) {\n return a < b ? a : b;\n }\n\n /// @notice The fallback function: If the contract's controller has not been\n /// set to 0, then the `proxyPayment` method is called which relays the\n /// ether and creates tokens as described in the token controller contract\n function () external payable {\n require(isContract(controller));\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).proxyPayment.value(msg.value)(msg.sender) == true);\n }\n\n//////////\n// Safety Methods\n//////////\n\n /// @notice This method can be used by the controller to extract mistakenly\n /// sent tokens to this contract.\n /// @param _token The address of the token contract that you want to recover\n /// set to 0 in case you want to extract ether.\n function claimTokens(address _token) onlyController public {\n if (_token == 0x0) {\n controller.transfer(this.balance);\n return;\n }\n\n MiniMeToken token = MiniMeToken(_token);\n uint balance = token.balanceOf(this);\n token.transfer(controller, balance);\n ClaimedTokens(_token, controller, balance);\n }\n\n////////////////\n// Events\n////////////////\n event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount);\n event Transfer(address indexed _from, address indexed _to, uint256 _amount);\n event NewCloneToken(address indexed _cloneToken, uint _snapshotBlock);\n event Approval(\n address indexed _owner,\n address indexed _spender,\n uint256 _amount\n );\n\n}\n\n\n////////////////\n// MiniMeTokenFactory\n////////////////\n\n/// @dev This contract is used to generate clone contracts from a contract.\n/// In solidity this is the way to create a contract from a contract of the\n/// same class\ncontract MiniMeTokenFactory {\n\n /// @notice Update the DApp by creating a new token with new functionalities\n /// the msg.sender becomes the controller of this clone token\n /// @param _parentToken Address of the token being cloned\n /// @param _snapshotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n /// @return The address of the new token contract\n function createCloneToken(\n MiniMeToken _parentToken,\n uint _snapshotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public returns (MiniMeToken)\n {\n MiniMeToken newToken = new MiniMeToken(\n this,\n _parentToken,\n _snapshotBlock,\n _tokenName,\n _decimalUnits,\n _tokenSymbol,\n _transfersEnabled\n );\n\n newToken.changeController(msg.sender);\n return newToken;\n }\n}", - "sourcePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "ast": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.484Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ConversionHelpers.json b/templates/multisig/build/contracts/ConversionHelpers.json deleted file mode 100644 index 9a7b4fe..0000000 --- a/templates/multisig/build/contracts/ConversionHelpers.json +++ /dev/null @@ -1,1483 +0,0 @@ -{ - "contractName": "ConversionHelpers", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582070d29519d50a2382c6591a6b87941bcac1aecba649aabdc40fb3298325ad174b0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582070d29519d50a2382c6591a6b87941bcac1aecba649aabdc40fb3298325ad174b0029", - "sourceMap": "27:1274:41:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "27:1274:41:-;;;;;;;;", - "source": "pragma solidity ^0.4.24;\n\n\nlibrary ConversionHelpers {\n string private constant ERROR_IMPROPER_LENGTH = \"CONVERSION_IMPROPER_LENGTH\";\n\n function dangerouslyCastUintArrayToBytes(uint256[] memory _input) internal pure returns (bytes memory output) {\n // Force cast the uint256[] into a bytes array, by overwriting its length\n // Note that the bytes array doesn't need to be initialized as we immediately overwrite it\n // with the input and a new length. The input becomes invalid from this point forward.\n uint256 byteLength = _input.length * 32;\n assembly {\n output := _input\n mstore(output, byteLength)\n }\n }\n\n function dangerouslyCastBytesToUintArray(bytes memory _input) internal pure returns (uint256[] memory output) {\n // Force cast the bytes array into a uint256[], by overwriting its length\n // Note that the uint256[] doesn't need to be initialized as we immediately overwrite it\n // with the input and a new length. The input becomes invalid from this point forward.\n uint256 intsLength = _input.length / 32;\n require(_input.length == intsLength * 32, ERROR_IMPROPER_LENGTH);\n\n assembly {\n output := _input\n mstore(output, intsLength)\n }\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "exportedSymbols": { - "ConversionHelpers": [ - 23516 - ] - }, - "id": 23517, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23468, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:41" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 23516, - "linearizedBaseContracts": [ - 23516 - ], - "name": "ConversionHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23471, - "name": "ERROR_IMPROPER_LENGTH", - "nodeType": "VariableDeclaration", - "scope": 23516, - "src": "59:76:41", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "59:6:41", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "434f4e56455253494f4e5f494d50524f5045525f4c454e475448", - "id": 23470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "107:28:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae6d458f7ae195283b1a4bf6b9fa548b37b2bd69e195d2a474f8d91bafa132ba", - "typeString": "literal_string \"CONVERSION_IMPROPER_LENGTH\"" - }, - "value": "CONVERSION_IMPROPER_LENGTH" - }, - "visibility": "private" - }, - { - "body": { - "id": 23487, - "nodeType": "Block", - "src": "252:429:41", - "statements": [ - { - "assignments": [ - 23480 - ], - "declarations": [ - { - "constant": false, - "id": 23480, - "name": "byteLength", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "538:18:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23485, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23481, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23474, - "src": "559:6:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 23482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "559:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "575:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "559:18:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "538:39:41" - }, - { - "externalReferences": [ - { - "_input": { - "declaration": 23474, - "isOffset": false, - "isSlot": false, - "src": "620:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23477, - "isOffset": false, - "isSlot": false, - "src": "610:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23477, - "isOffset": false, - "isSlot": false, - "src": "646:6:41", - "valueSize": 1 - } - }, - { - "byteLength": { - "declaration": 23480, - "isOffset": false, - "isSlot": false, - "src": "654:10:41", - "valueSize": 1 - } - } - ], - "id": 23486, - "nodeType": "InlineAssembly", - "operations": "{\n output := _input\n mstore(output, byteLength)\n}", - "src": "587:94:41" - } - ] - }, - "documentation": null, - "id": 23488, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "dangerouslyCastUintArrayToBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23474, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "183:23:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "183:9:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:25:41" - }, - "payable": false, - "returnParameters": { - "id": 23478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23477, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "231:19:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23476, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "231:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:21:41" - }, - "scope": 23516, - "src": "142:539:41", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23514, - "nodeType": "Block", - "src": "797:502:41", - "statements": [ - { - "assignments": [ - 23497 - ], - "declarations": [ - { - "constant": false, - "id": 23497, - "name": "intsLength", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "1081:18:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1081:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23502, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23498, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23490, - "src": "1102:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1102:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1118:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "1102:18:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1081:39:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23504, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23490, - "src": "1138:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1138:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23506, - "name": "intsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23497, - "src": "1155:10:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1168:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "1155:15:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1138:32:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23510, - "name": "ERROR_IMPROPER_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23471, - "src": "1172:21:41", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1130:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1130:64:41", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23512, - "nodeType": "ExpressionStatement", - "src": "1130:64:41" - }, - { - "externalReferences": [ - { - "_input": { - "declaration": 23490, - "isOffset": false, - "isSlot": false, - "src": "1238:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23494, - "isOffset": false, - "isSlot": false, - "src": "1228:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23494, - "isOffset": false, - "isSlot": false, - "src": "1264:6:41", - "valueSize": 1 - } - }, - { - "intsLength": { - "declaration": 23497, - "isOffset": false, - "isSlot": false, - "src": "1272:10:41", - "valueSize": 1 - } - } - ], - "id": 23513, - "nodeType": "InlineAssembly", - "operations": "{\n output := _input\n mstore(output, intsLength)\n}", - "src": "1205:94:41" - } - ] - }, - "documentation": null, - "id": 23515, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "dangerouslyCastBytesToUintArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23490, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "728:19:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23489, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "728:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:21:41" - }, - "payable": false, - "returnParameters": { - "id": 23495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23494, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "772:23:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "772:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23493, - "length": null, - "nodeType": "ArrayTypeName", - "src": "772:9:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "771:25:41" - }, - "scope": 23516, - "src": "687:612:41", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23517, - "src": "27:1274:41" - } - ], - "src": "0:1302:41" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "exportedSymbols": { - "ConversionHelpers": [ - 23516 - ] - }, - "id": 23517, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23468, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:41" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 23516, - "linearizedBaseContracts": [ - 23516 - ], - "name": "ConversionHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23471, - "name": "ERROR_IMPROPER_LENGTH", - "nodeType": "VariableDeclaration", - "scope": 23516, - "src": "59:76:41", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "59:6:41", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "434f4e56455253494f4e5f494d50524f5045525f4c454e475448", - "id": 23470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "107:28:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae6d458f7ae195283b1a4bf6b9fa548b37b2bd69e195d2a474f8d91bafa132ba", - "typeString": "literal_string \"CONVERSION_IMPROPER_LENGTH\"" - }, - "value": "CONVERSION_IMPROPER_LENGTH" - }, - "visibility": "private" - }, - { - "body": { - "id": 23487, - "nodeType": "Block", - "src": "252:429:41", - "statements": [ - { - "assignments": [ - 23480 - ], - "declarations": [ - { - "constant": false, - "id": 23480, - "name": "byteLength", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "538:18:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23485, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23481, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23474, - "src": "559:6:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 23482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "559:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "575:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "559:18:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "538:39:41" - }, - { - "externalReferences": [ - { - "_input": { - "declaration": 23474, - "isOffset": false, - "isSlot": false, - "src": "620:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23477, - "isOffset": false, - "isSlot": false, - "src": "610:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23477, - "isOffset": false, - "isSlot": false, - "src": "646:6:41", - "valueSize": 1 - } - }, - { - "byteLength": { - "declaration": 23480, - "isOffset": false, - "isSlot": false, - "src": "654:10:41", - "valueSize": 1 - } - } - ], - "id": 23486, - "nodeType": "InlineAssembly", - "operations": "{\n output := _input\n mstore(output, byteLength)\n}", - "src": "587:94:41" - } - ] - }, - "documentation": null, - "id": 23488, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "dangerouslyCastUintArrayToBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23474, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "183:23:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "183:9:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:25:41" - }, - "payable": false, - "returnParameters": { - "id": 23478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23477, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 23488, - "src": "231:19:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23476, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "231:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:21:41" - }, - "scope": 23516, - "src": "142:539:41", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23514, - "nodeType": "Block", - "src": "797:502:41", - "statements": [ - { - "assignments": [ - 23497 - ], - "declarations": [ - { - "constant": false, - "id": 23497, - "name": "intsLength", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "1081:18:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1081:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23502, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23498, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23490, - "src": "1102:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1102:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1118:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "1102:18:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1081:39:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23504, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23490, - "src": "1138:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 23505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1138:13:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23506, - "name": "intsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23497, - "src": "1155:10:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 23507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1168:2:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "1155:15:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1138:32:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23510, - "name": "ERROR_IMPROPER_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23471, - "src": "1172:21:41", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1130:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1130:64:41", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23512, - "nodeType": "ExpressionStatement", - "src": "1130:64:41" - }, - { - "externalReferences": [ - { - "_input": { - "declaration": 23490, - "isOffset": false, - "isSlot": false, - "src": "1238:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23494, - "isOffset": false, - "isSlot": false, - "src": "1228:6:41", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 23494, - "isOffset": false, - "isSlot": false, - "src": "1264:6:41", - "valueSize": 1 - } - }, - { - "intsLength": { - "declaration": 23497, - "isOffset": false, - "isSlot": false, - "src": "1272:10:41", - "valueSize": 1 - } - } - ], - "id": 23513, - "nodeType": "InlineAssembly", - "operations": "{\n output := _input\n mstore(output, intsLength)\n}", - "src": "1205:94:41" - } - ] - }, - "documentation": null, - "id": 23515, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "dangerouslyCastBytesToUintArray", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23490, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "728:19:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23489, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "728:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:21:41" - }, - "payable": false, - "returnParameters": { - "id": 23495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23494, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 23515, - "src": "772:23:41", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 23492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "772:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23493, - "length": null, - "nodeType": "ArrayTypeName", - "src": "772:9:41", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "771:25:41" - }, - "scope": 23516, - "src": "687:612:41", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23517, - "src": "27:1274:41" - } - ], - "src": "0:1302:41" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.223Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/DAOFactory.json b/templates/multisig/build/contracts/DAOFactory.json deleted file mode 100644 index 3639c63..0000000 --- a/templates/multisig/build/contracts/DAOFactory.json +++ /dev/null @@ -1,5404 +0,0 @@ -{ - "contractName": "DAOFactory", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "baseACL", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "regFactory", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "baseKernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_baseKernel", - "type": "address" - }, - { - "name": "_baseACL", - "type": "address" - }, - { - "name": "_regFactory", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "dao", - "type": "address" - } - ], - "name": "DeployDAO", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "reg", - "type": "address" - } - ], - "name": "DeployEVMScriptRegistry", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_root", - "type": "address" - } - ], - "name": "newDAO", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50604051606080610e45833981016040908152815160208301519190920151600160a060020a0381161561005a5760028054600160a060020a031916600160a060020a0383161790555b5060008054600160a060020a03938416600160a060020a03199182161790915560018054929093169116179055610daf806100966000396000f3006080604052600436106100485763ffffffff60e060020a600035041663086b339e811461004d578063216874441461007e578063656362b51461009f578063b16dd130146100b4575b600080fd5b34801561005957600080fd5b506100626100c9565b60408051600160a060020a039092168252519081900360200190f35b34801561008a57600080fd5b50610062600160a060020a03600435166100d8565b3480156100ab57600080fd5b506100626108ab565b3480156100c057600080fd5b506100626108ba565b600154600160a060020a031681565b6000805481908190819081908190600160a060020a03166100f76108c9565b600160a060020a03909116815260405190819003602001906000f080158015610124573d6000803e3d6000fd5b50600254909550600160a060020a031615156101b0576001546040805160e060020a63485cc955028152600160a060020a039283166004820152898316602482015290519187169163485cc9559160448082019260009290919082900301818387803b15801561019357600080fd5b505af11580156101a7573d6000803e3d6000fd5b50505050610864565b6001546040805160e060020a63485cc955028152600160a060020a03928316600482015230602482015290519187169163485cc9559160448082019260009290919082900301818387803b15801561020757600080fd5b505af115801561021b573d6000803e3d6000fd5b5050505084600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b505050506040513d602081101561028757600080fd5b5051604080517f3d6ab68f0000000000000000000000000000000000000000000000000000000081529051919550600160a060020a03861691633d6ab68f916004808201926020929091908290030181600087803b1580156102e857600080fd5b505af11580156102fc573d6000803e3d6000fd5b505050506040513d602081101561031257600080fd5b5051604080517f8ea8dc9d0000000000000000000000000000000000000000000000000000000081529051919450600160a060020a03871691638ea8dc9d916004808201926020929091908290030181600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b505050506040513d602081101561039d57600080fd5b50516002546040805160e060020a630a8ed3db028152600160a060020a0392831660048201529187166024830181905260448301879052905192945091630a8ed3db9160648082019260009290919082900301818387803b15801561040157600080fd5b505af1158015610415573d6000803e3d6000fd5b5050600254604080517fbe038478000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201528983166024820152604481018790523060648201529051918816935063be038478925060848082019260009290919082900301818387803b15801561049557600080fd5b505af11580156104a9573d6000803e3d6000fd5b5050600254604080517f33404143000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015291519190921693506333404143925060248083019260209291908290030181600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050506040513d602081101561053f57600080fd5b505160408051600160a060020a038316815290519192507f1a40224412580c1ae5a2fbe8029a565f49a3a029608a8fd9320b32477f314579919081900360200190a16002546040805160e060020a639d0effdb028152600160a060020a039283166004820152878316602482015260448101859052905191861691639d0effdb9160648082019260009290919082900301818387803b1580156105e157600080fd5b505af11580156105f5573d6000803e3d6000fd5b5050604080517fa885508a000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018790529151918816935063a885508a925060448082019260009290919082900301818387803b15801561066457600080fd5b505af1158015610678573d6000803e3d6000fd5b50506002546040805160e060020a639d0effdb028152600160a060020a03928316600482015291881660248301819052604483018890529051909350639d0effdb9250606480830192600092919082900301818387803b1580156106db57600080fd5b505af11580156106ef573d6000803e3d6000fd5b50506040805160e060020a639d0effdb028152306004820152600160a060020a03881660248201819052604482018890529151919350639d0effdb925060648082019260009290919082900301818387803b15801561074d57600080fd5b505af1158015610761573d6000803e3d6000fd5b50506040805160e060020a630a8ed3db028152600160a060020a038b81166004830152881660248201819052604482018890529151919350630a8ed3db925060648082019260009290919082900301818387803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b5050604080517fafd925df000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015288166024820181905260448201889052915191935063afd925df925060648082019260009290919082900301818387803b15801561084b57600080fd5b505af115801561085f573d6000803e3d6000fd5b505050505b60408051600160a060020a038716815290517f3a7eb042a769adf51e9be78b68ed7af0ad7b379246536efc376ed2ca012382829181900360200190a1509295945050505050565b600254600160a060020a031681565b600054600160a060020a031681565b6040516104aa806108da833901905600608060405234801561001057600080fd5b506040516020806104aa833981016040525161003481640100000000610120810204565b151561003f57600080fd5b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c60008190527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f60209081527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede48054600160a060020a031916600160a060020a03851690811790915560408051918252517fc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8927f2ec1ae0a449b7ae354b9dacfb3ade6b6332ba26b7fcbb935835fa39dd7263b23928290030190a35061014d565b600080600160a060020a038316151561013c5760009150610147565b823b90506000811191505b50919050565b61034e8061015c6000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b5780634558850c1461015257806348a0c8dd146101895780635c60da1b146101b257806386070cfe146101c7575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101dc565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb61020c565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610282945050505050565b50005b34801561013757600080fd5b506101406102c3565b60408051918252519081900360200190f35b34801561015e57600080fd5b5061016d6004356024356102c8565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e6101dc565b604080519115158252519081900360200190f35b3480156101be57600080fd5b5061016d61020c565b3480156101d357600080fd5b506101406102eb565b60006102077f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102f1565b905090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c6000527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f6020527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede454600160a060020a031690565b600061028d836102f5565b151561029857600080fd5b612710905060008083516020850186855a03f43d604051816000823e8280156102bf578282f35b8282fd5b600290565b6000602081815292815260408082209093529081522054600160a060020a031681565b60015481565b5490565b600080600160a060020a0383161515610311576000915061031c565b823b90506000811191505b509190505600a165627a7a72305820fe7089d739ec0afa54b2bc12b29919b3f5f6bf3ef1b38e365ca78ff8cf5059680029a165627a7a723058209fdcba38e1ab0f226936e41d970c962385aa735f3f7dd2e14fafe36d93bc47cf0029", - "deployedBytecode": "0x6080604052600436106100485763ffffffff60e060020a600035041663086b339e811461004d578063216874441461007e578063656362b51461009f578063b16dd130146100b4575b600080fd5b34801561005957600080fd5b506100626100c9565b60408051600160a060020a039092168252519081900360200190f35b34801561008a57600080fd5b50610062600160a060020a03600435166100d8565b3480156100ab57600080fd5b506100626108ab565b3480156100c057600080fd5b506100626108ba565b600154600160a060020a031681565b6000805481908190819081908190600160a060020a03166100f76108c9565b600160a060020a03909116815260405190819003602001906000f080158015610124573d6000803e3d6000fd5b50600254909550600160a060020a031615156101b0576001546040805160e060020a63485cc955028152600160a060020a039283166004820152898316602482015290519187169163485cc9559160448082019260009290919082900301818387803b15801561019357600080fd5b505af11580156101a7573d6000803e3d6000fd5b50505050610864565b6001546040805160e060020a63485cc955028152600160a060020a03928316600482015230602482015290519187169163485cc9559160448082019260009290919082900301818387803b15801561020757600080fd5b505af115801561021b573d6000803e3d6000fd5b5050505084600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b505050506040513d602081101561028757600080fd5b5051604080517f3d6ab68f0000000000000000000000000000000000000000000000000000000081529051919550600160a060020a03861691633d6ab68f916004808201926020929091908290030181600087803b1580156102e857600080fd5b505af11580156102fc573d6000803e3d6000fd5b505050506040513d602081101561031257600080fd5b5051604080517f8ea8dc9d0000000000000000000000000000000000000000000000000000000081529051919450600160a060020a03871691638ea8dc9d916004808201926020929091908290030181600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b505050506040513d602081101561039d57600080fd5b50516002546040805160e060020a630a8ed3db028152600160a060020a0392831660048201529187166024830181905260448301879052905192945091630a8ed3db9160648082019260009290919082900301818387803b15801561040157600080fd5b505af1158015610415573d6000803e3d6000fd5b5050600254604080517fbe038478000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201528983166024820152604481018790523060648201529051918816935063be038478925060848082019260009290919082900301818387803b15801561049557600080fd5b505af11580156104a9573d6000803e3d6000fd5b5050600254604080517f33404143000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015291519190921693506333404143925060248083019260209291908290030181600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050506040513d602081101561053f57600080fd5b505160408051600160a060020a038316815290519192507f1a40224412580c1ae5a2fbe8029a565f49a3a029608a8fd9320b32477f314579919081900360200190a16002546040805160e060020a639d0effdb028152600160a060020a039283166004820152878316602482015260448101859052905191861691639d0effdb9160648082019260009290919082900301818387803b1580156105e157600080fd5b505af11580156105f5573d6000803e3d6000fd5b5050604080517fa885508a000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018790529151918816935063a885508a925060448082019260009290919082900301818387803b15801561066457600080fd5b505af1158015610678573d6000803e3d6000fd5b50506002546040805160e060020a639d0effdb028152600160a060020a03928316600482015291881660248301819052604483018890529051909350639d0effdb9250606480830192600092919082900301818387803b1580156106db57600080fd5b505af11580156106ef573d6000803e3d6000fd5b50506040805160e060020a639d0effdb028152306004820152600160a060020a03881660248201819052604482018890529151919350639d0effdb925060648082019260009290919082900301818387803b15801561074d57600080fd5b505af1158015610761573d6000803e3d6000fd5b50506040805160e060020a630a8ed3db028152600160a060020a038b81166004830152881660248201819052604482018890529151919350630a8ed3db925060648082019260009290919082900301818387803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b5050604080517fafd925df000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015288166024820181905260448201889052915191935063afd925df925060648082019260009290919082900301818387803b15801561084b57600080fd5b505af115801561085f573d6000803e3d6000fd5b505050505b60408051600160a060020a038716815290517f3a7eb042a769adf51e9be78b68ed7af0ad7b379246536efc376ed2ca012382829181900360200190a1509295945050505050565b600254600160a060020a031681565b600054600160a060020a031681565b6040516104aa806108da833901905600608060405234801561001057600080fd5b506040516020806104aa833981016040525161003481640100000000610120810204565b151561003f57600080fd5b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c60008190527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f60209081527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede48054600160a060020a031916600160a060020a03851690811790915560408051918252517fc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8927f2ec1ae0a449b7ae354b9dacfb3ade6b6332ba26b7fcbb935835fa39dd7263b23928290030190a35061014d565b600080600160a060020a038316151561013c5760009150610147565b823b90506000811191505b50919050565b61034e8061015c6000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b5780634558850c1461015257806348a0c8dd146101895780635c60da1b146101b257806386070cfe146101c7575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101dc565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb61020c565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610282945050505050565b50005b34801561013757600080fd5b506101406102c3565b60408051918252519081900360200190f35b34801561015e57600080fd5b5061016d6004356024356102c8565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e6101dc565b604080519115158252519081900360200190f35b3480156101be57600080fd5b5061016d61020c565b3480156101d357600080fd5b506101406102eb565b60006102077f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102f1565b905090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c6000527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f6020527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede454600160a060020a031690565b600061028d836102f5565b151561029857600080fd5b612710905060008083516020850186855a03f43d604051816000823e8280156102bf578282f35b8282fd5b600290565b6000602081815292815260408082209093529081522054600160a060020a031681565b60015481565b5490565b600080600160a060020a0383161515610311576000915061031c565b823b90506000811191505b509190505600a165627a7a72305820fe7089d739ec0afa54b2bc12b29919b3f5f6bf3ef1b38e365ca78ff8cf5059680029a165627a7a723058209fdcba38e1ab0f226936e41d970c962385aa735f3f7dd2e14fafe36d93bc47cf0029", - "sourceMap": "220:2369:68:-;;;744:324;8:9:-1;5:2;;;30:1;27;20:12;5:2;744:324:68;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;914:34:68;;;910:89;;964:10;:24;;-1:-1:-1;;;;;;964:24:68;-1:-1:-1;;;;;964:24:68;;;;;910:89;-1:-1:-1;1009:10:68;:24;;-1:-1:-1;;;;;1009:24:68;;;-1:-1:-1;;;;;;1009:24:68;;;;;;;;1043:18;;;;;;;;;;;220:2369;;;;;;", - "deployedSourceMap": "220:2369:68:-;;;;;;;;;-1:-1:-1;;;220:2369:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;277:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;277:19:68;;;;;;;;-1:-1:-1;;;;;277:19:68;;;;;;;;;;;;;;1271:1316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1271:1316:68;-1:-1:-1;;;;;1271:1316:68;;;;;302:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;302:42:68;;;;246:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;246:25:68;;;;277:19;;;-1:-1:-1;;;;;277:19:68;;:::o;1271:1316::-;1318:6;1372:10;;1318:6;;;;;;;;;;-1:-1:-1;;;;;1372:10:68;1356:27;;:::i;:::-;-1:-1:-1;;;;;1356:27:68;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1407:10:68;;1336:48;;-1:-1:-1;;;;;;1407:10:68;1399:33;1395:1126;;;1463:7;;1448:30;;;-1:-1:-1;;;;;1448:30:68;;-1:-1:-1;;;;;1463:7:68;;;1448:30;;;;;;;;;;;;;:14;;;;;;:30;;;;;1463:7;;1448:30;;;;;;;;1463:7;1448:14;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;1448:30:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1448:30:68;;;;1395:1126;;;1524:7;;1509:29;;;-1:-1:-1;;;;;1509:29:68;;-1:-1:-1;;;;;1524:7:68;;;1509:29;;;;1533:4;1509:29;;;;;;:14;;;;;;:29;;;;;1524:7;;1509:29;;;;;;;;1524:7;1509:14;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1509:29:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1509:29:68;;;;1567:3;-1:-1:-1;;;;;1567:7:68;;:9;;;;;-1:-1:-1;;;1567:9:68;;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;1567:9:68;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1567:9:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1567:9:68;1610:29;;;;;;;;1567:9;;-1:-1:-1;;;;;;1610:27:68;;;;;:29;;;;;1567:9;;1610:29;;;;;;;;;:27;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1610:29:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1610:29:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1610:29:68;1678:22;;;;;;;;1610:29;;-1:-1:-1;;;;;;1678:20:68;;;;;:22;;;;;1610:29;;1678:22;;;;;;;;;:20;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;1678:22:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1678:22:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1678:22:68;1735:10;;1715:46;;;-1:-1:-1;;;;;1715:46:68;;-1:-1:-1;;;;;1735:10:68;;;1715:46;;;;:19;;;:46;;;;;;;;;;;;;;1678:22;;-1:-1:-1;1715:19:68;;;:46;;;;;1735:10;;1715:46;;;;;;;;1735:10;1715:19;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;1715:46:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1797:10:68;;1776:59;;;;;;-1:-1:-1;;;;;1797:10:68;;;1776:59;;;;;;;;;;;;;;;;;1830:4;1776:59;;;;;;:20;;;;-1:-1:-1;1776:20:68;;-1:-1:-1;1776:59:68;;;;;1797:10;;1776:59;;;;;;;;1797:10;1776:20;:59;;;5:2:-1;;;;30:1;27;20:12;5:2;1776:59:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1874:10:68;;:36;;;;;;-1:-1:-1;;;;;1874:36:68;;;;;;;;;:10;;;;;-1:-1:-1;1874:31:68;;-1:-1:-1;1874:36:68;;;;;;;;;;;;;;:10;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;1874:36:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1874:36:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1874:36:68;1929:37;;;-1:-1:-1;;;;;1929:37:68;;;;;;1874:36;;-1:-1:-1;1929:37:68;;;;;;1874:36;1929:37;;;2098:10;;2077:53;;;-1:-1:-1;;;;;2077:53:68;;-1:-1:-1;;;;;2098:10:68;;;2077:53;;;;;;;;;;;;;;;;;;;:20;;;;;;:53;;;;;2098:10;;2077:53;;;;;;;;2098:10;2077:20;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;2077:53:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2144:48:68;;;;;;-1:-1:-1;;;;;2144:48:68;;;;;;;;;;;;;;;:27;;;;-1:-1:-1;2144:27:68;;-1:-1:-1;2144:48:68;;;;;-1:-1:-1;;2144:48:68;;;;;;;;-1:-1:-1;2144:27:68;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;2144:48:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2314:10:68;;2293:47;;;-1:-1:-1;;;;;2293:47:68;;-1:-1:-1;;;;;2314:10:68;;;2293:47;;;;:20;;;:47;;;;;;;;;;;;;;:20;;-1:-1:-1;2293:20:68;;-1:-1:-1;2293:47:68;;;;;2314:10;;2293:47;;;;;;;2314:10;2293:20;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;2293:47:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2354:41:68;;;-1:-1:-1;;;;;2354:41:68;;2375:4;2354:41;;;;-1:-1:-1;;;;;2354:20:68;;:41;;;;;;;;;;;;;;:20;;-1:-1:-1;2354:20:68;;-1:-1:-1;2354:41:68;;;;;-1:-1:-1;;2354:41:68;;;;;;;;-1:-1:-1;2354:20:68;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;2354:41:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2409:41:68;;;-1:-1:-1;;;;;2409:41:68;;-1:-1:-1;;;;;2409:41:68;;;;;;;:19;;:41;;;;;;;;;;;;;;:19;;-1:-1:-1;2409:19:68;;-1:-1:-1;2409:41:68;;;;;-1:-1:-1;;2409:41:68;;;;;;;;-1:-1:-1;2409:19:68;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;2409:41:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2464:46:68;;;;;;-1:-1:-1;;;;;2464:46:68;;;;;;;:24;;:46;;;;;;;;;;;;;;:24;;-1:-1:-1;2464:24:68;;-1:-1:-1;2464:46:68;;;;;-1:-1:-1;;2464:46:68;;;;;;;;-1:-1:-1;2464:24:68;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2464:46:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2464:46:68;;;;1395:1126;2536:23;;;-1:-1:-1;;;;;2536:23:68;;;;;;;;;;;;;;;-1:-1:-1;2577:3:68;;1271:1316;-1:-1:-1;;;;;1271:1316:68:o;302:42::-;;;-1:-1:-1;;;;;302:42:68;;:::o;246:25::-;;;-1:-1:-1;;;;;246:25:68;;:::o;220:2369::-;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../kernel/IKernel.sol\";\nimport \"../kernel/Kernel.sol\";\nimport \"../kernel/KernelProxy.sol\";\n\nimport \"../acl/IACL.sol\";\nimport \"../acl/ACL.sol\";\n\nimport \"./EVMScriptRegistryFactory.sol\";\n\n\ncontract DAOFactory {\n IKernel public baseKernel;\n IACL public baseACL;\n EVMScriptRegistryFactory public regFactory;\n\n event DeployDAO(address dao);\n event DeployEVMScriptRegistry(address reg);\n\n /**\n * @notice Create a new DAOFactory, creating DAOs with Kernels proxied to `_baseKernel`, ACLs proxied to `_baseACL`, and new EVMScriptRegistries created from `_regFactory`.\n * @param _baseKernel Base Kernel\n * @param _baseACL Base ACL\n * @param _regFactory EVMScriptRegistry factory\n */\n constructor(IKernel _baseKernel, IACL _baseACL, EVMScriptRegistryFactory _regFactory) public {\n // No need to init as it cannot be killed by devops199\n if (address(_regFactory) != address(0)) {\n regFactory = _regFactory;\n }\n\n baseKernel = _baseKernel;\n baseACL = _baseACL;\n }\n\n /**\n * @notice Create a new DAO with `_root` set as the initial admin\n * @param _root Address that will be granted control to setup DAO permissions\n * @return Newly created DAO\n */\n function newDAO(address _root) public returns (Kernel) {\n Kernel dao = Kernel(new KernelProxy(baseKernel));\n\n if (address(regFactory) == address(0)) {\n dao.initialize(baseACL, _root);\n } else {\n dao.initialize(baseACL, this);\n\n ACL acl = ACL(dao.acl());\n bytes32 permRole = acl.CREATE_PERMISSIONS_ROLE();\n bytes32 appManagerRole = dao.APP_MANAGER_ROLE();\n\n acl.grantPermission(regFactory, acl, permRole);\n\n acl.createPermission(regFactory, dao, appManagerRole, this);\n\n EVMScriptRegistry reg = regFactory.newEVMScriptRegistry(dao);\n emit DeployEVMScriptRegistry(address(reg));\n\n // Clean up permissions\n // First, completely reset the APP_MANAGER_ROLE\n acl.revokePermission(regFactory, dao, appManagerRole);\n acl.removePermissionManager(dao, appManagerRole);\n\n // Then, make root the only holder and manager of CREATE_PERMISSIONS_ROLE\n acl.revokePermission(regFactory, acl, permRole);\n acl.revokePermission(this, acl, permRole);\n acl.grantPermission(_root, acl, permRole);\n acl.setPermissionManager(_root, acl, permRole);\n }\n\n emit DeployDAO(address(dao));\n\n return dao;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "exportedSymbols": { - "DAOFactory": [ - 26161 - ] - }, - "id": 26162, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25963, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:68" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 25964, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26406, - "src": "25:31:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "../kernel/Kernel.sol", - "id": 25965, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26898, - "src": "57:30:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol", - "file": "../kernel/KernelProxy.sol", - "id": 25966, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26988, - "src": "88:35:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 25967, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 22333, - "src": "125:25:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 25968, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 21812, - "src": "151:24:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "file": "./EVMScriptRegistryFactory.sol", - "id": 25969, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26352, - "src": "177:40:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 26987 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26161, - "linearizedBaseContracts": [ - 26161 - ], - "name": "DAOFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 25971, - "name": "baseKernel", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "246:25:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25970, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "246:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25973, - "name": "baseACL", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "277:19:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 25972, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "277:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25975, - "name": "regFactory", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "302:42:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - "typeName": { - "contractScope": null, - "id": 25974, - "name": "EVMScriptRegistryFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26351, - "src": "302:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 25979, - "name": "DeployDAO", - "nodeType": "EventDefinition", - "parameters": { - "id": 25978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25977, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 25979, - "src": "367:11:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25976, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "367:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:13:68" - }, - "src": "351:29:68" - }, - { - "anonymous": false, - "documentation": null, - "id": 25983, - "name": "DeployEVMScriptRegistry", - "nodeType": "EventDefinition", - "parameters": { - "id": 25982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25981, - "indexed": false, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 25983, - "src": "415:11:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "415:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "414:13:68" - }, - "src": "385:43:68" - }, - { - "body": { - "id": 26013, - "nodeType": "Block", - "src": "837:231:68", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25993, - "name": "_regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25989, - "src": "922:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "id": 25992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:20:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "946:1:68", - "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": 25995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "938:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "938:10:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "914:34:68", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26004, - "nodeType": "IfStatement", - "src": "910:89:68", - "trueBody": { - "id": 26003, - "nodeType": "Block", - "src": "950:49:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25999, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "964:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26000, - "name": "_regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25989, - "src": "977:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "src": "964:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "id": 26002, - "nodeType": "ExpressionStatement", - "src": "964:24:68" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 26007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26005, - "name": "baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25971, - "src": "1009:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26006, - "name": "_baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25985, - "src": "1022:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "src": "1009:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 26008, - "nodeType": "ExpressionStatement", - "src": "1009:24:68" - }, - { - "expression": { - "argumentTypes": null, - "id": 26011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26009, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1043:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26010, - "name": "_baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25987, - "src": "1053:8:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "src": "1043:18:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26012, - "nodeType": "ExpressionStatement", - "src": "1043:18:68" - } - ] - }, - "documentation": "@notice Create a new DAOFactory, creating DAOs with Kernels proxied to `_baseKernel`, ACLs proxied to `_baseACL`, and new EVMScriptRegistries created from `_regFactory`.\n@param _baseKernel Base Kernel\n@param _baseACL Base ACL\n@param _regFactory EVMScriptRegistry factory", - "id": 26014, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25985, - "name": "_baseKernel", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "756:19:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25984, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "756:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25987, - "name": "_baseACL", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "777:13:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 25986, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "777:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25989, - "name": "_regFactory", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "792:36:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - "typeName": { - "contractScope": null, - "id": 25988, - "name": "EVMScriptRegistryFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26351, - "src": "792:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "755:74:68" - }, - "payable": false, - "returnParameters": { - "id": 25991, - "nodeType": "ParameterList", - "parameters": [], - "src": "837:0:68" - }, - "scope": 26161, - "src": "744:324:68", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26159, - "nodeType": "Block", - "src": "1326:1261:68", - "statements": [ - { - "assignments": [ - 26022 - ], - "declarations": [ - { - "constant": false, - "id": 26022, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1336:10:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26021, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "1336:6:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26029, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26026, - "name": "baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25971, - "src": "1372:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1356:15:68", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$returns$_t_contract$_KernelProxy_$26987_$", - "typeString": "function (contract IKernel) returns (contract KernelProxy)" - }, - "typeName": { - "contractScope": null, - "id": 26024, - "name": "KernelProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26987, - "src": "1360:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - } - }, - "id": 26027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1356:27:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - ], - "id": 26023, - "name": "Kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26897, - "src": "1349:6:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Kernel_$26897_$", - "typeString": "type(contract Kernel)" - } - }, - "id": 26028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1349:35:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1336:48:68" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26031, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1407:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "id": 26030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:19:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1430:1:68", - "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": 26033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1422:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1422:10:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1399:33:68", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 26149, - "nodeType": "Block", - "src": "1495:1026:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26048, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1524:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - { - "argumentTypes": null, - "id": 26049, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "1533:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26045, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1509:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 26504, - "src": "1509:14:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IACL_$22332_$_t_address_$returns$__$", - "typeString": "function (contract IACL,address) external" - } - }, - "id": 26050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1509:29:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26051, - "nodeType": "ExpressionStatement", - "src": "1509:29:68" - }, - { - "assignments": [ - 26053 - ], - "declarations": [ - { - "constant": false, - "id": 26053, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1553:7:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 26052, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1553:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26055, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1567:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "1567:7:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 26057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1567:9:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26054, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1563:3:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 26058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1563:14:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1553:24:68" - }, - { - "assignments": [ - 26061 - ], - "declarations": [ - { - "constant": false, - "id": 26061, - "name": "permRole", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1591:16:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1591:7:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26065, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26062, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1610:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1610:27:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1610:29:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1591:48:68" - }, - { - "assignments": [ - 26067 - ], - "declarations": [ - { - "constant": false, - "id": 26067, - "name": "appManagerRole", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1653:22:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26066, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1653:7:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26071, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26068, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1678:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "1678:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:22:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1653:47:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26075, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1735:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26076, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1747:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26077, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "1752:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26072, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1715:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "1715:19:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1715:46:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26079, - "nodeType": "ExpressionStatement", - "src": "1715:46:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26083, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1797:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26084, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1809:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26085, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "1814:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26086, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "1830:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26080, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1776:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "1776:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 26087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:59:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26088, - "nodeType": "ExpressionStatement", - "src": "1776:59:68" - }, - { - "assignments": [ - 26090 - ], - "declarations": [ - { - "constant": false, - "id": 26090, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1850:21:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26089, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "1850:17:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26093, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1906:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "expression": { - "argumentTypes": null, - "id": 26091, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1874:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "id": 26092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newEVMScriptRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 26350, - "src": "1874:31:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "function (contract Kernel) external returns (contract EVMScriptRegistry)" - } - }, - "id": 26094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1874:36:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1850:60:68" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26098, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26090, - "src": "1961:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - ], - "id": 26097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1953:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:12:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26096, - "name": "DeployEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25983, - "src": "1929:23:68", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1929:37:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26101, - "nodeType": "EmitStatement", - "src": "1924:42:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26105, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "2098:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26106, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2110:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26107, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "2115:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26102, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2077:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2077:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2077:53:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26109, - "nodeType": "ExpressionStatement", - "src": "2077:53:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26113, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2172:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26114, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "2177:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26110, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2144:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "2144:27:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 26115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2144:48:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26116, - "nodeType": "ExpressionStatement", - "src": "2144:48:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26120, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "2314:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26121, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2326:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26122, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2331:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26117, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2293:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2293:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2293:47:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26124, - "nodeType": "ExpressionStatement", - "src": "2293:47:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26128, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "2375:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - { - "argumentTypes": null, - "id": 26129, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2381:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26130, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2386:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26125, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2354:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2354:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2354:41:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26132, - "nodeType": "ExpressionStatement", - "src": "2354:41:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26136, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "2429:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26137, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2436:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26138, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2441:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26133, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2409:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "2409:19:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2409:41:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26140, - "nodeType": "ExpressionStatement", - "src": "2409:41:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26144, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "2489:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26145, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2496:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26146, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2501:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26141, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2464:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "2464:24:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2464:46:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26148, - "nodeType": "ExpressionStatement", - "src": "2464:46:68" - } - ] - }, - "id": 26150, - "nodeType": "IfStatement", - "src": "1395:1126:68", - "trueBody": { - "id": 26044, - "nodeType": "Block", - "src": "1434:55:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26040, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1463:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - { - "argumentTypes": null, - "id": 26041, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "1472:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26037, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1448:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 26504, - "src": "1448:14:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IACL_$22332_$_t_address_$returns$__$", - "typeString": "function (contract IACL,address) external" - } - }, - "id": 26042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1448:30:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26043, - "nodeType": "ExpressionStatement", - "src": "1448:30:68" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26153, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2554:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 26152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2546:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2546:12:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26151, - "name": "DeployDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25979, - "src": "2536:9:68", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2536:23:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26156, - "nodeType": "EmitStatement", - "src": "2531:28:68" - }, - { - "expression": { - "argumentTypes": null, - "id": 26157, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2577:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "functionReturnParameters": 26020, - "id": 26158, - "nodeType": "Return", - "src": "2570:10:68" - } - ] - }, - "documentation": "@notice Create a new DAO with `_root` set as the initial admin\n@param _root Address that will be granted control to setup DAO permissions\n@return Newly created DAO", - "id": 26160, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26016, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1287:13:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1287:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:15:68" - }, - "payable": false, - "returnParameters": { - "id": 26020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26019, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1318:6:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26018, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "1318:6:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1317:8:68" - }, - "scope": 26161, - "src": "1271:1316:68", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26162, - "src": "220:2369:68" - } - ], - "src": "0:2590:68" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol", - "exportedSymbols": { - "DAOFactory": [ - 26161 - ] - }, - "id": 26162, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25963, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:68" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "../kernel/IKernel.sol", - "id": 25964, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26406, - "src": "25:31:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "../kernel/Kernel.sol", - "id": 25965, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26898, - "src": "57:30:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol", - "file": "../kernel/KernelProxy.sol", - "id": 25966, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26988, - "src": "88:35:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 25967, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 22333, - "src": "125:25:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 25968, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 21812, - "src": "151:24:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "file": "./EVMScriptRegistryFactory.sol", - "id": 25969, - "nodeType": "ImportDirective", - "scope": 26162, - "sourceUnit": 26352, - "src": "177:40:68", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 26987 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26161, - "linearizedBaseContracts": [ - 26161 - ], - "name": "DAOFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 25971, - "name": "baseKernel", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "246:25:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25970, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "246:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25973, - "name": "baseACL", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "277:19:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 25972, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "277:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 25975, - "name": "regFactory", - "nodeType": "VariableDeclaration", - "scope": 26161, - "src": "302:42:68", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - "typeName": { - "contractScope": null, - "id": 25974, - "name": "EVMScriptRegistryFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26351, - "src": "302:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 25979, - "name": "DeployDAO", - "nodeType": "EventDefinition", - "parameters": { - "id": 25978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25977, - "indexed": false, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 25979, - "src": "367:11:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25976, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "367:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:13:68" - }, - "src": "351:29:68" - }, - { - "anonymous": false, - "documentation": null, - "id": 25983, - "name": "DeployEVMScriptRegistry", - "nodeType": "EventDefinition", - "parameters": { - "id": 25982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25981, - "indexed": false, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 25983, - "src": "415:11:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "415:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "414:13:68" - }, - "src": "385:43:68" - }, - { - "body": { - "id": 26013, - "nodeType": "Block", - "src": "837:231:68", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25993, - "name": "_regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25989, - "src": "922:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "id": 25992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:20:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "946:1:68", - "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": 25995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "938:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "938:10:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "914:34:68", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26004, - "nodeType": "IfStatement", - "src": "910:89:68", - "trueBody": { - "id": 26003, - "nodeType": "Block", - "src": "950:49:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 25999, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "964:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26000, - "name": "_regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25989, - "src": "977:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "src": "964:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "id": 26002, - "nodeType": "ExpressionStatement", - "src": "964:24:68" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 26007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26005, - "name": "baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25971, - "src": "1009:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26006, - "name": "_baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25985, - "src": "1022:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "src": "1009:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 26008, - "nodeType": "ExpressionStatement", - "src": "1009:24:68" - }, - { - "expression": { - "argumentTypes": null, - "id": 26011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26009, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1043:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26010, - "name": "_baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25987, - "src": "1053:8:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "src": "1043:18:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26012, - "nodeType": "ExpressionStatement", - "src": "1043:18:68" - } - ] - }, - "documentation": "@notice Create a new DAOFactory, creating DAOs with Kernels proxied to `_baseKernel`, ACLs proxied to `_baseACL`, and new EVMScriptRegistries created from `_regFactory`.\n@param _baseKernel Base Kernel\n@param _baseACL Base ACL\n@param _regFactory EVMScriptRegistry factory", - "id": 26014, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25985, - "name": "_baseKernel", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "756:19:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 25984, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "756:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25987, - "name": "_baseACL", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "777:13:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 25986, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "777:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25989, - "name": "_regFactory", - "nodeType": "VariableDeclaration", - "scope": 26014, - "src": "792:36:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - "typeName": { - "contractScope": null, - "id": 25988, - "name": "EVMScriptRegistryFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26351, - "src": "792:24:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "755:74:68" - }, - "payable": false, - "returnParameters": { - "id": 25991, - "nodeType": "ParameterList", - "parameters": [], - "src": "837:0:68" - }, - "scope": 26161, - "src": "744:324:68", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26159, - "nodeType": "Block", - "src": "1326:1261:68", - "statements": [ - { - "assignments": [ - 26022 - ], - "declarations": [ - { - "constant": false, - "id": 26022, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1336:10:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26021, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "1336:6:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26029, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26026, - "name": "baseKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25971, - "src": "1372:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1356:15:68", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IKernel_$26405_$returns$_t_contract$_KernelProxy_$26987_$", - "typeString": "function (contract IKernel) returns (contract KernelProxy)" - }, - "typeName": { - "contractScope": null, - "id": 26024, - "name": "KernelProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26987, - "src": "1360:11:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - } - }, - "id": 26027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1356:27:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_KernelProxy_$26987", - "typeString": "contract KernelProxy" - } - ], - "id": 26023, - "name": "Kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26897, - "src": "1349:6:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Kernel_$26897_$", - "typeString": "type(contract Kernel)" - } - }, - "id": 26028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1349:35:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1336:48:68" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26031, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1407:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "id": 26030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1399:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1399:19:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1430:1:68", - "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": 26033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1422:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1422:10:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1399:33:68", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 26149, - "nodeType": "Block", - "src": "1495:1026:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26048, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1524:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - { - "argumentTypes": null, - "id": 26049, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "1533:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26045, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1509:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 26504, - "src": "1509:14:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IACL_$22332_$_t_address_$returns$__$", - "typeString": "function (contract IACL,address) external" - } - }, - "id": 26050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1509:29:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26051, - "nodeType": "ExpressionStatement", - "src": "1509:29:68" - }, - { - "assignments": [ - 26053 - ], - "declarations": [ - { - "constant": false, - "id": 26053, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1553:7:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 26052, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1553:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26055, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1567:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "1567:7:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 26057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1567:9:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26054, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1563:3:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 26058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1563:14:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1553:24:68" - }, - { - "assignments": [ - 26061 - ], - "declarations": [ - { - "constant": false, - "id": 26061, - "name": "permRole", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1591:16:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1591:7:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26065, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26062, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1610:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_PERMISSIONS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 20535, - "src": "1610:27:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1610:29:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1591:48:68" - }, - { - "assignments": [ - 26067 - ], - "declarations": [ - { - "constant": false, - "id": 26067, - "name": "appManagerRole", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1653:22:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26066, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1653:7:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26071, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26068, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1678:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "APP_MANAGER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 26439, - "src": "1678:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:22:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1653:47:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26075, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1735:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26076, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1747:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26077, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "1752:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26072, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1715:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "1715:19:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1715:46:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26079, - "nodeType": "ExpressionStatement", - "src": "1715:46:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26083, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1797:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26084, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1809:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26085, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "1814:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26086, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "1830:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26080, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "1776:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "1776:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 26087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:59:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26088, - "nodeType": "ExpressionStatement", - "src": "1776:59:68" - }, - { - "assignments": [ - 26090 - ], - "declarations": [ - { - "constant": false, - "id": 26090, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1850:21:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26089, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "1850:17:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26093, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1906:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "expression": { - "argumentTypes": null, - "id": 26091, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "1874:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - "id": 26092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newEVMScriptRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 26350, - "src": "1874:31:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "function (contract Kernel) external returns (contract EVMScriptRegistry)" - } - }, - "id": 26094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1874:36:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1850:60:68" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26098, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26090, - "src": "1961:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - ], - "id": 26097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1953:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:12:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26096, - "name": "DeployEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25983, - "src": "1929:23:68", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1929:37:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26101, - "nodeType": "EmitStatement", - "src": "1924:42:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26105, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "2098:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26106, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2110:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26107, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "2115:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26102, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2077:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2077:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2077:53:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26109, - "nodeType": "ExpressionStatement", - "src": "2077:53:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26113, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2172:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26114, - "name": "appManagerRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26067, - "src": "2177:14:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26110, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2144:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "2144:27:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 26115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2144:48:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26116, - "nodeType": "ExpressionStatement", - "src": "2144:48:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26120, - "name": "regFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25975, - "src": "2314:10:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26121, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2326:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26122, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2331:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26117, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2293:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2293:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2293:47:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26124, - "nodeType": "ExpressionStatement", - "src": "2293:47:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26128, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29937, - "src": "2375:4:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - { - "argumentTypes": null, - "id": 26129, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2381:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26130, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2386:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26125, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2354:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "2354:20:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2354:41:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26132, - "nodeType": "ExpressionStatement", - "src": "2354:41:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26136, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "2429:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26137, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2436:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26138, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2441:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26133, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2409:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "grantPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20758, - "src": "2409:19:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2409:41:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26140, - "nodeType": "ExpressionStatement", - "src": "2409:41:68" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26144, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "2489:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26145, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2496:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 26146, - "name": "permRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26061, - "src": "2501:8:68", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26141, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26053, - "src": "2464:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setPermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20835, - "src": "2464:24:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2464:46:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26148, - "nodeType": "ExpressionStatement", - "src": "2464:46:68" - } - ] - }, - "id": 26150, - "nodeType": "IfStatement", - "src": "1395:1126:68", - "trueBody": { - "id": 26044, - "nodeType": "Block", - "src": "1434:55:68", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26040, - "name": "baseACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25973, - "src": "1463:7:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - { - "argumentTypes": null, - "id": 26041, - "name": "_root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26016, - "src": "1472:5:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26037, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "1448:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 26504, - "src": "1448:14:68", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IACL_$22332_$_t_address_$returns$__$", - "typeString": "function (contract IACL,address) external" - } - }, - "id": 26042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1448:30:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26043, - "nodeType": "ExpressionStatement", - "src": "1448:30:68" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26153, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2554:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 26152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2546:7:68", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2546:12:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26151, - "name": "DeployDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25979, - "src": "2536:9:68", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2536:23:68", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26156, - "nodeType": "EmitStatement", - "src": "2531:28:68" - }, - { - "expression": { - "argumentTypes": null, - "id": 26157, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26022, - "src": "2577:3:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "functionReturnParameters": 26020, - "id": 26158, - "nodeType": "Return", - "src": "2570:10:68" - } - ] - }, - "documentation": "@notice Create a new DAO with `_root` set as the initial admin\n@param _root Address that will be granted control to setup DAO permissions\n@return Newly created DAO", - "id": 26160, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newDAO", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26016, - "name": "_root", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1287:13:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1287:7:68", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:15:68" - }, - "payable": false, - "returnParameters": { - "id": 26020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26019, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26160, - "src": "1318:6:68", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26018, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "1318:6:68", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1317:8:68" - }, - "scope": 26161, - "src": "1271:1316:68", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26162, - "src": "220:2369:68" - } - ], - "src": "0:2590:68" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.286Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/DelegateProxy.json b/templates/multisig/build/contracts/DelegateProxy.json deleted file mode 100644 index 2b3807b..0000000 --- a/templates/multisig/build/contracts/DelegateProxy.json +++ /dev/null @@ -1,888 +0,0 @@ -{ - "contractName": "DelegateProxy", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "codeAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\nimport \"../common/IsContract.sol\";\nimport \"../lib/misc/ERCProxy.sol\";\n\n\ncontract DelegateProxy is ERCProxy, IsContract {\n uint256 internal constant FWD_GAS_LIMIT = 10000;\n\n /**\n * @dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!)\n * @param _dst Destination address to perform the delegatecall\n * @param _calldata Calldata for the delegatecall\n */\n function delegatedFwd(address _dst, bytes _calldata) internal {\n require(isContract(_dst));\n uint256 fwdGasLimit = FWD_GAS_LIMIT;\n\n assembly {\n let result := delegatecall(sub(gas, fwdGasLimit), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0)\n let size := returndatasize\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n\n // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.\n // if the call returned error data, forward it\n switch result case 0 { revert(ptr, size) }\n default { return(ptr, size) }\n }\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/DelegateProxy.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/DelegateProxy.sol", - "exportedSymbols": { - "DelegateProxy": [ - 23547 - ] - }, - "id": 23548, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23518, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:42" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 23519, - "nodeType": "ImportDirective", - "scope": 23548, - "sourceUnit": 23826, - "src": "25:34:42", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "file": "../lib/misc/ERCProxy.sol", - "id": 23520, - "nodeType": "ImportDirective", - "scope": 23548, - "sourceUnit": 28031, - "src": "60:34:42", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23521, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "123:8:42", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 23522, - "nodeType": "InheritanceSpecifier", - "src": "123:8:42" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23523, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "133:10:42", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 23524, - "nodeType": "InheritanceSpecifier", - "src": "133:10:42" - } - ], - "contractDependencies": [ - 23825, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23547, - "linearizedBaseContracts": [ - 23547, - 23825, - 28030 - ], - "name": "DelegateProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23527, - "name": "FWD_GAS_LIMIT", - "nodeType": "VariableDeclaration", - "scope": 23547, - "src": "150:47:42", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "150:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 23526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "192:5:42", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23545, - "nodeType": "Block", - "src": "522:617:42", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23536, - "name": "_dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23529, - "src": "551:4:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23535, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "540:10:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "540:16:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "532:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "532:25:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23539, - "nodeType": "ExpressionStatement", - "src": "532:25:42" - }, - { - "assignments": [ - 23541 - ], - "declarations": [ - { - "constant": false, - "id": 23541, - "name": "fwdGasLimit", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "567:19:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "567:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23543, - "initialValue": { - "argumentTypes": null, - "id": 23542, - "name": "FWD_GAS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23527, - "src": "589:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "567:35:42" - }, - { - "externalReferences": [ - { - "fwdGasLimit": { - "declaration": 23541, - "isOffset": false, - "isSlot": false, - "src": "672:11:42", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23531, - "isOffset": false, - "isSlot": false, - "src": "720:9:42", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23531, - "isOffset": false, - "isSlot": false, - "src": "696:9:42", - "valueSize": 1 - } - }, - { - "_dst": { - "declaration": 23529, - "isOffset": false, - "isSlot": false, - "src": "686:4:42", - "valueSize": 1 - } - } - ], - "id": 23544, - "nodeType": "InlineAssembly", - "operations": "{\n let result := delegatecall(sub(gas(), fwdGasLimit), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0)\n let size := returndatasize()\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n switch result\n case 0 {\n revert(ptr, size)\n }\n default {\n return(ptr, size)\n }\n}", - "src": "613:526:42" - } - ] - }, - "documentation": "@dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!)\n@param _dst Destination address to perform the delegatecall\n@param _calldata Calldata for the delegatecall", - "id": 23546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "delegatedFwd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23529, - "name": "_dst", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "482:12:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23531, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "496:15:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23530, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "496:5:42", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:31:42" - }, - "payable": false, - "returnParameters": { - "id": 23533, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:0:42" - }, - "scope": 23547, - "src": "460:679:42", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23548, - "src": "97:1044:42" - } - ], - "src": "0:1142:42" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/DelegateProxy.sol", - "exportedSymbols": { - "DelegateProxy": [ - 23547 - ] - }, - "id": 23548, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23518, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:42" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 23519, - "nodeType": "ImportDirective", - "scope": 23548, - "sourceUnit": 23826, - "src": "25:34:42", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "file": "../lib/misc/ERCProxy.sol", - "id": 23520, - "nodeType": "ImportDirective", - "scope": 23548, - "sourceUnit": 28031, - "src": "60:34:42", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23521, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "123:8:42", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 23522, - "nodeType": "InheritanceSpecifier", - "src": "123:8:42" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23523, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "133:10:42", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 23524, - "nodeType": "InheritanceSpecifier", - "src": "133:10:42" - } - ], - "contractDependencies": [ - 23825, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23547, - "linearizedBaseContracts": [ - 23547, - 23825, - 28030 - ], - "name": "DelegateProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23527, - "name": "FWD_GAS_LIMIT", - "nodeType": "VariableDeclaration", - "scope": 23547, - "src": "150:47:42", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "150:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 23526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "192:5:42", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23545, - "nodeType": "Block", - "src": "522:617:42", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23536, - "name": "_dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23529, - "src": "551:4:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 23535, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "540:10:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 23537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "540:16:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "532:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "532:25:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23539, - "nodeType": "ExpressionStatement", - "src": "532:25:42" - }, - { - "assignments": [ - 23541 - ], - "declarations": [ - { - "constant": false, - "id": 23541, - "name": "fwdGasLimit", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "567:19:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "567:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23543, - "initialValue": { - "argumentTypes": null, - "id": 23542, - "name": "FWD_GAS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23527, - "src": "589:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "567:35:42" - }, - { - "externalReferences": [ - { - "fwdGasLimit": { - "declaration": 23541, - "isOffset": false, - "isSlot": false, - "src": "672:11:42", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23531, - "isOffset": false, - "isSlot": false, - "src": "720:9:42", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23531, - "isOffset": false, - "isSlot": false, - "src": "696:9:42", - "valueSize": 1 - } - }, - { - "_dst": { - "declaration": 23529, - "isOffset": false, - "isSlot": false, - "src": "686:4:42", - "valueSize": 1 - } - } - ], - "id": 23544, - "nodeType": "InlineAssembly", - "operations": "{\n let result := delegatecall(sub(gas(), fwdGasLimit), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0)\n let size := returndatasize()\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n switch result\n case 0 {\n revert(ptr, size)\n }\n default {\n return(ptr, size)\n }\n}", - "src": "613:526:42" - } - ] - }, - "documentation": "@dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!)\n@param _dst Destination address to perform the delegatecall\n@param _calldata Calldata for the delegatecall", - "id": 23546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "delegatedFwd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23529, - "name": "_dst", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "482:12:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23531, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23546, - "src": "496:15:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23530, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "496:5:42", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:31:42" - }, - "payable": false, - "returnParameters": { - "id": 23533, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:0:42" - }, - "scope": 23547, - "src": "460:679:42", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23548, - "src": "97:1044:42" - } - ], - "src": "0:1142:42" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.205Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/DepositableDelegateProxy.json b/templates/multisig/build/contracts/DepositableDelegateProxy.json deleted file mode 100644 index 9ec915a..0000000 --- a/templates/multisig/build/contracts/DepositableDelegateProxy.json +++ /dev/null @@ -1,1750 +0,0 @@ -{ - "contractName": "DepositableDelegateProxy", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "codeAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ProxyDeposit", - "type": "event" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\nimport \"./DelegateProxy.sol\";\nimport \"./DepositableStorage.sol\";\n\n\ncontract DepositableDelegateProxy is DepositableStorage, DelegateProxy {\n event ProxyDeposit(address sender, uint256 value);\n\n function () external payable {\n // send / transfer\n if (gasleft() < FWD_GAS_LIMIT) {\n require(msg.value > 0 && msg.data.length == 0);\n require(isDepositable());\n emit ProxyDeposit(msg.sender, msg.value);\n } else { // all calls except for send or transfer\n address target = implementation();\n delegatedFwd(target, msg.data);\n }\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "exportedSymbols": { - "DepositableDelegateProxy": [ - 23609 - ] - }, - "id": 23610, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23549, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:43" - }, - { - "absolutePath": "@aragon/os/contracts/common/DelegateProxy.sol", - "file": "./DelegateProxy.sol", - "id": 23550, - "nodeType": "ImportDirective", - "scope": 23610, - "sourceUnit": 23548, - "src": "25:29:43", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "file": "./DepositableStorage.sol", - "id": 23551, - "nodeType": "ImportDirective", - "scope": 23610, - "sourceUnit": 23642, - "src": "55:34:43", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23552, - "name": "DepositableStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23641, - "src": "129:18:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableStorage_$23641", - "typeString": "contract DepositableStorage" - } - }, - "id": 23553, - "nodeType": "InheritanceSpecifier", - "src": "129:18:43" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23554, - "name": "DelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23547, - "src": "149:13:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DelegateProxy_$23547", - "typeString": "contract DelegateProxy" - } - }, - "id": 23555, - "nodeType": "InheritanceSpecifier", - "src": "149:13:43" - } - ], - "contractDependencies": [ - 23547, - 23641, - 23825, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23609, - "linearizedBaseContracts": [ - 23609, - 23547, - 23825, - 28030, - 23641 - ], - "name": "DepositableDelegateProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 23561, - "name": "ProxyDeposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 23560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23557, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 23561, - "src": "188:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "188:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23559, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 23561, - "src": "204:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "204:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "187:31:43" - }, - "src": "169:50:43" - }, - { - "body": { - "id": 23607, - "nodeType": "Block", - "src": "254:386:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23564, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29777, - "src": "295:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "295:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 23566, - "name": "FWD_GAS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23527, - "src": "307:13:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:25:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 23605, - "nodeType": "Block", - "src": "491:143:43", - "statements": [ - { - "assignments": [ - 23595 - ], - "declarations": [ - { - "constant": false, - "id": 23595, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 23608, - "src": "546:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "546:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23596, - "name": "implementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28029, - "src": "563:14:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "563:16:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "546:33:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23600, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23595, - "src": "606:6:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "614:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "614:8:43", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 23599, - "name": "delegatedFwd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23546, - "src": "593:12:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory)" - } - }, - "id": 23603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "593:30:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23604, - "nodeType": "ExpressionStatement", - "src": "593:30:43" - } - ] - }, - "id": 23606, - "nodeType": "IfStatement", - "src": "291:343:43", - "trueBody": { - "id": 23593, - "nodeType": "Block", - "src": "322:163:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23569, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "344:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "344:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "356:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "344:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "361:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "361:8:43", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 23575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "361:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "380:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "361:20:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "344:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23568, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "336:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:46:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23580, - "nodeType": "ExpressionStatement", - "src": "336:46:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23582, - "name": "isDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23628, - "src": "404:13:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:15:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23581, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "396:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:24:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23585, - "nodeType": "ExpressionStatement", - "src": "396:24:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23587, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "452:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "452:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "464:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "464:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 23586, - "name": "ProxyDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23561, - "src": "439:12:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 23591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "439:35:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23592, - "nodeType": "EmitStatement", - "src": "434:40:43" - } - ] - } - } - ] - }, - "documentation": null, - "id": 23608, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23562, - "nodeType": "ParameterList", - "parameters": [], - "src": "234:2:43" - }, - "payable": true, - "returnParameters": { - "id": 23563, - "nodeType": "ParameterList", - "parameters": [], - "src": "254:0:43" - }, - "scope": 23609, - "src": "225:415:43", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 23610, - "src": "92:550:43" - } - ], - "src": "0:643:43" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "exportedSymbols": { - "DepositableDelegateProxy": [ - 23609 - ] - }, - "id": 23610, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23549, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:43" - }, - { - "absolutePath": "@aragon/os/contracts/common/DelegateProxy.sol", - "file": "./DelegateProxy.sol", - "id": 23550, - "nodeType": "ImportDirective", - "scope": 23610, - "sourceUnit": 23548, - "src": "25:29:43", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "file": "./DepositableStorage.sol", - "id": 23551, - "nodeType": "ImportDirective", - "scope": 23610, - "sourceUnit": 23642, - "src": "55:34:43", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23552, - "name": "DepositableStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23641, - "src": "129:18:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableStorage_$23641", - "typeString": "contract DepositableStorage" - } - }, - "id": 23553, - "nodeType": "InheritanceSpecifier", - "src": "129:18:43" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23554, - "name": "DelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23547, - "src": "149:13:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DelegateProxy_$23547", - "typeString": "contract DelegateProxy" - } - }, - "id": 23555, - "nodeType": "InheritanceSpecifier", - "src": "149:13:43" - } - ], - "contractDependencies": [ - 23547, - 23641, - 23825, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 23609, - "linearizedBaseContracts": [ - 23609, - 23547, - 23825, - 28030, - 23641 - ], - "name": "DepositableDelegateProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 23561, - "name": "ProxyDeposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 23560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23557, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 23561, - "src": "188:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "188:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23559, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 23561, - "src": "204:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "204:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "187:31:43" - }, - "src": "169:50:43" - }, - { - "body": { - "id": 23607, - "nodeType": "Block", - "src": "254:386:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23564, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29777, - "src": "295:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "295:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 23566, - "name": "FWD_GAS_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23527, - "src": "307:13:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:25:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 23605, - "nodeType": "Block", - "src": "491:143:43", - "statements": [ - { - "assignments": [ - 23595 - ], - "declarations": [ - { - "constant": false, - "id": 23595, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 23608, - "src": "546:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "546:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23598, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23596, - "name": "implementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28029, - "src": "563:14:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 23597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "563:16:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "546:33:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23600, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23595, - "src": "606:6:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "614:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "614:8:43", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 23599, - "name": "delegatedFwd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23546, - "src": "593:12:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory)" - } - }, - "id": 23603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "593:30:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23604, - "nodeType": "ExpressionStatement", - "src": "593:30:43" - } - ] - }, - "id": 23606, - "nodeType": "IfStatement", - "src": "291:343:43", - "trueBody": { - "id": 23593, - "nodeType": "Block", - "src": "322:163:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23569, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "344:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "344:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "356:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "344:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "361:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "361:8:43", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 23575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "361:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "380:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "361:20:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "344:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23568, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "336:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:46:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23580, - "nodeType": "ExpressionStatement", - "src": "336:46:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23582, - "name": "isDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23628, - "src": "404:13:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:15:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 23581, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "396:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 23584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:24:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23585, - "nodeType": "ExpressionStatement", - "src": "396:24:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23587, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "452:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "452:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "464:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 23590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "464:9:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 23586, - "name": "ProxyDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23561, - "src": "439:12:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 23591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "439:35:43", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23592, - "nodeType": "EmitStatement", - "src": "434:40:43" - } - ] - } - } - ] - }, - "documentation": null, - "id": 23608, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23562, - "nodeType": "ParameterList", - "parameters": [], - "src": "234:2:43" - }, - "payable": true, - "returnParameters": { - "id": 23563, - "nodeType": "ParameterList", - "parameters": [], - "src": "254:0:43" - }, - "scope": 23609, - "src": "225:415:43", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 23610, - "src": "92:550:43" - } - ], - "src": "0:643:43" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.230Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/DepositableStorage.json b/templates/multisig/build/contracts/DepositableStorage.json deleted file mode 100644 index ceebb39..0000000 --- a/templates/multisig/build/contracts/DepositableStorage.json +++ /dev/null @@ -1,766 +0,0 @@ -{ - "contractName": "DepositableStorage", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060c78061001f6000396000f300608060405260043610603e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166348a0c8dd81146043575b600080fd5b348015604e57600080fd5b5060556069565b604080519115158252519081900360200190f35b600060927f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6097565b905090565b54905600a165627a7a72305820f1853c543ccbed509f5b70de2125cfb2a93033b93f7df27c262e9ea3e173a5050029", - "deployedBytecode": "0x608060405260043610603e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166348a0c8dd81146043575b600080fd5b348015604e57600080fd5b5060556069565b604080519115158252519081900360200190f35b600060927f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6097565b905090565b54905600a165627a7a72305820f1853c543ccbed509f5b70de2125cfb2a93033b93f7df27c262e9ea3e173a5050029", - "sourceMap": "63:499:44:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:499:44;;;;;;;", - "deployedSourceMap": "63:499:44:-;;;;;;;;;;;;;;;;;;;;;;;323:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;;;;;;;;;;;;;;;;;;;;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;105:128:55:-;210:15;;200:27::o", - "source": "pragma solidity 0.4.24;\n\nimport \"./UnstructuredStorage.sol\";\n\n\ncontract DepositableStorage {\n using UnstructuredStorage for bytes32;\n\n // keccak256(\"aragonOS.depositableStorage.depositable\")\n bytes32 internal constant DEPOSITABLE_POSITION = 0x665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea;\n\n function isDepositable() public view returns (bool) {\n return DEPOSITABLE_POSITION.getStorageBool();\n }\n\n function setDepositable(bool _depositable) internal {\n DEPOSITABLE_POSITION.setStorageBool(_depositable);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "exportedSymbols": { - "DepositableStorage": [ - 23641 - ] - }, - "id": 23642, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23611, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:44" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "./UnstructuredStorage.sol", - "id": 23612, - "nodeType": "ImportDirective", - "scope": 23642, - "sourceUnit": 24261, - "src": "25:35:44", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23641, - "linearizedBaseContracts": [ - 23641 - ], - "name": "DepositableStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23615, - "libraryName": { - "contractScope": null, - "id": 23613, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "103:19:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "97:38:44", - "typeName": { - "id": 23614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "127:7:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23618, - "name": "DEPOSITABLE_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23641, - "src": "201:115:44", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23616, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "201:7:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836363566643537366662626536663234376166663938663563393461353631653366373165633264336339383864353666313264333432333936633530636561", - "id": 23617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "250:66:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46305234306404416513646796018318532483072908513802138792889746402715613072618_by_1", - "typeString": "int_const 4630...(69 digits omitted)...2618" - }, - "value": "0x665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23627, - "nodeType": "Block", - "src": "375:61:44", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23623, - "name": "DEPOSITABLE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23618, - "src": "392:20:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24196, - "src": "392:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 23625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "392:37:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23622, - "id": 23626, - "nodeType": "Return", - "src": "385:44:44" - } - ] - }, - "documentation": null, - "id": 23628, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isDepositable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23619, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:44" - }, - "payable": false, - "returnParameters": { - "id": 23622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23621, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23628, - "src": "369:4:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23620, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "369:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "368:6:44" - }, - "scope": 23641, - "src": "323:113:44", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23639, - "nodeType": "Block", - "src": "494:66:44", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23636, - "name": "_depositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23630, - "src": "540:12:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23633, - "name": "DEPOSITABLE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23618, - "src": "504:20:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "504:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "504:49:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23638, - "nodeType": "ExpressionStatement", - "src": "504:49:44" - } - ] - }, - "documentation": null, - "id": 23640, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setDepositable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23630, - "name": "_depositable", - "nodeType": "VariableDeclaration", - "scope": 23640, - "src": "466:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23629, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "466:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "465:19:44" - }, - "payable": false, - "returnParameters": { - "id": 23632, - "nodeType": "ParameterList", - "parameters": [], - "src": "494:0:44" - }, - "scope": 23641, - "src": "442:118:44", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23642, - "src": "63:499:44" - } - ], - "src": "0:563:44" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "exportedSymbols": { - "DepositableStorage": [ - 23641 - ] - }, - "id": 23642, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23611, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:44" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "./UnstructuredStorage.sol", - "id": 23612, - "nodeType": "ImportDirective", - "scope": 23642, - "sourceUnit": 24261, - "src": "25:35:44", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23641, - "linearizedBaseContracts": [ - 23641 - ], - "name": "DepositableStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23615, - "libraryName": { - "contractScope": null, - "id": 23613, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "103:19:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "97:38:44", - "typeName": { - "id": 23614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "127:7:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23618, - "name": "DEPOSITABLE_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23641, - "src": "201:115:44", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23616, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "201:7:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836363566643537366662626536663234376166663938663563393461353631653366373165633264336339383864353666313264333432333936633530636561", - "id": 23617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "250:66:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_46305234306404416513646796018318532483072908513802138792889746402715613072618_by_1", - "typeString": "int_const 4630...(69 digits omitted)...2618" - }, - "value": "0x665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea" - }, - "visibility": "internal" - }, - { - "body": { - "id": 23627, - "nodeType": "Block", - "src": "375:61:44", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23623, - "name": "DEPOSITABLE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23618, - "src": "392:20:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24196, - "src": "392:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 23625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "392:37:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23622, - "id": 23626, - "nodeType": "Return", - "src": "385:44:44" - } - ] - }, - "documentation": null, - "id": 23628, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isDepositable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23619, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:44" - }, - "payable": false, - "returnParameters": { - "id": 23622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23621, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23628, - "src": "369:4:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23620, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "369:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "368:6:44" - }, - "scope": 23641, - "src": "323:113:44", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23639, - "nodeType": "Block", - "src": "494:66:44", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23636, - "name": "_depositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23630, - "src": "540:12:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23633, - "name": "DEPOSITABLE_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23618, - "src": "504:20:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "504:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "504:49:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23638, - "nodeType": "ExpressionStatement", - "src": "504:49:44" - } - ] - }, - "documentation": null, - "id": 23640, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setDepositable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23630, - "name": "_depositable", - "nodeType": "VariableDeclaration", - "scope": 23640, - "src": "466:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23629, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "466:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "465:19:44" - }, - "payable": false, - "returnParameters": { - "id": 23632, - "nodeType": "ParameterList", - "parameters": [], - "src": "494:0:44" - }, - "scope": 23641, - "src": "442:118:44", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23642, - "src": "63:499:44" - } - ], - "src": "0:563:44" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.206Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ENS.json b/templates/multisig/build/contracts/ENS.json deleted file mode 100644 index d7c9add..0000000 --- a/templates/multisig/build/contracts/ENS.json +++ /dev/null @@ -1,4710 +0,0 @@ -{ - "contractName": "ENS", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "_label", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_owner", - "type": "address" - } - ], - "name": "NewOwner", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_owner", - "type": "address" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_resolver", - "type": "address" - } - ], - "name": "NewResolver", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "_ttl", - "type": "uint64" - } - ], - "name": "NewTTL", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "resolver", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "ttl", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "label", - "type": "bytes32" - }, - { - "name": "owner", - "type": "address" - } - ], - "name": "setSubnodeOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "resolver", - "type": "address" - } - ], - "name": "setResolver", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "ttl", - "type": "uint64" - } - ], - "name": "setTTL", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a031916331790556104fd806100596000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff60243516610291565b34801561012d57600080fd5b50610139600435610357565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a036024351661038e565b34801561018657600080fd5b506100fa600435600160a060020a0360243516610431565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b6000838152602081905260408120548490600160a060020a031633146101fc57600080fd5b60408051868152602080820187905282519182900383018220600160a060020a03871683529251929450869288927fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8292908290030190a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b6000828152602081905260409020548290600160a060020a031633146102b657600080fd5b6040805167ffffffffffffffff84168152905184917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027bffffffffffffffff000000000000000000000000000000000000000019909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b6000828152602081905260409020548290600160a060020a031633146103b357600080fd5b60408051600160a060020a0384168152905184917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000828152602081905260409020548290600160a060020a0316331461045657600080fd5b60408051600160a060020a0384168152905184917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a7230582013bb7f65cc006d808f69ecef4c9928fdbb40356364c72a385a8f222efac75cb20029", - "deployedBytecode": "0x6080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff60243516610291565b34801561012d57600080fd5b50610139600435610357565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a036024351661038e565b34801561018657600080fd5b506100fa600435600160a060020a0360243516610431565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b6000838152602081905260408120548490600160a060020a031633146101fc57600080fd5b60408051868152602080820187905282519182900383018220600160a060020a03871683529251929450869288927fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8292908290030190a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b6000828152602081905260409020548290600160a060020a031633146102b657600080fd5b6040805167ffffffffffffffff84168152905184917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027bffffffffffffffff000000000000000000000000000000000000000019909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b6000828152602081905260409020548290600160a060020a031633146103b357600080fd5b60408051600160a060020a0384168152905184917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000828152602081905260409020548290600160a060020a0316331461045657600080fd5b60408051600160a060020a0384168152905184917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a7230582013bb7f65cc006d808f69ecef4c9928fdbb40356364c72a385a8f222efac75cb20029", - "sourceMap": "169:2590:77:-;;;575:68;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;607:7:77;:10;;;;;;:29;;-1:-1:-1;;;;;;607:29:77;626:10;607:29;;;169:2590;;;;;;", - "deployedSourceMap": "169:2590:77:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;917:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;917:112:77;;;;;;;;;-1:-1:-1;;;;;917:112:77;;;;;;;;;;;;;;722:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;722:106:77;;;;;1923:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1923:224:77;;;;;;;-1:-1:-1;;;;;1923:224:77;;;;;2624:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2624:133:77;;;;;;;;;1121:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1121:101:77;;;;;;;;;;;;;;;;;;;;;;;;2317:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2317:164:77;;;;;-1:-1:-1;;;;;2317:164:77;;;1463:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1463:146:77;;;;;-1:-1:-1;;;;;1463:146:77;;;917:112;974:7;1000:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;1000:22:77;;917:112::o;722:106::-;776:7;802:13;;;;;;;;;;:19;-1:-1:-1;;;;;802:19:77;;722:106::o;1923:224::-;2026:11;456:13;;;;;;;;;;:19;:13;;-1:-1:-1;;;;;456:19:77;479:10;456:33;452:44;;491:5;;;452:44;2040:22;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2072:28:77;;;;;;2040:22;;-1:-1:-1;2040:22:77;;;;2072:28;;;;;;;;;-1:-1:-1;2110:7:77;:16;;;;;;;;;;:30;;-1:-1:-1;;2110:30:77;-1:-1:-1;;;;;2110:30:77;;;;;;;;;;-1:-1:-1;;1923:224:77:o;2624:133::-;456:7;:13;;;;;;;;;;:19;:13;;-1:-1:-1;;;;;456:19:77;479:10;456:33;452:44;;491:5;;;452:44;2700:17;;;;;;;;;;2707:4;;2700:17;;;;;;;;;;-1:-1:-1;2727:7:77;:13;;;;;;;;;;;:17;;:23;;;;;;;;-1:-1:-1;;2727:23:77;;;;;;;;;2624:133::o;1121:101::-;1173:6;1198:13;;;;;;;;;;:17;;;;;;;;;1121:101::o;2317:164::-;456:7;:13;;;;;;;;;;:19;:13;;-1:-1:-1;;;;;456:19:77;479:10;456:33;452:44;;491:5;;;452:44;2404:27;;;-1:-1:-1;;;;;2404:27:77;;;;;;2416:4;;2404:27;;;;;;;;;;-1:-1:-1;2441:7:77;:13;;;;;;;;;;;:22;;:33;;-1:-1:-1;;2441:33:77;-1:-1:-1;;;;;2441:33:77;;;;;;;;;2317:164::o;1463:146::-;456:7;:13;;;;;;;;;;:19;:13;;-1:-1:-1;;;;;456:19:77;479:10;456:33;452:44;;491:5;;;452:44;1544:21;;;-1:-1:-1;;;;;1544:21:77;;;;;;1553:4;;1544:21;;;;;;;;;;-1:-1:-1;1575:7:77;:13;;;;;;;;;;;:27;;-1:-1:-1;;1575:27:77;-1:-1:-1;;;;;1575:27:77;;;;;;;;;1463:146::o", - "source": "// See https://github.com/ensdomains/ens/blob/7e377df83f/contracts/ENS.sol\n\npragma solidity ^0.4.0;\n\n\nimport \"./AbstractENS.sol\";\n\n/**\n * The ENS registry contract.\n */\ncontract ENS is AbstractENS {\n struct Record {\n address owner;\n address resolver;\n uint64 ttl;\n }\n\n mapping(bytes32=>Record) records;\n\n // Permits modifications only by the owner of the specified node.\n modifier only_owner(bytes32 node) {\n if (records[node].owner != msg.sender) throw;\n _;\n }\n\n /**\n * Constructs a new ENS registrar.\n */\n function ENS() public {\n records[0].owner = msg.sender;\n }\n\n /**\n * Returns the address that owns the specified node.\n */\n function owner(bytes32 node) public constant returns (address) {\n return records[node].owner;\n }\n\n /**\n * Returns the address of the resolver for the specified node.\n */\n function resolver(bytes32 node) public constant returns (address) {\n return records[node].resolver;\n }\n\n /**\n * Returns the TTL of a node, and any records associated with it.\n */\n function ttl(bytes32 node) public constant returns (uint64) {\n return records[node].ttl;\n }\n\n /**\n * Transfers ownership of a node to a new address. May only be called by the current\n * owner of the node.\n * @param node The node to transfer ownership of.\n * @param owner The address of the new owner.\n */\n function setOwner(bytes32 node, address owner) only_owner(node) public {\n Transfer(node, owner);\n records[node].owner = owner;\n }\n\n /**\n * Transfers ownership of a subnode keccak256(node, label) to a new address. May only be\n * called by the owner of the parent node.\n * @param node The parent node.\n * @param label The hash of the label specifying the subnode.\n * @param owner The address of the new owner.\n */\n function setSubnodeOwner(bytes32 node, bytes32 label, address owner) only_owner(node) public {\n var subnode = keccak256(node, label);\n NewOwner(node, label, owner);\n records[subnode].owner = owner;\n }\n\n /**\n * Sets the resolver address for the specified node.\n * @param node The node to update.\n * @param resolver The address of the resolver.\n */\n function setResolver(bytes32 node, address resolver) only_owner(node) public {\n NewResolver(node, resolver);\n records[node].resolver = resolver;\n }\n\n /**\n * Sets the TTL for the specified node.\n * @param node The node to update.\n * @param ttl The TTL in seconds.\n */\n function setTTL(bytes32 node, uint64 ttl) only_owner(node) public {\n NewTTL(node, ttl);\n records[node].ttl = ttl;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "exportedSymbols": { - "ENS": [ - 27262 - ] - }, - "id": 27263, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27080, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "76:23:77" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "./AbstractENS.sol", - "id": 27081, - "nodeType": "ImportDirective", - "scope": 27263, - "sourceUnit": 27079, - "src": "102:27:77", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 27082, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "185:11:77", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27083, - "nodeType": "InheritanceSpecifier", - "src": "185:11:77" - } - ], - "contractDependencies": [ - 27078 - ], - "contractKind": "contract", - "documentation": "The ENS registry contract.", - "fullyImplemented": true, - "id": 27262, - "linearizedBaseContracts": [ - 27262, - 27078 - ], - "name": "ENS", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "ENS.Record", - "id": 27090, - "members": [ - { - "constant": false, - "id": 27085, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "227:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "227:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27087, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "250:16:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "250:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27089, - "name": "ttl", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "276:10:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27088, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "276:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Record", - "nodeType": "StructDefinition", - "scope": 27262, - "src": "203:90:77", - "visibility": "public" - }, - { - "constant": false, - "id": 27094, - "name": "records", - "nodeType": "VariableDeclaration", - "scope": 27262, - "src": "299:32:77", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record)" - }, - "typeName": { - "id": 27093, - "keyType": { - "id": 27091, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "307:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "299:24:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record)" - }, - "valueType": { - "contractScope": null, - "id": 27092, - "name": "Record", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27090, - "src": "316:6:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage_ptr", - "typeString": "struct ENS.Record" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 27108, - "nodeType": "Block", - "src": "442:72:77", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27098, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "456:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27100, - "indexExpression": { - "argumentTypes": null, - "id": 27099, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27096, - "src": "464:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "456:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "456:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27102, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "479:3:77", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "479:10:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "456:33:77", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27106, - "nodeType": "IfStatement", - "src": "452:44:77", - "trueBody": { - "id": 27105, - "nodeType": "Throw", - "src": "491:5:77" - } - }, - { - "id": 27107, - "nodeType": "PlaceholderStatement", - "src": "506:1:77" - } - ] - }, - "documentation": null, - "id": 27109, - "name": "only_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 27097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27096, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27109, - "src": "428:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27095, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "428:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:14:77" - }, - "src": "408:106:77", - "visibility": "internal" - }, - { - "body": { - "id": 27120, - "nodeType": "Block", - "src": "597:46:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27112, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "607:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27114, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "615:1:77", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "607:10:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27115, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "607:16:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "626:3:77", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:10:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "607:29:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27119, - "nodeType": "ExpressionStatement", - "src": "607:29:77" - } - ] - }, - "documentation": "Constructs a new ENS registrar.", - "id": 27121, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "ENS", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27110, - "nodeType": "ParameterList", - "parameters": [], - "src": "587:2:77" - }, - "payable": false, - "returnParameters": { - "id": 27111, - "nodeType": "ParameterList", - "parameters": [], - "src": "597:0:77" - }, - "scope": 27262, - "src": "575:68:77", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27133, - "nodeType": "Block", - "src": "785:43:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27128, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "802:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27130, - "indexExpression": { - "argumentTypes": null, - "id": 27129, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27123, - "src": "810:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "802:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "802:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 27127, - "id": 27132, - "nodeType": "Return", - "src": "795:26:77" - } - ] - }, - "documentation": "Returns the address that owns the specified node.", - "id": 27134, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "owner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27123, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27134, - "src": "737:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27122, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "737:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "736:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27134, - "src": "776:7:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "776:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "775:9:77" - }, - "scope": 27262, - "src": "722:106:77", - "stateMutability": "view", - "superFunction": 27007, - "visibility": "public" - }, - { - "body": { - "id": 27146, - "nodeType": "Block", - "src": "983:46:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27141, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1000:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27143, - "indexExpression": { - "argumentTypes": null, - "id": 27142, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27136, - "src": "1008:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1000:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27087, - "src": "1000:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 27140, - "id": 27145, - "nodeType": "Return", - "src": "993:29:77" - } - ] - }, - "documentation": "Returns the address of the resolver for the specified node.", - "id": 27147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "resolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27136, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27147, - "src": "935:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "935:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "934:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27139, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27147, - "src": "974:7:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "974:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "973:9:77" - }, - "scope": 27262, - "src": "917:112:77", - "stateMutability": "view", - "superFunction": 27014, - "visibility": "public" - }, - { - "body": { - "id": 27159, - "nodeType": "Block", - "src": "1181:41:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27154, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1198:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27156, - "indexExpression": { - "argumentTypes": null, - "id": 27155, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27149, - "src": "1206:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1198:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ttl", - "nodeType": "MemberAccess", - "referencedDeclaration": 27089, - "src": "1198:17:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27153, - "id": 27158, - "nodeType": "Return", - "src": "1191:24:77" - } - ] - }, - "documentation": "Returns the TTL of a node, and any records associated with it.", - "id": 27160, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ttl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27149, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27160, - "src": "1134:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27148, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1134:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1133:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27152, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27160, - "src": "1173:6:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27151, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1173:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1172:8:77" - }, - "scope": 27262, - "src": "1121:101:77", - "stateMutability": "view", - "superFunction": 27021, - "visibility": "public" - }, - { - "body": { - "id": 27182, - "nodeType": "Block", - "src": "1534:75:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27171, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1553:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27164, - "src": "1559:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27170, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27065, - "src": "1544:8:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1544:21:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27174, - "nodeType": "ExpressionStatement", - "src": "1544:21:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27175, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1575:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27177, - "indexExpression": { - "argumentTypes": null, - "id": 27176, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1583:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "1575:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27179, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27164, - "src": "1597:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1575:27:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27181, - "nodeType": "ExpressionStatement", - "src": "1575:27:77" - } - ] - }, - "documentation": "Transfers ownership of a node to a new address. May only be called by the current\nowner of the node.\n@param node The node to transfer ownership of.\n@param owner The address of the new owner.", - "id": 27183, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27167, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1521:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27168, - "modifierName": { - "argumentTypes": null, - "id": 27166, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "1510:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1510:16:77" - } - ], - "name": "setOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27162, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27183, - "src": "1481:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27161, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1481:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27164, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27183, - "src": "1495:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1495:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1480:29:77" - }, - "payable": false, - "returnParameters": { - "id": 27169, - "nodeType": "ParameterList", - "parameters": [], - "src": "1534:0:77" - }, - "scope": 27262, - "src": "1463:146:77", - "stateMutability": "nonpayable", - "superFunction": 27028, - "visibility": "public" - }, - { - "body": { - "id": 27214, - "nodeType": "Block", - "src": "2016:131:77", - "statements": [ - { - "assignments": [ - 27195 - ], - "declarations": [ - { - "constant": false, - "id": 27195, - "name": "subnode", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "2026:11:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 27200, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27197, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2050:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27198, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27187, - "src": "2056:5:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27196, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2040:9:77", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 27199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2040:22:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:77" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27202, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2081:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27203, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27187, - "src": "2087:5:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27204, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2094:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27201, - "name": "NewOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27059, - "src": "2072:8:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 27205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2072:28:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27206, - "nodeType": "ExpressionStatement", - "src": "2072:28:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27207, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2110:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27209, - "indexExpression": { - "argumentTypes": null, - "id": 27208, - "name": "subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27195, - "src": "2118:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2110:16:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "2110:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27211, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2135:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2110:30:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27213, - "nodeType": "ExpressionStatement", - "src": "2110:30:77" - } - ] - }, - "documentation": "Transfers ownership of a subnode keccak256(node, label) to a new address. May only be\ncalled by the owner of the parent node.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.", - "id": 27215, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27192, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2003:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27193, - "modifierName": { - "argumentTypes": null, - "id": 27191, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "1992:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1992:16:77" - } - ], - "name": "setSubnodeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27185, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1948:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27184, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1948:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27187, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1962:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27186, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1962:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27189, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1977:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1977:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1947:44:77" - }, - "payable": false, - "returnParameters": { - "id": 27194, - "nodeType": "ParameterList", - "parameters": [], - "src": "2016:0:77" - }, - "scope": 27262, - "src": "1923:224:77", - "stateMutability": "nonpayable", - "superFunction": 27037, - "visibility": "public" - }, - { - "body": { - "id": 27237, - "nodeType": "Block", - "src": "2394:87:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27226, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2416:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27227, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27219, - "src": "2422:8:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27225, - "name": "NewResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27071, - "src": "2404:11:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2404:27:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27229, - "nodeType": "ExpressionStatement", - "src": "2404:27:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27230, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2441:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27232, - "indexExpression": { - "argumentTypes": null, - "id": 27231, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2449:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2441:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27087, - "src": "2441:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27234, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27219, - "src": "2466:8:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2441:33:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27236, - "nodeType": "ExpressionStatement", - "src": "2441:33:77" - } - ] - }, - "documentation": "Sets the resolver address for the specified node.\n@param node The node to update.\n@param resolver The address of the resolver.", - "id": 27238, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27222, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2381:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27223, - "modifierName": { - "argumentTypes": null, - "id": 27221, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "2370:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2370:16:77" - } - ], - "name": "setResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27217, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27238, - "src": "2338:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27216, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2338:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27219, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 27238, - "src": "2352:16:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2352:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2337:32:77" - }, - "payable": false, - "returnParameters": { - "id": 27224, - "nodeType": "ParameterList", - "parameters": [], - "src": "2394:0:77" - }, - "scope": 27262, - "src": "2317:164:77", - "stateMutability": "nonpayable", - "superFunction": 27044, - "visibility": "public" - }, - { - "body": { - "id": 27260, - "nodeType": "Block", - "src": "2690:67:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27249, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2707:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27250, - "name": "ttl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "2713:3:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27248, - "name": "NewTTL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27077, - "src": "2700:6:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", - "typeString": "function (bytes32,uint64)" - } - }, - "id": 27251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2700:17:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27252, - "nodeType": "ExpressionStatement", - "src": "2700:17:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27253, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2727:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27255, - "indexExpression": { - "argumentTypes": null, - "id": 27254, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2735:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2727:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "ttl", - "nodeType": "MemberAccess", - "referencedDeclaration": 27089, - "src": "2727:17:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27257, - "name": "ttl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "2747:3:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2727:23:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 27259, - "nodeType": "ExpressionStatement", - "src": "2727:23:77" - } - ] - }, - "documentation": "Sets the TTL for the specified node.\n@param node The node to update.\n@param ttl The TTL in seconds.", - "id": 27261, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27245, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2677:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27246, - "modifierName": { - "argumentTypes": null, - "id": 27244, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "2666:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2666:16:77" - } - ], - "name": "setTTL", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27240, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27261, - "src": "2640:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27239, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2640:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27242, - "name": "ttl", - "nodeType": "VariableDeclaration", - "scope": 27261, - "src": "2654:10:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27241, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2654:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2639:26:77" - }, - "payable": false, - "returnParameters": { - "id": 27247, - "nodeType": "ParameterList", - "parameters": [], - "src": "2690:0:77" - }, - "scope": 27262, - "src": "2624:133:77", - "stateMutability": "nonpayable", - "superFunction": 27051, - "visibility": "public" - } - ], - "scope": 27263, - "src": "169:2590:77" - } - ], - "src": "76:2684:77" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "exportedSymbols": { - "ENS": [ - 27262 - ] - }, - "id": 27263, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27080, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "76:23:77" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "./AbstractENS.sol", - "id": 27081, - "nodeType": "ImportDirective", - "scope": 27263, - "sourceUnit": 27079, - "src": "102:27:77", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 27082, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "185:11:77", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27083, - "nodeType": "InheritanceSpecifier", - "src": "185:11:77" - } - ], - "contractDependencies": [ - 27078 - ], - "contractKind": "contract", - "documentation": "The ENS registry contract.", - "fullyImplemented": true, - "id": 27262, - "linearizedBaseContracts": [ - 27262, - 27078 - ], - "name": "ENS", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "ENS.Record", - "id": 27090, - "members": [ - { - "constant": false, - "id": 27085, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "227:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "227:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27087, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "250:16:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "250:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27089, - "name": "ttl", - "nodeType": "VariableDeclaration", - "scope": 27090, - "src": "276:10:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27088, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "276:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Record", - "nodeType": "StructDefinition", - "scope": 27262, - "src": "203:90:77", - "visibility": "public" - }, - { - "constant": false, - "id": 27094, - "name": "records", - "nodeType": "VariableDeclaration", - "scope": 27262, - "src": "299:32:77", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record)" - }, - "typeName": { - "id": 27093, - "keyType": { - "id": 27091, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "307:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "299:24:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record)" - }, - "valueType": { - "contractScope": null, - "id": 27092, - "name": "Record", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27090, - "src": "316:6:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage_ptr", - "typeString": "struct ENS.Record" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 27108, - "nodeType": "Block", - "src": "442:72:77", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27098, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "456:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27100, - "indexExpression": { - "argumentTypes": null, - "id": 27099, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27096, - "src": "464:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "456:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "456:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27102, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "479:3:77", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "479:10:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "456:33:77", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27106, - "nodeType": "IfStatement", - "src": "452:44:77", - "trueBody": { - "id": 27105, - "nodeType": "Throw", - "src": "491:5:77" - } - }, - { - "id": 27107, - "nodeType": "PlaceholderStatement", - "src": "506:1:77" - } - ] - }, - "documentation": null, - "id": 27109, - "name": "only_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 27097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27096, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27109, - "src": "428:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27095, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "428:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:14:77" - }, - "src": "408:106:77", - "visibility": "internal" - }, - { - "body": { - "id": 27120, - "nodeType": "Block", - "src": "597:46:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27112, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "607:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27114, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "615:1:77", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "607:10:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27115, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "607:16:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "626:3:77", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:10:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "607:29:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27119, - "nodeType": "ExpressionStatement", - "src": "607:29:77" - } - ] - }, - "documentation": "Constructs a new ENS registrar.", - "id": 27121, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "ENS", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27110, - "nodeType": "ParameterList", - "parameters": [], - "src": "587:2:77" - }, - "payable": false, - "returnParameters": { - "id": 27111, - "nodeType": "ParameterList", - "parameters": [], - "src": "597:0:77" - }, - "scope": 27262, - "src": "575:68:77", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27133, - "nodeType": "Block", - "src": "785:43:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27128, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "802:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27130, - "indexExpression": { - "argumentTypes": null, - "id": 27129, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27123, - "src": "810:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "802:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "802:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 27127, - "id": 27132, - "nodeType": "Return", - "src": "795:26:77" - } - ] - }, - "documentation": "Returns the address that owns the specified node.", - "id": 27134, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "owner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27123, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27134, - "src": "737:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27122, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "737:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "736:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27134, - "src": "776:7:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "776:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "775:9:77" - }, - "scope": 27262, - "src": "722:106:77", - "stateMutability": "view", - "superFunction": 27007, - "visibility": "public" - }, - { - "body": { - "id": 27146, - "nodeType": "Block", - "src": "983:46:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27141, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1000:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27143, - "indexExpression": { - "argumentTypes": null, - "id": 27142, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27136, - "src": "1008:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1000:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27087, - "src": "1000:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 27140, - "id": 27145, - "nodeType": "Return", - "src": "993:29:77" - } - ] - }, - "documentation": "Returns the address of the resolver for the specified node.", - "id": 27147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "resolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27136, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27147, - "src": "935:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "935:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "934:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27139, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27147, - "src": "974:7:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "974:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "973:9:77" - }, - "scope": 27262, - "src": "917:112:77", - "stateMutability": "view", - "superFunction": 27014, - "visibility": "public" - }, - { - "body": { - "id": 27159, - "nodeType": "Block", - "src": "1181:41:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27154, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1198:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27156, - "indexExpression": { - "argumentTypes": null, - "id": 27155, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27149, - "src": "1206:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1198:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ttl", - "nodeType": "MemberAccess", - "referencedDeclaration": 27089, - "src": "1198:17:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27153, - "id": 27158, - "nodeType": "Return", - "src": "1191:24:77" - } - ] - }, - "documentation": "Returns the TTL of a node, and any records associated with it.", - "id": 27160, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ttl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27149, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27160, - "src": "1134:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27148, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1134:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1133:14:77" - }, - "payable": false, - "returnParameters": { - "id": 27153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27152, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27160, - "src": "1173:6:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27151, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1173:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1172:8:77" - }, - "scope": 27262, - "src": "1121:101:77", - "stateMutability": "view", - "superFunction": 27021, - "visibility": "public" - }, - { - "body": { - "id": 27182, - "nodeType": "Block", - "src": "1534:75:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27171, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1553:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27164, - "src": "1559:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27170, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27065, - "src": "1544:8:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1544:21:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27174, - "nodeType": "ExpressionStatement", - "src": "1544:21:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27175, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "1575:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27177, - "indexExpression": { - "argumentTypes": null, - "id": 27176, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1583:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "1575:19:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27179, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27164, - "src": "1597:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1575:27:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27181, - "nodeType": "ExpressionStatement", - "src": "1575:27:77" - } - ] - }, - "documentation": "Transfers ownership of a node to a new address. May only be called by the current\nowner of the node.\n@param node The node to transfer ownership of.\n@param owner The address of the new owner.", - "id": 27183, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27167, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27162, - "src": "1521:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27168, - "modifierName": { - "argumentTypes": null, - "id": 27166, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "1510:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1510:16:77" - } - ], - "name": "setOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27162, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27183, - "src": "1481:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27161, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1481:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27164, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27183, - "src": "1495:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1495:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1480:29:77" - }, - "payable": false, - "returnParameters": { - "id": 27169, - "nodeType": "ParameterList", - "parameters": [], - "src": "1534:0:77" - }, - "scope": 27262, - "src": "1463:146:77", - "stateMutability": "nonpayable", - "superFunction": 27028, - "visibility": "public" - }, - { - "body": { - "id": 27214, - "nodeType": "Block", - "src": "2016:131:77", - "statements": [ - { - "assignments": [ - 27195 - ], - "declarations": [ - { - "constant": false, - "id": 27195, - "name": "subnode", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "2026:11:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 27200, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27197, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2050:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27198, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27187, - "src": "2056:5:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27196, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2040:9:77", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 27199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2040:22:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:77" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27202, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2081:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27203, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27187, - "src": "2087:5:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27204, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2094:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27201, - "name": "NewOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27059, - "src": "2072:8:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 27205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2072:28:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27206, - "nodeType": "ExpressionStatement", - "src": "2072:28:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27207, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2110:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27209, - "indexExpression": { - "argumentTypes": null, - "id": 27208, - "name": "subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27195, - "src": "2118:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2110:16:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27085, - "src": "2110:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27211, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2135:5:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2110:30:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27213, - "nodeType": "ExpressionStatement", - "src": "2110:30:77" - } - ] - }, - "documentation": "Transfers ownership of a subnode keccak256(node, label) to a new address. May only be\ncalled by the owner of the parent node.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.", - "id": 27215, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27192, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27185, - "src": "2003:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27193, - "modifierName": { - "argumentTypes": null, - "id": 27191, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "1992:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1992:16:77" - } - ], - "name": "setSubnodeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27185, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1948:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27184, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1948:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27187, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1962:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27186, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1962:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27189, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27215, - "src": "1977:13:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1977:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1947:44:77" - }, - "payable": false, - "returnParameters": { - "id": 27194, - "nodeType": "ParameterList", - "parameters": [], - "src": "2016:0:77" - }, - "scope": 27262, - "src": "1923:224:77", - "stateMutability": "nonpayable", - "superFunction": 27037, - "visibility": "public" - }, - { - "body": { - "id": 27237, - "nodeType": "Block", - "src": "2394:87:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27226, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2416:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27227, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27219, - "src": "2422:8:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27225, - "name": "NewResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27071, - "src": "2404:11:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2404:27:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27229, - "nodeType": "ExpressionStatement", - "src": "2404:27:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27230, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2441:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27232, - "indexExpression": { - "argumentTypes": null, - "id": 27231, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2449:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2441:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27087, - "src": "2441:22:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27234, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27219, - "src": "2466:8:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2441:33:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27236, - "nodeType": "ExpressionStatement", - "src": "2441:33:77" - } - ] - }, - "documentation": "Sets the resolver address for the specified node.\n@param node The node to update.\n@param resolver The address of the resolver.", - "id": 27238, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27222, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27217, - "src": "2381:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27223, - "modifierName": { - "argumentTypes": null, - "id": 27221, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "2370:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2370:16:77" - } - ], - "name": "setResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27217, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27238, - "src": "2338:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27216, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2338:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27219, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 27238, - "src": "2352:16:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2352:7:77", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2337:32:77" - }, - "payable": false, - "returnParameters": { - "id": 27224, - "nodeType": "ParameterList", - "parameters": [], - "src": "2394:0:77" - }, - "scope": 27262, - "src": "2317:164:77", - "stateMutability": "nonpayable", - "superFunction": 27044, - "visibility": "public" - }, - { - "body": { - "id": 27260, - "nodeType": "Block", - "src": "2690:67:77", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27249, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2707:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27250, - "name": "ttl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "2713:3:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27248, - "name": "NewTTL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27077, - "src": "2700:6:77", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", - "typeString": "function (bytes32,uint64)" - } - }, - "id": 27251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2700:17:77", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27252, - "nodeType": "ExpressionStatement", - "src": "2700:17:77" - }, - { - "expression": { - "argumentTypes": null, - "id": 27258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27253, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27094, - "src": "2727:7:77", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27090_storage_$", - "typeString": "mapping(bytes32 => struct ENS.Record storage ref)" - } - }, - "id": 27255, - "indexExpression": { - "argumentTypes": null, - "id": 27254, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2735:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2727:13:77", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27090_storage", - "typeString": "struct ENS.Record storage ref" - } - }, - "id": 27256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "ttl", - "nodeType": "MemberAccess", - "referencedDeclaration": 27089, - "src": "2727:17:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27257, - "name": "ttl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "2747:3:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2727:23:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 27259, - "nodeType": "ExpressionStatement", - "src": "2727:23:77" - } - ] - }, - "documentation": "Sets the TTL for the specified node.\n@param node The node to update.\n@param ttl The TTL in seconds.", - "id": 27261, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27245, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27240, - "src": "2677:4:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27246, - "modifierName": { - "argumentTypes": null, - "id": 27244, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27109, - "src": "2666:10:77", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2666:16:77" - } - ], - "name": "setTTL", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27240, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27261, - "src": "2640:12:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27239, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2640:7:77", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27242, - "name": "ttl", - "nodeType": "VariableDeclaration", - "scope": 27261, - "src": "2654:10:77", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27241, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2654:6:77", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2639:26:77" - }, - "payable": false, - "returnParameters": { - "id": 27247, - "nodeType": "ParameterList", - "parameters": [], - "src": "2690:0:77" - }, - "scope": 27262, - "src": "2624:133:77", - "stateMutability": "nonpayable", - "superFunction": 27051, - "visibility": "public" - } - ], - "scope": 27263, - "src": "169:2590:77" - } - ], - "src": "76:2684:77" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.274Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ENSConstants.json b/templates/multisig/build/contracts/ENSConstants.json deleted file mode 100644 index 6b4cefc..0000000 --- a/templates/multisig/build/contracts/ENSConstants.json +++ /dev/null @@ -1,605 +0,0 @@ -{ - "contractName": "ENSConstants", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820a6cef5f67157974feb6535349d0983292d0b8434678dc01c1c415e4db05d2f470029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820a6cef5f67157974feb6535349d0983292d0b8434678dc01c1c415e4db05d2f470029", - "sourceMap": "71:1006:57:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:1006:57;;;;;;;", - "deployedSourceMap": "71:1006:57:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract ENSConstants {\n /* Hardcoded constants to save gas\n bytes32 internal constant ENS_ROOT = bytes32(0);\n bytes32 internal constant ETH_TLD_LABEL = keccak256(\"eth\");\n bytes32 internal constant ETH_TLD_NODE = keccak256(abi.encodePacked(ENS_ROOT, ETH_TLD_LABEL));\n bytes32 internal constant PUBLIC_RESOLVER_LABEL = keccak256(\"resolver\");\n bytes32 internal constant PUBLIC_RESOLVER_NODE = keccak256(abi.encodePacked(ETH_TLD_NODE, PUBLIC_RESOLVER_LABEL));\n */\n bytes32 internal constant ENS_ROOT = bytes32(0);\n bytes32 internal constant ETH_TLD_LABEL = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0;\n bytes32 internal constant ETH_TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae;\n bytes32 internal constant PUBLIC_RESOLVER_LABEL = 0x329539a1d23af1810c48a07fe7fc66a3b34fbc8b37e9b3cdb97bb88ceab7e4bf;\n bytes32 internal constant PUBLIC_RESOLVER_NODE = 0xfdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f5;\n}\n", - "sourcePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "exportedSymbols": { - "ENSConstants": [ - 24396 - ] - }, - "id": 24397, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24378, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:57" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24396, - "linearizedBaseContracts": [ - 24396 - ], - "name": "ENSConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24383, - "name": "ENS_ROOT", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "557:47:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24379, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "557:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "602:1:57", - "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": 24380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "594:7:57", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 24382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:10:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24386, - "name": "ETH_TLD_LABEL", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "610:108:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24384, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "610:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834663562383132373839666336303662653162336231363930386462313366633761396164663763613732363431663834643735623437303639643364376630", - "id": 24385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "652:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35894389512221139346028120028875095598761990588366713962827482865185691260912_by_1", - "typeString": "int_const 3589...(69 digits omitted)...0912" - }, - "value": "0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24389, - "name": "ETH_TLD_NODE", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "724:107:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "724:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", - "id": 24388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "765:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", - "typeString": "int_const 6685...(69 digits omitted)...7038" - }, - "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24392, - "name": "PUBLIC_RESOLVER_LABEL", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "837:116:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24390, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "837:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833323935333961316432336166313831306334386130376665376663363661336233346662633862333765396233636462393762623838636561623765346266", - "id": 24391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "887:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_22879300404048308305757162459128213448943868079942207640504119322069238801599_by_1", - "typeString": "int_const 2287...(69 digits omitted)...1599" - }, - "value": "0x329539a1d23af1810c48a07fe7fc66a3b34fbc8b37e9b3cdb97bb88ceab7e4bf" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24395, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "959:115:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24393, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "959:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866646435643564653664643633646237326262633264343837393434626131336266373735623530613830383035666536666361626139623066626138386635", - "id": 24394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1008:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114812965185011392076873128859489552324200221744912745687941328642703980398837_by_1", - "typeString": "int_const 1148...(70 digits omitted)...8837" - }, - "value": "0xfdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f5" - }, - "visibility": "internal" - } - ], - "scope": 24397, - "src": "71:1006:57" - } - ], - "src": "44:1034:57" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "exportedSymbols": { - "ENSConstants": [ - 24396 - ] - }, - "id": 24397, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24378, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:57" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24396, - "linearizedBaseContracts": [ - 24396 - ], - "name": "ENSConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24383, - "name": "ENS_ROOT", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "557:47:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24379, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "557:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "602:1:57", - "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": 24380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "594:7:57", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 24382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:10:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24386, - "name": "ETH_TLD_LABEL", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "610:108:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24384, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "610:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834663562383132373839666336303662653162336231363930386462313366633761396164663763613732363431663834643735623437303639643364376630", - "id": 24385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "652:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_35894389512221139346028120028875095598761990588366713962827482865185691260912_by_1", - "typeString": "int_const 3589...(69 digits omitted)...0912" - }, - "value": "0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24389, - "name": "ETH_TLD_NODE", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "724:107:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "724:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", - "id": 24388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "765:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", - "typeString": "int_const 6685...(69 digits omitted)...7038" - }, - "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24392, - "name": "PUBLIC_RESOLVER_LABEL", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "837:116:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24390, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "837:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833323935333961316432336166313831306334386130376665376663363661336233346662633862333765396233636462393762623838636561623765346266", - "id": 24391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "887:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_22879300404048308305757162459128213448943868079942207640504119322069238801599_by_1", - "typeString": "int_const 2287...(69 digits omitted)...1599" - }, - "value": "0x329539a1d23af1810c48a07fe7fc66a3b34fbc8b37e9b3cdb97bb88ceab7e4bf" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24395, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "VariableDeclaration", - "scope": 24396, - "src": "959:115:57", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24393, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "959:7:57", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866646435643564653664643633646237326262633264343837393434626131336266373735623530613830383035666536666361626139623066626138386635", - "id": 24394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1008:66:57", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_114812965185011392076873128859489552324200221744912745687941328642703980398837_by_1", - "typeString": "int_const 1148...(70 digits omitted)...8837" - }, - "value": "0xfdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f5" - }, - "visibility": "internal" - } - ], - "scope": 24397, - "src": "71:1006:57" - } - ], - "src": "44:1034:57" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.201Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ENSFactory.json b/templates/multisig/build/contracts/ENSFactory.json deleted file mode 100644 index 5d7953a..0000000 --- a/templates/multisig/build/contracts/ENSFactory.json +++ /dev/null @@ -1,2129 +0,0 @@ -{ - "contractName": "ENSFactory", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "ens", - "type": "address" - } - ], - "name": "DeployENS", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "newENS", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611bec806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663e9358b018114610045575b600080fd5b34801561005157600080fd5b50610066600160a060020a0360043516610082565b60408051600160a060020a039092168252519081900360200190f35b600080600061008f6104a5565b604051809103906000f0801580156100ab573d6000803e3d6000fd5b506040805160e060020a6306ab59230281526000600482018190527f4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f060248301523060448301529151929450600160a060020a038516926306ab59239260648084019391929182900301818387803b15801561012657600080fd5b505af115801561013a573d6000803e3d6000fd5b50505050816101476104b5565b600160a060020a03909116815260405190819003602001906000f080158015610174573d6000803e3d6000fd5b506040805160e060020a6306ab59230281527f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60048201527f329539a1d23af1810c48a07fe7fc66a3b34fbc8b37e9b3cdb97bb88ceab7e4bf60248201523060448201529051919250600160a060020a038416916306ab59239160648082019260009290919082900301818387803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b5050604080517f1896f70a0000000000000000000000000000000000000000000000000000000081527ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56004820152600160a060020a03858116602483015291519186169350631896f70a925060448082019260009290919082900301818387803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b5050604080517fd5fa2b000000000000000000000000000000000000000000000000000000000081527ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56004820152600160a060020a03851660248201819052915191935063d5fa2b00925060448082019260009290919082900301818387803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50506040805160e060020a635b0fc9c30281527f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6004820152600160a060020a03888116602483015291519186169350635b0fc9c3925060448082019260009290919082900301818387803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b50506040805160e060020a635b0fc9c3028152600060048201819052600160a060020a03898116602484015292519287169450635b0fc9c39350604480830193919282900301818387803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060408051600160a060020a038616815290517fdbfb5ababf63f86424e8df6053dfb90f8b63ea26d7e1e8f68407af4fb2d2c4f29350908190036020019150a15092915050565b604051610556806104c683390190565b6040516111a580610a1c833901905600608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a031916331790556104fd806100596000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff60243516610291565b34801561012d57600080fd5b50610139600435610357565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a036024351661038e565b34801561018657600080fd5b506100fa600435600160a060020a0360243516610431565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b6000838152602081905260408120548490600160a060020a031633146101fc57600080fd5b60408051868152602080820187905282519182900383018220600160a060020a03871683529251929450869288927fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8292908290030190a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b6000828152602081905260409020548290600160a060020a031633146102b657600080fd5b6040805167ffffffffffffffff84168152905184917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027bffffffffffffffff000000000000000000000000000000000000000019909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b6000828152602081905260409020548290600160a060020a031633146103b357600080fd5b60408051600160a060020a0384168152905184917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000828152602081905260409020548290600160a060020a0316331461045657600080fd5b60408051600160a060020a0384168152905184917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a7230582013bb7f65cc006d808f69ecef4c9928fdbb40356364c72a385a8f222efac75cb20029608060405234801561001057600080fd5b506040516020806111a5833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055611153806100526000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146100c957806310f13a8c146100ff5780632203ab561461019d57806329cd62ea146102375780632dff6941146102555780633b3b57de1461027f57806359d1d43c146102b3578063623195b014610386578063691f3431146103e657806377372213146103fe578063c3d014d61461045c578063c869023314610477578063d5fa2b00146104a8575b600080fd5b3480156100d557600080fd5b506100eb600160e060020a0319600435166104cc565b604080519115158252519081900360200190f35b34801561010b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106399650505050505050565b005b3480156101a957600080fd5b506101b8600435602435610849565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561024357600080fd5b5061019b600435602435604435610955565b34801561026157600080fd5b5061026d600435610a55565b60408051918252519081900360200190f35b34801561028b57600080fd5b50610297600435610a6b565b60408051600160a060020a039092168252519081900360200190f35b3480156102bf57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610311958335953695604494919390910191908190840183828082843750949750610a869650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039257600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235946024803595369594606494920191908190840183828082843750949750610b8f9650505050505050565b3480156103f257600080fd5b50610311600435610c90565b34801561040a57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b958335953695604494919390910191908190840183828082843750949750610d349650505050505050565b34801561046857600080fd5b5061019b600435602435610e8a565b34801561048357600080fd5b5061048f600435610f6b565b6040805192835260208301919091528051918290030190f35b3480156104b457600080fd5b5061019b600435600160a060020a0360243516610f88565b6000600160e060020a031982167f3b3b57de00000000000000000000000000000000000000000000000000000000148061052f5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105635750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105975750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105cb5750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105ff5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806106335750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050506040513d60208110156106b657600080fd5b5051600160a060020a0316146106cb57600080fd5b6000848152600160209081526040918290209151855185936005019287929182918401908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610753959194919091019250905061108c565b50826040518082805190602001908083835b602083106107845780518252601f199092019160209182019101610765565b51815160209384036101000a60001901801990921691161790526040805192909401829003822081835289518383015289519096508a95507fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550948a94508392908301919085019080838360005b838110156108095781810151838201526020016107f1565b50505050905090810190601f1680156108365780820380516001836020036101000a031916815260200191505b509250505060405180910390a350505050565b60008281526001602081905260409091206060905b83831161094857828416158015906108975750600083815260068201602052604081205460026000196101006001841615020190911604115b1561093d57600083815260068201602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109315780601f1061090657610100808354040283529160200191610931565b820191906000526020600020905b81548152906001019060200180831161091457829003601f168201915b5050505050915061094d565b60029092029161085e565b600092505b509250929050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b5051600160a060020a0316146109e757600080fd5b604080518082018252848152602080820185815260008881526001835284902092516003840155516004909201919091558151858152908101849052815186927f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46928290030190a250505050565b6000908152600160208190526040909120015490565b600090815260016020526040902054600160a060020a031690565b600082815260016020908152604091829020915183516060936005019285929182918401908083835b60208310610ace5780518252601f199092019160209182019101610aaf565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b820191906000526020600020905b815481529060010190602001808311610b6557829003601f168201915b5050505050905092915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b5051600160a060020a031614610c2157600080fd5b6000198301831615610c3257600080fd5b600084815260016020908152604080832086845260060182529091208351610c5c9285019061108c565b50604051839085907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a350505050565b6000818152600160208181526040928390206002908101805485516000199582161561010002959095011691909104601f81018390048302840183019094528383526060939091830182828015610d285780601f10610cfd57610100808354040283529160200191610d28565b820191906000526020600020905b815481529060010190602001808311610d0b57829003601f168201915b50505050509050919050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610d8757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b505050506040513d6020811015610db157600080fd5b5051600160a060020a031614610dc657600080fd5b60008381526001602090815260409091208351610deb9260029092019185019061108c565b50604080516020808252845181830152845186937fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f79387939092839283019185019080838360005b83811015610e4b578181015183820152602001610e33565b50505050905090810190601f168015610e785780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b505050506040513d6020811015610f0757600080fd5b5051600160a060020a031614610f1c57600080fd5b6000838152600160208181526040928390209091018490558151848152915185927f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc92908290030190a2505050565b600090815260016020526040902060038101546004909101549091565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d602081101561100557600080fd5b5051600160a060020a03161461101a57600080fd5b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251908152915185927f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd292908290030190a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110cd57805160ff19168380011785556110fa565b828001600101855582156110fa579182015b828111156110fa5782518255916020019190600101906110df565b5061110692915061110a565b5090565b61112491905b808211156111065760008155600101611110565b905600a165627a7a72305820db02861400c6b3a36d9fa5c8af267332f178c718fdab62db1c5516e7e17815470029a165627a7a723058202f0c8eb0ba0fff94eb7138a0cff84cd8851f27f25cdf1d23bb1e3bb4081b033e0029", - "deployedBytecode": "0x6080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663e9358b018114610045575b600080fd5b34801561005157600080fd5b50610066600160a060020a0360043516610082565b60408051600160a060020a039092168252519081900360200190f35b600080600061008f6104a5565b604051809103906000f0801580156100ab573d6000803e3d6000fd5b506040805160e060020a6306ab59230281526000600482018190527f4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f060248301523060448301529151929450600160a060020a038516926306ab59239260648084019391929182900301818387803b15801561012657600080fd5b505af115801561013a573d6000803e3d6000fd5b50505050816101476104b5565b600160a060020a03909116815260405190819003602001906000f080158015610174573d6000803e3d6000fd5b506040805160e060020a6306ab59230281527f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60048201527f329539a1d23af1810c48a07fe7fc66a3b34fbc8b37e9b3cdb97bb88ceab7e4bf60248201523060448201529051919250600160a060020a038416916306ab59239160648082019260009290919082900301818387803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b5050604080517f1896f70a0000000000000000000000000000000000000000000000000000000081527ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56004820152600160a060020a03858116602483015291519186169350631896f70a925060448082019260009290919082900301818387803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b5050604080517fd5fa2b000000000000000000000000000000000000000000000000000000000081527ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56004820152600160a060020a03851660248201819052915191935063d5fa2b00925060448082019260009290919082900301818387803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50506040805160e060020a635b0fc9c30281527f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6004820152600160a060020a03888116602483015291519186169350635b0fc9c3925060448082019260009290919082900301818387803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b50506040805160e060020a635b0fc9c3028152600060048201819052600160a060020a03898116602484015292519287169450635b0fc9c39350604480830193919282900301818387803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060408051600160a060020a038616815290517fdbfb5ababf63f86424e8df6053dfb90f8b63ea26d7e1e8f68407af4fb2d2c4f29350908190036020019150a15092915050565b604051610556806104c683390190565b6040516111a580610a1c833901905600608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a031916331790556104fd806100596000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff60243516610291565b34801561012d57600080fd5b50610139600435610357565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a036024351661038e565b34801561018657600080fd5b506100fa600435600160a060020a0360243516610431565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b6000838152602081905260408120548490600160a060020a031633146101fc57600080fd5b60408051868152602080820187905282519182900383018220600160a060020a03871683529251929450869288927fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8292908290030190a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b6000828152602081905260409020548290600160a060020a031633146102b657600080fd5b6040805167ffffffffffffffff84168152905184917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027bffffffffffffffff000000000000000000000000000000000000000019909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b6000828152602081905260409020548290600160a060020a031633146103b357600080fd5b60408051600160a060020a0384168152905184917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000828152602081905260409020548290600160a060020a0316331461045657600080fd5b60408051600160a060020a0384168152905184917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a7230582013bb7f65cc006d808f69ecef4c9928fdbb40356364c72a385a8f222efac75cb20029608060405234801561001057600080fd5b506040516020806111a5833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055611153806100526000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146100c957806310f13a8c146100ff5780632203ab561461019d57806329cd62ea146102375780632dff6941146102555780633b3b57de1461027f57806359d1d43c146102b3578063623195b014610386578063691f3431146103e657806377372213146103fe578063c3d014d61461045c578063c869023314610477578063d5fa2b00146104a8575b600080fd5b3480156100d557600080fd5b506100eb600160e060020a0319600435166104cc565b604080519115158252519081900360200190f35b34801561010b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106399650505050505050565b005b3480156101a957600080fd5b506101b8600435602435610849565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561024357600080fd5b5061019b600435602435604435610955565b34801561026157600080fd5b5061026d600435610a55565b60408051918252519081900360200190f35b34801561028b57600080fd5b50610297600435610a6b565b60408051600160a060020a039092168252519081900360200190f35b3480156102bf57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610311958335953695604494919390910191908190840183828082843750949750610a869650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039257600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235946024803595369594606494920191908190840183828082843750949750610b8f9650505050505050565b3480156103f257600080fd5b50610311600435610c90565b34801561040a57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b958335953695604494919390910191908190840183828082843750949750610d349650505050505050565b34801561046857600080fd5b5061019b600435602435610e8a565b34801561048357600080fd5b5061048f600435610f6b565b6040805192835260208301919091528051918290030190f35b3480156104b457600080fd5b5061019b600435600160a060020a0360243516610f88565b6000600160e060020a031982167f3b3b57de00000000000000000000000000000000000000000000000000000000148061052f5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105635750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105975750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105cb5750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105ff5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806106335750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050506040513d60208110156106b657600080fd5b5051600160a060020a0316146106cb57600080fd5b6000848152600160209081526040918290209151855185936005019287929182918401908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610753959194919091019250905061108c565b50826040518082805190602001908083835b602083106107845780518252601f199092019160209182019101610765565b51815160209384036101000a60001901801990921691161790526040805192909401829003822081835289518383015289519096508a95507fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550948a94508392908301919085019080838360005b838110156108095781810151838201526020016107f1565b50505050905090810190601f1680156108365780820380516001836020036101000a031916815260200191505b509250505060405180910390a350505050565b60008281526001602081905260409091206060905b83831161094857828416158015906108975750600083815260068201602052604081205460026000196101006001841615020190911604115b1561093d57600083815260068201602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109315780601f1061090657610100808354040283529160200191610931565b820191906000526020600020905b81548152906001019060200180831161091457829003601f168201915b5050505050915061094d565b60029092029161085e565b600092505b509250929050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b5051600160a060020a0316146109e757600080fd5b604080518082018252848152602080820185815260008881526001835284902092516003840155516004909201919091558151858152908101849052815186927f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46928290030190a250505050565b6000908152600160208190526040909120015490565b600090815260016020526040902054600160a060020a031690565b600082815260016020908152604091829020915183516060936005019285929182918401908083835b60208310610ace5780518252601f199092019160209182019101610aaf565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b820191906000526020600020905b815481529060010190602001808311610b6557829003601f168201915b5050505050905092915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b5051600160a060020a031614610c2157600080fd5b6000198301831615610c3257600080fd5b600084815260016020908152604080832086845260060182529091208351610c5c9285019061108c565b50604051839085907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a350505050565b6000818152600160208181526040928390206002908101805485516000199582161561010002959095011691909104601f81018390048302840183019094528383526060939091830182828015610d285780601f10610cfd57610100808354040283529160200191610d28565b820191906000526020600020905b815481529060010190602001808311610d0b57829003601f168201915b50505050509050919050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610d8757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b505050506040513d6020811015610db157600080fd5b5051600160a060020a031614610dc657600080fd5b60008381526001602090815260409091208351610deb9260029092019185019061108c565b50604080516020808252845181830152845186937fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f79387939092839283019185019080838360005b83811015610e4b578181015183820152602001610e33565b50505050905090810190601f168015610e785780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b505050506040513d6020811015610f0757600080fd5b5051600160a060020a031614610f1c57600080fd5b6000838152600160208181526040928390209091018490558151848152915185927f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc92908290030190a2505050565b600090815260016020526040902060038101546004909101549091565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d602081101561100557600080fd5b5051600160a060020a03161461101a57600080fd5b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251908152915185927f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd292908290030190a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110cd57805160ff19168380011785556110fa565b828001600101855582156110fa579182015b828111156110fa5782518255916020019190600101906110df565b5061110692915061110a565b5090565b61112491905b808211156111065760008155600101611110565b905600a165627a7a72305820db02861400c6b3a36d9fa5c8af267332f178c718fdab62db1c5516e7e17815470029a165627a7a723058202f0c8eb0ba0fff94eb7138a0cff84cd8851f27f25cdf1d23bb1e3bb4081b033e0029", - "sourceMap": "355:824:69:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;355:824:69;;;;;;;", - "deployedSourceMap": "355:824:69:-;;;;;;;;;;;;;;;;;;;;;;;585:592;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;585:592:69;-1:-1:-1;;;;;585:592:69;;;;;;;;;-1:-1:-1;;;;;585:592:69;;;;;;;;;;;;;;;633:3;648:7;798:23;658:9;;:::i;:::-;;;;;;;;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;704:50:69;;;-1:-1:-1;;;;;704:50:69;;602:1:57;704:50:69;;;;;;652:66:57;704:50:69;;;;749:4;704:50;;;;;;648:19;;-1:-1:-1;;;;;;704:19:69;;;;;:50;;;;;602:1:57;;704:50:69;;;;;;602:1:57;704:19:69;:50;;;5:2:-1;;;;30:1;27;20:12;5:2;704:50:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;704:50:69;;;;843:3;824:23;;:::i;:::-;-1:-1:-1;;;;;824:23:69;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;857:62:69;;;-1:-1:-1;;;;;857:62:69;;765:66:57;857:62:69;;;;887:66:57;857:62:69;;;;914:4;857:62;;;;;;798:49;;-1:-1:-1;;;;;;857:19:69;;;;;:62;;;;;;;;;;;;;;;;:19;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;857:62:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;929:47:69;;;;;;1008:66:57;929:47:69;;;;-1:-1:-1;;;;;929:47:69;;;;;;;;;:15;;;;-1:-1:-1;929:15:69;;-1:-1:-1;929:47:69;;;;;;;;;;;;;;;;:15;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;929:47:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;986:48:69;;;;;;1008:66:57;986:48:69;;;;-1:-1:-1;;;;;986:16:69;;:48;;;;;;;;:16;;-1:-1:-1;986:16:69;;-1:-1:-1;986:48:69;;;;;;;;;;;;;;;;:16;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;986:48:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1045:34:69;;;-1:-1:-1;;;;;1045:34:69;;765:66:57;1045:34:69;;;;-1:-1:-1;;;;;1045:34:69;;;;;;;;;:12;;;;-1:-1:-1;1045:12:69;;-1:-1:-1;1045:34:69;;;;;;;;;;;;;;;;:12;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;1045:34:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1089:30:69;;;-1:-1:-1;;;;;1089:30:69;;602:1:57;1089:30:69;;;;;;-1:-1:-1;;;;;1089:30:69;;;;;;;;;:12;;;;-1:-1:-1;1089:12:69;;-1:-1:-1;1089:30:69;;;;;602:1:57;;1089:30:69;;;;;602:1:57;1089:12:69;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;1089:30:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1135:14:69;;;-1:-1:-1;;;;;1135:14:69;;;;;;;;-1:-1:-1;1135:14:69;;;;;;;-1:-1:-1;1135:14:69;-1:-1:-1;1167:3:69;585:592;-1:-1:-1;;585:592:69:o;355:824::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../lib/ens/ENS.sol\";\nimport \"../lib/ens/PublicResolver.sol\";\nimport \"../ens/ENSConstants.sol\";\n\n\n// WARNING: This is an incredibly trustful ENS deployment, do NOT use in production!\n// This contract is NOT meant to be deployed to a live network.\n// Its only purpose is to easily create ENS instances for testing aragonPM.\ncontract ENSFactory is ENSConstants {\n event DeployENS(address ens);\n\n /**\n * @notice Create a new ENS and set `_owner` as the owner of the top level domain.\n * @param _owner Owner of .eth\n * @return ENS\n */\n function newENS(address _owner) public returns (ENS) {\n ENS ens = new ENS();\n\n // Setup .eth TLD\n ens.setSubnodeOwner(ENS_ROOT, ETH_TLD_LABEL, this);\n\n // Setup public resolver\n PublicResolver resolver = new PublicResolver(ens);\n ens.setSubnodeOwner(ETH_TLD_NODE, PUBLIC_RESOLVER_LABEL, this);\n ens.setResolver(PUBLIC_RESOLVER_NODE, resolver);\n resolver.setAddr(PUBLIC_RESOLVER_NODE, resolver);\n\n ens.setOwner(ETH_TLD_NODE, _owner);\n ens.setOwner(ENS_ROOT, _owner);\n\n emit DeployENS(ens);\n\n return ens;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "exportedSymbols": { - "ENSFactory": [ - 26244 - ] - }, - "id": 26245, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26163, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:69" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "file": "../lib/ens/ENS.sol", - "id": 26164, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 27263, - "src": "25:28:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "../lib/ens/PublicResolver.sol", - "id": 26165, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 27725, - "src": "54:39:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "file": "../ens/ENSConstants.sol", - "id": 26166, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 24397, - "src": "94:33:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26167, - "name": "ENSConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24396, - "src": "378:12:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSConstants_$24396", - "typeString": "contract ENSConstants" - } - }, - "id": 26168, - "nodeType": "InheritanceSpecifier", - "src": "378:12:69" - } - ], - "contractDependencies": [ - 24396, - 27262, - 27724 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26244, - "linearizedBaseContracts": [ - 26244, - 24396 - ], - "name": "ENSFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26172, - "name": "DeployENS", - "nodeType": "EventDefinition", - "parameters": { - "id": 26171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26170, - "indexed": false, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 26172, - "src": "413:11:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "413:7:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "412:13:69" - }, - "src": "397:29:69" - }, - { - "body": { - "id": 26242, - "nodeType": "Block", - "src": "638:539:69", - "statements": [ - { - "assignments": [ - 26180 - ], - "declarations": [ - { - "constant": false, - "id": 26180, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "648:7:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 26179, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "648:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26184, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "658:7:69", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ENS_$27262_$", - "typeString": "function () returns (contract ENS)" - }, - "typeName": { - "contractScope": null, - "id": 26181, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "662:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - }, - "id": 26183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "658:9:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "648:19:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26188, - "name": "ENS_ROOT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24383, - "src": "724:8:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26189, - "name": "ETH_TLD_LABEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24386, - "src": "734:13:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26190, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29971, - "src": "749:4:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26185, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "704:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "704:19:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 26191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "704:50:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26192, - "nodeType": "ExpressionStatement", - "src": "704:50:69" - }, - { - "assignments": [ - 26194 - ], - "declarations": [ - { - "constant": false, - "id": 26194, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "798:23:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 26193, - "name": "PublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27724, - "src": "798:14:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26197, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "843:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 26196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "824:18:69", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_AbstractENS_$27078_$returns$_t_contract$_PublicResolver_$27724_$", - "typeString": "function (contract AbstractENS) returns (contract PublicResolver)" - }, - "typeName": { - "contractScope": null, - "id": 26195, - "name": "PublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27724, - "src": "828:14:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - }, - "id": 26198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "824:23:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "798:49:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26203, - "name": "ETH_TLD_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24389, - "src": "877:12:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26204, - "name": "PUBLIC_RESOLVER_LABEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24392, - "src": "891:21:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26205, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29971, - "src": "914:4:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26200, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "857:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "857:19:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 26206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "857:62:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26207, - "nodeType": "ExpressionStatement", - "src": "857:62:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26211, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "945:20:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26212, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "967:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 26208, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "929:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27238, - "src": "929:15:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:47:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26214, - "nodeType": "ExpressionStatement", - "src": "929:47:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26218, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "1003:20:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26219, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "1025:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 26215, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "986:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 26217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27453, - "src": "986:16:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "986:48:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26221, - "nodeType": "ExpressionStatement", - "src": "986:48:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26225, - "name": "ETH_TLD_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24389, - "src": "1058:12:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26226, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26174, - "src": "1072:6:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26222, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1045:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "1045:12:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1045:34:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26228, - "nodeType": "ExpressionStatement", - "src": "1045:34:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26232, - "name": "ENS_ROOT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24383, - "src": "1102:8:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26233, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26174, - "src": "1112:6:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26229, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1089:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "1089:12:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1089:30:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26235, - "nodeType": "ExpressionStatement", - "src": "1089:30:69" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26237, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1145:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 26236, - "name": "DeployENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26172, - "src": "1135:9:69", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:14:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26239, - "nodeType": "EmitStatement", - "src": "1130:19:69" - }, - { - "expression": { - "argumentTypes": null, - "id": 26240, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1167:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "functionReturnParameters": 26178, - "id": 26241, - "nodeType": "Return", - "src": "1160:10:69" - } - ] - }, - "documentation": "@notice Create a new ENS and set `_owner` as the owner of the top level domain.\n@param _owner Owner of .eth\n@return ENS", - "id": 26243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newENS", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26174, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "601:14:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "601:7:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "600:16:69" - }, - "payable": false, - "returnParameters": { - "id": 26178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "633:3:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 26176, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "633:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "632:5:69" - }, - "scope": 26244, - "src": "585:592:69", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26245, - "src": "355:824:69" - } - ], - "src": "0:1180:69" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "exportedSymbols": { - "ENSFactory": [ - 26244 - ] - }, - "id": 26245, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26163, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:69" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol", - "file": "../lib/ens/ENS.sol", - "id": 26164, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 27263, - "src": "25:28:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "../lib/ens/PublicResolver.sol", - "id": 26165, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 27725, - "src": "54:39:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "file": "../ens/ENSConstants.sol", - "id": 26166, - "nodeType": "ImportDirective", - "scope": 26245, - "sourceUnit": 24397, - "src": "94:33:69", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26167, - "name": "ENSConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24396, - "src": "378:12:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSConstants_$24396", - "typeString": "contract ENSConstants" - } - }, - "id": 26168, - "nodeType": "InheritanceSpecifier", - "src": "378:12:69" - } - ], - "contractDependencies": [ - 24396, - 27262, - 27724 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26244, - "linearizedBaseContracts": [ - 26244, - 24396 - ], - "name": "ENSFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26172, - "name": "DeployENS", - "nodeType": "EventDefinition", - "parameters": { - "id": 26171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26170, - "indexed": false, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 26172, - "src": "413:11:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "413:7:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "412:13:69" - }, - "src": "397:29:69" - }, - { - "body": { - "id": 26242, - "nodeType": "Block", - "src": "638:539:69", - "statements": [ - { - "assignments": [ - 26180 - ], - "declarations": [ - { - "constant": false, - "id": 26180, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "648:7:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 26179, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "648:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26184, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "658:7:69", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ENS_$27262_$", - "typeString": "function () returns (contract ENS)" - }, - "typeName": { - "contractScope": null, - "id": 26181, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "662:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - }, - "id": 26183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "658:9:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "648:19:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26188, - "name": "ENS_ROOT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24383, - "src": "724:8:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26189, - "name": "ETH_TLD_LABEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24386, - "src": "734:13:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26190, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29971, - "src": "749:4:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26185, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "704:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "704:19:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 26191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "704:50:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26192, - "nodeType": "ExpressionStatement", - "src": "704:50:69" - }, - { - "assignments": [ - 26194 - ], - "declarations": [ - { - "constant": false, - "id": 26194, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "798:23:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 26193, - "name": "PublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27724, - "src": "798:14:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26197, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "843:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 26196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "824:18:69", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_AbstractENS_$27078_$returns$_t_contract$_PublicResolver_$27724_$", - "typeString": "function (contract AbstractENS) returns (contract PublicResolver)" - }, - "typeName": { - "contractScope": null, - "id": 26195, - "name": "PublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27724, - "src": "828:14:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - }, - "id": 26198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "824:23:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "798:49:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26203, - "name": "ETH_TLD_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24389, - "src": "877:12:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26204, - "name": "PUBLIC_RESOLVER_LABEL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24392, - "src": "891:21:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26205, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29971, - "src": "914:4:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSFactory_$26244", - "typeString": "contract ENSFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26200, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "857:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27215, - "src": "857:19:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 26206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "857:62:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26207, - "nodeType": "ExpressionStatement", - "src": "857:62:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26211, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "945:20:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26212, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "967:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 26208, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "929:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27238, - "src": "929:15:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:47:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26214, - "nodeType": "ExpressionStatement", - "src": "929:47:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26218, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "1003:20:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26219, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "1025:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 26215, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26194, - "src": "986:8:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 26217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27453, - "src": "986:16:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "986:48:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26221, - "nodeType": "ExpressionStatement", - "src": "986:48:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26225, - "name": "ETH_TLD_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24389, - "src": "1058:12:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26226, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26174, - "src": "1072:6:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26222, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1045:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "1045:12:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1045:34:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26228, - "nodeType": "ExpressionStatement", - "src": "1045:34:69" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26232, - "name": "ENS_ROOT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24383, - "src": "1102:8:69", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26233, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26174, - "src": "1112:6:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26229, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1089:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "id": 26231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27183, - "src": "1089:12:69", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 26234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1089:30:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26235, - "nodeType": "ExpressionStatement", - "src": "1089:30:69" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26237, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1145:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - ], - "id": 26236, - "name": "DeployENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26172, - "src": "1135:9:69", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 26238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:14:69", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26239, - "nodeType": "EmitStatement", - "src": "1130:19:69" - }, - { - "expression": { - "argumentTypes": null, - "id": 26240, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26180, - "src": "1167:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "functionReturnParameters": 26178, - "id": 26241, - "nodeType": "Return", - "src": "1160:10:69" - } - ] - }, - "documentation": "@notice Create a new ENS and set `_owner` as the owner of the top level domain.\n@param _owner Owner of .eth\n@return ENS", - "id": 26243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newENS", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26174, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "601:14:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "601:7:69", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "600:16:69" - }, - "payable": false, - "returnParameters": { - "id": 26178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26243, - "src": "633:3:69", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 26176, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "633:3:69", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "632:5:69" - }, - "scope": 26244, - "src": "585:592:69", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26245, - "src": "355:824:69" - } - ], - "src": "0:1180:69" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.246Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ENSSubdomainRegistrar.json b/templates/multisig/build/contracts/ENSSubdomainRegistrar.json deleted file mode 100644 index 43f2c4b..0000000 --- a/templates/multisig/build/contracts/ENSSubdomainRegistrar.json +++ /dev/null @@ -1,8822 +0,0 @@ -{ - "contractName": "ENSSubdomainRegistrar", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "POINT_ROOTNODE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ens", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "DELETE_NAME_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rootNode", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_NAME_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "label", - "type": "bytes32" - } - ], - "name": "NewName", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "label", - "type": "bytes32" - } - ], - "name": "DeleteName", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_ens", - "type": "address" - }, - { - "name": "_rootNode", - "type": "bytes32" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_label", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "createName", - "outputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_label", - "type": "bytes32" - }, - { - "name": "_target", - "type": "address" - } - ], - "name": "createNameAndPoint", - "outputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_label", - "type": "bytes32" - } - ], - "name": "deleteName", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_target", - "type": "address" - } - ], - "name": "pointRootNode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001d36833981519152640100000000620015c96200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062001d368339815191528264010000000062001a7b6200023782021704565b50565b5490565b9055565b611aeb806200024b6000396000f3006080604052600436106101035763ffffffff60e060020a6000350416630803fac081146101085780632914b9bd14610131578063307482cf146101a657806332f0a3b5146101cd5780633f15457f146101e257806365b0bc85146101f75780636b62cb1b1461021b5780637e7db6e11461023f57806380afdea8146102605780638b3dd749146102755780639d4941d81461028a578063a1658fad146102ad578063a479e50814610314578063bdbf7d4c14610329578063be13f47c1461033e578063d4aae0c414610362578063db60693114610377578063dc371e5414610398578063de4796ed146103b0578063faff50a8146103c5578063fef47e38146103da575b600080fd5b34801561011457600080fd5b5061011d6103ef565b604080519115158252519081900360200190f35b34801561013d57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261018a9436949293602493928401919081908401838280828437509497506104189650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156101b257600080fd5b506101bb6104fe565b60408051918252519081900360200190f35b3480156101d957600080fd5b5061018a610522565b3480156101ee57600080fd5b5061018a61059a565b34801561020357600080fd5b506101bb600435600160a060020a03602435166105a9565b34801561022757600080fd5b506101bb600435600160a060020a03602435166106a7565b34801561024b57600080fd5b5061011d600160a060020a036004351661075c565b34801561026c57600080fd5b506101bb610762565b34801561028157600080fd5b506101bb610792565b34801561029657600080fd5b506102ab600160a060020a03600435166107bd565b005b3480156102b957600080fd5b50604080516020600460443581810135838102808601850190965280855261011d958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610a4c9650505050505050565b34801561032057600080fd5b5061018a610b9c565b34801561033557600080fd5b506101bb610c51565b34801561034a57600080fd5b506102ab600160a060020a0360043516602435610c75565b34801561036e57600080fd5b5061018a610e4a565b34801561038357600080fd5b506102ab600160a060020a0360043516610e75565b3480156103a457600080fd5b506102ab600435610f3a565b3480156103bc57600080fd5b5061011d6112b2565b3480156103d157600080fd5b506101bb6112c5565b3480156103e657600080fd5b506101bb6112cb565b6000806103fa610792565b9050801580159061041257508061040f6112dd565b10155b91505090565b6000610422610b9c565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610480578181015183820152602001610468565b50505050905090810190601f1680156104ad5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60208110156104f657600080fd5b505192915050565b7f9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe81565b600061052c610e4a565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b505050506040513d602081101561059357600080fd5b5051905090565b600054600160a060020a031681565b60408051600080825260208201909252600080516020611a80833981519152906105d99033908390855b50610a4c565b60408051808201909152600f8152600080516020611aa083398151915260208201529015156106895760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561064e578181015183820152602001610636565b50505050905090810190601f16801561067b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061069484306112e1565b91506106a082846114a6565b5092915050565b60408051600080825260208201909252600080516020611a80833981519152906106d59033908390856105d3565b60408051808201909152600f8152600080516020611aa083398151915260208201529015156107495760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5061075484846112e1565b949350505050565b50600190565b600061078d7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6115c9565b905090565b600061078d7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6115c9565b60008060006107cb8461075c565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156108515760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5061085a610522565b9250610865836115d1565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156108eb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600160a060020a038416151561093c5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610936573d6000803e3d6000fd5b506109fb565b5082610957600160a060020a0382163063ffffffff6115fe16565b9150610973600160a060020a038216848463ffffffff6116fe16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156109f95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610a576103ef565b1515610a665760009150610b94565b610a6e610e4a565b9050600160a060020a0381161515610a895760009150610b94565b80600160a060020a031663fdef9106863087610aa488611774565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610b16578181015183820152602001610afe565b50505050905090810190601f168015610b435780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d6020811015610b8f57600080fd5b505191505b509392505050565b600080610ba7610e4a565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156104cc57600080fd5b7f03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e6862281565b610c7d610792565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610d025760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610d0b61177e565b6040805160e060020a6302571be30281526004810183905290513091600160a060020a038516916302571be3916024808201926020929091908290030181600087803b158015610d5a57600080fd5b505af1158015610d6e573d6000803e3d6000fd5b505050506040513d6020811015610d8457600080fd5b505160408051808201909152601881527f454e535355425f4e4f5f4e4f44455f4f574e4552534849500000000000000000602082015291600160a060020a0390911614610e165760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600155565b600061078d7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6115c9565b604080516000808252602082019092527f9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe91610eb59133918491906105d3565b60408051808201909152600f8152600080516020611aa08339815191526020820152901515610f295760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610f36600154836114a6565b5050565b6040805160008082526020820190925281907f03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e6862290610f7c9033908390856105d3565b60408051808201909152600f8152600080516020611aa08339815191526020820152901515610ff05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610ffa84611846565b600080546040805160e060020a6302571be3028152600481018590529051939650600160a060020a03909116926302571be392602480840193602093929083900390910190829087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d602081101561107a57600080fd5b505160408051808201909152601381527f454e535355425f444f45534e545f4558495354000000000000000000000000006020820152909250600160a060020a038316151561110e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600160a060020a038216301461119357600080546001546040805160e060020a6306ab592302815260048101929092526024820188905230604483015251600160a060020a03909216926306ab59239260648084019382900301818387803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050505b600080546040805160e160020a630c4b7b8502815260048101879052602481018490529051600160a060020a0390921692631896f70a9260448084019382900301818387803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505060008054604080517f5b0fc9c300000000000000000000000000000000000000000000000000000000815260048101899052602481018490529051600160a060020a039092169450635b0fc9c39350604480820193929182900301818387803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b50506040518692508591507f49a4cd9bb38e10e402c44a680c5e13f710666ed683cb9cbbc131f7dc9f8b9d6090600090a350505050565b60006000196112bf610792565b14905090565b60015481565b600080516020611a8083398151915281565b4390565b60006112ec83611846565b600080546040805160e060020a6302571be30281526004810185905290519394509192600160a060020a03909116916302571be391602480830192602092919082900301818787803b15801561134157600080fd5b505af1158015611355573d6000803e3d6000fd5b505050506040513d602081101561136b57600080fd5b505160408051808201909152601281527f454e535355425f4e414d455f4558495354530000000000000000000000000000602082015291600160a060020a03909116146113fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600080546001546040805160e060020a6306ab5923028152600481019290925260248201879052600160a060020a03868116604484015290519216926306ab59239260648084019382900301818387803b15801561145b57600080fd5b505af115801561146f573d6000803e3d6000fd5b50506040518592508391507f8f858576a6066f5ecb4d2f49d40fac9db317ff8d5f7610d58b616b657d7044cf90600090a392915050565b60006114d17ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56118d1565b600080546040805160e160020a630c4b7b8502815260048101889052600160a060020a0380861660248301529151949550911692631896f70a9260448084019391929182900301818387803b15801561152957600080fd5b505af115801561153d573d6000803e3d6000fd5b5050604080517fd5fa2b0000000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a0386811660248301529151918516935063d5fa2b00925060448082019260009290919082900301818387803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b50505050505050565b5490565b5490565b600080600160a060020a03831615156115ed57600091506115f8565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061166986846119fc565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156116f45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061176b8582611a2d565b95945050505050565b8051602002815290565b611786610792565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561180b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b506118446118176112dd565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff611a7b16565b565b6001546040805160208082019390935280820184905281518082038301815260609091019182905280516000939192918291908401908083835b6020831061189f5780518252601f199092019160209182019101611880565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b60008054604080517f0178b8bf0000000000000000000000000000000000000000000000000000000081526004810185905290518392600160a060020a031691630178b8bf91602480830192602092919082900301818787803b15801561193757600080fd5b505af115801561194b573d6000803e3d6000fd5b505050506040513d602081101561196157600080fd5b5051604080517f3b3b57de000000000000000000000000000000000000000000000000000000008152600481018690529051919250600160a060020a03831691633b3b57de916024808201926020929091908290030181600087803b1580156119c957600080fd5b505af11580156119dd573d6000803e3d6000fd5b505050506040513d60208110156119f357600080fd5b50519392505050565b6000806000806040516020818751602089018a5afa92506000831115611a2157805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611a71573d8015611a5e5760208114611a6757611a6f565b60019350611a6f565b600183511493505b505b5090949350505050565b90555600f86bc2abe0919ab91ef714b2bec7c148d94f61fdb069b91a6cfe9ecdee1799ba4150505f415554485f4641494c45440000000000000000000000000000000000a165627a7a7230582071a3677514152021a83a3fd25e097e0aaff94f3d8aed494172b3a216d534deda0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101035763ffffffff60e060020a6000350416630803fac081146101085780632914b9bd14610131578063307482cf146101a657806332f0a3b5146101cd5780633f15457f146101e257806365b0bc85146101f75780636b62cb1b1461021b5780637e7db6e11461023f57806380afdea8146102605780638b3dd749146102755780639d4941d81461028a578063a1658fad146102ad578063a479e50814610314578063bdbf7d4c14610329578063be13f47c1461033e578063d4aae0c414610362578063db60693114610377578063dc371e5414610398578063de4796ed146103b0578063faff50a8146103c5578063fef47e38146103da575b600080fd5b34801561011457600080fd5b5061011d6103ef565b604080519115158252519081900360200190f35b34801561013d57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261018a9436949293602493928401919081908401838280828437509497506104189650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156101b257600080fd5b506101bb6104fe565b60408051918252519081900360200190f35b3480156101d957600080fd5b5061018a610522565b3480156101ee57600080fd5b5061018a61059a565b34801561020357600080fd5b506101bb600435600160a060020a03602435166105a9565b34801561022757600080fd5b506101bb600435600160a060020a03602435166106a7565b34801561024b57600080fd5b5061011d600160a060020a036004351661075c565b34801561026c57600080fd5b506101bb610762565b34801561028157600080fd5b506101bb610792565b34801561029657600080fd5b506102ab600160a060020a03600435166107bd565b005b3480156102b957600080fd5b50604080516020600460443581810135838102808601850190965280855261011d958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610a4c9650505050505050565b34801561032057600080fd5b5061018a610b9c565b34801561033557600080fd5b506101bb610c51565b34801561034a57600080fd5b506102ab600160a060020a0360043516602435610c75565b34801561036e57600080fd5b5061018a610e4a565b34801561038357600080fd5b506102ab600160a060020a0360043516610e75565b3480156103a457600080fd5b506102ab600435610f3a565b3480156103bc57600080fd5b5061011d6112b2565b3480156103d157600080fd5b506101bb6112c5565b3480156103e657600080fd5b506101bb6112cb565b6000806103fa610792565b9050801580159061041257508061040f6112dd565b10155b91505090565b6000610422610b9c565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610480578181015183820152602001610468565b50505050905090810190601f1680156104ad5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60208110156104f657600080fd5b505192915050565b7f9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe81565b600061052c610e4a565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b505050506040513d602081101561059357600080fd5b5051905090565b600054600160a060020a031681565b60408051600080825260208201909252600080516020611a80833981519152906105d99033908390855b50610a4c565b60408051808201909152600f8152600080516020611aa083398151915260208201529015156106895760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561064e578181015183820152602001610636565b50505050905090810190601f16801561067b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061069484306112e1565b91506106a082846114a6565b5092915050565b60408051600080825260208201909252600080516020611a80833981519152906106d59033908390856105d3565b60408051808201909152600f8152600080516020611aa083398151915260208201529015156107495760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5061075484846112e1565b949350505050565b50600190565b600061078d7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6115c9565b905090565b600061078d7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6115c9565b60008060006107cb8461075c565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156108515760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5061085a610522565b9250610865836115d1565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156108eb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600160a060020a038416151561093c5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610936573d6000803e3d6000fd5b506109fb565b5082610957600160a060020a0382163063ffffffff6115fe16565b9150610973600160a060020a038216848463ffffffff6116fe16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156109f95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610a576103ef565b1515610a665760009150610b94565b610a6e610e4a565b9050600160a060020a0381161515610a895760009150610b94565b80600160a060020a031663fdef9106863087610aa488611774565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610b16578181015183820152602001610afe565b50505050905090810190601f168015610b435780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d6020811015610b8f57600080fd5b505191505b509392505050565b600080610ba7610e4a565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156104cc57600080fd5b7f03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e6862281565b610c7d610792565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610d025760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610d0b61177e565b6040805160e060020a6302571be30281526004810183905290513091600160a060020a038516916302571be3916024808201926020929091908290030181600087803b158015610d5a57600080fd5b505af1158015610d6e573d6000803e3d6000fd5b505050506040513d6020811015610d8457600080fd5b505160408051808201909152601881527f454e535355425f4e4f5f4e4f44455f4f574e4552534849500000000000000000602082015291600160a060020a0390911614610e165760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600155565b600061078d7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6115c9565b604080516000808252602082019092527f9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe91610eb59133918491906105d3565b60408051808201909152600f8152600080516020611aa08339815191526020820152901515610f295760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610f36600154836114a6565b5050565b6040805160008082526020820190925281907f03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e6862290610f7c9033908390856105d3565b60408051808201909152600f8152600080516020611aa08339815191526020820152901515610ff05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50610ffa84611846565b600080546040805160e060020a6302571be3028152600481018590529051939650600160a060020a03909116926302571be392602480840193602093929083900390910190829087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d602081101561107a57600080fd5b505160408051808201909152601381527f454e535355425f444f45534e545f4558495354000000000000000000000000006020820152909250600160a060020a038316151561110e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600160a060020a038216301461119357600080546001546040805160e060020a6306ab592302815260048101929092526024820188905230604483015251600160a060020a03909216926306ab59239260648084019382900301818387803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050505b600080546040805160e160020a630c4b7b8502815260048101879052602481018490529051600160a060020a0390921692631896f70a9260448084019382900301818387803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505060008054604080517f5b0fc9c300000000000000000000000000000000000000000000000000000000815260048101899052602481018490529051600160a060020a039092169450635b0fc9c39350604480820193929182900301818387803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b50506040518692508591507f49a4cd9bb38e10e402c44a680c5e13f710666ed683cb9cbbc131f7dc9f8b9d6090600090a350505050565b60006000196112bf610792565b14905090565b60015481565b600080516020611a8083398151915281565b4390565b60006112ec83611846565b600080546040805160e060020a6302571be30281526004810185905290519394509192600160a060020a03909116916302571be391602480830192602092919082900301818787803b15801561134157600080fd5b505af1158015611355573d6000803e3d6000fd5b505050506040513d602081101561136b57600080fd5b505160408051808201909152601281527f454e535355425f4e414d455f4558495354530000000000000000000000000000602082015291600160a060020a03909116146113fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b50600080546001546040805160e060020a6306ab5923028152600481019290925260248201879052600160a060020a03868116604484015290519216926306ab59239260648084019382900301818387803b15801561145b57600080fd5b505af115801561146f573d6000803e3d6000fd5b50506040518592508391507f8f858576a6066f5ecb4d2f49d40fac9db317ff8d5f7610d58b616b657d7044cf90600090a392915050565b60006114d17ffdd5d5de6dd63db72bbc2d487944ba13bf775b50a80805fe6fcaba9b0fba88f56118d1565b600080546040805160e160020a630c4b7b8502815260048101889052600160a060020a0380861660248301529151949550911692631896f70a9260448084019391929182900301818387803b15801561152957600080fd5b505af115801561153d573d6000803e3d6000fd5b5050604080517fd5fa2b0000000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a0386811660248301529151918516935063d5fa2b00925060448082019260009290919082900301818387803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b50505050505050565b5490565b5490565b600080600160a060020a03831615156115ed57600091506115f8565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061166986846119fc565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156116f45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061176b8582611a2d565b95945050505050565b8051602002815290565b611786610792565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561180b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561064e578181015183820152602001610636565b506118446118176112dd565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff611a7b16565b565b6001546040805160208082019390935280820184905281518082038301815260609091019182905280516000939192918291908401908083835b6020831061189f5780518252601f199092019160209182019101611880565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b60008054604080517f0178b8bf0000000000000000000000000000000000000000000000000000000081526004810185905290518392600160a060020a031691630178b8bf91602480830192602092919082900301818787803b15801561193757600080fd5b505af115801561194b573d6000803e3d6000fd5b505050506040513d602081101561196157600080fd5b5051604080517f3b3b57de000000000000000000000000000000000000000000000000000000008152600481018690529051919250600160a060020a03831691633b3b57de916024808201926020929091908290030181600087803b1580156119c957600080fd5b505af11580156119dd573d6000803e3d6000fd5b505050506040513d60208110156119f357600080fd5b50519392505050565b6000806000806040516020818751602089018a5afa92506000831115611a2157805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611a71573d8015611a5e5760208114611a6757611a6f565b60019350611a6f565b600183511493505b505b5090949350505050565b90555600f86bc2abe0919ab91ef714b2bec7c148d94f61fdb069b91a6cfe9ecdee1799ba4150505f415554485f4641494c45440000000000000000000000000000000000a165627a7a7230582071a3677514152021a83a3fd25e097e0aaff94f3d8aed494172b3a216d534deda0029", - "sourceMap": "243:4755:58:-;;;344:9:40;:7;;;;:9;:::i;:::-;243:4755:58;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;243:4755:58:-;;;;;;;", - "deployedSourceMap": "243:4755:58:-;;;;;;;;;-1:-1:-1;;;243:4755:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;823:112:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:112:58;;;;;;;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;1172:22:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1172:22:58;;;;2819:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2819:216:58;;;-1:-1:-1;;;;;2819:216:58;;;;;2349:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2349:158:58;;;-1:-1:-1;;;;;2349:158:58;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;708:109:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;708:109:58;;;;1823:285;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1823:285:58;-1:-1:-1;;;;;1823:285:58;;;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;3929:137:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3929:137:58;-1:-1:-1;;;;;3929:137:58;;;;;3168:604;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3168:604:58;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1200:23:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1200:23:58;;;;593:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;593:109:58;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;823:112:58:-;869:66;823:112;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;1172:22:58:-;;;-1:-1:-1;;;;;1172:22:58;;:::o;2819:216::-;1020:16:39;;;2921:12:58;1020:16:39;;;;;;;;;-1:-1:-1;;;;;;;;;;;636:66:58;990:47:39;;1001:10;;636:66:58;;2921:12;1020:16:39;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2952:25:58;2964:6;2972:4;2952:11;:25::i;:::-;2945:32;;2987:41;3014:4;3020:7;2987:26;:41::i;:::-;2819:216;;;;;:::o;2349:158::-;1020:16:39;;;2442:12:58;1020:16:39;;;;;;;;;-1:-1:-1;;;;;;;;;;;636:66:58;990:47:39;;1001:10;;636:66:58;;2442:12;1020:16:39;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;2473:27:58;2485:6;2493;2473:11;:27::i;:::-;2466:34;2349:158;-1:-1:-1;;;;2349:158:58:o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;708:109:58;751:66;708:109;:::o;1823:285::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1906:13:58;:11;:13::i;:::-;1986:21;;;-1:-1:-1;;;;;1986:21:58;;;;;;;;;;2019:4;;-1:-1:-1;;;;;1986:10:58;;;;;:21;;;;;;;;;;;;;;;;:10;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;1986:21:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1986:21:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1986:21:58;2026:23;;;;;;;;;;;;;1986:21;2026:23;;;;-1:-1:-1;;;;;1986:38:58;;;;1978:72;;;;-1:-1:-1;;;;;1978:72:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1978:72:58;-1:-1:-1;2061:3:58;:10;;-1:-1:-1;;2061:10:58;-1:-1:-1;;;;;2061:10:58;;;;;;;;;;;-1:-1:-1;2081:20:58;1823:285::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;3929:137:58:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;869:66:58;;990:47:39;;1001:10;;869:66:58;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;4014:45:58;4041:8;;4051:7;4014:26;:45::i;:::-;3929:137;;:::o;3168:604::-;1020:16:39;;;3246:12:58;1020:16:39;;;;;;;;;3246:12:58;;751:66;;990:47:39;;1001:10;;751:66:58;;3246:12;1020:16:39;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;3261:23:58;3277:6;3261:15;:23::i;:::-;3318:3;;;:15;;;-1:-1:-1;;;;;3318:15:58;;;;;;;;;;3246:38;;-1:-1:-1;;;;;;3318:3:58;;;;:9;;:15;;;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;3318:15:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3318:15:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3318:15:58;3380:23;;;;;;;;;;;;;3318:15;3380:23;;;3318:15;;-1:-1:-1;;;;;;3352:26:58;;;;3344:60;;;;-1:-1:-1;;;;;3344:60:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3344:60:58;-1:-1:-1;;;;;;3450:29:58;;3474:4;3450:29;3446:156;;3548:3;;;;3568:8;3548:43;;;-1:-1:-1;;;;;3548:43:58;;;;;;;;;;;;;;;3586:4;3548:43;;;;;-1:-1:-1;;;;;3548:3:58;;;;:19;;:43;;;;;;;;;;:3;;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;3548:43:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3548:43:58;;;;3446:156;3612:3;;;:33;;;-1:-1:-1;;;;;3612:33:58;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3612:3:58;;;;:15;;:33;;;;;;;;;;:3;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;3612:33:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3695:3:58;;;:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3695:3:58;;;;-1:-1:-1;3695:12:58;;-1:-1:-1;3695:30:58;;;;;:3;:30;;;;;;:3;;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;3695:30:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3741:24:58;;3758:6;;-1:-1:-1;3752:4:58;;-1:-1:-1;3741:24:58;;;;;3168:604;;;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;1200:23:58:-;;;;:::o;593:109::-;-1:-1:-1;;;;;;;;;;;593:109:58;:::o;347:94:53:-;422:12;347:94;:::o;4072:334:58:-;4143:12;4174:23;4190:6;4174:15;:23::i;:::-;4242:1;4215:3;;:15;;;-1:-1:-1;;;;;4215:15:58;;;;;;;;;;;;-1:-1:-1;4242:1:58;;-1:-1:-1;;;;;4215:3:58;;;;:9;;:15;;;;;;;;;;;;;;4242:1;4215:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;4215:15:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4215:15:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4215:15:58;4246:17;;;;;;;;;;;;;4215:15;4246:17;;;;-1:-1:-1;;;;;4215:29:58;;;;4207:57;;;;-1:-1:-1;;;;;4207:57:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4207:57:58;-1:-1:-1;4295:3:58;;;;4315:8;4295:45;;;-1:-1:-1;;;;;4295:45:58;;;;;;;;;;;;;;;-1:-1:-1;;;;;4295:45:58;;;;;;;;;:3;;;:19;;:45;;;;;;;;;;:3;;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;4295:45:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4356:21:58;;4370:6;;-1:-1:-1;4364:4:58;;-1:-1:-1;4356:21:58;;;;;4072:334;;;;:::o;4412:261::-;4499:22;4524:29;1008:66:57;4524:7:58;:29::i;:::-;4563:3;;;:38;;;-1:-1:-1;;;;;4563:38:58;;;;;;;;-1:-1:-1;;;;;4563:38:58;;;;;;;;;4499:54;;-1:-1:-1;4563:3:58;;;:15;;:38;;;;;:3;;:38;;;;;;:3;;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;4563:38:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4612:54:58;;;;;;;;;;;;-1:-1:-1;;;;;4612:54:58;;;;;;;;;:38;;;;-1:-1:-1;4612:38:58;;-1:-1:-1;4612:54:58;;;;;;;;;;;;;;;;:38;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;4612:54:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4612:54:58;;;;4412:261;;;:::o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;4854:142:58:-;4971:8;;4954:34;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;4954:34:58;;;;;;;;4944:45;;4918:7;;4954:34;;;;;4944:45;;;;;4954:34;4944:45;36:153:-1;66:2;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;;4944:45:58;;;;;;;;;;;;-1:-1:-1;;;;;4854:142:58:o;4679:169::-;4733:7;4771:3;;:18;;;;;;;;;;;;;;4733:7;;-1:-1:-1;;;;;4771:3:58;;:12;;:18;;;;;;;;;;;;;;4733:7;4771:3;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;4771:18:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4771:18:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4771:18:58;4806:35;;;;;;;;;;;;;;4771:18;;-1:-1:-1;;;;;;4806:29:58;;;;;:35;;;;;4771:18;;4806:35;;;;;;;;;:29;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;4806:35:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4806:35:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4806:35:58;;4679:169;-1:-1:-1;;;4679:169:58:o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../lib/ens/AbstractENS.sol\";\nimport \"../lib/ens/PublicResolver.sol\";\nimport \"./ENSConstants.sol\";\n\nimport \"../apps/AragonApp.sol\";\n\n\n/* solium-disable function-order */\n// Allow public initialize() to be first\ncontract ENSSubdomainRegistrar is AragonApp, ENSConstants {\n /* Hardcoded constants to save gas\n bytes32 public constant CREATE_NAME_ROLE = keccak256(\"CREATE_NAME_ROLE\");\n bytes32 public constant DELETE_NAME_ROLE = keccak256(\"DELETE_NAME_ROLE\");\n bytes32 public constant POINT_ROOTNODE_ROLE = keccak256(\"POINT_ROOTNODE_ROLE\");\n */\n bytes32 public constant CREATE_NAME_ROLE = 0xf86bc2abe0919ab91ef714b2bec7c148d94f61fdb069b91a6cfe9ecdee1799ba;\n bytes32 public constant DELETE_NAME_ROLE = 0x03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e68622;\n bytes32 public constant POINT_ROOTNODE_ROLE = 0x9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe;\n\n string private constant ERROR_NO_NODE_OWNERSHIP = \"ENSSUB_NO_NODE_OWNERSHIP\";\n string private constant ERROR_NAME_EXISTS = \"ENSSUB_NAME_EXISTS\";\n string private constant ERROR_NAME_DOESNT_EXIST = \"ENSSUB_DOESNT_EXIST\";\n\n AbstractENS public ens;\n bytes32 public rootNode;\n\n event NewName(bytes32 indexed node, bytes32 indexed label);\n event DeleteName(bytes32 indexed node, bytes32 indexed label);\n\n /**\n * @dev Initialize can only be called once. It saves the block number in which it was initialized. This contract must be the owner of the `_rootNode` node so that it can create subdomains.\n * @notice Initialize this ENSSubdomainRegistrar instance with `_ens` as the root ENS registry and `_rootNode` as the node to allocate subdomains under\n * @param _ens Address of ENS registry\n * @param _rootNode Node to allocate subdomains under\n */\n function initialize(AbstractENS _ens, bytes32 _rootNode) public onlyInit {\n initialized();\n\n // We need ownership to create subnodes\n require(_ens.owner(_rootNode) == address(this), ERROR_NO_NODE_OWNERSHIP);\n\n ens = _ens;\n rootNode = _rootNode;\n }\n\n /**\n * @notice Create a new ENS subdomain record for `_label` and assign ownership to `_owner`\n * @param _label Label of new subdomain\n * @param _owner Owner of new subdomain\n * @return node Hash of created node\n */\n function createName(bytes32 _label, address _owner) external auth(CREATE_NAME_ROLE) returns (bytes32 node) {\n return _createName(_label, _owner);\n }\n\n /**\n * @notice Create a new ENS subdomain record for `_label` that resolves to `_target` and is owned by this ENSSubdomainRegistrar\n * @param _label Label of new subdomain\n * @param _target Ethereum address this new subdomain label will point to\n * @return node Hash of created node\n */\n function createNameAndPoint(bytes32 _label, address _target) external auth(CREATE_NAME_ROLE) returns (bytes32 node) {\n node = _createName(_label, this);\n _pointToResolverAndResolve(node, _target);\n }\n\n /**\n * @notice Deregister ENS subdomain record for `_label`\n * @param _label Label of subdomain to deregister\n */\n function deleteName(bytes32 _label) external auth(DELETE_NAME_ROLE) {\n bytes32 node = getNodeForLabel(_label);\n\n address currentOwner = ens.owner(node);\n\n require(currentOwner != address(0), ERROR_NAME_DOESNT_EXIST); // fail if deleting unset name\n\n if (currentOwner != address(this)) { // needs to reclaim ownership so it can set resolver\n ens.setSubnodeOwner(rootNode, _label, this);\n }\n\n ens.setResolver(node, address(0)); // remove resolver so it ends resolving\n ens.setOwner(node, address(0));\n\n emit DeleteName(node, _label);\n }\n\n /**\n * @notice Resolve this ENSSubdomainRegistrar's root node to `_target`\n * @param _target Ethereum address root node will point to\n */\n function pointRootNode(address _target) external auth(POINT_ROOTNODE_ROLE) {\n _pointToResolverAndResolve(rootNode, _target);\n }\n\n function _createName(bytes32 _label, address _owner) internal returns (bytes32 node) {\n node = getNodeForLabel(_label);\n require(ens.owner(node) == address(0), ERROR_NAME_EXISTS); // avoid name reset\n\n ens.setSubnodeOwner(rootNode, _label, _owner);\n\n emit NewName(node, _label);\n\n return node;\n }\n\n function _pointToResolverAndResolve(bytes32 _node, address _target) internal {\n address publicResolver = getAddr(PUBLIC_RESOLVER_NODE);\n ens.setResolver(_node, publicResolver);\n\n PublicResolver(publicResolver).setAddr(_node, _target);\n }\n\n function getAddr(bytes32 node) internal view returns (address) {\n address resolver = ens.resolver(node);\n return PublicResolver(resolver).addr(node);\n }\n\n function getNodeForLabel(bytes32 _label) internal view returns (bytes32) {\n return keccak256(abi.encodePacked(rootNode, _label));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "exportedSymbols": { - "ENSSubdomainRegistrar": [ - 24710 - ] - }, - "id": 24711, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24398, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:58" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 24399, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 27079, - "src": "25:36:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "../lib/ens/PublicResolver.sol", - "id": 24400, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 27725, - "src": "62:39:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "file": "./ENSConstants.sol", - "id": 24401, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 24397, - "src": "102:28:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 24402, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 23454, - "src": "132:31:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24403, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "277:9:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 24404, - "nodeType": "InheritanceSpecifier", - "src": "277:9:58" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24405, - "name": "ENSConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24396, - "src": "288:12:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSConstants_$24396", - "typeString": "contract ENSConstants" - } - }, - "id": 24406, - "nodeType": "InheritanceSpecifier", - "src": "288:12:58" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 24396, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24710, - "linearizedBaseContracts": [ - 24710, - 24396, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "ENSSubdomainRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24409, - "name": "CREATE_NAME_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "593:109:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24407, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "593:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866383662633261626530393139616239316566373134623262656337633134386439346636316664623036396239316136636665396563646565313739396261", - "id": 24408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "636:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112363982657173360396425575764495476565734584960655350882930729798743159708090_by_1", - "typeString": "int_const 1123...(70 digits omitted)...8090" - }, - "value": "0xf86bc2abe0919ab91ef714b2bec7c148d94f61fdb069b91a6cfe9ecdee1799ba" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24412, - "name": "DELETE_NAME_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "708:109:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "708:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830336437346338373234323138616434613939383539626362326438343664333939393934343966643138303133646438643639303936363237653638363232", - "id": 24411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1737338840797348949184693303106258589657778424843984267888194804845291931170_by_1", - "typeString": "int_const 1737...(68 digits omitted)...1170" - }, - "value": "0x03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e68622" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24415, - "name": "POINT_ROOTNODE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "823:112:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "823:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839656364306537626464623265323431633431623539356134333663346561346664333363396661306361613830353661636630383466633361613362666265", - "id": 24414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "869:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71827733688305558270341584922533105052541179257016208895543152585058134769598_by_1", - "typeString": "int_const 7182...(69 digits omitted)...9598" - }, - "value": "0x9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24418, - "name": "ERROR_NO_NODE_OWNERSHIP", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "942:76:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "942:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f4e4f5f4e4f44455f4f574e455253484950", - "id": 24417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "992:26:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2f6a9afac1cee983c84813c7aecb013b6f41e03f6139511fb31aae483711ac1d", - "typeString": "literal_string \"ENSSUB_NO_NODE_OWNERSHIP\"" - }, - "value": "ENSSUB_NO_NODE_OWNERSHIP" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24421, - "name": "ERROR_NAME_EXISTS", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1024:64:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24419, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1024:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f4e414d455f455849535453", - "id": 24420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1068:20:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f397268508c4761e4cbee0697919387acb7f0ba3feb3813b1f1852c02651e3ff", - "typeString": "literal_string \"ENSSUB_NAME_EXISTS\"" - }, - "value": "ENSSUB_NAME_EXISTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24424, - "name": "ERROR_NAME_DOESNT_EXIST", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1094:71:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24422, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1094:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f444f45534e545f4558495354", - "id": 24423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1144:21:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4134fb2d7fdec78a109978fab982f3d066d5c271fd277d105d6cd8ced636876", - "typeString": "literal_string \"ENSSUB_DOESNT_EXIST\"" - }, - "value": "ENSSUB_DOESNT_EXIST" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 24426, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1172:22:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 24425, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1172:11:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 24428, - "name": "rootNode", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1200:23:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24427, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1200:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 24434, - "name": "NewName", - "nodeType": "EventDefinition", - "parameters": { - "id": 24433, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24430, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24434, - "src": "1244:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24429, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1244:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24432, - "indexed": true, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 24434, - "src": "1266:21:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24431, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1266:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1243:45:58" - }, - "src": "1230:59:58" - }, - { - "anonymous": false, - "documentation": null, - "id": 24440, - "name": "DeleteName", - "nodeType": "EventDefinition", - "parameters": { - "id": 24439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24436, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24440, - "src": "1311:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24435, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1311:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24438, - "indexed": true, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 24440, - "src": "1333:21:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24437, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1333:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1310:45:58" - }, - "src": "1294:62:58" - }, - { - "body": { - "id": 24472, - "nodeType": "Block", - "src": "1896:212:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24449, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1906:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 24450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:13:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24451, - "nodeType": "ExpressionStatement", - "src": "1906:13:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24455, - "name": "_rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24444, - "src": "1997:9:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24453, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24442, - "src": "1986:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "1986:10:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1986:21:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "2019:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2011:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2011:13:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1986:38:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24461, - "name": "ERROR_NO_NODE_OWNERSHIP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24418, - "src": "2026:23:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24452, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1978:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1978:72:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24463, - "nodeType": "ExpressionStatement", - "src": "1978:72:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24464, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "2061:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 24465, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24442, - "src": "2067:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "2061:10:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24467, - "nodeType": "ExpressionStatement", - "src": "2061:10:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24468, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "2081:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 24469, - "name": "_rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24444, - "src": "2092:9:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2081:20:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24471, - "nodeType": "ExpressionStatement", - "src": "2081:20:58" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized. This contract must be the owner of the `_rootNode` node so that it can create subdomains.\n@notice Initialize this ENSSubdomainRegistrar instance with `_ens` as the root ENS registry and `_rootNode` as the node to allocate subdomains under\n@param _ens Address of ENS registry\n@param _rootNode Node to allocate subdomains under", - "id": 24473, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 24447, - "modifierName": { - "argumentTypes": null, - "id": 24446, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1887:8:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1887:8:58" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24442, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 24473, - "src": "1843:16:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 24441, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1843:11:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24444, - "name": "_rootNode", - "nodeType": "VariableDeclaration", - "scope": 24473, - "src": "1861:17:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24443, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1861:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1842:37:58" - }, - "payable": false, - "returnParameters": { - "id": 24448, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:58" - }, - "scope": 24710, - "src": "1823:285:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 24490, - "nodeType": "Block", - "src": "2456:51:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24486, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24475, - "src": "2485:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24477, - "src": "2493:6:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24485, - "name": "_createName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24642, - "src": "2473:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) returns (bytes32)" - } - }, - "id": 24488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2473:27:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24484, - "id": 24489, - "nodeType": "Return", - "src": "2466:34:58" - } - ] - }, - "documentation": "@notice Create a new ENS subdomain record for `_label` and assign ownership to `_owner`\n@param _label Label of new subdomain\n@param _owner Owner of new subdomain\n@return node Hash of created node", - "id": 24491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24480, - "name": "CREATE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24409, - "src": "2415:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24481, - "modifierName": { - "argumentTypes": null, - "id": 24479, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2410:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2410:22:58" - } - ], - "name": "createName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24475, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2369:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24474, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2369:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24477, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2385:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2368:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24483, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2442:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24482, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2442:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2441:14:58" - }, - "scope": 24710, - "src": "2349:158:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24515, - "nodeType": "Block", - "src": "2935:100:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24503, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24501, - "src": "2945:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24505, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24493, - "src": "2964:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24506, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "2972:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24504, - "name": "_createName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24642, - "src": "2952:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) returns (bytes32)" - } - }, - "id": 24507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2952:25:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2945:32:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24509, - "nodeType": "ExpressionStatement", - "src": "2945:32:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24511, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24501, - "src": "3014:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24512, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24495, - "src": "3020:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24510, - "name": "_pointToResolverAndResolve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24671, - "src": "2987:26:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 24513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2987:41:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24514, - "nodeType": "ExpressionStatement", - "src": "2987:41:58" - } - ] - }, - "documentation": "@notice Create a new ENS subdomain record for `_label` that resolves to `_target` and is owned by this ENSSubdomainRegistrar\n@param _label Label of new subdomain\n@param _target Ethereum address this new subdomain label will point to\n@return node Hash of created node", - "id": 24516, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24498, - "name": "CREATE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24409, - "src": "2894:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24499, - "modifierName": { - "argumentTypes": null, - "id": 24497, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2889:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2889:22:58" - } - ], - "name": "createNameAndPoint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24493, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2847:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2847:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24495, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2863:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2863:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2846:33:58" - }, - "payable": false, - "returnParameters": { - "id": 24502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24501, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2921:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24500, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2921:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:14:58" - }, - "scope": 24710, - "src": "2819:216:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24584, - "nodeType": "Block", - "src": "3236:536:58", - "statements": [ - { - "assignments": [ - 24525 - ], - "declarations": [ - { - "constant": false, - "id": 24525, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3246:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24524, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3246:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24529, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24527, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3277:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24526, - "name": "getNodeForLabel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24709, - "src": "3261:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 24528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3261:23:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3246:38:58" - }, - { - "assignments": [ - 24531 - ], - "declarations": [ - { - "constant": false, - "id": 24531, - "name": "currentOwner", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3295:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3295:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24536, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24534, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3328:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24532, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3318:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "3318:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3318:15:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3295:38:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24538, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24531, - "src": "3352:12:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3376:1:58", - "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": 24539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3368:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3368:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3352:26:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24543, - "name": "ERROR_NAME_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24424, - "src": "3380:23:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24537, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3344:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3344:60:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24545, - "nodeType": "ExpressionStatement", - "src": "3344:60:58" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24546, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24531, - "src": "3450:12:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24548, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "3474:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3466:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3466:13:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3450:29:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 24560, - "nodeType": "IfStatement", - "src": "3446:156:58", - "trueBody": { - "id": 24559, - "nodeType": "Block", - "src": "3481:121:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24554, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "3568:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24555, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3578:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24556, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "3586:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 24551, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3548:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "3548:19:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 24557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3548:43:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24558, - "nodeType": "ExpressionStatement", - "src": "3548:43:58" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24564, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3628:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3642:1:58", - "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": 24565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3634:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3634:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24561, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3612:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "3612:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3612:33:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24569, - "nodeType": "ExpressionStatement", - "src": "3612:33:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24573, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3708:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3722:1:58", - "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": 24574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3714:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3714:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24570, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3695:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27028, - "src": "3695:12:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3695:30:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24578, - "nodeType": "ExpressionStatement", - "src": "3695:30:58" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24580, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3752:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24581, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3758:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24579, - "name": "DeleteName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24440, - "src": "3741:10:58", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 24582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:24:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24583, - "nodeType": "EmitStatement", - "src": "3736:29:58" - } - ] - }, - "documentation": "@notice Deregister ENS subdomain record for `_label`\n@param _label Label of subdomain to deregister", - "id": 24585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24521, - "name": "DELETE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24412, - "src": "3218:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24522, - "modifierName": { - "argumentTypes": null, - "id": 24520, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3213:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3213:22:58" - } - ], - "name": "deleteName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24518, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3188:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24517, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3188:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3187:16:58" - }, - "payable": false, - "returnParameters": { - "id": 24523, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:0:58" - }, - "scope": 24710, - "src": "3168:604:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24598, - "nodeType": "Block", - "src": "4004:62:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24594, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4041:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24595, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24587, - "src": "4051:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24593, - "name": "_pointToResolverAndResolve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24671, - "src": "4014:26:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 24596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4014:45:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24597, - "nodeType": "ExpressionStatement", - "src": "4014:45:58" - } - ] - }, - "documentation": "@notice Resolve this ENSSubdomainRegistrar's root node to `_target`\n@param _target Ethereum address root node will point to", - "id": 24599, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24590, - "name": "POINT_ROOTNODE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24415, - "src": "3983:19:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24591, - "modifierName": { - "argumentTypes": null, - "id": 24589, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3978:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3978:25:58" - } - ], - "name": "pointRootNode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24587, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24599, - "src": "3952:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3952:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3951:17:58" - }, - "payable": false, - "returnParameters": { - "id": 24592, - "nodeType": "ParameterList", - "parameters": [], - "src": "4004:0:58" - }, - "scope": 24710, - "src": "3929:137:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24641, - "nodeType": "Block", - "src": "4157:249:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24608, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4167:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24610, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4190:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24609, - "name": "getNodeForLabel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24709, - "src": "4174:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 24611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4174:23:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4167:30:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24613, - "nodeType": "ExpressionStatement", - "src": "4167:30:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24617, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4225:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24615, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4215:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "4215:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4215:15:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4242:1:58", - "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": 24619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4234:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4234:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4215:29:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24623, - "name": "ERROR_NAME_EXISTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24421, - "src": "4246:17:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4207:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4207:57:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24625, - "nodeType": "ExpressionStatement", - "src": "4207:57:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24629, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4315:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24630, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4325:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24631, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24603, - "src": "4333:6:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24626, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4295:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "4295:19:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 24632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4295:45:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24633, - "nodeType": "ExpressionStatement", - "src": "4295:45:58" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24635, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4364:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24636, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4370:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24634, - "name": "NewName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24434, - "src": "4356:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 24637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4356:21:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24638, - "nodeType": "EmitStatement", - "src": "4351:26:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24639, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4395:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24607, - "id": 24640, - "nodeType": "Return", - "src": "4388:11:58" - } - ] - }, - "documentation": null, - "id": 24642, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24601, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4093:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24600, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4093:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24603, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4109:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24602, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4109:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4092:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24606, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4143:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24605, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4143:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4142:14:58" - }, - "scope": 24710, - "src": "4072:334:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24670, - "nodeType": "Block", - "src": "4489:184:58", - "statements": [ - { - "assignments": [ - 24650 - ], - "declarations": [ - { - "constant": false, - "id": 24650, - "name": "publicResolver", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4499:22:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4499:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24654, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24652, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "4532:20:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24651, - "name": "getAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24693, - "src": "4524:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 24653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4524:29:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4499:54:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24658, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24644, - "src": "4579:5:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24659, - "name": "publicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24650, - "src": "4586:14:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24655, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4563:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "4563:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4563:38:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24661, - "nodeType": "ExpressionStatement", - "src": "4563:38:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24666, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24644, - "src": "4651:5:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24667, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24646, - "src": "4658:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24663, - "name": "publicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24650, - "src": "4627:14:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24662, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "4612:14:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 24664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4612:30:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 24665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27453, - "src": "4612:38:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4612:54:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24669, - "nodeType": "ExpressionStatement", - "src": "4612:54:58" - } - ] - }, - "documentation": null, - "id": 24671, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_pointToResolverAndResolve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24644, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4448:13:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4448:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24646, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4463:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4463:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4447:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24648, - "nodeType": "ParameterList", - "parameters": [], - "src": "4489:0:58" - }, - "scope": 24710, - "src": "4412:261:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24692, - "nodeType": "Block", - "src": "4742:106:58", - "statements": [ - { - "assignments": [ - 24679 - ], - "declarations": [ - { - "constant": false, - "id": 24679, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4752:16:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4752:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24684, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24682, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24673, - "src": "4784:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24680, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4771:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27014, - "src": "4771:12:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4771:18:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4752:37:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24689, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24673, - "src": "4836:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24686, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24679, - "src": "4821:8:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24685, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "4806:14:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 24687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:24:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 24688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27430, - "src": "4806:29:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:35:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 24677, - "id": 24691, - "nodeType": "Return", - "src": "4799:42:58" - } - ] - }, - "documentation": null, - "id": 24693, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24673, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4696:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24672, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4696:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:14:58" - }, - "payable": false, - "returnParameters": { - "id": 24677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24676, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4733:7:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4733:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4732:9:58" - }, - "scope": 24710, - "src": "4679:169:58", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24708, - "nodeType": "Block", - "src": "4927:69:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24703, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4971:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24704, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24695, - "src": "4981:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24701, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4954:3:58", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4954:16:58", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 24705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4954:34:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24700, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4944:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 24706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4944:45:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24699, - "id": 24707, - "nodeType": "Return", - "src": "4937:52:58" - } - ] - }, - "documentation": null, - "id": 24709, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNodeForLabel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24695, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24709, - "src": "4879:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24694, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4879:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4878:16:58" - }, - "payable": false, - "returnParameters": { - "id": 24699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24698, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24709, - "src": "4918:7:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24697, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4918:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4917:9:58" - }, - "scope": 24710, - "src": "4854:142:58", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24711, - "src": "243:4755:58" - } - ], - "src": "0:4999:58" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/ens/ENSSubdomainRegistrar.sol", - "exportedSymbols": { - "ENSSubdomainRegistrar": [ - 24710 - ] - }, - "id": 24711, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24398, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:58" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "../lib/ens/AbstractENS.sol", - "id": 24399, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 27079, - "src": "25:36:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "file": "../lib/ens/PublicResolver.sol", - "id": 24400, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 27725, - "src": "62:39:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/ens/ENSConstants.sol", - "file": "./ENSConstants.sol", - "id": 24401, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 24397, - "src": "102:28:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 24402, - "nodeType": "ImportDirective", - "scope": 24711, - "sourceUnit": 23454, - "src": "132:31:58", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24403, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "277:9:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 24404, - "nodeType": "InheritanceSpecifier", - "src": "277:9:58" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24405, - "name": "ENSConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24396, - "src": "288:12:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSConstants_$24396", - "typeString": "contract ENSConstants" - } - }, - "id": 24406, - "nodeType": "InheritanceSpecifier", - "src": "288:12:58" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 24396, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24710, - "linearizedBaseContracts": [ - 24710, - 24396, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "ENSSubdomainRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24409, - "name": "CREATE_NAME_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "593:109:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24407, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "593:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866383662633261626530393139616239316566373134623262656337633134386439346636316664623036396239316136636665396563646565313739396261", - "id": 24408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "636:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112363982657173360396425575764495476565734584960655350882930729798743159708090_by_1", - "typeString": "int_const 1123...(70 digits omitted)...8090" - }, - "value": "0xf86bc2abe0919ab91ef714b2bec7c148d94f61fdb069b91a6cfe9ecdee1799ba" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24412, - "name": "DELETE_NAME_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "708:109:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "708:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830336437346338373234323138616434613939383539626362326438343664333939393934343966643138303133646438643639303936363237653638363232", - "id": 24411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1737338840797348949184693303106258589657778424843984267888194804845291931170_by_1", - "typeString": "int_const 1737...(68 digits omitted)...1170" - }, - "value": "0x03d74c8724218ad4a99859bcb2d846d39999449fd18013dd8d69096627e68622" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24415, - "name": "POINT_ROOTNODE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "823:112:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "823:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839656364306537626464623265323431633431623539356134333663346561346664333363396661306361613830353661636630383466633361613362666265", - "id": 24414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "869:66:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71827733688305558270341584922533105052541179257016208895543152585058134769598_by_1", - "typeString": "int_const 7182...(69 digits omitted)...9598" - }, - "value": "0x9ecd0e7bddb2e241c41b595a436c4ea4fd33c9fa0caa8056acf084fc3aa3bfbe" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24418, - "name": "ERROR_NO_NODE_OWNERSHIP", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "942:76:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "942:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f4e4f5f4e4f44455f4f574e455253484950", - "id": 24417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "992:26:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2f6a9afac1cee983c84813c7aecb013b6f41e03f6139511fb31aae483711ac1d", - "typeString": "literal_string \"ENSSUB_NO_NODE_OWNERSHIP\"" - }, - "value": "ENSSUB_NO_NODE_OWNERSHIP" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24421, - "name": "ERROR_NAME_EXISTS", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1024:64:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24419, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1024:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f4e414d455f455849535453", - "id": 24420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1068:20:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f397268508c4761e4cbee0697919387acb7f0ba3feb3813b1f1852c02651e3ff", - "typeString": "literal_string \"ENSSUB_NAME_EXISTS\"" - }, - "value": "ENSSUB_NAME_EXISTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24424, - "name": "ERROR_NAME_DOESNT_EXIST", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1094:71:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24422, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1094:6:58", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "454e535355425f444f45534e545f4558495354", - "id": 24423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1144:21:58", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4134fb2d7fdec78a109978fab982f3d066d5c271fd277d105d6cd8ced636876", - "typeString": "literal_string \"ENSSUB_DOESNT_EXIST\"" - }, - "value": "ENSSUB_DOESNT_EXIST" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 24426, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1172:22:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 24425, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1172:11:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 24428, - "name": "rootNode", - "nodeType": "VariableDeclaration", - "scope": 24710, - "src": "1200:23:58", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24427, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1200:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 24434, - "name": "NewName", - "nodeType": "EventDefinition", - "parameters": { - "id": 24433, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24430, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24434, - "src": "1244:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24429, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1244:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24432, - "indexed": true, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 24434, - "src": "1266:21:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24431, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1266:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1243:45:58" - }, - "src": "1230:59:58" - }, - { - "anonymous": false, - "documentation": null, - "id": 24440, - "name": "DeleteName", - "nodeType": "EventDefinition", - "parameters": { - "id": 24439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24436, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24440, - "src": "1311:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24435, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1311:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24438, - "indexed": true, - "name": "label", - "nodeType": "VariableDeclaration", - "scope": 24440, - "src": "1333:21:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24437, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1333:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1310:45:58" - }, - "src": "1294:62:58" - }, - { - "body": { - "id": 24472, - "nodeType": "Block", - "src": "1896:212:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24449, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1906:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 24450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:13:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24451, - "nodeType": "ExpressionStatement", - "src": "1906:13:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24455, - "name": "_rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24444, - "src": "1997:9:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24453, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24442, - "src": "1986:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "1986:10:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1986:21:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "2019:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2011:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2011:13:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1986:38:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24461, - "name": "ERROR_NO_NODE_OWNERSHIP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24418, - "src": "2026:23:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24452, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1978:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1978:72:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24463, - "nodeType": "ExpressionStatement", - "src": "1978:72:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24464, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "2061:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 24465, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24442, - "src": "2067:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "2061:10:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24467, - "nodeType": "ExpressionStatement", - "src": "2061:10:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24468, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "2081:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 24469, - "name": "_rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24444, - "src": "2092:9:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2081:20:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24471, - "nodeType": "ExpressionStatement", - "src": "2081:20:58" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized. This contract must be the owner of the `_rootNode` node so that it can create subdomains.\n@notice Initialize this ENSSubdomainRegistrar instance with `_ens` as the root ENS registry and `_rootNode` as the node to allocate subdomains under\n@param _ens Address of ENS registry\n@param _rootNode Node to allocate subdomains under", - "id": 24473, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 24447, - "modifierName": { - "argumentTypes": null, - "id": 24446, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1887:8:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1887:8:58" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24442, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 24473, - "src": "1843:16:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 24441, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1843:11:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24444, - "name": "_rootNode", - "nodeType": "VariableDeclaration", - "scope": 24473, - "src": "1861:17:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24443, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1861:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1842:37:58" - }, - "payable": false, - "returnParameters": { - "id": 24448, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:58" - }, - "scope": 24710, - "src": "1823:285:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 24490, - "nodeType": "Block", - "src": "2456:51:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24486, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24475, - "src": "2485:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24477, - "src": "2493:6:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24485, - "name": "_createName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24642, - "src": "2473:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) returns (bytes32)" - } - }, - "id": 24488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2473:27:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24484, - "id": 24489, - "nodeType": "Return", - "src": "2466:34:58" - } - ] - }, - "documentation": "@notice Create a new ENS subdomain record for `_label` and assign ownership to `_owner`\n@param _label Label of new subdomain\n@param _owner Owner of new subdomain\n@return node Hash of created node", - "id": 24491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24480, - "name": "CREATE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24409, - "src": "2415:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24481, - "modifierName": { - "argumentTypes": null, - "id": 24479, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2410:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2410:22:58" - } - ], - "name": "createName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24475, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2369:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24474, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2369:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24477, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2385:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2368:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24483, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24491, - "src": "2442:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24482, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2442:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2441:14:58" - }, - "scope": 24710, - "src": "2349:158:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24515, - "nodeType": "Block", - "src": "2935:100:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24503, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24501, - "src": "2945:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24505, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24493, - "src": "2964:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24506, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "2972:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24504, - "name": "_createName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24642, - "src": "2952:11:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (bytes32,address) returns (bytes32)" - } - }, - "id": 24507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2952:25:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2945:32:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24509, - "nodeType": "ExpressionStatement", - "src": "2945:32:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24511, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24501, - "src": "3014:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24512, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24495, - "src": "3020:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24510, - "name": "_pointToResolverAndResolve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24671, - "src": "2987:26:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 24513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2987:41:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24514, - "nodeType": "ExpressionStatement", - "src": "2987:41:58" - } - ] - }, - "documentation": "@notice Create a new ENS subdomain record for `_label` that resolves to `_target` and is owned by this ENSSubdomainRegistrar\n@param _label Label of new subdomain\n@param _target Ethereum address this new subdomain label will point to\n@return node Hash of created node", - "id": 24516, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24498, - "name": "CREATE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24409, - "src": "2894:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24499, - "modifierName": { - "argumentTypes": null, - "id": 24497, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2889:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2889:22:58" - } - ], - "name": "createNameAndPoint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24493, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2847:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2847:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24495, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2863:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2863:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2846:33:58" - }, - "payable": false, - "returnParameters": { - "id": 24502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24501, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24516, - "src": "2921:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24500, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2921:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:14:58" - }, - "scope": 24710, - "src": "2819:216:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24584, - "nodeType": "Block", - "src": "3236:536:58", - "statements": [ - { - "assignments": [ - 24525 - ], - "declarations": [ - { - "constant": false, - "id": 24525, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3246:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24524, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3246:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24529, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24527, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3277:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24526, - "name": "getNodeForLabel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24709, - "src": "3261:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 24528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3261:23:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3246:38:58" - }, - { - "assignments": [ - 24531 - ], - "declarations": [ - { - "constant": false, - "id": 24531, - "name": "currentOwner", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3295:20:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3295:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24536, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24534, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3328:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24532, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3318:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "3318:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3318:15:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3295:38:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24538, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24531, - "src": "3352:12:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3376:1:58", - "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": 24539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3368:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3368:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3352:26:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24543, - "name": "ERROR_NAME_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24424, - "src": "3380:23:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24537, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3344:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3344:60:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24545, - "nodeType": "ExpressionStatement", - "src": "3344:60:58" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24546, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24531, - "src": "3450:12:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24548, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "3474:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "id": 24547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3466:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3466:13:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3450:29:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 24560, - "nodeType": "IfStatement", - "src": "3446:156:58", - "trueBody": { - "id": 24559, - "nodeType": "Block", - "src": "3481:121:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24554, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "3568:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24555, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3578:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24556, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29973, - "src": "3586:4:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ENSSubdomainRegistrar_$24710", - "typeString": "contract ENSSubdomainRegistrar" - } - ], - "expression": { - "argumentTypes": null, - "id": 24551, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3548:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "3548:19:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 24557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3548:43:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24558, - "nodeType": "ExpressionStatement", - "src": "3548:43:58" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24564, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3628:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3642:1:58", - "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": 24565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3634:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3634:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24561, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3612:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "3612:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3612:33:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24569, - "nodeType": "ExpressionStatement", - "src": "3612:33:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24573, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3708:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3722:1:58", - "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": 24574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3714:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3714:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24570, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "3695:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27028, - "src": "3695:12:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3695:30:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24578, - "nodeType": "ExpressionStatement", - "src": "3695:30:58" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24580, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24525, - "src": "3752:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24581, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24518, - "src": "3758:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24579, - "name": "DeleteName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24440, - "src": "3741:10:58", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 24582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:24:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24583, - "nodeType": "EmitStatement", - "src": "3736:29:58" - } - ] - }, - "documentation": "@notice Deregister ENS subdomain record for `_label`\n@param _label Label of subdomain to deregister", - "id": 24585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24521, - "name": "DELETE_NAME_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24412, - "src": "3218:16:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24522, - "modifierName": { - "argumentTypes": null, - "id": 24520, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3213:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3213:22:58" - } - ], - "name": "deleteName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24518, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24585, - "src": "3188:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24517, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3188:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3187:16:58" - }, - "payable": false, - "returnParameters": { - "id": 24523, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:0:58" - }, - "scope": 24710, - "src": "3168:604:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24598, - "nodeType": "Block", - "src": "4004:62:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24594, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4041:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24595, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24587, - "src": "4051:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24593, - "name": "_pointToResolverAndResolve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24671, - "src": "4014:26:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 24596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4014:45:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24597, - "nodeType": "ExpressionStatement", - "src": "4014:45:58" - } - ] - }, - "documentation": "@notice Resolve this ENSSubdomainRegistrar's root node to `_target`\n@param _target Ethereum address root node will point to", - "id": 24599, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24590, - "name": "POINT_ROOTNODE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24415, - "src": "3983:19:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24591, - "modifierName": { - "argumentTypes": null, - "id": 24589, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "3978:4:58", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3978:25:58" - } - ], - "name": "pointRootNode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24587, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24599, - "src": "3952:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3952:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3951:17:58" - }, - "payable": false, - "returnParameters": { - "id": 24592, - "nodeType": "ParameterList", - "parameters": [], - "src": "4004:0:58" - }, - "scope": 24710, - "src": "3929:137:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24641, - "nodeType": "Block", - "src": "4157:249:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24608, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4167:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24610, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4190:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24609, - "name": "getNodeForLabel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24709, - "src": "4174:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 24611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4174:23:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4167:30:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 24613, - "nodeType": "ExpressionStatement", - "src": "4167:30:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24617, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4225:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24615, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4215:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "4215:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4215:15:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4242:1:58", - "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": 24619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4234:7:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4234:10:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4215:29:58", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24623, - "name": "ERROR_NAME_EXISTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24421, - "src": "4246:17:58", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4207:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4207:57:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24625, - "nodeType": "ExpressionStatement", - "src": "4207:57:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24629, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4315:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24630, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4325:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24631, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24603, - "src": "4333:6:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24626, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4295:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "4295:19:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 24632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4295:45:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24633, - "nodeType": "ExpressionStatement", - "src": "4295:45:58" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24635, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4364:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24636, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24601, - "src": "4370:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24634, - "name": "NewName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24434, - "src": "4356:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 24637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4356:21:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24638, - "nodeType": "EmitStatement", - "src": "4351:26:58" - }, - { - "expression": { - "argumentTypes": null, - "id": 24639, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24606, - "src": "4395:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24607, - "id": 24640, - "nodeType": "Return", - "src": "4388:11:58" - } - ] - }, - "documentation": null, - "id": 24642, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24601, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4093:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24600, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4093:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24603, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4109:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24602, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4109:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4092:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24606, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24642, - "src": "4143:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24605, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4143:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4142:14:58" - }, - "scope": 24710, - "src": "4072:334:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24670, - "nodeType": "Block", - "src": "4489:184:58", - "statements": [ - { - "assignments": [ - 24650 - ], - "declarations": [ - { - "constant": false, - "id": 24650, - "name": "publicResolver", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4499:22:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4499:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24654, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24652, - "name": "PUBLIC_RESOLVER_NODE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24395, - "src": "4532:20:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 24651, - "name": "getAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24693, - "src": "4524:7:58", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 24653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4524:29:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4499:54:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24658, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24644, - "src": "4579:5:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24659, - "name": "publicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24650, - "src": "4586:14:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24655, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4563:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "4563:15:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4563:38:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24661, - "nodeType": "ExpressionStatement", - "src": "4563:38:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24666, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24644, - "src": "4651:5:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24667, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24646, - "src": "4658:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24663, - "name": "publicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24650, - "src": "4627:14:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24662, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "4612:14:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 24664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4612:30:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 24665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27453, - "src": "4612:38:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 24668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4612:54:58", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24669, - "nodeType": "ExpressionStatement", - "src": "4612:54:58" - } - ] - }, - "documentation": null, - "id": 24671, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_pointToResolverAndResolve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24644, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4448:13:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4448:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24646, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 24671, - "src": "4463:15:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4463:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4447:32:58" - }, - "payable": false, - "returnParameters": { - "id": 24648, - "nodeType": "ParameterList", - "parameters": [], - "src": "4489:0:58" - }, - "scope": 24710, - "src": "4412:261:58", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24692, - "nodeType": "Block", - "src": "4742:106:58", - "statements": [ - { - "assignments": [ - 24679 - ], - "declarations": [ - { - "constant": false, - "id": 24679, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4752:16:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4752:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24684, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24682, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24673, - "src": "4784:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24680, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24426, - "src": "4771:3:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 24681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "resolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27014, - "src": "4771:12:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4771:18:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4752:37:58" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24689, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24673, - "src": "4836:4:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24686, - "name": "resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24679, - "src": "4821:8:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24685, - "name": "PublicResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27724, - "src": "4806:14:58", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicResolver_$27724_$", - "typeString": "type(contract PublicResolver)" - } - }, - "id": 24687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:24:58", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicResolver_$27724", - "typeString": "contract PublicResolver" - } - }, - "id": 24688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27430, - "src": "4806:29:58", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 24690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:35:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 24677, - "id": 24691, - "nodeType": "Return", - "src": "4799:42:58" - } - ] - }, - "documentation": null, - "id": 24693, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24673, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4696:12:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24672, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4696:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:14:58" - }, - "payable": false, - "returnParameters": { - "id": 24677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24676, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24693, - "src": "4733:7:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4733:7:58", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4732:9:58" - }, - "scope": 24710, - "src": "4679:169:58", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24708, - "nodeType": "Block", - "src": "4927:69:58", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24703, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24428, - "src": "4971:8:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 24704, - "name": "_label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24695, - "src": "4981:6:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 24701, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4954:3:58", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4954:16:58", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 24705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4954:34:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24700, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4944:9:58", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 24706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4944:45:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 24699, - "id": 24707, - "nodeType": "Return", - "src": "4937:52:58" - } - ] - }, - "documentation": null, - "id": 24709, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNodeForLabel", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24695, - "name": "_label", - "nodeType": "VariableDeclaration", - "scope": 24709, - "src": "4879:14:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24694, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4879:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4878:16:58" - }, - "payable": false, - "returnParameters": { - "id": 24699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24698, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24709, - "src": "4918:7:58", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24697, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4918:7:58", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4917:9:58" - }, - "scope": 24710, - "src": "4854:142:58", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24711, - "src": "243:4755:58" - } - ], - "src": "0:4999:58" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.310Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ERC1271.json b/templates/multisig/build/contracts/ERC1271.json deleted file mode 100644 index d6a2c13..0000000 --- a/templates/multisig/build/contracts/ERC1271.json +++ /dev/null @@ -1,1471 +0,0 @@ -{ - "contractName": "ERC1271", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "ERC1271_INTERFACE_ID", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_hash", - "type": "bytes32" - }, - { - "name": "_signature", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n// ERC1271 on Feb 12th, 2019: https://github.com/ethereum/EIPs/blob/a97dc434930d0ccc4461c97d8c7a920dc585adf2/EIPS/eip-1271.md\n// Using `isValidSignature(bytes32,bytes)` even though the standard still hasn't been modified\n// Rationale: https://github.com/ethereum/EIPs/issues/1271#issuecomment-462719728\n\n\ncontract ERC1271 {\n bytes4 constant public ERC1271_INTERFACE_ID = 0xfb855dc9; // this.isValidSignature.selector\n\n bytes4 constant public ERC1271_RETURN_VALID_SIGNATURE = 0x20c13b0b; // TODO: Likely needs to be updated\n bytes4 constant public ERC1271_RETURN_INVALID_SIGNATURE = 0x00000000;\n\n /**\n * @dev Function must be implemented by deriving contract\n * @param _hash Arbitrary length data signed on the behalf of address(this)\n * @param _signature Signature byte array associated with _data\n * @return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n *\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\n * MUST allow external calls\n */\n function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4);\n\n function returnIsValidSignatureMagicNumber(bool isValid) internal pure returns (bytes4) {\n return isValid ? ERC1271_RETURN_VALID_SIGNATURE : ERC1271_RETURN_INVALID_SIGNATURE;\n }\n}\n\n\ncontract ERC1271Bytes is ERC1271 {\n /**\n * @dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n * @param _data Arbitrary length data signed on the behalf of address(this)\n * @param _signature Signature byte array associated with _data\n * @return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n *\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\n * MUST allow external calls\n */\n function isValidSignature(bytes _data, bytes _signature) public view returns (bytes4) {\n return isValidSignature(keccak256(_data), _signature);\n }\n}\n", - "sourcePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "ast": { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "exportedSymbols": { - "ERC1271": [ - 11943 - ], - "ERC1271Bytes": [ - 11963 - ] - }, - "id": 11964, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11911, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11943, - "linearizedBaseContracts": [ - 11943 - ], - "name": "ERC1271", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 11914, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "353:56:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11912, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "353:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786662383535646339", - "id": 11913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "399:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4219821513_by_1", - "typeString": "int_const 4219821513" - }, - "value": "0xfb855dc9" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11917, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "450:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "450:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11920, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "560:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11918, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "560:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783030303030303030", - "id": 11919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "618:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00000000" - }, - "visibility": "public" - }, - { - "body": null, - "documentation": "@dev Function must be implemented by deriving contract\n@param _hash Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11929, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11922, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1108:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11924, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1123:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11923, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1123:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1107:40:15" - }, - "payable": false, - "returnParameters": { - "id": 11928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1169:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11926, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:15" - }, - "scope": 11943, - "src": "1082:95:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11941, - "nodeType": "Block", - "src": "1271:99:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 11936, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11931, - "src": "1288:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11938, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11920, - "src": "1331:32:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 11939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1288:75:15", - "trueExpression": { - "argumentTypes": null, - "id": 11937, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11917, - "src": "1298:30:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11935, - "id": 11940, - "nodeType": "Return", - "src": "1281:82:15" - } - ] - }, - "documentation": null, - "id": 11942, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11931, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1226:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11930, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1226:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:14:15" - }, - "payable": false, - "returnParameters": { - "id": 11935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11934, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1263:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11933, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1263:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1262:8:15" - }, - "scope": 11943, - "src": "1183:187:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11964, - "src": "330:1042:15" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11944, - "name": "ERC1271", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11943, - "src": "1400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11945, - "nodeType": "InheritanceSpecifier", - "src": "1400:7:15" - } - ], - "contractDependencies": [ - 11943 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11963, - "linearizedBaseContracts": [ - 11963, - 11943 - ], - "name": "ERC1271Bytes", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11961, - "nodeType": "Block", - "src": "1990:70:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11956, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11947, - "src": "2034:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11955, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2024:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2024:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11958, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "2042:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11954, - "name": "isValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11962, - 11929 - ], - "referencedDeclaration": 11929, - "src": "2007:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view returns (bytes4)" - } - }, - "id": 11959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2007:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11953, - "id": 11960, - "nodeType": "Return", - "src": "2000:53:15" - } - ] - }, - "documentation": "@dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11962, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11947, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1930:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1930:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11949, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1943:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11948, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1943:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1929:31:15" - }, - "payable": false, - "returnParameters": { - "id": 11953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1982:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1982:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:8:15" - }, - "scope": 11963, - "src": "1904:156:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 11964, - "src": "1375:687:15" - } - ], - "src": "0:2063:15" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "exportedSymbols": { - "ERC1271": [ - 11943 - ], - "ERC1271Bytes": [ - 11963 - ] - }, - "id": 11964, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11911, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11943, - "linearizedBaseContracts": [ - 11943 - ], - "name": "ERC1271", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 11914, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "353:56:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11912, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "353:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786662383535646339", - "id": 11913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "399:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4219821513_by_1", - "typeString": "int_const 4219821513" - }, - "value": "0xfb855dc9" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11917, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "450:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "450:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11920, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "560:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11918, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "560:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783030303030303030", - "id": 11919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "618:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00000000" - }, - "visibility": "public" - }, - { - "body": null, - "documentation": "@dev Function must be implemented by deriving contract\n@param _hash Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11929, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11922, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1108:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11924, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1123:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11923, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1123:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1107:40:15" - }, - "payable": false, - "returnParameters": { - "id": 11928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1169:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11926, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:15" - }, - "scope": 11943, - "src": "1082:95:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11941, - "nodeType": "Block", - "src": "1271:99:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 11936, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11931, - "src": "1288:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11938, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11920, - "src": "1331:32:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 11939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1288:75:15", - "trueExpression": { - "argumentTypes": null, - "id": 11937, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11917, - "src": "1298:30:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11935, - "id": 11940, - "nodeType": "Return", - "src": "1281:82:15" - } - ] - }, - "documentation": null, - "id": 11942, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11931, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1226:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11930, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1226:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:14:15" - }, - "payable": false, - "returnParameters": { - "id": 11935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11934, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1263:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11933, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1263:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1262:8:15" - }, - "scope": 11943, - "src": "1183:187:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11964, - "src": "330:1042:15" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11944, - "name": "ERC1271", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11943, - "src": "1400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11945, - "nodeType": "InheritanceSpecifier", - "src": "1400:7:15" - } - ], - "contractDependencies": [ - 11943 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11963, - "linearizedBaseContracts": [ - 11963, - 11943 - ], - "name": "ERC1271Bytes", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11961, - "nodeType": "Block", - "src": "1990:70:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11956, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11947, - "src": "2034:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11955, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2024:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2024:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11958, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "2042:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11954, - "name": "isValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11962, - 11929 - ], - "referencedDeclaration": 11929, - "src": "2007:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view returns (bytes4)" - } - }, - "id": 11959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2007:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11953, - "id": 11960, - "nodeType": "Return", - "src": "2000:53:15" - } - ] - }, - "documentation": "@dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11962, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11947, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1930:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1930:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11949, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1943:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11948, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1943:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1929:31:15" - }, - "payable": false, - "returnParameters": { - "id": 11953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1982:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1982:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:8:15" - }, - "scope": 11963, - "src": "1904:156:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 11964, - "src": "1375:687:15" - } - ], - "src": "0:2063:15" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.219Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ERC1271Bytes.json b/templates/multisig/build/contracts/ERC1271Bytes.json deleted file mode 100644 index 4d84be7..0000000 --- a/templates/multisig/build/contracts/ERC1271Bytes.json +++ /dev/null @@ -1,1494 +0,0 @@ -{ - "contractName": "ERC1271Bytes", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "ERC1271_INTERFACE_ID", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_hash", - "type": "bytes32" - }, - { - "name": "_signature", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_data", - "type": "bytes" - }, - { - "name": "_signature", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n// ERC1271 on Feb 12th, 2019: https://github.com/ethereum/EIPs/blob/a97dc434930d0ccc4461c97d8c7a920dc585adf2/EIPS/eip-1271.md\n// Using `isValidSignature(bytes32,bytes)` even though the standard still hasn't been modified\n// Rationale: https://github.com/ethereum/EIPs/issues/1271#issuecomment-462719728\n\n\ncontract ERC1271 {\n bytes4 constant public ERC1271_INTERFACE_ID = 0xfb855dc9; // this.isValidSignature.selector\n\n bytes4 constant public ERC1271_RETURN_VALID_SIGNATURE = 0x20c13b0b; // TODO: Likely needs to be updated\n bytes4 constant public ERC1271_RETURN_INVALID_SIGNATURE = 0x00000000;\n\n /**\n * @dev Function must be implemented by deriving contract\n * @param _hash Arbitrary length data signed on the behalf of address(this)\n * @param _signature Signature byte array associated with _data\n * @return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n *\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\n * MUST allow external calls\n */\n function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4);\n\n function returnIsValidSignatureMagicNumber(bool isValid) internal pure returns (bytes4) {\n return isValid ? ERC1271_RETURN_VALID_SIGNATURE : ERC1271_RETURN_INVALID_SIGNATURE;\n }\n}\n\n\ncontract ERC1271Bytes is ERC1271 {\n /**\n * @dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n * @param _data Arbitrary length data signed on the behalf of address(this)\n * @param _signature Signature byte array associated with _data\n * @return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n *\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\n * MUST allow external calls\n */\n function isValidSignature(bytes _data, bytes _signature) public view returns (bytes4) {\n return isValidSignature(keccak256(_data), _signature);\n }\n}\n", - "sourcePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "ast": { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "exportedSymbols": { - "ERC1271": [ - 11943 - ], - "ERC1271Bytes": [ - 11963 - ] - }, - "id": 11964, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11911, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11943, - "linearizedBaseContracts": [ - 11943 - ], - "name": "ERC1271", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 11914, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "353:56:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11912, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "353:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786662383535646339", - "id": 11913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "399:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4219821513_by_1", - "typeString": "int_const 4219821513" - }, - "value": "0xfb855dc9" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11917, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "450:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "450:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11920, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "560:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11918, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "560:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783030303030303030", - "id": 11919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "618:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00000000" - }, - "visibility": "public" - }, - { - "body": null, - "documentation": "@dev Function must be implemented by deriving contract\n@param _hash Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11929, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11922, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1108:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11924, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1123:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11923, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1123:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1107:40:15" - }, - "payable": false, - "returnParameters": { - "id": 11928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1169:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11926, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:15" - }, - "scope": 11943, - "src": "1082:95:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11941, - "nodeType": "Block", - "src": "1271:99:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 11936, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11931, - "src": "1288:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11938, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11920, - "src": "1331:32:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 11939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1288:75:15", - "trueExpression": { - "argumentTypes": null, - "id": 11937, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11917, - "src": "1298:30:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11935, - "id": 11940, - "nodeType": "Return", - "src": "1281:82:15" - } - ] - }, - "documentation": null, - "id": 11942, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11931, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1226:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11930, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1226:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:14:15" - }, - "payable": false, - "returnParameters": { - "id": 11935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11934, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1263:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11933, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1263:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1262:8:15" - }, - "scope": 11943, - "src": "1183:187:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11964, - "src": "330:1042:15" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11944, - "name": "ERC1271", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11943, - "src": "1400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11945, - "nodeType": "InheritanceSpecifier", - "src": "1400:7:15" - } - ], - "contractDependencies": [ - 11943 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11963, - "linearizedBaseContracts": [ - 11963, - 11943 - ], - "name": "ERC1271Bytes", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11961, - "nodeType": "Block", - "src": "1990:70:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11956, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11947, - "src": "2034:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11955, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2024:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2024:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11958, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "2042:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11954, - "name": "isValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11962, - 11929 - ], - "referencedDeclaration": 11929, - "src": "2007:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view returns (bytes4)" - } - }, - "id": 11959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2007:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11953, - "id": 11960, - "nodeType": "Return", - "src": "2000:53:15" - } - ] - }, - "documentation": "@dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11962, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11947, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1930:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1930:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11949, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1943:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11948, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1943:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1929:31:15" - }, - "payable": false, - "returnParameters": { - "id": 11953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1982:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1982:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:8:15" - }, - "scope": 11963, - "src": "1904:156:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 11964, - "src": "1375:687:15" - } - ], - "src": "0:2063:15" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "exportedSymbols": { - "ERC1271": [ - 11943 - ], - "ERC1271Bytes": [ - 11963 - ] - }, - "id": 11964, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11911, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11943, - "linearizedBaseContracts": [ - 11943 - ], - "name": "ERC1271", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 11914, - "name": "ERC1271_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "353:56:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11912, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "353:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786662383535646339", - "id": 11913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "399:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4219821513_by_1", - "typeString": "int_const 4219821513" - }, - "value": "0xfb855dc9" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11917, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "450:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "450:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11920, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11943, - "src": "560:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11918, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "560:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783030303030303030", - "id": 11919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "618:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00000000" - }, - "visibility": "public" - }, - { - "body": null, - "documentation": "@dev Function must be implemented by deriving contract\n@param _hash Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11929, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11922, - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1108:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11924, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1123:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11923, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1123:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1107:40:15" - }, - "payable": false, - "returnParameters": { - "id": 11928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11929, - "src": "1169:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11926, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:15" - }, - "scope": 11943, - "src": "1082:95:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 11941, - "nodeType": "Block", - "src": "1271:99:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 11936, - "name": "isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11931, - "src": "1288:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11938, - "name": "ERC1271_RETURN_INVALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11920, - "src": "1331:32:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 11939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1288:75:15", - "trueExpression": { - "argumentTypes": null, - "id": 11937, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11917, - "src": "1298:30:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11935, - "id": 11940, - "nodeType": "Return", - "src": "1281:82:15" - } - ] - }, - "documentation": null, - "id": 11942, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "returnIsValidSignatureMagicNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11931, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1226:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11930, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1226:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:14:15" - }, - "payable": false, - "returnParameters": { - "id": 11935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11934, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11942, - "src": "1263:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11933, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1263:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1262:8:15" - }, - "scope": 11943, - "src": "1183:187:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 11964, - "src": "330:1042:15" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11944, - "name": "ERC1271", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11943, - "src": "1400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11945, - "nodeType": "InheritanceSpecifier", - "src": "1400:7:15" - } - ], - "contractDependencies": [ - 11943 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 11963, - "linearizedBaseContracts": [ - 11963, - 11943 - ], - "name": "ERC1271Bytes", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11961, - "nodeType": "Block", - "src": "1990:70:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11956, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11947, - "src": "2034:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11955, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2024:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2024:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11958, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "2042:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11954, - "name": "isValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 11962, - 11929 - ], - "referencedDeclaration": 11929, - "src": "2007:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view returns (bytes4)" - } - }, - "id": 11959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2007:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11953, - "id": 11960, - "nodeType": "Return", - "src": "2000:53:15" - } - ] - }, - "documentation": "@dev Default behavior of `isValidSignature(bytes,bytes)`, can be overloaded for custom validation\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n@return A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not\n * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", - "id": 11962, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11947, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1930:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1930:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11949, - "name": "_signature", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1943:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11948, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1943:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1929:31:15" - }, - "payable": false, - "returnParameters": { - "id": 11953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11962, - "src": "1982:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1982:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:8:15" - }, - "scope": 11963, - "src": "1904:156:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 11964, - "src": "1375:687:15" - } - ], - "src": "0:2063:15" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.219Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ERC20.json b/templates/multisig/build/contracts/ERC20.json deleted file mode 100644 index a80c473..0000000 --- a/templates/multisig/build/contracts/ERC20.json +++ /dev/null @@ -1,1859 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// See https://github.com/OpenZeppelin/openzeppelin-solidity/blob/a9f910d34f0ab33a1ae5e714f69f9596a02b4d91/contracts/token/ERC20/ERC20.sol\n\npragma solidity ^0.4.24;\n\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract ERC20 {\n function totalSupply() public view returns (uint256);\n\n function balanceOf(address _who) public view returns (uint256);\n\n function allowance(address _owner, address _spender)\n public view returns (uint256);\n\n function transfer(address _to, uint256 _value) public returns (bool);\n\n function approve(address _spender, uint256 _value)\n public returns (bool);\n\n function transferFrom(address _from, address _to, uint256 _value)\n public returns (bool);\n\n event Transfer(\n address indexed from,\n address indexed to,\n uint256 value\n );\n\n event Approval(\n address indexed owner,\n address indexed spender,\n uint256 value\n );\n}\n", - "sourcePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 28099 - ] - }, - "id": 28100, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28032, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "140:24:82" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", - "fullyImplemented": false, - "id": 28099, - "linearizedBaseContracts": [ - 28099 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 28037, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28033, - "nodeType": "ParameterList", - "parameters": [], - "src": "297:2:82" - }, - "payable": false, - "returnParameters": { - "id": 28036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28035, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28037, - "src": "321:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "321:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:9:82" - }, - "scope": 28099, - "src": "277:53:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28044, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28039, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 28044, - "src": "355:12:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28038, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "355:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:14:82" - }, - "payable": false, - "returnParameters": { - "id": 28043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28042, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28044, - "src": "390:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "390:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:9:82" - }, - "scope": 28099, - "src": "336:63:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28053, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28046, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "424:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28045, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "424:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28048, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "440:16:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "423:34:82" - }, - "payable": false, - "returnParameters": { - "id": 28052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28051, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "487:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "487:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:9:82" - }, - "scope": 28099, - "src": "405:91:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28062, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28055, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "520:11:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28057, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "533:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:29:82" - }, - "payable": false, - "returnParameters": { - "id": 28061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28060, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "565:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28059, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "565:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "564:6:82" - }, - "scope": 28099, - "src": "502:69:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28071, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28064, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "594:16:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28066, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "612:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:34:82" - }, - "payable": false, - "returnParameters": { - "id": 28070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28069, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "652:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28068, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "652:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "651:6:82" - }, - "scope": 28099, - "src": "577:81:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28082, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28073, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "686:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "686:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28075, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "701:11:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28074, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "701:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28077, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "714:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "685:44:82" - }, - "payable": false, - "returnParameters": { - "id": 28081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28080, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "754:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28079, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "754:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "753:6:82" - }, - "scope": 28099, - "src": "664:96:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 28090, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 28089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28084, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "790:20:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28083, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "790:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28086, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "820:18:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "820:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28088, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "848:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "848:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:87:82" - }, - "src": "766:102:82" - }, - { - "anonymous": false, - "documentation": null, - "id": 28098, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 28097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28092, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "898:21:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "898:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28094, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "929:23:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "929:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28096, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "962:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "962:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "888:93:82" - }, - "src": "874:108:82" - } - ], - "scope": 28100, - "src": "256:728:82" - } - ], - "src": "140:845:82" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 28099 - ] - }, - "id": 28100, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28032, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "140:24:82" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", - "fullyImplemented": false, - "id": 28099, - "linearizedBaseContracts": [ - 28099 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 28037, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28033, - "nodeType": "ParameterList", - "parameters": [], - "src": "297:2:82" - }, - "payable": false, - "returnParameters": { - "id": 28036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28035, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28037, - "src": "321:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "321:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:9:82" - }, - "scope": 28099, - "src": "277:53:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28044, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28039, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 28044, - "src": "355:12:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28038, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "355:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:14:82" - }, - "payable": false, - "returnParameters": { - "id": 28043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28042, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28044, - "src": "390:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "390:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:9:82" - }, - "scope": 28099, - "src": "336:63:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28053, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28046, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "424:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28045, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "424:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28048, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "440:16:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "423:34:82" - }, - "payable": false, - "returnParameters": { - "id": 28052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28051, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28053, - "src": "487:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "487:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:9:82" - }, - "scope": 28099, - "src": "405:91:82", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28062, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28055, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "520:11:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28057, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "533:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:29:82" - }, - "payable": false, - "returnParameters": { - "id": 28061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28060, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28062, - "src": "565:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28059, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "565:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "564:6:82" - }, - "scope": 28099, - "src": "502:69:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28071, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28064, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "594:16:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28066, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "612:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:34:82" - }, - "payable": false, - "returnParameters": { - "id": 28070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28069, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28071, - "src": "652:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28068, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "652:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "651:6:82" - }, - "scope": 28099, - "src": "577:81:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28082, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28073, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "686:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "686:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28075, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "701:11:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28074, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "701:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28077, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "714:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "685:44:82" - }, - "payable": false, - "returnParameters": { - "id": 28081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28080, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28082, - "src": "754:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 28079, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "754:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "753:6:82" - }, - "scope": 28099, - "src": "664:96:82", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 28090, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 28089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28084, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "790:20:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28083, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "790:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28086, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "820:18:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "820:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28088, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 28090, - "src": "848:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "848:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:87:82" - }, - "src": "766:102:82" - }, - { - "anonymous": false, - "documentation": null, - "id": 28098, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 28097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28092, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "898:21:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "898:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28094, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "929:23:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "929:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28096, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 28098, - "src": "962:13:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "962:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "888:93:82" - }, - "src": "874:108:82" - } - ], - "scope": 28100, - "src": "256:728:82" - } - ], - "src": "140:845:82" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.224Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ERCProxy.json b/templates/multisig/build/contracts/ERCProxy.json deleted file mode 100644 index 626a947..0000000 --- a/templates/multisig/build/contracts/ERCProxy.json +++ /dev/null @@ -1,524 +0,0 @@ -{ - "contractName": "ERCProxy", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "codeAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract ERCProxy {\n uint256 internal constant FORWARDING = 1;\n uint256 internal constant UPGRADEABLE = 2;\n\n function proxyType() public pure returns (uint256 proxyTypeId);\n function implementation() public view returns (address codeAddr);\n}\n", - "sourcePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "exportedSymbols": { - "ERCProxy": [ - 28030 - ] - }, - "id": 28031, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28013, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:81" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 28030, - "linearizedBaseContracts": [ - 28030 - ], - "name": "ERCProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 28016, - "name": "FORWARDING", - "nodeType": "VariableDeclaration", - "scope": 28030, - "src": "95:40:81", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "95:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 28015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "134:1:81", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28019, - "name": "UPGRADEABLE", - "nodeType": "VariableDeclaration", - "scope": 28030, - "src": "141:41:81", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "141:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 28018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:81", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 28024, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28020, - "nodeType": "ParameterList", - "parameters": [], - "src": "207:2:81" - }, - "payable": false, - "returnParameters": { - "id": 28023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28022, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 28024, - "src": "231:19:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:21:81" - }, - "scope": 28030, - "src": "189:63:81", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28029, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28025, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:2:81" - }, - "payable": false, - "returnParameters": { - "id": 28028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28027, - "name": "codeAddr", - "nodeType": "VariableDeclaration", - "scope": 28029, - "src": "304:16:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:81", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:81" - }, - "scope": 28030, - "src": "257:65:81", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 28031, - "src": "71:253:81" - } - ], - "src": "44:281:81" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "exportedSymbols": { - "ERCProxy": [ - 28030 - ] - }, - "id": 28031, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28013, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:81" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 28030, - "linearizedBaseContracts": [ - 28030 - ], - "name": "ERCProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 28016, - "name": "FORWARDING", - "nodeType": "VariableDeclaration", - "scope": 28030, - "src": "95:40:81", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "95:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 28015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "134:1:81", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 28019, - "name": "UPGRADEABLE", - "nodeType": "VariableDeclaration", - "scope": 28030, - "src": "141:41:81", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "141:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 28018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "181:1:81", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 28024, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28020, - "nodeType": "ParameterList", - "parameters": [], - "src": "207:2:81" - }, - "payable": false, - "returnParameters": { - "id": 28023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28022, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 28024, - "src": "231:19:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:21:81" - }, - "scope": 28030, - "src": "189:63:81", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 28029, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28025, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:2:81" - }, - "payable": false, - "returnParameters": { - "id": 28028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28027, - "name": "codeAddr", - "nodeType": "VariableDeclaration", - "scope": 28029, - "src": "304:16:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:81", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:81" - }, - "scope": 28030, - "src": "257:65:81", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 28031, - "src": "71:253:81" - } - ], - "src": "44:281:81" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.197Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/EVMScriptRegistry.json b/templates/multisig/build/contracts/EVMScriptRegistry.json deleted file mode 100644 index de55b39..0000000 --- a/templates/multisig/build/contracts/EVMScriptRegistry.json +++ /dev/null @@ -1,6560 +0,0 @@ -{ - "contractName": "EVMScriptRegistry", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REGISTRY_ADD_EXECUTOR_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REGISTRY_MANAGER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "executors", - "outputs": [ - { - "name": "executor", - "type": "address" - }, - { - "name": "enabled", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executorId", - "type": "uint256" - }, - { - "indexed": true, - "name": "executorAddress", - "type": "address" - } - ], - "name": "EnableExecutor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executorId", - "type": "uint256" - }, - { - "indexed": true, - "name": "executorAddress", - "type": "address" - } - ], - "name": "DisableExecutor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_executor", - "type": "address" - } - ], - "name": "addScriptExecutor", - "outputs": [ - { - "name": "id", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_executorId", - "type": "uint256" - } - ], - "name": "disableScriptExecutor", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_executorId", - "type": "uint256" - } - ], - "name": "enableScriptExecutor", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001824833981519152640100000000620012296200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b50620002306000805160206200182483398151915282640100000000620014e26200023782021704565b50565b5490565b9055565b6115d9806200024b6000396000f3006080604052600436106100ed5763ffffffff60e060020a60003504166304bf2a7f81146100f25780630803fac01461016757806319f3d10f146101905780632914b9bd146101b757806332f0a3b5146102105780635ca4d4bb146102255780637e7db6e11461023f57806380afdea8146102605780638129fc1c1461027557806387a16f121461028a5780638b3dd749146102ab5780639d4941d8146102c0578063a1658fad146102e1578063a479e50814610348578063bd8fde1c1461035d578063cff606a014610372578063d4aae0c41461038a578063de4796ed1461039f578063f97a05df146103b4575b600080fd5b3480156100fe57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506103ef9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061017c61050c565b604080519115158252519081900360200190f35b34801561019c57600080fd5b506101a5610535565b60408051918252519081900360200190f35b3480156101c357600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506105599650505050505050565b34801561021c57600080fd5b5061014b61063f565b34801561023157600080fd5b5061023d6004356106b7565b005b34801561024b57600080fd5b5061017c600160a060020a0360043516610843565b34801561026c57600080fd5b506101a5610849565b34801561028157600080fd5b5061023d610879565b34801561029657600080fd5b506101a5600160a060020a0360043516610916565b3480156102b757600080fd5b506101a5610a70565b3480156102cc57600080fd5b5061023d600160a060020a0360043516610a9b565b3480156102ed57600080fd5b50604080516020600460443581810135838102808601850190965280855261017c958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d2a9650505050505050565b34801561035457600080fd5b5061014b610e7a565b34801561036957600080fd5b506101a5610f2f565b34801561037e57600080fd5b5061023d600435610f41565b34801561039657600080fd5b5061014b61116c565b3480156103ab57600080fd5b5061017c611197565b3480156103c057600080fd5b506103cc6004356111aa565b60408051600160a060020a03909316835290151560208301528051918290030190f35b60008060006004845110156040805190810160405280601e81526020017f45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f525400008152509015156104be5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561048357818101518382015260200161046b565b50505050905090810190601f1680156104b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506104c8846111d1565b63ffffffff1660008181526001602052604090208054919350915060a060020a900460ff166104f8576000610504565b8054600160a060020a03165b949350505050565b600080610517610a70565b9050801580159061052f57508061052c6111e4565b10155b91505090565b7fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed281565b6000610563610e7a565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105c15781810151838201526020016105a9565b50505050905090810190601f1680156105ee5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561060d57600080fd5b505af1158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b505192915050565b600061064961116c565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b505050506040513d60208110156106b057600080fd5b5051905090565b600060008051602061158e8339815191526106d1836111e8565b6106dc338383610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156107505760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008481526001602090815260409182902080548351808501909452601884527f45564d5245475f4558454355544f525f44495341424c4544000000000000000092840192909252945060a060020a900460ff1615156107f65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50825460a060020a60ff021981168455604051600160a060020a039091169085907fc13cd9238f8ab1e5ab1f95cde77e89288fe5c328d04739adffd57b144b408fd190600090a350505050565b50600190565b60006108747fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611229565b905090565b610881610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156109065760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5061090f61122d565b6001600055565b6040805160008082526020820190925281907fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2906109579033908390610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156109cb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506000805460018082018355604080518082018252600160a060020a03808a168083526020808401868152878952959052838720925183549551151560a060020a0260a060020a60ff02199190931673ffffffffffffffffffffffffffffffffffffffff199096169590951794909416179055519194509184917f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb566999190a35092915050565b60006108747febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611229565b6000806000610aa984610843565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610b2f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50610b3861063f565b9250610b43836112f9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610bc95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50600160a060020a0384161515610c1a5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c14573d6000803e3d6000fd5b50610cd9565b5082610c35600160a060020a0382163063ffffffff61132616565b9150610c51600160a060020a038216848463ffffffff61142616565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610cd75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d3561050c565b1515610d445760009150610e72565b610d4c61116c565b9050600160a060020a0381161515610d675760009150610e72565b80600160a060020a031663fdef9106863087610d828861149c565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610df4578181015183820152602001610ddc565b50505050905090810190601f168015610e215780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505191505b509392505050565b600080610e8561116c565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561060d57600080fd5b60008051602061158e83398151915281565b600060008051602061158e833981519152610f5b836111e8565b610f66338383610d2a565b60408051808201909152600f815260008051602061156e8339815191526020820152901515610fda5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5083600081118015610fed575060005481105b60408051808201909152601a81527f45564d5245475f494e4558495354454e545f4558454355544f5200000000000060208201529015156110735760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008581526001602090815260409182902080548351808501909452601784527f45564d5245475f4558454355544f525f454e41424c454400000000000000000092840192909252955060a060020a900460ff16156111185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50835460a060020a60ff02191660a060020a17808555604051600160a060020a039091169086907f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb5669990600090a35050505050565b60006108747f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611229565b60006000196111a4610a70565b14905090565b600160205260009081526040902054600160a060020a0381169060a060020a900460ff1682565b60006111de8260006114a6565b92915050565b4390565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110151561121a57fe5b60209081029091010152919050565b5490565b611235610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156112ba5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506112f36112c66111e4565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6114e216565b565b5490565b600080600160a060020a03831615156113155760009150611320565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061139186846114e6565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561141c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906114938582611517565b95945050505050565b8051602002815290565b6000806114b38484611565565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561150b57805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111561155b573d8015611548576020811461155157611559565b60019350611559565b600183511493505b505b5090949350505050565b01602001519056004150505f415554485f4641494c45440000000000000000000000000000000000f7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3a165627a7a72305820a38f004643456bdf10c7e8ac32bad45d3130f9b07d3617d56c5720e33e709dc30029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100ed5763ffffffff60e060020a60003504166304bf2a7f81146100f25780630803fac01461016757806319f3d10f146101905780632914b9bd146101b757806332f0a3b5146102105780635ca4d4bb146102255780637e7db6e11461023f57806380afdea8146102605780638129fc1c1461027557806387a16f121461028a5780638b3dd749146102ab5780639d4941d8146102c0578063a1658fad146102e1578063a479e50814610348578063bd8fde1c1461035d578063cff606a014610372578063d4aae0c41461038a578063de4796ed1461039f578063f97a05df146103b4575b600080fd5b3480156100fe57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506103ef9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061017c61050c565b604080519115158252519081900360200190f35b34801561019c57600080fd5b506101a5610535565b60408051918252519081900360200190f35b3480156101c357600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506105599650505050505050565b34801561021c57600080fd5b5061014b61063f565b34801561023157600080fd5b5061023d6004356106b7565b005b34801561024b57600080fd5b5061017c600160a060020a0360043516610843565b34801561026c57600080fd5b506101a5610849565b34801561028157600080fd5b5061023d610879565b34801561029657600080fd5b506101a5600160a060020a0360043516610916565b3480156102b757600080fd5b506101a5610a70565b3480156102cc57600080fd5b5061023d600160a060020a0360043516610a9b565b3480156102ed57600080fd5b50604080516020600460443581810135838102808601850190965280855261017c958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d2a9650505050505050565b34801561035457600080fd5b5061014b610e7a565b34801561036957600080fd5b506101a5610f2f565b34801561037e57600080fd5b5061023d600435610f41565b34801561039657600080fd5b5061014b61116c565b3480156103ab57600080fd5b5061017c611197565b3480156103c057600080fd5b506103cc6004356111aa565b60408051600160a060020a03909316835290151560208301528051918290030190f35b60008060006004845110156040805190810160405280601e81526020017f45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f525400008152509015156104be5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561048357818101518382015260200161046b565b50505050905090810190601f1680156104b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506104c8846111d1565b63ffffffff1660008181526001602052604090208054919350915060a060020a900460ff166104f8576000610504565b8054600160a060020a03165b949350505050565b600080610517610a70565b9050801580159061052f57508061052c6111e4565b10155b91505090565b7fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed281565b6000610563610e7a565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105c15781810151838201526020016105a9565b50505050905090810190601f1680156105ee5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561060d57600080fd5b505af1158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b505192915050565b600061064961116c565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b505050506040513d60208110156106b057600080fd5b5051905090565b600060008051602061158e8339815191526106d1836111e8565b6106dc338383610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156107505760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008481526001602090815260409182902080548351808501909452601884527f45564d5245475f4558454355544f525f44495341424c4544000000000000000092840192909252945060a060020a900460ff1615156107f65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50825460a060020a60ff021981168455604051600160a060020a039091169085907fc13cd9238f8ab1e5ab1f95cde77e89288fe5c328d04739adffd57b144b408fd190600090a350505050565b50600190565b60006108747fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611229565b905090565b610881610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156109065760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5061090f61122d565b6001600055565b6040805160008082526020820190925281907fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2906109579033908390610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156109cb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506000805460018082018355604080518082018252600160a060020a03808a168083526020808401868152878952959052838720925183549551151560a060020a0260a060020a60ff02199190931673ffffffffffffffffffffffffffffffffffffffff199096169590951794909416179055519194509184917f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb566999190a35092915050565b60006108747febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611229565b6000806000610aa984610843565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610b2f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50610b3861063f565b9250610b43836112f9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610bc95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50600160a060020a0384161515610c1a5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c14573d6000803e3d6000fd5b50610cd9565b5082610c35600160a060020a0382163063ffffffff61132616565b9150610c51600160a060020a038216848463ffffffff61142616565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610cd75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d3561050c565b1515610d445760009150610e72565b610d4c61116c565b9050600160a060020a0381161515610d675760009150610e72565b80600160a060020a031663fdef9106863087610d828861149c565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610df4578181015183820152602001610ddc565b50505050905090810190601f168015610e215780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505191505b509392505050565b600080610e8561116c565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561060d57600080fd5b60008051602061158e83398151915281565b600060008051602061158e833981519152610f5b836111e8565b610f66338383610d2a565b60408051808201909152600f815260008051602061156e8339815191526020820152901515610fda5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5083600081118015610fed575060005481105b60408051808201909152601a81527f45564d5245475f494e4558495354454e545f4558454355544f5200000000000060208201529015156110735760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008581526001602090815260409182902080548351808501909452601784527f45564d5245475f4558454355544f525f454e41424c454400000000000000000092840192909252955060a060020a900460ff16156111185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50835460a060020a60ff02191660a060020a17808555604051600160a060020a039091169086907f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb5669990600090a35050505050565b60006108747f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611229565b60006000196111a4610a70565b14905090565b600160205260009081526040902054600160a060020a0381169060a060020a900460ff1682565b60006111de8260006114a6565b92915050565b4390565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110151561121a57fe5b60209081029091010152919050565b5490565b611235610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156112ba5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506112f36112c66111e4565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6114e216565b565b5490565b600080600160a060020a03831615156113155760009150611320565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061139186846114e6565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561141c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906114938582611517565b95945050505050565b8051602002815290565b6000806114b38484611565565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561150b57805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111561155b573d8015611548576020811461155157611559565b60019350611559565b600183511493505b505b5090949350505050565b01602001519056004150505f415554485f4641494c45440000000000000000000000000000000000f7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3a165627a7a72305820a38f004643456bdf10c7e8ac32bad45d3130f9b07d3617d56c5720e33e709dc30029", - "sourceMap": "236:4278:59:-;;;344:9:40;:7;;;;:9;:::i;:::-;236:4278:59;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;236:4278:59:-;;;;;;;", - "deployedSourceMap": "236:4278:59:-;;;;;;;;;-1:-1:-1;;;236:4278:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4027:485;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4027:485:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4027:485:59;;-1:-1:-1;4027:485:59;;-1:-1:-1;;;;;;;4027:485:59;;;;;-1:-1:-1;;;;;4027:485:59;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;598:119:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:119:59;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;2788:515:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2788:515:59;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;1906:158:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1906:158:59;;;;2318:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2318:321:59;-1:-1:-1;;;;;2318:321:59;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;798:114:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;798:114:59;;;;3451:409;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3451:409:59;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1453:51:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1453:51:59;;;;;;;;;-1:-1:-1;;;;;1453:51:59;;;;;;;;;;;;;;;;;;;;;;4027:485;4090:18;4209:10;4391:27;969:1;4128:7;:14;:39;;4169:29;;;;;;;;;;;;;;;;;;4120:79;;;;;;;-1:-1:-1;;;;;4120:79:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4120:79:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4222:19;:7;:17;:19::i;:::-;4209:32;;4421:13;;;;:9;:13;;;;;4451;;4209:32;;-1:-1:-1;4421:13:59;-1:-1:-1;;;;4451:13:59;;;;:54;;4503:1;4451:54;;;4467:14;;-1:-1:-1;;;;;4467:14:59;4451:54;4444:61;4027:485;-1:-1:-1;;;;4027:485:59:o;1128:208:48:-;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;598:119:59:-;651:66;598:119;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;:49;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;917:40:60;;;;;;;:49;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;2788:515:59:-;3065:35;-1:-1:-1;;;;;;;;;;;2894:16:59;2898:11;2894:3;:16::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;3103:22:59;;;;:9;:22;;;;;;;;;3143:21;;3166:23;;;;;;;;;;;;;;;;;;;3103:22;-1:-1:-1;;;;3143:21:59;;;;3135:55;;;;;;-1:-1:-1;;;;;3135:55:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3135:55:59;-1:-1:-1;3200:29:59;;-1:-1:-1;;;;;;3200:29:59;;;;3244:52;;-1:-1:-1;;;;;3273:22:59;;;;3260:11;;3244:52;;-1:-1:-1;;3244:52:59;2788:515;;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;1906:158:59:-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1954:13:59;:11;:13::i;:::-;2056:1;2035:18;:22;1906:158::o;2318:321::-;1020:16:39;;;2426:10:59;1020:16:39;;;;;;;;;2426:10:59;;651:66;;990:47:39;;1001:10;;651:66:59;;990:10:39;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;2469:18:59;:20;;;;;;;;2523:30;;;;;;;;-1:-1:-1;;;;;2523:30:59;;;;;;;;;;;;;2499:21;;;;;;;;;:54;;;;;;;;-1:-1:-1;;;2499:54:59;-1:-1:-1;;;;;;2499:54:59;;;;-1:-1:-1;;2499:54:59;;;;;;;;;;;;;;2568:37;2469:20;;-1:-1:-1;2523:30:59;2469:20;;2568:37;;2469:18;2568:37;-1:-1:-1;2622:10:59;2318:321;-1:-1:-1;;2318:321:59:o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:21;:27::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:18;:34::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1414:38;;;;;;;;-1:-1:-1;;;;;1414:38:56;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;-1:-1:-1;;;;;1955:26:39;;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;-1:-1:-1;1086:15:60;:69;;;5:2:-1;;;;30:1;27;20:12;798:114:59;-1:-1:-1;;;;;;;;;;;798:114:59;:::o;3451:409::-;3624:35;-1:-1:-1;;;;;;;;;;;3556:16:59;3560:11;3556:3;:16::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;3597:11:59;1764:1;1750:11;:15;:51;;;;;1783:18;;1769:11;:32;1750:51;1803:25;;;;;;;;;;;;;;;;;;1742:87;;;;;;-1:-1:-1;;;;;1742:87:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1742:87:59;-1:-1:-1;3662:22:59;;;;:9;:22;;;;;;;;;3703:21;;3726:22;;;;;;;;;;;;;;;;;;;3662;-1:-1:-1;;;;3703:21:59;;;;3702:22;3694:55;;;;-1:-1:-1;;;;;3694:55:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3694:55:59;-1:-1:-1;3759:28:59;;-1:-1:-1;;;;;;3759:28:59;-1:-1:-1;;;3759:28:59;;;;3802:51;;-1:-1:-1;;;;;3830:22:59;;;;3817:11;;3802:51;;-1:-1:-1;;3802:51:59;1216:1:39;3451:409:59;;;;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;1453:51:59:-;;;;;;;;;;;;-1:-1:-1;;;;;1453:51:59;;;-1:-1:-1;;;1453:51:59;;;;;:::o;99:109:63:-;156:6;181:20;190:7;199:1;181:8;:20::i;:::-;174:27;99:109;-1:-1:-1;;99:109:63:o;347:94:53:-;422:12;347:94;:::o;1594:117:29:-;1669:16;;;1683:1;1669:16;;;;;;;;;1642:11;;1669:16;;;;;;105:10:-1;1669:16:29;88:34:-1;136:17;;-1:-1;1669:16:29;1665:20;;1702:2;1695:1;1697;1695:4;;;;;;;;;;;;;;;;;;:9;1594:117;;-1:-1:-1;1594:117:29:o;379:134:55:-;490:15;;480:27::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;-1:-1;;;;4849:39:52;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;-1:-1;;3350:47:52;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;739:355:63:-;812:13;837:12;852:27;862:5;869:9;852;:27::i;:::-;-1:-1:-1;;;;;927:77:63;;;;923:155;;;-1:-1:-1;;;;899:189:63:o;1028:119:55:-;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;214:188:63:-;353:32;368:4;353:32;347:39;;323:73::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../apps/AragonApp.sol\";\nimport \"./ScriptHelpers.sol\";\nimport \"./IEVMScriptExecutor.sol\";\nimport \"./IEVMScriptRegistry.sol\";\n\n\n/* solium-disable function-order */\n// Allow public initialize() to be first\ncontract EVMScriptRegistry is IEVMScriptRegistry, EVMScriptRegistryConstants, AragonApp {\n using ScriptHelpers for bytes;\n\n /* Hardcoded constants to save gas\n bytes32 public constant REGISTRY_ADD_EXECUTOR_ROLE = keccak256(\"REGISTRY_ADD_EXECUTOR_ROLE\");\n bytes32 public constant REGISTRY_MANAGER_ROLE = keccak256(\"REGISTRY_MANAGER_ROLE\");\n */\n bytes32 public constant REGISTRY_ADD_EXECUTOR_ROLE = 0xc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2;\n // WARN: Manager can censor all votes and the like happening in an org\n bytes32 public constant REGISTRY_MANAGER_ROLE = 0xf7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3;\n\n uint256 internal constant SCRIPT_START_LOCATION = 4;\n\n string private constant ERROR_INEXISTENT_EXECUTOR = \"EVMREG_INEXISTENT_EXECUTOR\";\n string private constant ERROR_EXECUTOR_ENABLED = \"EVMREG_EXECUTOR_ENABLED\";\n string private constant ERROR_EXECUTOR_DISABLED = \"EVMREG_EXECUTOR_DISABLED\";\n string private constant ERROR_SCRIPT_LENGTH_TOO_SHORT = \"EVMREG_SCRIPT_LENGTH_TOO_SHORT\";\n\n struct ExecutorEntry {\n IEVMScriptExecutor executor;\n bool enabled;\n }\n\n uint256 private executorsNextIndex;\n mapping (uint256 => ExecutorEntry) public executors;\n\n event EnableExecutor(uint256 indexed executorId, address indexed executorAddress);\n event DisableExecutor(uint256 indexed executorId, address indexed executorAddress);\n\n modifier executorExists(uint256 _executorId) {\n require(_executorId > 0 && _executorId < executorsNextIndex, ERROR_INEXISTENT_EXECUTOR);\n _;\n }\n\n /**\n * @notice Initialize the registry\n */\n function initialize() public onlyInit {\n initialized();\n // Create empty record to begin executor IDs at 1\n executorsNextIndex = 1;\n }\n\n /**\n * @notice Add a new script executor with address `_executor` to the registry\n * @param _executor Address of the IEVMScriptExecutor that will be added to the registry\n * @return id Identifier of the executor in the registry\n */\n function addScriptExecutor(IEVMScriptExecutor _executor) external auth(REGISTRY_ADD_EXECUTOR_ROLE) returns (uint256 id) {\n uint256 executorId = executorsNextIndex++;\n executors[executorId] = ExecutorEntry(_executor, true);\n emit EnableExecutor(executorId, _executor);\n return executorId;\n }\n\n /**\n * @notice Disable script executor with ID `_executorId`\n * @param _executorId Identifier of the executor in the registry\n */\n function disableScriptExecutor(uint256 _executorId)\n external\n authP(REGISTRY_MANAGER_ROLE, arr(_executorId))\n {\n // Note that we don't need to check for an executor's existence in this case, as only\n // existing executors can be enabled\n ExecutorEntry storage executorEntry = executors[_executorId];\n require(executorEntry.enabled, ERROR_EXECUTOR_DISABLED);\n executorEntry.enabled = false;\n emit DisableExecutor(_executorId, executorEntry.executor);\n }\n\n /**\n * @notice Enable script executor with ID `_executorId`\n * @param _executorId Identifier of the executor in the registry\n */\n function enableScriptExecutor(uint256 _executorId)\n external\n authP(REGISTRY_MANAGER_ROLE, arr(_executorId))\n executorExists(_executorId)\n {\n ExecutorEntry storage executorEntry = executors[_executorId];\n require(!executorEntry.enabled, ERROR_EXECUTOR_ENABLED);\n executorEntry.enabled = true;\n emit EnableExecutor(_executorId, executorEntry.executor);\n }\n\n /**\n * @dev Get the script executor that can execute a particular script based on its first 4 bytes\n * @param _script EVMScript being inspected\n */\n function getScriptExecutor(bytes _script) public view returns (IEVMScriptExecutor) {\n require(_script.length >= SCRIPT_START_LOCATION, ERROR_SCRIPT_LENGTH_TOO_SHORT);\n uint256 id = _script.getSpecId();\n\n // Note that we don't need to check for an executor's existence in this case, as only\n // existing executors can be enabled\n ExecutorEntry storage entry = executors[id];\n return entry.enabled ? entry.executor : IEVMScriptExecutor(0);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/EVMScriptRegistry.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistry": [ - 24945 - ] - }, - "id": 24946, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24712, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:59" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 24713, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 23454, - "src": "25:31:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "file": "./ScriptHelpers.sol", - "id": 24714, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25251, - "src": "57:29:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 24715, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25132, - "src": "87:34:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "file": "./IEVMScriptRegistry.sol", - "id": 24716, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25159, - "src": "122:34:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24717, - "name": "IEVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25158, - "src": "266:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "id": 24718, - "nodeType": "InheritanceSpecifier", - "src": "266:18:59" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24719, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "286:26:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 24720, - "nodeType": "InheritanceSpecifier", - "src": "286:26:59" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24721, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "314:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 24722, - "nodeType": "InheritanceSpecifier", - "src": "314:9:59" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25158, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24945, - "linearizedBaseContracts": [ - 24945, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 25158 - ], - "name": "EVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24725, - "libraryName": { - "contractScope": null, - "id": 24723, - "name": "ScriptHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25250, - "src": "336:13:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ScriptHelpers_$25250", - "typeString": "library ScriptHelpers" - } - }, - "nodeType": "UsingForDirective", - "src": "330:30:59", - "typeName": { - "id": 24724, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "354:5:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "constant": true, - "id": 24728, - "name": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "598:119:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24726, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "598:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863346539306633386565613863343231326130303963613762383934373934336261346434613538643139623638333431376636353239316431636439656432", - "id": 24727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "651:66:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89065098749499542665412112470485833788131522672750921966929243139564941188818_by_1", - "typeString": "int_const 8906...(69 digits omitted)...8818" - }, - "value": "0xc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24731, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "798:114:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24729, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "798:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376134353065663333356531383932636234326338636137326537323432333539643737313139323462373564623537313734313064613366363134616133", - "id": 24730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "846:66:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112011595107235085372515956694391736358546673401817295630538651321883735181987_by_1", - "typeString": "int_const 1120...(70 digits omitted)...1987" - }, - "value": "0xf7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24734, - "name": "SCRIPT_START_LOCATION", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "919:51:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "919:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 24733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "969:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24737, - "name": "ERROR_INEXISTENT_EXECUTOR", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "977:80:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24735, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "977:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f494e4558495354454e545f4558454355544f52", - "id": 24736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1029:28:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_567277bf20a481099b140fabf868d5f9372cc8a7f04146c67033656cb8ff60ba", - "typeString": "literal_string \"EVMREG_INEXISTENT_EXECUTOR\"" - }, - "value": "EVMREG_INEXISTENT_EXECUTOR" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24740, - "name": "ERROR_EXECUTOR_ENABLED", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1063:74:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1063:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f4558454355544f525f454e41424c4544", - "id": 24739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1112:25:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a50bafa9c8686e97a8dde70e0e0e3137cd6c8f2862e66faf05097c5b71450a54", - "typeString": "literal_string \"EVMREG_EXECUTOR_ENABLED\"" - }, - "value": "EVMREG_EXECUTOR_ENABLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24743, - "name": "ERROR_EXECUTOR_DISABLED", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1143:76:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24741, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1143:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f4558454355544f525f44495341424c4544", - "id": 24742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:26:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f208a82b5e06512178289ed18d363585befdf89110b08b7a23b646ead2c75be7", - "typeString": "literal_string \"EVMREG_EXECUTOR_DISABLED\"" - }, - "value": "EVMREG_EXECUTOR_DISABLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24746, - "name": "ERROR_SCRIPT_LENGTH_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1225:88:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24744, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1225:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f5254", - "id": 24745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1281:32:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7b40663809ad8af7e508993e7d916c51c5b34414addec7e1fcd158fbb7fee248", - "typeString": "literal_string \"EVMREG_SCRIPT_LENGTH_TOO_SHORT\"" - }, - "value": "EVMREG_SCRIPT_LENGTH_TOO_SHORT" - }, - "visibility": "private" - }, - { - "canonicalName": "EVMScriptRegistry.ExecutorEntry", - "id": 24751, - "members": [ - { - "constant": false, - "id": 24748, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 24751, - "src": "1351:27:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24747, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "1351:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24750, - "name": "enabled", - "nodeType": "VariableDeclaration", - "scope": 24751, - "src": "1388:12:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24749, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1388:4:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ExecutorEntry", - "nodeType": "StructDefinition", - "scope": 24945, - "src": "1320:87:59", - "visibility": "public" - }, - { - "constant": false, - "id": 24753, - "name": "executorsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1413:34:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1413:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 24757, - "name": "executors", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1453:51:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry)" - }, - "typeName": { - "id": 24756, - "keyType": { - "id": 24754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1462:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1453:34:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry)" - }, - "valueType": { - "contractScope": null, - "id": 24755, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "1473:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 24763, - "name": "EnableExecutor", - "nodeType": "EventDefinition", - "parameters": { - "id": 24762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24759, - "indexed": true, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24763, - "src": "1532:26:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1532:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24761, - "indexed": true, - "name": "executorAddress", - "nodeType": "VariableDeclaration", - "scope": 24763, - "src": "1560:31:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1560:7:59", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1531:61:59" - }, - "src": "1511:82:59" - }, - { - "anonymous": false, - "documentation": null, - "id": 24769, - "name": "DisableExecutor", - "nodeType": "EventDefinition", - "parameters": { - "id": 24768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24765, - "indexed": true, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24769, - "src": "1620:26:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1620:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24767, - "indexed": true, - "name": "executorAddress", - "nodeType": "VariableDeclaration", - "scope": 24769, - "src": "1648:31:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:59", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1619:61:59" - }, - "src": "1598:83:59" - }, - { - "body": { - "id": 24785, - "nodeType": "Block", - "src": "1732:115:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 24780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24774, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24771, - "src": "1750:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 24775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1750:15:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24777, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24771, - "src": "1769:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 24778, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "1783:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1769:32:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1750:51:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24781, - "name": "ERROR_INEXISTENT_EXECUTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24737, - "src": "1803:25:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24773, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1742:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1742:87:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24783, - "nodeType": "ExpressionStatement", - "src": "1742:87:59" - }, - { - "id": 24784, - "nodeType": "PlaceholderStatement", - "src": "1839:1:59" - } - ] - }, - "documentation": null, - "id": 24786, - "name": "executorExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 24772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24771, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24786, - "src": "1711:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1711:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1710:21:59" - }, - "src": "1687:160:59", - "visibility": "internal" - }, - { - "body": { - "id": 24798, - "nodeType": "Block", - "src": "1944:120:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24791, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1954:11:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 24792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1954:13:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24793, - "nodeType": "ExpressionStatement", - "src": "1954:13:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24794, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "2035:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 24795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2056:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2035:22:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24797, - "nodeType": "ExpressionStatement", - "src": "2035:22:59" - } - ] - }, - "documentation": "@notice Initialize the registry", - "id": 24799, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 24789, - "modifierName": { - "argumentTypes": null, - "id": 24788, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1935:8:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1935:8:59" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24787, - "nodeType": "ParameterList", - "parameters": [], - "src": "1925:2:59" - }, - "payable": false, - "returnParameters": { - "id": 24790, - "nodeType": "ParameterList", - "parameters": [], - "src": "1944:0:59" - }, - "scope": 24945, - "src": "1906:158:59", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 24830, - "nodeType": "Block", - "src": "2438:201:59", - "statements": [ - { - "assignments": [ - 24810 - ], - "declarations": [ - { - "constant": false, - "id": 24810, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2448:18:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2448:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24813, - "initialValue": { - "argumentTypes": null, - "id": 24812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2469:20:59", - "subExpression": { - "argumentTypes": null, - "id": 24811, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "2469:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2448:41:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24814, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "2499:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24816, - "indexExpression": { - "argumentTypes": null, - "id": 24815, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2509:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2499:21:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24818, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24801, - "src": "2537:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2548:4:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 24817, - "name": "ExecutorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24751, - "src": "2523:13:59", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExecutorEntry_$24751_storage_ptr_$", - "typeString": "type(struct EVMScriptRegistry.ExecutorEntry storage pointer)" - } - }, - "id": 24820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2523:30:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_memory", - "typeString": "struct EVMScriptRegistry.ExecutorEntry memory" - } - }, - "src": "2499:54:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "id": 24822, - "nodeType": "ExpressionStatement", - "src": "2499:54:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24824, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2583:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 24825, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24801, - "src": "2595:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24823, - "name": "EnableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24763, - "src": "2568:14:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2568:37:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24827, - "nodeType": "EmitStatement", - "src": "2563:42:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24828, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2622:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24808, - "id": 24829, - "nodeType": "Return", - "src": "2615:17:59" - } - ] - }, - "documentation": "@notice Add a new script executor with address `_executor` to the registry\n@param _executor Address of the IEVMScriptExecutor that will be added to the registry\n@return id Identifier of the executor in the registry", - "id": 24831, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24804, - "name": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24728, - "src": "2389:26:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24805, - "modifierName": { - "argumentTypes": null, - "id": 24803, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2384:4:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2384:32:59" - } - ], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24801, - "name": "_executor", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2345:28:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24800, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "2345:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2344:30:59" - }, - "payable": false, - "returnParameters": { - "id": 24808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24807, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2426:10:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2426:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:12:59" - }, - "scope": 24945, - "src": "2318:321:59", - "stateMutability": "nonpayable", - "superFunction": 25145, - "visibility": "external" - }, - { - "body": { - "id": 24866, - "nodeType": "Block", - "src": "2916:387:59", - "statements": [ - { - "assignments": [ - 24843 - ], - "declarations": [ - { - "constant": false, - "id": 24843, - "name": "executorEntry", - "nodeType": "VariableDeclaration", - "scope": 24867, - "src": "3065:35:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24842, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "3065:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24847, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24844, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "3103:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24846, - "indexExpression": { - "argumentTypes": null, - "id": 24845, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "3113:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3103:22:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3065:60:59" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24849, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3143:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3143:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24851, - "name": "ERROR_EXECUTOR_DISABLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24743, - "src": "3166:23:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24848, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3135:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3135:55:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24853, - "nodeType": "ExpressionStatement", - "src": "3135:55:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24854, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3200:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3200:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 24857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3224:5:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3200:29:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 24859, - "nodeType": "ExpressionStatement", - "src": "3200:29:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24861, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "3260:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24862, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3273:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24863, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "3273:22:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24860, - "name": "DisableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24769, - "src": "3244:15:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3244:52:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24865, - "nodeType": "EmitStatement", - "src": "3239:57:59" - } - ] - }, - "documentation": "@notice Disable script executor with ID `_executorId`\n@param _executorId Identifier of the executor in the registry", - "id": 24867, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24836, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24731, - "src": "2871:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24838, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "2898:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24837, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "2894:3:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 24839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2894:16:59", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 24840, - "modifierName": { - "argumentTypes": null, - "id": 24835, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "2865:5:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2865:46:59" - } - ], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24833, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24867, - "src": "2819:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2819:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2818:21:59" - }, - "payable": false, - "returnParameters": { - "id": 24841, - "nodeType": "ParameterList", - "parameters": [], - "src": "2916:0:59" - }, - "scope": 24945, - "src": "2788:515:59", - "stateMutability": "nonpayable", - "superFunction": 25150, - "visibility": "external" - }, - { - "body": { - "id": 24906, - "nodeType": "Block", - "src": "3614:246:59", - "statements": [ - { - "assignments": [ - 24882 - ], - "declarations": [ - { - "constant": false, - "id": 24882, - "name": "executorEntry", - "nodeType": "VariableDeclaration", - "scope": 24907, - "src": "3624:35:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24881, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "3624:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24886, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24883, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "3662:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24885, - "indexExpression": { - "argumentTypes": null, - "id": 24884, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3672:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3662:22:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3624:60:59" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3702:22:59", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24888, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3703:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3703:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24891, - "name": "ERROR_EXECUTOR_ENABLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24740, - "src": "3726:22:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24887, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3694:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3694:55:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24893, - "nodeType": "ExpressionStatement", - "src": "3694:55:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24894, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3759:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24896, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3759:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3783:4:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3759:28:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 24899, - "nodeType": "ExpressionStatement", - "src": "3759:28:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24901, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3817:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24902, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3830:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "3830:22:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24900, - "name": "EnableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24763, - "src": "3802:14:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3802:51:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24905, - "nodeType": "EmitStatement", - "src": "3797:56:59" - } - ] - }, - "documentation": "@notice Enable script executor with ID `_executorId`\n@param _executorId Identifier of the executor in the registry", - "id": 24907, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24872, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24731, - "src": "3533:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24874, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3560:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24873, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "3556:3:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 24875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3556:16:59", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 24876, - "modifierName": { - "argumentTypes": null, - "id": 24871, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "3527:5:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3527:46:59" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 24878, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3597:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 24879, - "modifierName": { - "argumentTypes": null, - "id": 24877, - "name": "executorExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24786, - "src": "3582:14:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3582:27:59" - } - ], - "name": "enableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24869, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24907, - "src": "3481:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3481:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3480:21:59" - }, - "payable": false, - "returnParameters": { - "id": 24880, - "nodeType": "ParameterList", - "parameters": [], - "src": "3614:0:59" - }, - "scope": 24945, - "src": "3451:409:59", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24943, - "nodeType": "Block", - "src": "4110:402:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24915, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24909, - "src": "4128:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 24916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4128:14:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 24917, - "name": "SCRIPT_START_LOCATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24734, - "src": "4146:21:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4128:39:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24919, - "name": "ERROR_SCRIPT_LENGTH_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24746, - "src": "4169:29:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24914, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4120:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4120:79:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24921, - "nodeType": "ExpressionStatement", - "src": "4120:79:59" - }, - { - "assignments": [ - 24923 - ], - "declarations": [ - { - "constant": false, - "id": 24923, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4209:10:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4209:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24927, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 24924, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24909, - "src": "4222:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 24925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getSpecId", - "nodeType": "MemberAccess", - "referencedDeclaration": 25173, - "src": "4222:17:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (uint32)" - } - }, - "id": 24926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4222:19:59", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4209:32:59" - }, - { - "assignments": [ - 24929 - ], - "declarations": [ - { - "constant": false, - "id": 24929, - "name": "entry", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4391:27:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24928, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "4391:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24933, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24930, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "4421:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24932, - "indexExpression": { - "argumentTypes": null, - "id": 24931, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24923, - "src": "4431:2:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4421:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4391:43:59" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24934, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24929, - "src": "4451:5:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "4451:13:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4503:1:59", - "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": 24938, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "4484:18:59", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 24940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4484:21:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 24941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4451:54:59", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24936, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24929, - "src": "4467:5:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "4467:14:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "functionReturnParameters": 24913, - "id": 24942, - "nodeType": "Return", - "src": "4444:61:59" - } - ] - }, - "documentation": "@dev Get the script executor that can execute a particular script based on its first 4 bytes\n@param _script EVMScript being inspected", - "id": 24944, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24909, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4054:13:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24908, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4054:5:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4053:15:59" - }, - "payable": false, - "returnParameters": { - "id": 24913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24912, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4090:18:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24911, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "4090:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4089:20:59" - }, - "scope": 24945, - "src": "4027:485:59", - "stateMutability": "view", - "superFunction": 25157, - "visibility": "public" - } - ], - "scope": 24946, - "src": "236:4278:59" - } - ], - "src": "0:4515:59" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistry": [ - 24945 - ] - }, - "id": 24946, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24712, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:59" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 24713, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 23454, - "src": "25:31:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "file": "./ScriptHelpers.sol", - "id": 24714, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25251, - "src": "57:29:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 24715, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25132, - "src": "87:34:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "file": "./IEVMScriptRegistry.sol", - "id": 24716, - "nodeType": "ImportDirective", - "scope": 24946, - "sourceUnit": 25159, - "src": "122:34:59", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24717, - "name": "IEVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25158, - "src": "266:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "id": 24718, - "nodeType": "InheritanceSpecifier", - "src": "266:18:59" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24719, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "286:26:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 24720, - "nodeType": "InheritanceSpecifier", - "src": "286:26:59" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24721, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "314:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 24722, - "nodeType": "InheritanceSpecifier", - "src": "314:9:59" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 25158, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24945, - "linearizedBaseContracts": [ - 24945, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 25158 - ], - "name": "EVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24725, - "libraryName": { - "contractScope": null, - "id": 24723, - "name": "ScriptHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25250, - "src": "336:13:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ScriptHelpers_$25250", - "typeString": "library ScriptHelpers" - } - }, - "nodeType": "UsingForDirective", - "src": "330:30:59", - "typeName": { - "id": 24724, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "354:5:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "constant": true, - "id": 24728, - "name": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "598:119:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24726, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "598:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863346539306633386565613863343231326130303963613762383934373934336261346434613538643139623638333431376636353239316431636439656432", - "id": 24727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "651:66:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89065098749499542665412112470485833788131522672750921966929243139564941188818_by_1", - "typeString": "int_const 8906...(69 digits omitted)...8818" - }, - "value": "0xc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24731, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "798:114:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24729, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "798:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376134353065663333356531383932636234326338636137326537323432333539643737313139323462373564623537313734313064613366363134616133", - "id": 24730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "846:66:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112011595107235085372515956694391736358546673401817295630538651321883735181987_by_1", - "typeString": "int_const 1120...(70 digits omitted)...1987" - }, - "value": "0xf7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 24734, - "name": "SCRIPT_START_LOCATION", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "919:51:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "919:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 24733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "969:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 24737, - "name": "ERROR_INEXISTENT_EXECUTOR", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "977:80:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24735, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "977:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f494e4558495354454e545f4558454355544f52", - "id": 24736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1029:28:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_567277bf20a481099b140fabf868d5f9372cc8a7f04146c67033656cb8ff60ba", - "typeString": "literal_string \"EVMREG_INEXISTENT_EXECUTOR\"" - }, - "value": "EVMREG_INEXISTENT_EXECUTOR" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24740, - "name": "ERROR_EXECUTOR_ENABLED", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1063:74:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1063:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f4558454355544f525f454e41424c4544", - "id": 24739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1112:25:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a50bafa9c8686e97a8dde70e0e0e3137cd6c8f2862e66faf05097c5b71450a54", - "typeString": "literal_string \"EVMREG_EXECUTOR_ENABLED\"" - }, - "value": "EVMREG_EXECUTOR_ENABLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24743, - "name": "ERROR_EXECUTOR_DISABLED", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1143:76:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24741, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1143:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f4558454355544f525f44495341424c4544", - "id": 24742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:26:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f208a82b5e06512178289ed18d363585befdf89110b08b7a23b646ead2c75be7", - "typeString": "literal_string \"EVMREG_EXECUTOR_DISABLED\"" - }, - "value": "EVMREG_EXECUTOR_DISABLED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24746, - "name": "ERROR_SCRIPT_LENGTH_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1225:88:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24744, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1225:6:59", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f5254", - "id": 24745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1281:32:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7b40663809ad8af7e508993e7d916c51c5b34414addec7e1fcd158fbb7fee248", - "typeString": "literal_string \"EVMREG_SCRIPT_LENGTH_TOO_SHORT\"" - }, - "value": "EVMREG_SCRIPT_LENGTH_TOO_SHORT" - }, - "visibility": "private" - }, - { - "canonicalName": "EVMScriptRegistry.ExecutorEntry", - "id": 24751, - "members": [ - { - "constant": false, - "id": 24748, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 24751, - "src": "1351:27:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24747, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "1351:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24750, - "name": "enabled", - "nodeType": "VariableDeclaration", - "scope": 24751, - "src": "1388:12:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24749, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1388:4:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ExecutorEntry", - "nodeType": "StructDefinition", - "scope": 24945, - "src": "1320:87:59", - "visibility": "public" - }, - { - "constant": false, - "id": 24753, - "name": "executorsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1413:34:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1413:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 24757, - "name": "executors", - "nodeType": "VariableDeclaration", - "scope": 24945, - "src": "1453:51:59", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry)" - }, - "typeName": { - "id": 24756, - "keyType": { - "id": 24754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1462:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1453:34:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry)" - }, - "valueType": { - "contractScope": null, - "id": 24755, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "1473:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 24763, - "name": "EnableExecutor", - "nodeType": "EventDefinition", - "parameters": { - "id": 24762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24759, - "indexed": true, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24763, - "src": "1532:26:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1532:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24761, - "indexed": true, - "name": "executorAddress", - "nodeType": "VariableDeclaration", - "scope": 24763, - "src": "1560:31:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1560:7:59", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1531:61:59" - }, - "src": "1511:82:59" - }, - { - "anonymous": false, - "documentation": null, - "id": 24769, - "name": "DisableExecutor", - "nodeType": "EventDefinition", - "parameters": { - "id": 24768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24765, - "indexed": true, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24769, - "src": "1620:26:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1620:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24767, - "indexed": true, - "name": "executorAddress", - "nodeType": "VariableDeclaration", - "scope": 24769, - "src": "1648:31:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:59", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1619:61:59" - }, - "src": "1598:83:59" - }, - { - "body": { - "id": 24785, - "nodeType": "Block", - "src": "1732:115:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 24780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24774, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24771, - "src": "1750:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 24775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1750:15:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24777, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24771, - "src": "1769:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 24778, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "1783:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1769:32:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1750:51:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24781, - "name": "ERROR_INEXISTENT_EXECUTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24737, - "src": "1803:25:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24773, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1742:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1742:87:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24783, - "nodeType": "ExpressionStatement", - "src": "1742:87:59" - }, - { - "id": 24784, - "nodeType": "PlaceholderStatement", - "src": "1839:1:59" - } - ] - }, - "documentation": null, - "id": 24786, - "name": "executorExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 24772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24771, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24786, - "src": "1711:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1711:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1710:21:59" - }, - "src": "1687:160:59", - "visibility": "internal" - }, - { - "body": { - "id": 24798, - "nodeType": "Block", - "src": "1944:120:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24791, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1954:11:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 24792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1954:13:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24793, - "nodeType": "ExpressionStatement", - "src": "1954:13:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24794, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "2035:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 24795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2056:1:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2035:22:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24797, - "nodeType": "ExpressionStatement", - "src": "2035:22:59" - } - ] - }, - "documentation": "@notice Initialize the registry", - "id": 24799, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 24789, - "modifierName": { - "argumentTypes": null, - "id": 24788, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1935:8:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1935:8:59" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24787, - "nodeType": "ParameterList", - "parameters": [], - "src": "1925:2:59" - }, - "payable": false, - "returnParameters": { - "id": 24790, - "nodeType": "ParameterList", - "parameters": [], - "src": "1944:0:59" - }, - "scope": 24945, - "src": "1906:158:59", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 24830, - "nodeType": "Block", - "src": "2438:201:59", - "statements": [ - { - "assignments": [ - 24810 - ], - "declarations": [ - { - "constant": false, - "id": 24810, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2448:18:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2448:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24813, - "initialValue": { - "argumentTypes": null, - "id": 24812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2469:20:59", - "subExpression": { - "argumentTypes": null, - "id": 24811, - "name": "executorsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24753, - "src": "2469:18:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2448:41:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24814, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "2499:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24816, - "indexExpression": { - "argumentTypes": null, - "id": 24815, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2509:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2499:21:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24818, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24801, - "src": "2537:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2548:4:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 24817, - "name": "ExecutorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24751, - "src": "2523:13:59", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExecutorEntry_$24751_storage_ptr_$", - "typeString": "type(struct EVMScriptRegistry.ExecutorEntry storage pointer)" - } - }, - "id": 24820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2523:30:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_memory", - "typeString": "struct EVMScriptRegistry.ExecutorEntry memory" - } - }, - "src": "2499:54:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "id": 24822, - "nodeType": "ExpressionStatement", - "src": "2499:54:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24824, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2583:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 24825, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24801, - "src": "2595:9:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24823, - "name": "EnableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24763, - "src": "2568:14:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2568:37:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24827, - "nodeType": "EmitStatement", - "src": "2563:42:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24828, - "name": "executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24810, - "src": "2622:10:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24808, - "id": 24829, - "nodeType": "Return", - "src": "2615:17:59" - } - ] - }, - "documentation": "@notice Add a new script executor with address `_executor` to the registry\n@param _executor Address of the IEVMScriptExecutor that will be added to the registry\n@return id Identifier of the executor in the registry", - "id": 24831, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24804, - "name": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24728, - "src": "2389:26:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 24805, - "modifierName": { - "argumentTypes": null, - "id": 24803, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "2384:4:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2384:32:59" - } - ], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24801, - "name": "_executor", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2345:28:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24800, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "2345:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2344:30:59" - }, - "payable": false, - "returnParameters": { - "id": 24808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24807, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 24831, - "src": "2426:10:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2426:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:12:59" - }, - "scope": 24945, - "src": "2318:321:59", - "stateMutability": "nonpayable", - "superFunction": 25145, - "visibility": "external" - }, - { - "body": { - "id": 24866, - "nodeType": "Block", - "src": "2916:387:59", - "statements": [ - { - "assignments": [ - 24843 - ], - "declarations": [ - { - "constant": false, - "id": 24843, - "name": "executorEntry", - "nodeType": "VariableDeclaration", - "scope": 24867, - "src": "3065:35:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24842, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "3065:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24847, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24844, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "3103:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24846, - "indexExpression": { - "argumentTypes": null, - "id": 24845, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "3113:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3103:22:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3065:60:59" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24849, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3143:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3143:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24851, - "name": "ERROR_EXECUTOR_DISABLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24743, - "src": "3166:23:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24848, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3135:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3135:55:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24853, - "nodeType": "ExpressionStatement", - "src": "3135:55:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24854, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3200:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3200:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 24857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3224:5:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3200:29:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 24859, - "nodeType": "ExpressionStatement", - "src": "3200:29:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24861, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "3260:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24862, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24843, - "src": "3273:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24863, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "3273:22:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24860, - "name": "DisableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24769, - "src": "3244:15:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3244:52:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24865, - "nodeType": "EmitStatement", - "src": "3239:57:59" - } - ] - }, - "documentation": "@notice Disable script executor with ID `_executorId`\n@param _executorId Identifier of the executor in the registry", - "id": 24867, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24836, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24731, - "src": "2871:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24838, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24833, - "src": "2898:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24837, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "2894:3:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 24839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2894:16:59", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 24840, - "modifierName": { - "argumentTypes": null, - "id": 24835, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "2865:5:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2865:46:59" - } - ], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24833, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24867, - "src": "2819:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2819:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2818:21:59" - }, - "payable": false, - "returnParameters": { - "id": 24841, - "nodeType": "ParameterList", - "parameters": [], - "src": "2916:0:59" - }, - "scope": 24945, - "src": "2788:515:59", - "stateMutability": "nonpayable", - "superFunction": 25150, - "visibility": "external" - }, - { - "body": { - "id": 24906, - "nodeType": "Block", - "src": "3614:246:59", - "statements": [ - { - "assignments": [ - 24882 - ], - "declarations": [ - { - "constant": false, - "id": 24882, - "name": "executorEntry", - "nodeType": "VariableDeclaration", - "scope": 24907, - "src": "3624:35:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24881, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "3624:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24886, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24883, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "3662:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24885, - "indexExpression": { - "argumentTypes": null, - "id": 24884, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3672:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3662:22:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3624:60:59" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3702:22:59", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24888, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3703:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3703:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24891, - "name": "ERROR_EXECUTOR_ENABLED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24740, - "src": "3726:22:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24887, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3694:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3694:55:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24893, - "nodeType": "ExpressionStatement", - "src": "3694:55:59" - }, - { - "expression": { - "argumentTypes": null, - "id": 24898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24894, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3759:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24896, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "3759:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3783:4:59", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3759:28:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 24899, - "nodeType": "ExpressionStatement", - "src": "3759:28:59" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24901, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3817:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24902, - "name": "executorEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24882, - "src": "3830:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "3830:22:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24900, - "name": "EnableExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24763, - "src": "3802:14:59", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 24904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3802:51:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24905, - "nodeType": "EmitStatement", - "src": "3797:56:59" - } - ] - }, - "documentation": "@notice Enable script executor with ID `_executorId`\n@param _executorId Identifier of the executor in the registry", - "id": 24907, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24872, - "name": "REGISTRY_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24731, - "src": "3533:21:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24874, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3560:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24873, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "3556:3:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 24875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3556:16:59", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 24876, - "modifierName": { - "argumentTypes": null, - "id": 24871, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "3527:5:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3527:46:59" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 24878, - "name": "_executorId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24869, - "src": "3597:11:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 24879, - "modifierName": { - "argumentTypes": null, - "id": 24877, - "name": "executorExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24786, - "src": "3582:14:59", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3582:27:59" - } - ], - "name": "enableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24869, - "name": "_executorId", - "nodeType": "VariableDeclaration", - "scope": 24907, - "src": "3481:19:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3481:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3480:21:59" - }, - "payable": false, - "returnParameters": { - "id": 24880, - "nodeType": "ParameterList", - "parameters": [], - "src": "3614:0:59" - }, - "scope": 24945, - "src": "3451:409:59", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 24943, - "nodeType": "Block", - "src": "4110:402:59", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24915, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24909, - "src": "4128:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 24916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4128:14:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 24917, - "name": "SCRIPT_START_LOCATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24734, - "src": "4146:21:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4128:39:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24919, - "name": "ERROR_SCRIPT_LENGTH_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24746, - "src": "4169:29:59", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24914, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4120:7:59", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4120:79:59", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24921, - "nodeType": "ExpressionStatement", - "src": "4120:79:59" - }, - { - "assignments": [ - 24923 - ], - "declarations": [ - { - "constant": false, - "id": 24923, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4209:10:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4209:7:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24927, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 24924, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24909, - "src": "4222:7:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 24925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getSpecId", - "nodeType": "MemberAccess", - "referencedDeclaration": 25173, - "src": "4222:17:59", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (uint32)" - } - }, - "id": 24926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4222:19:59", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4209:32:59" - }, - { - "assignments": [ - 24929 - ], - "declarations": [ - { - "constant": false, - "id": 24929, - "name": "entry", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4391:27:59", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - }, - "typeName": { - "contractScope": null, - "id": 24928, - "name": "ExecutorEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24751, - "src": "4391:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24933, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 24930, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24757, - "src": "4421:9:59", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ExecutorEntry_$24751_storage_$", - "typeString": "mapping(uint256 => struct EVMScriptRegistry.ExecutorEntry storage ref)" - } - }, - "id": 24932, - "indexExpression": { - "argumentTypes": null, - "id": 24931, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24923, - "src": "4431:2:59", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4421:13:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4391:43:59" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24934, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24929, - "src": "4451:5:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 24750, - "src": "4451:13:59", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 24939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4503:1:59", - "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": 24938, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "4484:18:59", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 24940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4484:21:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 24941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4451:54:59", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24936, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24929, - "src": "4467:5:59", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ExecutorEntry_$24751_storage_ptr", - "typeString": "struct EVMScriptRegistry.ExecutorEntry storage pointer" - } - }, - "id": 24937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24748, - "src": "4467:14:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "functionReturnParameters": 24913, - "id": 24942, - "nodeType": "Return", - "src": "4444:61:59" - } - ] - }, - "documentation": "@dev Get the script executor that can execute a particular script based on its first 4 bytes\n@param _script EVMScript being inspected", - "id": 24944, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24909, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4054:13:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24908, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4054:5:59", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4053:15:59" - }, - "payable": false, - "returnParameters": { - "id": 24913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24912, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24944, - "src": "4090:18:59", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24911, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "4090:18:59", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4089:20:59" - }, - "scope": 24945, - "src": "4027:485:59", - "stateMutability": "view", - "superFunction": 25157, - "visibility": "public" - } - ], - "scope": 24946, - "src": "236:4278:59" - } - ], - "src": "0:4515:59" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.289Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/EVMScriptRegistryConstants.json b/templates/multisig/build/contracts/EVMScriptRegistryConstants.json deleted file mode 100644 index bcffd21..0000000 --- a/templates/multisig/build/contracts/EVMScriptRegistryConstants.json +++ /dev/null @@ -1,699 +0,0 @@ -{ - "contractName": "EVMScriptRegistryConstants", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582094d3fb12c4428f0d8d246bb283e12dd6bf30b19360621da57825937dc1a413db0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582094d3fb12c4428f0d8d246bb283e12dd6bf30b19360621da57825937dc1a413db0029", - "sourceMap": "107:292:62:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;107:292:62;;;;;;;", - "deployedSourceMap": "107:292:62:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./IEVMScriptExecutor.sol\";\n\n\ncontract EVMScriptRegistryConstants {\n /* Hardcoded constants to save gas\n bytes32 internal constant EVMSCRIPT_REGISTRY_APP_ID = apmNamehash(\"evmreg\");\n */\n bytes32 internal constant EVMSCRIPT_REGISTRY_APP_ID = 0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61;\n}\n\n\ninterface IEVMScriptRegistry {\n function addScriptExecutor(IEVMScriptExecutor executor) external returns (uint id);\n function disableScriptExecutor(uint256 executorId) external;\n\n // TODO: this should be external\n // See https://github.com/ethereum/solidity/issues/4832\n function getScriptExecutor(bytes script) public view returns (IEVMScriptExecutor);\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistryConstants": [ - 25138 - ], - "IEVMScriptRegistry": [ - 25158 - ] - }, - "id": 25159, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25133, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:62" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 25134, - "nodeType": "ImportDirective", - "scope": 25159, - "sourceUnit": 25132, - "src": "70:34:62", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25138, - "linearizedBaseContracts": [ - 25138 - ], - "name": "EVMScriptRegistryConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25137, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 25138, - "src": "276:120:62", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "276:7:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864646263666435363466363432616235363237636636386239623764333734666234663861333665393431613735643839633837393938636566303362643631", - "id": 25136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "330:66:62", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100295055253822236757776785641620620126240610315818972729696126418245724126561_by_1", - "typeString": "int_const 1002...(70 digits omitted)...6561" - }, - "value": "0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61" - }, - "visibility": "internal" - } - ], - "scope": 25159, - "src": "107:292:62" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25158, - "linearizedBaseContracts": [ - 25158 - ], - "name": "IEVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25145, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25140, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "464:27:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25139, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "464:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:29:62" - }, - "payable": false, - "returnParameters": { - "id": 25144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25143, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "511:7:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25142, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "511:4:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:9:62" - }, - "scope": 25158, - "src": "437:83:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25150, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25147, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 25150, - "src": "556:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "555:20:62" - }, - "payable": false, - "returnParameters": { - "id": 25149, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:62" - }, - "scope": 25158, - "src": "525:60:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25157, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25152, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "715:12:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25151, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "715:5:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "714:14:62" - }, - "payable": false, - "returnParameters": { - "id": 25156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25155, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "750:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25154, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "750:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "749:20:62" - }, - "scope": 25158, - "src": "688:82:62", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25159, - "src": "402:370:62" - } - ], - "src": "44:729:62" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistryConstants": [ - 25138 - ], - "IEVMScriptRegistry": [ - 25158 - ] - }, - "id": 25159, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25133, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:62" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 25134, - "nodeType": "ImportDirective", - "scope": 25159, - "sourceUnit": 25132, - "src": "70:34:62", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25138, - "linearizedBaseContracts": [ - 25138 - ], - "name": "EVMScriptRegistryConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25137, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 25138, - "src": "276:120:62", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "276:7:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864646263666435363466363432616235363237636636386239623764333734666234663861333665393431613735643839633837393938636566303362643631", - "id": 25136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "330:66:62", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100295055253822236757776785641620620126240610315818972729696126418245724126561_by_1", - "typeString": "int_const 1002...(70 digits omitted)...6561" - }, - "value": "0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61" - }, - "visibility": "internal" - } - ], - "scope": 25159, - "src": "107:292:62" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25158, - "linearizedBaseContracts": [ - 25158 - ], - "name": "IEVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25145, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25140, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "464:27:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25139, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "464:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:29:62" - }, - "payable": false, - "returnParameters": { - "id": 25144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25143, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "511:7:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25142, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "511:4:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:9:62" - }, - "scope": 25158, - "src": "437:83:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25150, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25147, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 25150, - "src": "556:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "555:20:62" - }, - "payable": false, - "returnParameters": { - "id": 25149, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:62" - }, - "scope": 25158, - "src": "525:60:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25157, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25152, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "715:12:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25151, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "715:5:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "714:14:62" - }, - "payable": false, - "returnParameters": { - "id": 25156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25155, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "750:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25154, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "750:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "749:20:62" - }, - "scope": 25158, - "src": "688:82:62", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25159, - "src": "402:370:62" - } - ], - "src": "44:729:62" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.202Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/EVMScriptRegistryFactory.json b/templates/multisig/build/contracts/EVMScriptRegistryFactory.json deleted file mode 100644 index 7da4511..0000000 --- a/templates/multisig/build/contracts/EVMScriptRegistryFactory.json +++ /dev/null @@ -1,2939 +0,0 @@ -{ - "contractName": "EVMScriptRegistryFactory", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "baseReg", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "baseCallScript", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "_dao", - "type": "address" - } - ], - "name": "newEVMScriptRegistry", - "outputs": [ - { - "name": "reg", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506100196100a0565b604051809103906000f080158015610035573d6000803e3d6000fd5b5060008054600160a060020a031916600160a060020a039290921691909117905561005e6100b0565b604051809103906000f08015801561007a573d6000803e3d6000fd5b5060018054600160a060020a031916600160a060020a03929092169190911790556100c0565b6040516118448061072e83390190565b60405161098d80611f7283390190565b61065f806100cf6000396000f30060806040526004361061003d5763ffffffff60e060020a600035041663127d679c811461004257806333404143146100735780634de50a3a14610094575b600080fd5b34801561004e57600080fd5b506100576100a9565b60408051600160a060020a039092168252519081900360200190f35b34801561007f57600080fd5b50610057600160a060020a03600435166100b8565b3480156100a057600080fd5b50610057610624565b600054600160a060020a031681565b604080516004808252602480830184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8129fc1c000000000000000000000000000000000000000000000000000000001781526000805495517fc050a7a60000000000000000000000000000000000000000000000000000000081527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61948101858152600160a060020a0397881694820185905260016064830181905260806044840190815288516084850152885194998a98908c169763c050a7a697919690958b95939260a4909101918083838e5b838110156101c55781810151838201526020016101ad565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b505050506040513d602081101561023e57600080fd5b5051604080517fde2873590000000000000000000000000000000000000000000000000000000081529051919450600160a060020a0386169163de287359916004808201926020929091908290030181600087803b15801561029f57600080fd5b505af11580156102b3573d6000803e3d6000fd5b505050506040513d60208110156102c957600080fd5b50516040805160e060020a6319f3d10f0281529051919250600160a060020a038084169263be0384789230928892908316916319f3d10f9160048083019260209291908290030181600087803b15801561032257600080fd5b505af1158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b5050600154604080517f87a16f12000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905191871693506387a16f1292506024808201926020929091908290030181600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b505050506040513d602081101561045157600080fd5b50506040805160e060020a6319f3d10f0281529051600160a060020a0380841692639d0effdb9230928892908316916319f3d10f916004808201926020929091908290030181600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801561052757600080fd5b505af115801561053b573d6000803e3d6000fd5b5050505080600160a060020a031663a885508a8485600160a060020a03166319f3d10f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561058d57600080fd5b505af11580156105a1573d6000803e3d6000fd5b505050506040513d60208110156105b757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a039093166004840152602483019190915251604480830192600092919082900301818387803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050505050919050565b600154600160a060020a0316815600a165627a7a72305820e7244afe9f951b863b26948fed392cfd0e7a3b22a6bf598c6fca030dd039cf3d00296080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001824833981519152640100000000620012296200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b50620002306000805160206200182483398151915282640100000000620014e26200023782021704565b50565b5490565b9055565b6115d9806200024b6000396000f3006080604052600436106100ed5763ffffffff60e060020a60003504166304bf2a7f81146100f25780630803fac01461016757806319f3d10f146101905780632914b9bd146101b757806332f0a3b5146102105780635ca4d4bb146102255780637e7db6e11461023f57806380afdea8146102605780638129fc1c1461027557806387a16f121461028a5780638b3dd749146102ab5780639d4941d8146102c0578063a1658fad146102e1578063a479e50814610348578063bd8fde1c1461035d578063cff606a014610372578063d4aae0c41461038a578063de4796ed1461039f578063f97a05df146103b4575b600080fd5b3480156100fe57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506103ef9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061017c61050c565b604080519115158252519081900360200190f35b34801561019c57600080fd5b506101a5610535565b60408051918252519081900360200190f35b3480156101c357600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261014b9436949293602493928401919081908401838280828437509497506105599650505050505050565b34801561021c57600080fd5b5061014b61063f565b34801561023157600080fd5b5061023d6004356106b7565b005b34801561024b57600080fd5b5061017c600160a060020a0360043516610843565b34801561026c57600080fd5b506101a5610849565b34801561028157600080fd5b5061023d610879565b34801561029657600080fd5b506101a5600160a060020a0360043516610916565b3480156102b757600080fd5b506101a5610a70565b3480156102cc57600080fd5b5061023d600160a060020a0360043516610a9b565b3480156102ed57600080fd5b50604080516020600460443581810135838102808601850190965280855261017c958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d2a9650505050505050565b34801561035457600080fd5b5061014b610e7a565b34801561036957600080fd5b506101a5610f2f565b34801561037e57600080fd5b5061023d600435610f41565b34801561039657600080fd5b5061014b61116c565b3480156103ab57600080fd5b5061017c611197565b3480156103c057600080fd5b506103cc6004356111aa565b60408051600160a060020a03909316835290151560208301528051918290030190f35b60008060006004845110156040805190810160405280601e81526020017f45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f525400008152509015156104be5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561048357818101518382015260200161046b565b50505050905090810190601f1680156104b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506104c8846111d1565b63ffffffff1660008181526001602052604090208054919350915060a060020a900460ff166104f8576000610504565b8054600160a060020a03165b949350505050565b600080610517610a70565b9050801580159061052f57508061052c6111e4565b10155b91505090565b7fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed281565b6000610563610e7a565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105c15781810151838201526020016105a9565b50505050905090810190601f1680156105ee5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561060d57600080fd5b505af1158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b505192915050565b600061064961116c565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b505050506040513d60208110156106b057600080fd5b5051905090565b600060008051602061158e8339815191526106d1836111e8565b6106dc338383610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156107505760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008481526001602090815260409182902080548351808501909452601884527f45564d5245475f4558454355544f525f44495341424c4544000000000000000092840192909252945060a060020a900460ff1615156107f65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50825460a060020a60ff021981168455604051600160a060020a039091169085907fc13cd9238f8ab1e5ab1f95cde77e89288fe5c328d04739adffd57b144b408fd190600090a350505050565b50600190565b60006108747fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611229565b905090565b610881610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156109065760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5061090f61122d565b6001600055565b6040805160008082526020820190925281907fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed2906109579033908390610d2a565b60408051808201909152600f815260008051602061156e83398151915260208201529015156109cb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506000805460018082018355604080518082018252600160a060020a03808a168083526020808401868152878952959052838720925183549551151560a060020a0260a060020a60ff02199190931673ffffffffffffffffffffffffffffffffffffffff199096169590951794909416179055519194509184917f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb566999190a35092915050565b60006108747febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611229565b6000806000610aa984610843565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610b2f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50610b3861063f565b9250610b43836112f9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610bc95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50600160a060020a0384161515610c1a5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c14573d6000803e3d6000fd5b50610cd9565b5082610c35600160a060020a0382163063ffffffff61132616565b9150610c51600160a060020a038216848463ffffffff61142616565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610cd75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d3561050c565b1515610d445760009150610e72565b610d4c61116c565b9050600160a060020a0381161515610d675760009150610e72565b80600160a060020a031663fdef9106863087610d828861149c565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610df4578181015183820152602001610ddc565b50505050905090810190601f168015610e215780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505191505b509392505050565b600080610e8561116c565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561060d57600080fd5b60008051602061158e83398151915281565b600060008051602061158e833981519152610f5b836111e8565b610f66338383610d2a565b60408051808201909152600f815260008051602061156e8339815191526020820152901515610fda5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5083600081118015610fed575060005481105b60408051808201909152601a81527f45564d5245475f494e4558495354454e545f4558454355544f5200000000000060208201529015156110735760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5060008581526001602090815260409182902080548351808501909452601784527f45564d5245475f4558454355544f525f454e41424c454400000000000000000092840192909252955060a060020a900460ff16156111185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b50835460a060020a60ff02191660a060020a17808555604051600160a060020a039091169086907f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb5669990600090a35050505050565b60006108747f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611229565b60006000196111a4610a70565b14905090565b600160205260009081526040902054600160a060020a0381169060a060020a900460ff1682565b60006111de8260006114a6565b92915050565b4390565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110151561121a57fe5b60209081029091010152919050565b5490565b611235610a70565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156112ba5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b506112f36112c66111e4565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6114e216565b565b5490565b600080600160a060020a03831615156113155760009150611320565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061139186846114e6565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561141c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561048357818101518382015260200161046b565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906114938582611517565b95945050505050565b8051602002815290565b6000806114b38484611565565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561150b57805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111561155b573d8015611548576020811461155157611559565b60019350611559565b600183511493505b505b5090949350505050565b01602001519056004150505f415554485f4641494c45440000000000000000000000000000000000f7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa3a165627a7a72305820a38f004643456bdf10c7e8ac32bad45d3130f9b07d3617d56c5720e33e709dc30029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e608060405261001564010000000061001a810204565b610223565b61002b64010000000061011a810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156100c85781810151838201526020016100b0565b50505050905090810190601f1680156100f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610118600019640100000000610145810204565b565b600061014060008051602061096d8339815191526401000000006106ff61021b82021704565b905090565b61015664010000000061011a810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156101f2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382528381815181526020019150805190602001908083836000838110156100c85781810151838201526020016100b0565b5061021860008051602061096d8339815191528264010000000061070b61021f82021704565b50565b5490565b9055565b61073b806102326000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630803fac08114610058578063279cea35146100815780638333d9b21461012e5780638b3dd74914610155578063de4796ed1461016a575b600080fd5b34801561006457600080fd5b5061006d61017f565b604080519115158252519081900360200190f35b34801561008d57600080fd5b506100b960246004803582810192908201359181358083019290820135916044359182019101356101a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f35781810151838201526020016100db565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013a57600080fd5b5061014361061c565b60408051918252519081900360200190f35b34801561016157600080fd5b50610143610640565b34801561017657600080fd5b5061006d610670565b60008061018a610640565b905080158015906101a257508061019f610683565b10155b91505090565b606060008060008060008060006101bd61017f565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a4544000000000000000000000000602082015290151561027f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561024457818101518382015260200161022c565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600496505b8c87101561060b5760408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e47544800000000000000000060208201526018888f0310156103175760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b5061035b878f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106871692505050565b9550600094505b8885101561042f5789898681811061037657fe5b90506020020135600160a060020a0316600160a060020a031686600160a060020a031614156040805190810160405280601981526020017f45564d43414c4c535f424c41434b4c49535445445f43414c4c000000000000008152509015156104235760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600190940193610362565b604051600160a060020a03871690309033907f9dcff9d94fbfdb4622d11edb383005f95e78efb446c72d92f8e615c6025c470390600090a46104ad876014018f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106bc1692505050565b63ffffffff169350866014016004019250610501838f8f8080601f01602080910402602001604051908101604052809392919081815260200183838082843750949594505063ffffffff6106f81692505050565b60408051808201909152601781527f45564d43414c4c535f494e56414c49445f4c454e475448000000000000000000602082015284860198509092508d8811156105905760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561024457818101518382015260200161022c565b50600080858460008a6113885a03f190508080156105ad57610605565b6040513d80156105c0573d6000833e3d82fd5b60e560020a62461bcd02825260206004830152601660248301527f45564d43414c4c535f43414c4c5f5245564552544544000000000000000000006044830152606482fd5b50610285565b505050505050509695505050505050565b7f2dc858a00f3e417be1394b87c07158e989ec681ce8cc68a9093680ac1a87030290565b600061066b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6106ff565b905090565b600060001961067d610640565b14905090565b4390565b6000806106948484610703565b6c010000000000000000000000006bffffffffffffffffffffffff1990911604949350505050565b6000806106c98484610703565b60e060020a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911604949350505050565b0160200190565b5490565b016020015190565b90555600a165627a7a723058204f6226e4b72f33eac3c95335e6d56a06b748d2211fc92a8ec2946c7a46f443ee0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x60806040526004361061003d5763ffffffff60e060020a600035041663127d679c811461004257806333404143146100735780634de50a3a14610094575b600080fd5b34801561004e57600080fd5b506100576100a9565b60408051600160a060020a039092168252519081900360200190f35b34801561007f57600080fd5b50610057600160a060020a03600435166100b8565b3480156100a057600080fd5b50610057610624565b600054600160a060020a031681565b604080516004808252602480830184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8129fc1c000000000000000000000000000000000000000000000000000000001781526000805495517fc050a7a60000000000000000000000000000000000000000000000000000000081527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61948101858152600160a060020a0397881694820185905260016064830181905260806044840190815288516084850152885194998a98908c169763c050a7a697919690958b95939260a4909101918083838e5b838110156101c55781810151838201526020016101ad565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b505050506040513d602081101561023e57600080fd5b5051604080517fde2873590000000000000000000000000000000000000000000000000000000081529051919450600160a060020a0386169163de287359916004808201926020929091908290030181600087803b15801561029f57600080fd5b505af11580156102b3573d6000803e3d6000fd5b505050506040513d60208110156102c957600080fd5b50516040805160e060020a6319f3d10f0281529051919250600160a060020a038084169263be0384789230928892908316916319f3d10f9160048083019260209291908290030181600087803b15801561032257600080fd5b505af1158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201523060648201529051608480830192600092919082900301818387803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b5050600154604080517f87a16f12000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905191871693506387a16f1292506024808201926020929091908290030181600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b505050506040513d602081101561045157600080fd5b50506040805160e060020a6319f3d10f0281529051600160a060020a0380841692639d0effdb9230928892908316916319f3d10f916004808201926020929091908290030181600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801561052757600080fd5b505af115801561053b573d6000803e3d6000fd5b5050505080600160a060020a031663a885508a8485600160a060020a03166319f3d10f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561058d57600080fd5b505af11580156105a1573d6000803e3d6000fd5b505050506040513d60208110156105b757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a039093166004840152602483019190915251604480830192600092919082900301818387803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050505050919050565b600154600160a060020a0316815600a165627a7a72305820e7244afe9f951b863b26948fed392cfd0e7a3b22a6bf598c6fca030dd039cf3d0029", - "sourceMap": "225:1215:70:-;;;448:135;8:9:-1;5:2;;;30:1;27;20:12;5:2;448:135:70;489:23;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;479:7:70;:33;;-1:-1:-1;;;;;;479:33:70;-1:-1:-1;;;;;479:33:70;;;;;;;;;;558:17;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;522:14:70;:54;;-1:-1:-1;;;;;;522:54:70;-1:-1:-1;;;;;522:54:70;;;;;;;;;;225:1215;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "225:1215:70:-;;;;;;;;;-1:-1:-1;;;225:1215:70;;;;;;;;;;;;;;;;;;;;;;;295:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;295:32:70;;;;;;;;-1:-1:-1;;;;;295:32:70;;;;;;;;;;;;;;747:691;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;747:691:70;-1:-1:-1;;;;;747:691:70;;;;;333:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:40:70;;;;295:32;;;-1:-1:-1;;;;;295:32:70;;:::o;747:691::-;866:47;;;22:32:-1;6:49;;;866:47:70;;;;;;49:4:-1;25:18;;61:17;;866:47:70;182:15:-1;889:23:70;179:29:-1;160:49;;806:21:70;1000:7;;947:80;;;;;330:66:62;947:80:70;;;;;;-1:-1:-1;;;;;1000:7:70;;;947:80;;;;;;973:25;947:80;;;;;;;;;;;;;;;;;;;;;806:21;;;;947:25;;;;;;330:66:62;;1000:7:70;;866:47;;947:80;;;;;;;;;25:18:-1;806:21:70;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;947:80:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;947:80:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;947:80:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;947:80:70;1053:10;;;;;;;;947:80;;-1:-1:-1;;;;;;1053:8:70;;;;;:10;;;;;947:80;;1053:10;;;;;;;;;:8;:10;;;5:2:-1;;;;30:1;27;20:12;5:2;1053:10:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1053:10:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1053:10:70;1107:32;;;-1:-1:-1;;;;;1107:32:70;;;;1053:10;;-1:-1:-1;;;;;;1075:20:70;;;;;;1096:4;;1102:3;;1107:30;;;;;;:32;;;;;1053:10;;1107:32;;;;;;;;:30;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;1107:32:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1107:32:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1107:32:70;1075:71;;;-1:-1:-1;;;1075:71:70;;;;;;-1:-1:-1;;;;;1075:71:70;;;;;;;;;;;;;;;;;;;1141:4;1075:71;;;;;;;;;;;-1:-1:-1;;1075:71:70;;;;;;;-1:-1:-1;1075:71:70;;;;5:2:-1;;;;30:1;27;20:12;5:2;1075:71:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1179:14:70;;1157:37;;;;;;-1:-1:-1;;;;;1179:14:70;;;1157:37;;;;;;:21;;;;-1:-1:-1;1157:21:70;;-1:-1:-1;1157:37:70;;;;;;;;;;;;;;;1179:14;1157:21;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;1157:37:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1157:37:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;1301:32:70;;;-1:-1:-1;;;;;1301:32:70;;;;-1:-1:-1;;;;;1269:20:70;;;;;;1290:4;;1296:3;;1301:30;;;;;;:32;;;;;1157:37;;1301:32;;;;;;;;;:30;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;1301:32:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1301:32:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1301:32:70;1269:65;;;-1:-1:-1;;;1269:65:70;;;;;;-1:-1:-1;;;;;1269:65:70;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1269:65:70;;;;;;;-1:-1:-1;1269:65:70;;;;5:2:-1;;;;30:1;27;20:12;5:2;1269:65:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1269:65:70;;;;1344:3;-1:-1:-1;;;;;1344:27:70;;1372:3;1377;-1:-1:-1;;;;;1377:30:70;;:32;;;;;-1:-1:-1;;;1377:32:70;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1377:32:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1377:32:70;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1377:32:70;1344:66;;;-1:-1:-1;;;1344:66:70;;;;;;-1:-1:-1;;;;;1344:66:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1344:66:70;;;;;;;-1:-1:-1;1344:66:70;;;;5:2:-1;;;;30:1;27;20:12;5:2;1344:66:70;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;747:691:70;;;;;:::o;333:40::-;;;-1:-1:-1;;;;;333:40:70;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"../evmscript/IEVMScriptExecutor.sol\";\nimport \"../evmscript/EVMScriptRegistry.sol\";\n\nimport \"../evmscript/executors/CallsScript.sol\";\n\nimport \"../kernel/Kernel.sol\";\nimport \"../acl/ACL.sol\";\n\n\ncontract EVMScriptRegistryFactory is EVMScriptRegistryConstants {\n EVMScriptRegistry public baseReg;\n IEVMScriptExecutor public baseCallScript;\n\n /**\n * @notice Create a new EVMScriptRegistryFactory.\n */\n constructor() public {\n baseReg = new EVMScriptRegistry();\n baseCallScript = IEVMScriptExecutor(new CallsScript());\n }\n\n /**\n * @notice Install a new pinned instance of EVMScriptRegistry on `_dao`.\n * @param _dao Kernel\n * @return Installed EVMScriptRegistry\n */\n function newEVMScriptRegistry(Kernel _dao) public returns (EVMScriptRegistry reg) {\n bytes memory initPayload = abi.encodeWithSelector(reg.initialize.selector);\n reg = EVMScriptRegistry(_dao.newPinnedAppInstance(EVMSCRIPT_REGISTRY_APP_ID, baseReg, initPayload, true));\n\n ACL acl = ACL(_dao.acl());\n\n acl.createPermission(this, reg, reg.REGISTRY_ADD_EXECUTOR_ROLE(), this);\n\n reg.addScriptExecutor(baseCallScript); // spec 1 = CallsScript\n\n // Clean up the permissions\n acl.revokePermission(this, reg, reg.REGISTRY_ADD_EXECUTOR_ROLE());\n acl.removePermissionManager(reg, reg.REGISTRY_ADD_EXECUTOR_ROLE());\n\n return reg;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "exportedSymbols": { - "EVMScriptRegistryFactory": [ - 26351 - ] - }, - "id": 26352, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26246, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:70" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "../evmscript/IEVMScriptExecutor.sol", - "id": 26247, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 25132, - "src": "25:45:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRegistry.sol", - "file": "../evmscript/EVMScriptRegistry.sol", - "id": 26248, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 24946, - "src": "71:44:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/executors/CallsScript.sol", - "file": "../evmscript/executors/CallsScript.sol", - "id": 26249, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 25415, - "src": "117:48:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "../kernel/Kernel.sol", - "id": 26250, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 26898, - "src": "167:30:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 26251, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 21812, - "src": "198:24:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26252, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "262:26:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 26253, - "nodeType": "InheritanceSpecifier", - "src": "262:26:70" - } - ], - "contractDependencies": [ - 24945, - 25138, - 25414 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26351, - "linearizedBaseContracts": [ - 26351, - 25138 - ], - "name": "EVMScriptRegistryFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 26255, - "name": "baseReg", - "nodeType": "VariableDeclaration", - "scope": 26351, - "src": "295:32:70", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26254, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "295:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 26257, - "name": "baseCallScript", - "nodeType": "VariableDeclaration", - "scope": 26351, - "src": "333:40:70", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 26256, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "333:18:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 26274, - "nodeType": "Block", - "src": "469:114:70", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26260, - "name": "baseReg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26255, - "src": "479:7:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "489:21:70", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "function () returns (contract EVMScriptRegistry)" - }, - "typeName": { - "contractScope": null, - "id": 26261, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "493:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - } - }, - "id": 26263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "489:23:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "src": "479:33:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26265, - "nodeType": "ExpressionStatement", - "src": "479:33:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26266, - "name": "baseCallScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26257, - "src": "522:14:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "558:15:70", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_CallsScript_$25414_$", - "typeString": "function () returns (contract CallsScript)" - }, - "typeName": { - "contractScope": null, - "id": 26268, - "name": "CallsScript", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25414, - "src": "562:11:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - }, - "id": 26270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "558:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - ], - "id": 26267, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "539:18:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 26271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "539:37:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "src": "522:54:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 26273, - "nodeType": "ExpressionStatement", - "src": "522:54:70" - } - ] - }, - "documentation": "@notice Create a new EVMScriptRegistryFactory.", - "id": 26275, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26258, - "nodeType": "ParameterList", - "parameters": [], - "src": "459:2:70" - }, - "payable": false, - "returnParameters": { - "id": 26259, - "nodeType": "ParameterList", - "parameters": [], - "src": "469:0:70" - }, - "scope": 26351, - "src": "448:135:70", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26349, - "nodeType": "Block", - "src": "829:609:70", - "statements": [ - { - "assignments": [ - 26283 - ], - "declarations": [ - { - "constant": false, - "id": 26283, - "name": "initPayload", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "839:24:70", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26282, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "839:5:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26290, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 26286, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "889:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 24799, - "src": "889:14:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 26288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "889:23:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 26284, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "866:3:70", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 26285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "866:22:70", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 26289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "866:47:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "839:74:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26291, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "923:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26295, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25137, - "src": "973:25:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26296, - "name": "baseReg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26255, - "src": "1000:7:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "id": 26297, - "name": "initPayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26283, - "src": "1009:11:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 26298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1022:4:70", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 26293, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26277, - "src": "947:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newPinnedAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26646, - "src": "947:25:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 26299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "947:80:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26292, - "name": "EVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24945, - "src": "929:17:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "type(contract EVMScriptRegistry)" - } - }, - "id": 26300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:99:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "src": "923:105:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26302, - "nodeType": "ExpressionStatement", - "src": "923:105:70" - }, - { - "assignments": [ - 26304 - ], - "declarations": [ - { - "constant": false, - "id": 26304, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "1039:7:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 26303, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1039:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26306, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26277, - "src": "1053:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "1053:8:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 26308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1053:10:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26305, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1049:3:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 26309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1049:15:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1039:25:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26314, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1096:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26315, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1102:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26316, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1107:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1107:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1107:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26319, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1141:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26311, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1075:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "1075:20:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 26320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:71:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26321, - "nodeType": "ExpressionStatement", - "src": "1075:71:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26325, - "name": "baseCallScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26257, - "src": "1179:14:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "expression": { - "argumentTypes": null, - "id": 26322, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1157:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addScriptExecutor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24831, - "src": "1157:21:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IEVMScriptExecutor_$25131_$returns$_t_uint256_$", - "typeString": "function (contract IEVMScriptExecutor) external returns (uint256)" - } - }, - "id": 26326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1157:37:70", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 26327, - "nodeType": "ExpressionStatement", - "src": "1157:37:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26331, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1290:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26332, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1296:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26333, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1301:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1301:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1301:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26328, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1269:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "1269:20:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1269:65:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26337, - "nodeType": "ExpressionStatement", - "src": "1269:65:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26341, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1372:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26342, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1377:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1377:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1377:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26338, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1344:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "1344:27:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 26345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1344:66:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26346, - "nodeType": "ExpressionStatement", - "src": "1344:66:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26347, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1428:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "functionReturnParameters": 26281, - "id": 26348, - "nodeType": "Return", - "src": "1421:10:70" - } - ] - }, - "documentation": "@notice Install a new pinned instance of EVMScriptRegistry on `_dao`.\n@param _dao Kernel\n@return Installed EVMScriptRegistry", - "id": 26350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newEVMScriptRegistry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26277, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "777:11:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26276, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "777:6:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "776:13:70" - }, - "payable": false, - "returnParameters": { - "id": 26281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26280, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "806:21:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26279, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "806:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:23:70" - }, - "scope": 26351, - "src": "747:691:70", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26352, - "src": "225:1215:70" - } - ], - "src": "0:1441:70" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "exportedSymbols": { - "EVMScriptRegistryFactory": [ - 26351 - ] - }, - "id": 26352, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26246, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:70" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "../evmscript/IEVMScriptExecutor.sol", - "id": 26247, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 25132, - "src": "25:45:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRegistry.sol", - "file": "../evmscript/EVMScriptRegistry.sol", - "id": 26248, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 24946, - "src": "71:44:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/executors/CallsScript.sol", - "file": "../evmscript/executors/CallsScript.sol", - "id": 26249, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 25415, - "src": "117:48:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "file": "../kernel/Kernel.sol", - "id": 26250, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 26898, - "src": "167:30:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACL.sol", - "file": "../acl/ACL.sol", - "id": 26251, - "nodeType": "ImportDirective", - "scope": 26352, - "sourceUnit": 21812, - "src": "198:24:70", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26252, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "262:26:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 26253, - "nodeType": "InheritanceSpecifier", - "src": "262:26:70" - } - ], - "contractDependencies": [ - 24945, - 25138, - 25414 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26351, - "linearizedBaseContracts": [ - 26351, - 25138 - ], - "name": "EVMScriptRegistryFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 26255, - "name": "baseReg", - "nodeType": "VariableDeclaration", - "scope": 26351, - "src": "295:32:70", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26254, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "295:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 26257, - "name": "baseCallScript", - "nodeType": "VariableDeclaration", - "scope": 26351, - "src": "333:40:70", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 26256, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "333:18:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 26274, - "nodeType": "Block", - "src": "469:114:70", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26260, - "name": "baseReg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26255, - "src": "479:7:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "489:21:70", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "function () returns (contract EVMScriptRegistry)" - }, - "typeName": { - "contractScope": null, - "id": 26261, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "493:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - } - }, - "id": 26263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "489:23:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "src": "479:33:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26265, - "nodeType": "ExpressionStatement", - "src": "479:33:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26266, - "name": "baseCallScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26257, - "src": "522:14:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "558:15:70", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_CallsScript_$25414_$", - "typeString": "function () returns (contract CallsScript)" - }, - "typeName": { - "contractScope": null, - "id": 26268, - "name": "CallsScript", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25414, - "src": "562:11:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - }, - "id": 26270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "558:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CallsScript_$25414", - "typeString": "contract CallsScript" - } - ], - "id": 26267, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "539:18:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 26271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "539:37:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "src": "522:54:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 26273, - "nodeType": "ExpressionStatement", - "src": "522:54:70" - } - ] - }, - "documentation": "@notice Create a new EVMScriptRegistryFactory.", - "id": 26275, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26258, - "nodeType": "ParameterList", - "parameters": [], - "src": "459:2:70" - }, - "payable": false, - "returnParameters": { - "id": 26259, - "nodeType": "ParameterList", - "parameters": [], - "src": "469:0:70" - }, - "scope": 26351, - "src": "448:135:70", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26349, - "nodeType": "Block", - "src": "829:609:70", - "statements": [ - { - "assignments": [ - 26283 - ], - "declarations": [ - { - "constant": false, - "id": 26283, - "name": "initPayload", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "839:24:70", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26282, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "839:5:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26290, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 26286, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "889:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 24799, - "src": "889:14:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 26288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "889:23:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 26284, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "866:3:70", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 26285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "866:22:70", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 26289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "866:47:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "839:74:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26291, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "923:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26295, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25137, - "src": "973:25:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26296, - "name": "baseReg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26255, - "src": "1000:7:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "id": 26297, - "name": "initPayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26283, - "src": "1009:11:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 26298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1022:4:70", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 26293, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26277, - "src": "947:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newPinnedAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26646, - "src": "947:25:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)" - } - }, - "id": 26299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "947:80:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26292, - "name": "EVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24945, - "src": "929:17:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$24945_$", - "typeString": "type(contract EVMScriptRegistry)" - } - }, - "id": 26300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:99:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "src": "923:105:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26302, - "nodeType": "ExpressionStatement", - "src": "923:105:70" - }, - { - "assignments": [ - 26304 - ], - "declarations": [ - { - "constant": false, - "id": 26304, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "1039:7:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 26303, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "1039:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26306, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26277, - "src": "1053:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 26307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "1053:8:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 26308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1053:10:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26305, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "1049:3:70", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 26309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1049:15:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1039:25:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26314, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1096:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26315, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1102:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26316, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1107:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1107:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1107:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26319, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1141:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26311, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1075:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "1075:20:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 26320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:71:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26321, - "nodeType": "ExpressionStatement", - "src": "1075:71:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26325, - "name": "baseCallScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26257, - "src": "1179:14:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "expression": { - "argumentTypes": null, - "id": 26322, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1157:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addScriptExecutor", - "nodeType": "MemberAccess", - "referencedDeclaration": 24831, - "src": "1157:21:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IEVMScriptExecutor_$25131_$returns$_t_uint256_$", - "typeString": "function (contract IEVMScriptExecutor) external returns (uint256)" - } - }, - "id": 26326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1157:37:70", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 26327, - "nodeType": "ExpressionStatement", - "src": "1157:37:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26331, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29935, - "src": "1290:4:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - } - }, - { - "argumentTypes": null, - "id": 26332, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1296:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26333, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1301:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1301:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1301:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$26351", - "typeString": "contract EVMScriptRegistryFactory" - }, - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26328, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1269:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokePermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20815, - "src": "1269:20:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32) external" - } - }, - "id": 26336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1269:65:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26337, - "nodeType": "ExpressionStatement", - "src": "1269:65:70" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26341, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1372:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 26342, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1377:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "id": 26343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REGISTRY_ADD_EXECUTOR_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 24728, - "src": "1377:30:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 26344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1377:32:70", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 26338, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26304, - "src": "1344:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 26340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "removePermissionManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 20855, - "src": "1344:27:70", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32) external" - } - }, - "id": 26345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1344:66:70", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26346, - "nodeType": "ExpressionStatement", - "src": "1344:66:70" - }, - { - "expression": { - "argumentTypes": null, - "id": 26347, - "name": "reg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26280, - "src": "1428:3:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "functionReturnParameters": 26281, - "id": 26348, - "nodeType": "Return", - "src": "1421:10:70" - } - ] - }, - "documentation": "@notice Install a new pinned instance of EVMScriptRegistry on `_dao`.\n@param _dao Kernel\n@return Installed EVMScriptRegistry", - "id": 26350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "newEVMScriptRegistry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26277, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "777:11:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 26276, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "777:6:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "776:13:70" - }, - "payable": false, - "returnParameters": { - "id": 26281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26280, - "name": "reg", - "nodeType": "VariableDeclaration", - "scope": 26350, - "src": "806:21:70", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 26279, - "name": "EVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24945, - "src": "806:17:70", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistry_$24945", - "typeString": "contract EVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:23:70" - }, - "scope": 26351, - "src": "747:691:70", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26352, - "src": "225:1215:70" - } - ], - "src": "0:1441:70" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.262Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/EVMScriptRunner.json b/templates/multisig/build/contracts/EVMScriptRunner.json deleted file mode 100644 index ff93afa..0000000 --- a/templates/multisig/build/contracts/EVMScriptRunner.json +++ /dev/null @@ -1,4848 +0,0 @@ -{ - "contractName": "EVMScriptRunner", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061040c806100206000396000f30060806040526004361061005e5763ffffffff60e060020a6000350416630803fac081146100635780632914b9bd1461008c57806380afdea81461010e5780638b3dd74914610135578063a479e5081461014a578063d4aae0c41461015f575b600080fd5b34801561006f57600080fd5b50610078610174565b604080519115158252519081900360200190f35b34801561009857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100e594369492936024939284019190819084018382808284375094975061019d9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561011a57600080fd5b50610123610290565b60408051918252519081900360200190f35b34801561014157600080fd5b506101236102c0565b34801561015657600080fd5b506100e56102eb565b34801561016b57600080fd5b506100e56103ad565b60008061017f6102c0565b905080158015906101975750806101946103d8565b10155b91505090565b60006101a76102eb565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102125781810151838201526020016101fa565b50505050905090810190601f16801561023f5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561025e57600080fd5b505af1158015610272573d6000803e3d6000fd5b505050506040513d602081101561028857600080fd5b505192915050565b60006102bb7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6103dc565b905090565b60006102bb7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6103dc565b6000806102f66103ad565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561025e57600080fd5b60006102bb7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6103dc565b4390565b54905600a165627a7a723058200e531d656f265bf3841848ec7d63615b8977f3fc5c5ca9b0eb74dcdcf89343bb0029", - "deployedBytecode": "0x60806040526004361061005e5763ffffffff60e060020a6000350416630803fac081146100635780632914b9bd1461008c57806380afdea81461010e5780638b3dd74914610135578063a479e5081461014a578063d4aae0c41461015f575b600080fd5b34801561006f57600080fd5b50610078610174565b604080519115158252519081900360200190f35b34801561009857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100e594369492936024939284019190819084018382808284375094975061019d9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561011a57600080fd5b50610123610290565b60408051918252519081900360200190f35b34801561014157600080fd5b506101236102c0565b34801561015657600080fd5b506100e56102eb565b34801561016b57600080fd5b506100e56103ad565b60008061017f6102c0565b905080158015906101975750806101946103d8565b10155b91505090565b60006101a76102eb565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102125781810151838201526020016101fa565b50505050905090810190601f16801561023f5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561025e57600080fd5b505af1158015610272573d6000803e3d6000fd5b505050506040513d602081101561028857600080fd5b505192915050565b60006102bb7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6103dc565b905090565b60006102bb7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6103dc565b6000806102f66103ad565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561025e57600080fd5b60006102bb7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6103dc565b4390565b54905600a165627a7a723058200e531d656f265bf3841848ec7d63615b8977f3fc5c5ca9b0eb74dcdcf89343bb0029", - "sourceMap": "254:4465:60:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:4465:60;;;;;;;", - "deployedSourceMap": "254:4465:60:-;;;;;;;;;-1:-1:-1;;;254:4465:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;;;;;;;;;;;;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;;;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;:40;;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;:15;;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;674:116:38;713:7;747:35;485:66;747:33;:35::i;347:94:53:-;422:12;347:94;:::o;379:134:55:-;490:15;;480:27::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./IEVMScriptExecutor.sol\";\nimport \"./IEVMScriptRegistry.sol\";\n\nimport \"../apps/AppStorage.sol\";\nimport \"../kernel/KernelConstants.sol\";\nimport \"../common/Initializable.sol\";\n\n\ncontract EVMScriptRunner is AppStorage, Initializable, EVMScriptRegistryConstants, KernelNamespaceConstants {\n string private constant ERROR_EXECUTOR_UNAVAILABLE = \"EVMRUN_EXECUTOR_UNAVAILABLE\";\n string private constant ERROR_PROTECTED_STATE_MODIFIED = \"EVMRUN_PROTECTED_STATE_MODIFIED\";\n\n /* This is manually crafted in assembly\n string private constant ERROR_EXECUTOR_INVALID_RETURN = \"EVMRUN_EXECUTOR_INVALID_RETURN\";\n */\n\n event ScriptResult(address indexed executor, bytes script, bytes input, bytes returnData);\n\n function getEVMScriptExecutor(bytes _script) public view returns (IEVMScriptExecutor) {\n return IEVMScriptExecutor(getEVMScriptRegistry().getScriptExecutor(_script));\n }\n\n function getEVMScriptRegistry() public view returns (IEVMScriptRegistry) {\n address registryAddr = kernel().getApp(KERNEL_APP_ADDR_NAMESPACE, EVMSCRIPT_REGISTRY_APP_ID);\n return IEVMScriptRegistry(registryAddr);\n }\n\n function runScript(bytes _script, bytes _input, address[] _blacklist)\n internal\n isInitialized\n protectState\n returns (bytes)\n {\n IEVMScriptExecutor executor = getEVMScriptExecutor(_script);\n require(address(executor) != address(0), ERROR_EXECUTOR_UNAVAILABLE);\n\n bytes4 sig = executor.execScript.selector;\n bytes memory data = abi.encodeWithSelector(sig, _script, _input, _blacklist);\n\n bytes memory output;\n assembly {\n let success := delegatecall(\n gas, // forward all gas\n executor, // address\n add(data, 0x20), // calldata start\n mload(data), // calldata length\n 0, // don't write output (we'll handle this ourselves)\n 0 // don't write output\n )\n\n output := mload(0x40) // free mem ptr get\n\n switch success\n case 0 {\n // If the call errored, forward its full error data\n returndatacopy(output, 0, returndatasize)\n revert(output, returndatasize)\n }\n default {\n switch gt(returndatasize, 0x3f)\n case 0 {\n // Need at least 0x40 bytes returned for properly ABI-encoded bytes values,\n // revert with \"EVMRUN_EXECUTOR_INVALID_RETURN\"\n // See remix: doing a `revert(\"EVMRUN_EXECUTOR_INVALID_RETURN\")` always results in\n // this memory layout\n mstore(output, 0x08c379a000000000000000000000000000000000000000000000000000000000) // error identifier\n mstore(add(output, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020) // starting offset\n mstore(add(output, 0x24), 0x000000000000000000000000000000000000000000000000000000000000001e) // reason length\n mstore(add(output, 0x44), 0x45564d52554e5f4558454355544f525f494e56414c49445f52455455524e0000) // reason\n\n revert(output, 100) // 100 = 4 + 3 * 32 (error identifier + 3 words for the ABI encoded error)\n }\n default {\n // Copy result\n //\n // Needs to perform an ABI decode for the expected `bytes` return type of\n // `executor.execScript()` as solidity will automatically ABI encode the returned bytes as:\n // [ position of the first dynamic length return value = 0x20 (32 bytes) ]\n // [ output length (32 bytes) ]\n // [ output content (N bytes) ]\n //\n // Perform the ABI decode by ignoring the first 32 bytes of the return data\n let copysize := sub(returndatasize, 0x20)\n returndatacopy(output, 0x20, copysize)\n\n mstore(0x40, add(output, copysize)) // free mem ptr set\n }\n }\n }\n\n emit ScriptResult(address(executor), _script, _input, output);\n\n return output;\n }\n\n modifier protectState {\n address preKernel = address(kernel());\n bytes32 preAppId = appId();\n _; // exec\n require(address(kernel()) == preKernel, ERROR_PROTECTED_STATE_MODIFIED);\n require(appId() == preAppId, ERROR_PROTECTED_STATE_MODIFIED);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/EVMScriptRunner.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRunner.sol", - "exportedSymbols": { - "EVMScriptRunner": [ - 25111 - ] - }, - "id": 25112, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24947, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:60" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 24948, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 25132, - "src": "70:34:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "file": "./IEVMScriptRegistry.sol", - "id": 24949, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 25159, - "src": "105:34:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "../apps/AppStorage.sol", - "id": 24950, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 23330, - "src": "141:32:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "../kernel/KernelConstants.sol", - "id": 24951, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 26920, - "src": "174:39:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "file": "../common/Initializable.sol", - "id": 24952, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 23798, - "src": "214:37:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24953, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "282:10:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 24954, - "nodeType": "InheritanceSpecifier", - "src": "282:10:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24955, - "name": "Initializable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23797, - "src": "294:13:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$23797", - "typeString": "contract Initializable" - } - }, - "id": 24956, - "nodeType": "InheritanceSpecifier", - "src": "294:13:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24957, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "309:26:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 24958, - "nodeType": "InheritanceSpecifier", - "src": "309:26:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24959, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "337:24:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 24960, - "nodeType": "InheritanceSpecifier", - "src": "337:24:60" - } - ], - "contractDependencies": [ - 23329, - 23797, - 24154, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25111, - "linearizedBaseContracts": [ - 25111, - 26919, - 25138, - 23797, - 24154, - 23329 - ], - "name": "EVMScriptRunner", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24963, - "name": "ERROR_EXECUTOR_UNAVAILABLE", - "nodeType": "VariableDeclaration", - "scope": 25111, - "src": "368:82:60", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24961, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "368:6:60", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d52554e5f4558454355544f525f554e415641494c41424c45", - "id": 24962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:29:60", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8eaa9277b7a571cc4e32be0346d713d2afa465c007646deacfabeba4f629e0be", - "typeString": "literal_string \"EVMRUN_EXECUTOR_UNAVAILABLE\"" - }, - "value": "EVMRUN_EXECUTOR_UNAVAILABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24966, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "VariableDeclaration", - "scope": 25111, - "src": "456:90:60", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24964, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "456:6:60", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544", - "id": 24965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:33:60", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93fe2db835b78d0be70801a075eae0aab8d5496824b1a06caec0dd78db98ba92", - "typeString": "literal_string \"EVMRUN_PROTECTED_STATE_MODIFIED\"" - }, - "value": "EVMRUN_PROTECTED_STATE_MODIFIED" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 24976, - "name": "ScriptResult", - "nodeType": "EventDefinition", - "parameters": { - "id": 24975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24968, - "indexed": true, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "718:24:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24970, - "indexed": false, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "744:12:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "744:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24972, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "758:11:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24971, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "758:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24974, - "indexed": false, - "name": "returnData", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "771:16:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24973, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "771:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "717:71:60" - }, - "src": "699:90:60" - }, - { - "body": { - "id": 24991, - "nodeType": "Block", - "src": "881:93:60", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24987, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24978, - "src": "958:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24984, - "name": "getEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25011, - "src": "917:20:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "function () view returns (contract IEVMScriptRegistry)" - } - }, - "id": 24985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:22:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "id": 24986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getScriptExecutor", - "nodeType": "MemberAccess", - "referencedDeclaration": 25157, - "src": "917:40:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "function (bytes memory) view external returns (contract IEVMScriptExecutor)" - } - }, - "id": 24988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:49:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24983, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "898:18:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 24989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:69:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "functionReturnParameters": 24982, - "id": 24990, - "nodeType": "Return", - "src": "891:76:60" - } - ] - }, - "documentation": null, - "id": 24992, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEVMScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24978, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 24992, - "src": "825:13:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24977, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "825:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "824:15:60" - }, - "payable": false, - "returnParameters": { - "id": 24982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24981, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24992, - "src": "861:18:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24980, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "861:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:20:60" - }, - "scope": 25111, - "src": "795:179:60", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25010, - "nodeType": "Block", - "src": "1053:158:60", - "statements": [ - { - "assignments": [ - 24998 - ], - "declarations": [ - { - "constant": false, - "id": 24998, - "name": "registryAddr", - "nodeType": "VariableDeclaration", - "scope": 25011, - "src": "1063:20:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1063:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25005, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25002, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "1102:25:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25003, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25137, - "src": "1129:25:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24999, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1086:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1086:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 25001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26404, - "src": "1086:15:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view external returns (address)" - } - }, - "id": 25004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1086:69:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1063:92:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25007, - "name": "registryAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24998, - "src": "1191:12:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25006, - "name": "IEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25158, - "src": "1172:18:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "type(contract IEVMScriptRegistry)" - } - }, - "id": 25008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1172:32:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "functionReturnParameters": 24996, - "id": 25009, - "nodeType": "Return", - "src": "1165:39:60" - } - ] - }, - "documentation": null, - "id": 25011, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEVMScriptRegistry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24993, - "nodeType": "ParameterList", - "parameters": [], - "src": "1009:2:60" - }, - "payable": false, - "returnParameters": { - "id": 24996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24995, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25011, - "src": "1033:18:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 24994, - "name": "IEVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25158, - "src": "1033:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1032:20:60" - }, - "scope": 25111, - "src": "980:231:60", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25075, - "nodeType": "Block", - "src": "1375:3054:60", - "statements": [ - { - "assignments": [ - 25028 - ], - "declarations": [ - { - "constant": false, - "id": 25028, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1385:27:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25027, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "1385:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25032, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25030, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "1436:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25029, - "name": "getEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24992, - "src": "1415:20:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "function (bytes memory) view returns (contract IEVMScriptExecutor)" - } - }, - "id": 25031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1415:29:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1385:59:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25035, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "1470:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 25034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1462:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1462:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1491:1:60", - "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": 25037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1483:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1483:10:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1462:31:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25041, - "name": "ERROR_EXECUTOR_UNAVAILABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24963, - "src": "1495:26:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25033, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1454:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1454:68:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25043, - "nodeType": "ExpressionStatement", - "src": "1454:68:60" - }, - { - "assignments": [ - 25045 - ], - "declarations": [ - { - "constant": false, - "id": 25045, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1533:10:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 25044, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1533:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25049, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25046, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "1546:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 25047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "execScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 25125, - "src": "1546:19:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) external returns (bytes memory)" - } - }, - "id": 25048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1546:28:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1533:41:60" - }, - { - "assignments": [ - 25051 - ], - "declarations": [ - { - "constant": false, - "id": 25051, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1584:17:60", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25050, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1584:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25054, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25045, - "src": "1627:3:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 25055, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "1632:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25056, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25015, - "src": "1641:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25057, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25018, - "src": "1649:10:60", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25052, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "1604:3:60", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1604:22:60", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 25058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1604:56:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1584:76:60" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25061, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1671:19:60", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25060, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1671:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25062, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1671:19:60" - }, - { - "externalReferences": [ - { - "data": { - "declaration": 25051, - "isOffset": false, - "isSlot": false, - "src": "1930:4:60", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 25051, - "isOffset": false, - "isSlot": false, - "src": "1874:4:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2136:6:60", - "valueSize": 1 - } - }, - { - "executor": { - "declaration": 25028, - "isOffset": false, - "isSlot": false, - "src": "1823:8:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2845:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2980:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3113:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3244:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3365:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "4185:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2326:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2376:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "4247:6:60", - "valueSize": 1 - } - } - ], - "id": 25063, - "nodeType": "InlineAssembly", - "operations": "{\n let success := delegatecall(gas(), executor, add(data, 0x20), mload(data), 0, 0)\n output := mload(0x40)\n switch success\n case 0 {\n returndatacopy(output, 0, returndatasize())\n revert(output, returndatasize())\n }\n default {\n switch gt(returndatasize(), 0x3f)\n case 0 {\n mstore(output, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n mstore(add(output, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020)\n mstore(add(output, 0x24), 0x000000000000000000000000000000000000000000000000000000000000001e)\n mstore(add(output, 0x44), 0x45564d52554e5f4558454355544f525f494e56414c49445f52455455524e0000)\n revert(output, 100)\n }\n default {\n let copysize := sub(returndatasize(), 0x20)\n returndatacopy(output, 0x20, copysize)\n mstore(0x40, add(output, copysize))\n }\n }\n}", - "src": "1700:2641:60" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25066, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "4363:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 25065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4355:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4355:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25068, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "4374:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25069, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25015, - "src": "4383:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25070, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25061, - "src": "4391:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25064, - "name": "ScriptResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24976, - "src": "4342:12:60", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory,bytes memory,bytes memory)" - } - }, - "id": 25071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4342:56:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25072, - "nodeType": "EmitStatement", - "src": "4337:61:60" - }, - { - "expression": { - "argumentTypes": null, - "id": 25073, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25061, - "src": "4416:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 25026, - "id": 25074, - "nodeType": "Return", - "src": "4409:13:60" - } - ] - }, - "documentation": null, - "id": 25076, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 25021, - "modifierName": { - "argumentTypes": null, - "id": 25020, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1312:13:60", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1312:13:60" - }, - { - "arguments": null, - "id": 25023, - "modifierName": { - "argumentTypes": null, - "id": 25022, - "name": "protectState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25110, - "src": "1334:12:60", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1334:12:60" - } - ], - "name": "runScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25013, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1236:13:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25012, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1236:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25015, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1251:12:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25014, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1251:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25018, - "name": "_blacklist", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1265:20:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1265:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25017, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1265:9:60", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1235:51:60" - }, - "payable": false, - "returnParameters": { - "id": 25026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25025, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1364:5:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25024, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1364:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1363:7:60" - }, - "scope": 25111, - "src": "1217:3212:60", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25109, - "nodeType": "Block", - "src": "4457:260:60", - "statements": [ - { - "assignments": [ - 25079 - ], - "declarations": [ - { - "constant": false, - "id": 25079, - "name": "preKernel", - "nodeType": "VariableDeclaration", - "scope": 25110, - "src": "4467:17:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25078, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4467:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25084, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25081, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4495:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4495:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 25080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4487:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4487:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4467:37:60" - }, - { - "assignments": [ - 25086 - ], - "declarations": [ - { - "constant": false, - "id": 25086, - "name": "preAppId", - "nodeType": "VariableDeclaration", - "scope": 25110, - "src": "4514:16:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25085, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4514:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25089, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25087, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "4533:5:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 25088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4533:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4514:26:60" - }, - { - "id": 25090, - "nodeType": "PlaceholderStatement", - "src": "4550:1:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25093, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4585:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 25092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4577:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4577:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 25096, - "name": "preKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25079, - "src": "4598:9:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4577:30:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25098, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24966, - "src": "4609:30:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25091, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4569:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4569:71:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25100, - "nodeType": "ExpressionStatement", - "src": "4569:71:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 25105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25102, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "4658:5:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 25103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4658:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 25104, - "name": "preAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25086, - "src": "4669:8:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4658:19:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25106, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24966, - "src": "4679:30:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25101, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4650:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4650:60:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25108, - "nodeType": "ExpressionStatement", - "src": "4650:60:60" - } - ] - }, - "documentation": null, - "id": 25110, - "name": "protectState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 25077, - "nodeType": "ParameterList", - "parameters": [], - "src": "4457:0:60" - }, - "src": "4435:282:60", - "visibility": "internal" - } - ], - "scope": 25112, - "src": "254:4465:60" - } - ], - "src": "44:4676:60" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/EVMScriptRunner.sol", - "exportedSymbols": { - "EVMScriptRunner": [ - 25111 - ] - }, - "id": 25112, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24947, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:60" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 24948, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 25132, - "src": "70:34:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "file": "./IEVMScriptRegistry.sol", - "id": 24949, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 25159, - "src": "105:34:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", - "file": "../apps/AppStorage.sol", - "id": 24950, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 23330, - "src": "141:32:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "../kernel/KernelConstants.sol", - "id": 24951, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 26920, - "src": "174:39:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "file": "../common/Initializable.sol", - "id": 24952, - "nodeType": "ImportDirective", - "scope": 25112, - "sourceUnit": 23798, - "src": "214:37:60", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24953, - "name": "AppStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23329, - "src": "282:10:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppStorage_$23329", - "typeString": "contract AppStorage" - } - }, - "id": 24954, - "nodeType": "InheritanceSpecifier", - "src": "282:10:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24955, - "name": "Initializable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23797, - "src": "294:13:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$23797", - "typeString": "contract Initializable" - } - }, - "id": 24956, - "nodeType": "InheritanceSpecifier", - "src": "294:13:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24957, - "name": "EVMScriptRegistryConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25138, - "src": "309:26:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EVMScriptRegistryConstants_$25138", - "typeString": "contract EVMScriptRegistryConstants" - } - }, - "id": 24958, - "nodeType": "InheritanceSpecifier", - "src": "309:26:60" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24959, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "337:24:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 24960, - "nodeType": "InheritanceSpecifier", - "src": "337:24:60" - } - ], - "contractDependencies": [ - 23329, - 23797, - 24154, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25111, - "linearizedBaseContracts": [ - 25111, - 26919, - 25138, - 23797, - 24154, - 23329 - ], - "name": "EVMScriptRunner", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24963, - "name": "ERROR_EXECUTOR_UNAVAILABLE", - "nodeType": "VariableDeclaration", - "scope": 25111, - "src": "368:82:60", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24961, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "368:6:60", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d52554e5f4558454355544f525f554e415641494c41424c45", - "id": 24962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:29:60", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8eaa9277b7a571cc4e32be0346d713d2afa465c007646deacfabeba4f629e0be", - "typeString": "literal_string \"EVMRUN_EXECUTOR_UNAVAILABLE\"" - }, - "value": "EVMRUN_EXECUTOR_UNAVAILABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24966, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "VariableDeclaration", - "scope": 25111, - "src": "456:90:60", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24964, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "456:6:60", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544", - "id": 24965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:33:60", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93fe2db835b78d0be70801a075eae0aab8d5496824b1a06caec0dd78db98ba92", - "typeString": "literal_string \"EVMRUN_PROTECTED_STATE_MODIFIED\"" - }, - "value": "EVMRUN_PROTECTED_STATE_MODIFIED" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 24976, - "name": "ScriptResult", - "nodeType": "EventDefinition", - "parameters": { - "id": 24975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24968, - "indexed": true, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "718:24:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24970, - "indexed": false, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "744:12:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "744:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24972, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "758:11:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24971, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "758:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24974, - "indexed": false, - "name": "returnData", - "nodeType": "VariableDeclaration", - "scope": 24976, - "src": "771:16:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24973, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "771:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "717:71:60" - }, - "src": "699:90:60" - }, - { - "body": { - "id": 24991, - "nodeType": "Block", - "src": "881:93:60", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24987, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24978, - "src": "958:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24984, - "name": "getEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25011, - "src": "917:20:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "function () view returns (contract IEVMScriptRegistry)" - } - }, - "id": 24985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:22:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "id": 24986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getScriptExecutor", - "nodeType": "MemberAccess", - "referencedDeclaration": 25157, - "src": "917:40:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "function (bytes memory) view external returns (contract IEVMScriptExecutor)" - } - }, - "id": 24988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:49:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 24983, - "name": "IEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25131, - "src": "898:18:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "type(contract IEVMScriptExecutor)" - } - }, - "id": 24989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:69:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "functionReturnParameters": 24982, - "id": 24990, - "nodeType": "Return", - "src": "891:76:60" - } - ] - }, - "documentation": null, - "id": 24992, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEVMScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24978, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 24992, - "src": "825:13:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24977, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "825:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "824:15:60" - }, - "payable": false, - "returnParameters": { - "id": 24982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24981, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24992, - "src": "861:18:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 24980, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "861:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:20:60" - }, - "scope": 25111, - "src": "795:179:60", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25010, - "nodeType": "Block", - "src": "1053:158:60", - "statements": [ - { - "assignments": [ - 24998 - ], - "declarations": [ - { - "constant": false, - "id": 24998, - "name": "registryAddr", - "nodeType": "VariableDeclaration", - "scope": 25011, - "src": "1063:20:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1063:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25005, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25002, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "1102:25:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 25003, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25137, - "src": "1129:25:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24999, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "1086:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1086:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 25001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 26404, - "src": "1086:15:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view external returns (address)" - } - }, - "id": 25004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1086:69:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1063:92:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25007, - "name": "registryAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24998, - "src": "1191:12:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 25006, - "name": "IEVMScriptRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25158, - "src": "1172:18:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IEVMScriptRegistry_$25158_$", - "typeString": "type(contract IEVMScriptRegistry)" - } - }, - "id": 25008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1172:32:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "functionReturnParameters": 24996, - "id": 25009, - "nodeType": "Return", - "src": "1165:39:60" - } - ] - }, - "documentation": null, - "id": 25011, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEVMScriptRegistry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24993, - "nodeType": "ParameterList", - "parameters": [], - "src": "1009:2:60" - }, - "payable": false, - "returnParameters": { - "id": 24996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24995, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25011, - "src": "1033:18:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - }, - "typeName": { - "contractScope": null, - "id": 24994, - "name": "IEVMScriptRegistry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25158, - "src": "1033:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptRegistry_$25158", - "typeString": "contract IEVMScriptRegistry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1032:20:60" - }, - "scope": 25111, - "src": "980:231:60", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 25075, - "nodeType": "Block", - "src": "1375:3054:60", - "statements": [ - { - "assignments": [ - 25028 - ], - "declarations": [ - { - "constant": false, - "id": 25028, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1385:27:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25027, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "1385:18:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25032, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25030, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "1436:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25029, - "name": "getEVMScriptExecutor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24992, - "src": "1415:20:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_contract$_IEVMScriptExecutor_$25131_$", - "typeString": "function (bytes memory) view returns (contract IEVMScriptExecutor)" - } - }, - "id": 25031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1415:29:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1385:59:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25035, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "1470:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 25034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1462:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1462:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 25038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1491:1:60", - "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": 25037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1483:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1483:10:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1462:31:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25041, - "name": "ERROR_EXECUTOR_UNAVAILABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24963, - "src": "1495:26:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25033, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1454:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1454:68:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25043, - "nodeType": "ExpressionStatement", - "src": "1454:68:60" - }, - { - "assignments": [ - 25045 - ], - "declarations": [ - { - "constant": false, - "id": 25045, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1533:10:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 25044, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1533:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25049, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 25046, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "1546:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "id": 25047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "execScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 25125, - "src": "1546:19:60", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) external returns (bytes memory)" - } - }, - "id": 25048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1546:28:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1533:41:60" - }, - { - "assignments": [ - 25051 - ], - "declarations": [ - { - "constant": false, - "id": 25051, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1584:17:60", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25050, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1584:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25054, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25045, - "src": "1627:3:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 25055, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "1632:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25056, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25015, - "src": "1641:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25057, - "name": "_blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25018, - "src": "1649:10:60", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 25052, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "1604:3:60", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 25053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1604:22:60", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 25058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1604:56:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1584:76:60" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 25061, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1671:19:60", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25060, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1671:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25062, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1671:19:60" - }, - { - "externalReferences": [ - { - "data": { - "declaration": 25051, - "isOffset": false, - "isSlot": false, - "src": "1930:4:60", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 25051, - "isOffset": false, - "isSlot": false, - "src": "1874:4:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2136:6:60", - "valueSize": 1 - } - }, - { - "executor": { - "declaration": 25028, - "isOffset": false, - "isSlot": false, - "src": "1823:8:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2845:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2980:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3113:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3244:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "3365:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "4185:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2326:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "2376:6:60", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 25061, - "isOffset": false, - "isSlot": false, - "src": "4247:6:60", - "valueSize": 1 - } - } - ], - "id": 25063, - "nodeType": "InlineAssembly", - "operations": "{\n let success := delegatecall(gas(), executor, add(data, 0x20), mload(data), 0, 0)\n output := mload(0x40)\n switch success\n case 0 {\n returndatacopy(output, 0, returndatasize())\n revert(output, returndatasize())\n }\n default {\n switch gt(returndatasize(), 0x3f)\n case 0 {\n mstore(output, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n mstore(add(output, 0x04), 0x0000000000000000000000000000000000000000000000000000000000000020)\n mstore(add(output, 0x24), 0x000000000000000000000000000000000000000000000000000000000000001e)\n mstore(add(output, 0x44), 0x45564d52554e5f4558454355544f525f494e56414c49445f52455455524e0000)\n revert(output, 100)\n }\n default {\n let copysize := sub(returndatasize(), 0x20)\n returndatacopy(output, 0x20, copysize)\n mstore(0x40, add(output, copysize))\n }\n }\n}", - "src": "1700:2641:60" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25066, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25028, - "src": "4363:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - ], - "id": 25065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4355:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4355:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 25068, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25013, - "src": "4374:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25069, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25015, - "src": "4383:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25070, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25061, - "src": "4391:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 25064, - "name": "ScriptResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24976, - "src": "4342:12:60", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory,bytes memory,bytes memory)" - } - }, - "id": 25071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4342:56:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25072, - "nodeType": "EmitStatement", - "src": "4337:61:60" - }, - { - "expression": { - "argumentTypes": null, - "id": 25073, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25061, - "src": "4416:6:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 25026, - "id": 25074, - "nodeType": "Return", - "src": "4409:13:60" - } - ] - }, - "documentation": null, - "id": 25076, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 25021, - "modifierName": { - "argumentTypes": null, - "id": 25020, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1312:13:60", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1312:13:60" - }, - { - "arguments": null, - "id": 25023, - "modifierName": { - "argumentTypes": null, - "id": 25022, - "name": "protectState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25110, - "src": "1334:12:60", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1334:12:60" - } - ], - "name": "runScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25013, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1236:13:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25012, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1236:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25015, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1251:12:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25014, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1251:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25018, - "name": "_blacklist", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1265:20:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1265:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25017, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1265:9:60", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1235:51:60" - }, - "payable": false, - "returnParameters": { - "id": 25026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25025, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25076, - "src": "1364:5:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25024, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1364:5:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1363:7:60" - }, - "scope": 25111, - "src": "1217:3212:60", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25109, - "nodeType": "Block", - "src": "4457:260:60", - "statements": [ - { - "assignments": [ - 25079 - ], - "declarations": [ - { - "constant": false, - "id": 25079, - "name": "preKernel", - "nodeType": "VariableDeclaration", - "scope": 25110, - "src": "4467:17:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25078, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4467:7:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25084, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25081, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4495:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4495:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 25080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4487:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4487:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4467:37:60" - }, - { - "assignments": [ - 25086 - ], - "declarations": [ - { - "constant": false, - "id": 25086, - "name": "preAppId", - "nodeType": "VariableDeclaration", - "scope": 25110, - "src": "4514:16:60", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25085, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4514:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25089, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25087, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "4533:5:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 25088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4533:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4514:26:60" - }, - { - "id": 25090, - "nodeType": "PlaceholderStatement", - "src": "4550:1:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 25097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25093, - "name": "kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23292, - "src": "4585:6:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$26405_$", - "typeString": "function () view returns (contract IKernel)" - } - }, - "id": 25094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:8:60", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 25092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4577:7:60", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 25095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4577:17:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 25096, - "name": "preKernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25079, - "src": "4598:9:60", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4577:30:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25098, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24966, - "src": "4609:30:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25091, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4569:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4569:71:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25100, - "nodeType": "ExpressionStatement", - "src": "4569:71:60" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 25105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25102, - "name": "appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23302, - "src": "4658:5:60", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 25103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4658:7:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 25104, - "name": "preAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25086, - "src": "4669:8:60", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4658:19:60", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 25106, - "name": "ERROR_PROTECTED_STATE_MODIFIED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24966, - "src": "4679:30:60", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 25101, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4650:7:60", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 25107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4650:60:60", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 25108, - "nodeType": "ExpressionStatement", - "src": "4650:60:60" - } - ] - }, - "documentation": null, - "id": 25110, - "name": "protectState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 25077, - "nodeType": "ParameterList", - "parameters": [], - "src": "4457:0:60" - }, - "src": "4435:282:60", - "visibility": "internal" - } - ], - "scope": 25112, - "src": "254:4465:60" - } - ], - "src": "44:4676:60" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.276Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/EtherTokenConstant.json b/templates/multisig/build/contracts/EtherTokenConstant.json deleted file mode 100644 index 4d997de..0000000 --- a/templates/multisig/build/contracts/EtherTokenConstant.json +++ /dev/null @@ -1,261 +0,0 @@ -{ - "contractName": "EtherTokenConstant", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582019792661c3a0b191c4d59b4e007eb34c8c3b98c244af232267cc616bc6b9f5da0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582019792661c3a0b191c4d59b4e007eb34c8c3b98c244af232267cc616bc6b9f5da0029", - "sourceMap": "195:79:45:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;195:79:45;;;;;;;", - "deployedSourceMap": "195:79:45:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\n// aragonOS and aragon-apps rely on address(0) to denote native ETH, in\n// contracts where both tokens and ETH are accepted\ncontract EtherTokenConstant {\n address internal constant ETH = address(0);\n}\n", - "sourcePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "exportedSymbols": { - "EtherTokenConstant": [ - 23649 - ] - }, - "id": 23650, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23643, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:45" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23649, - "linearizedBaseContracts": [ - 23649 - ], - "name": "EtherTokenConstant", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23648, - "name": "ETH", - "nodeType": "VariableDeclaration", - "scope": 23649, - "src": "229:42:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "229:7:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "269:1:45", - "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": 23645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "261:7:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "261:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "scope": 23650, - "src": "195:79:45" - } - ], - "src": "44:231:45" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "exportedSymbols": { - "EtherTokenConstant": [ - 23649 - ] - }, - "id": 23650, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23643, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:45" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23649, - "linearizedBaseContracts": [ - 23649 - ], - "name": "EtherTokenConstant", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23648, - "name": "ETH", - "nodeType": "VariableDeclaration", - "scope": 23649, - "src": "229:42:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "229:7:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "269:1:45", - "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": 23645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "261:7:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "261:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "scope": 23650, - "src": "195:79:45" - } - ], - "src": "44:231:45" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.196Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/FIFSResolvingRegistrar.json b/templates/multisig/build/contracts/FIFSResolvingRegistrar.json deleted file mode 100644 index d51b377..0000000 --- a/templates/multisig/build/contracts/FIFSResolvingRegistrar.json +++ /dev/null @@ -1,3729 +0,0 @@ -{ - "contractName": "FIFSResolvingRegistrar", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "rootNode", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_ensAddr", - "type": "address" - }, - { - "name": "_defaultResolver", - "type": "address" - }, - { - "name": "_node", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "subnode", - "type": "bytes32" - }, - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "resolver", - "type": "address" - } - ], - "name": "ClaimSubdomain", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_subnode", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_subnode", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - }, - { - "name": "_resolver", - "type": "address" - } - ], - "name": "registerWithResolver", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405160608061056083398101604090815281516020830151919092015160018054600160a060020a03948516600160a060020a031991821617909155600280549490931693169290921790556000556104f0806100706000396000f3006080604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663d22057a9811461005b578063f858fc0b14610081578063faff50a8146100ab575b600080fd5b34801561006757600080fd5b5061007f600435600160a060020a03602435166100d2565b005b34801561008d57600080fd5b5061007f600435600160a060020a03602435811690604435166100ef565b3480156100b757600080fd5b506100c06104be565b60408051918252519081900360200190f35b6002546100eb9083908390600160a060020a03166100ef565b5050565b60008054604080519182526020808301879052815192839003820183206001547f02571be3000000000000000000000000000000000000000000000000000000008552600485018290529251909493600160a060020a03909316926302571be392602480830193919282900301818787803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d602081101561019757600080fd5b50519050600160a060020a038116156101af57600080fd5b60015460008054604080517f06ab592300000000000000000000000000000000000000000000000000000000815260048101929092526024820189905230604483015251600160a060020a03909316926306ab59239260648084019391929182900301818387803b15801561022357600080fd5b505af1158015610237573d6000803e3d6000fd5b5050600154604080517f1896f70a00000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a0388811660248301529151919092169350631896f70a9250604480830192600092919082900301818387803b1580156102a957600080fd5b505af11580156102bd573d6000803e3d6000fd5b5050604080517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f3b3b57de0000000000000000000000000000000000000000000000000000000060048201529051600160a060020a03871693506301ffc9a7925060248083019260209291908290030181600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b505050506040513d602081101561036c57600080fd5b5051156103f757604080517fd5fa2b0000000000000000000000000000000000000000000000000000000000815260048101849052600160a060020a03868116602483015291519185169163d5fa2b009160448082019260009290919082900301818387803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505050505b600154604080517f5b0fc9c300000000000000000000000000000000000000000000000000000000815260048101859052600160a060020a03878116602483015291519190921691635b0fc9c391604480830192600092919082900301818387803b15801561046557600080fd5b505af1158015610479573d6000803e3d6000fd5b5050604051600160a060020a0380871693508716915087907fe27a5a369e0d2c5056ccfcbd5f83f145f43350142d42aaf46ff9a9e461d543df90600090a45050505050565b600054815600a165627a7a72305820a0ead551d74827f46d6b6c834d727988471a5c9a19be931cc901f51abcb6e5d60029", - "deployedBytecode": "0x6080604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663d22057a9811461005b578063f858fc0b14610081578063faff50a8146100ab575b600080fd5b34801561006757600080fd5b5061007f600435600160a060020a03602435166100d2565b005b34801561008d57600080fd5b5061007f600435600160a060020a03602435811690604435166100ef565b3480156100b757600080fd5b506100c06104be565b60408051918252519081900360200190f35b6002546100eb9083908390600160a060020a03166100ef565b5050565b60008054604080519182526020808301879052815192839003820183206001547f02571be3000000000000000000000000000000000000000000000000000000008552600485018290529251909493600160a060020a03909316926302571be392602480830193919282900301818787803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d602081101561019757600080fd5b50519050600160a060020a038116156101af57600080fd5b60015460008054604080517f06ab592300000000000000000000000000000000000000000000000000000000815260048101929092526024820189905230604483015251600160a060020a03909316926306ab59239260648084019391929182900301818387803b15801561022357600080fd5b505af1158015610237573d6000803e3d6000fd5b5050600154604080517f1896f70a00000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a0388811660248301529151919092169350631896f70a9250604480830192600092919082900301818387803b1580156102a957600080fd5b505af11580156102bd573d6000803e3d6000fd5b5050604080517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f3b3b57de0000000000000000000000000000000000000000000000000000000060048201529051600160a060020a03871693506301ffc9a7925060248083019260209291908290030181600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b505050506040513d602081101561036c57600080fd5b5051156103f757604080517fd5fa2b0000000000000000000000000000000000000000000000000000000000815260048101849052600160a060020a03868116602483015291519185169163d5fa2b009160448082019260009290919082900301818387803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505050505b600154604080517f5b0fc9c300000000000000000000000000000000000000000000000000000000815260048101859052600160a060020a03878116602483015291519190921691635b0fc9c391604480830192600092919082900301818387803b15801561046557600080fd5b505af1158015610479573d6000803e3d6000fd5b5050604051600160a060020a0380871693508716915087907fe27a5a369e0d2c5056ccfcbd5f83f145f43350142d42aaf46ff9a9e461d543df90600090a45050505050565b600054815600a165627a7a72305820a0ead551d74827f46d6b6c834d727988471a5c9a19be931cc901f51abcb6e5d60029", - "sourceMap": "377:2146:25:-;;;954:203;8:9:-1;5:2;;;30:1;27;20:12;5:2;954:203:25;;;;;;;;;;;;;;;;;;;;;;;;;1066:3;:14;;-1:-1:-1;;;;;1066:14:25;;;-1:-1:-1;;;;;;1066:14:25;;;;;;;1090:15;:34;;;;;;;;;;;;;;1066:3;1134:16;377:2146;;;;;;", - "deployedSourceMap": "377:2146:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1373:133:25;;;-1:-1:-1;;;;;1373:133:25;;;;;;;1899:622;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1899:622:25;;;-1:-1:-1;;;;;1899:622:25;;;;;;;;;;442:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;442:23:25;;;;;;;;;;;;;;;;;;;;1373:133;1483:15;;1444:55;;1465:8;;1475:6;;-1:-1:-1;;;;;1483:15:25;1444:20;:55::i;:::-;1373:133;;:::o;1899:622::-;2007:12;2032:8;;2022:29;;;;;;;;;;;;;;;;;;;;;;;2084:3;;:15;;;;;;;;;;;2022:29;;2007:12;-1:-1:-1;;;;;2084:3:25;;;;:9;;:15;;;;;2022:29;;2084:15;;;;;2007:12;2084:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;2084:15:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2084:15:25;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2084:15:25;;-1:-1:-1;;;;;;2117:26:25;;;2109:35;;;;;;2155:3;;;2175:8;;2155:54;;;;;;;;;;;;;;;;;;;2203:4;2155:54;;;;;-1:-1:-1;;;;;2155:3:25;;;;:19;;:54;;;;;:3;;:54;;;;;;:3;;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;2155:54:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2219:3:25;;:32;;;;;;;;;;;;-1:-1:-1;;;;;2219:32:25;;;;;;;;;:3;;;;;-1:-1:-1;2219:15:25;;-1:-1:-1;2219:32:25;;;;;:3;;:32;;;;;;;:3;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;2219:32:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2265:46:25;;;;;;2293:17;2265:46;;;;;;-1:-1:-1;;;;;2265:27:25;;;-1:-1:-1;2265:27:25;;-1:-1:-1;2265:46:25;;;;;;;;;;;;;;-1:-1:-1;2265:27:25;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2265:46:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2265:46:25;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2265:46:25;2261:108;;;2327:31;;;;;;;;;;;;-1:-1:-1;;;;;2327:31:25;;;;;;;;;:17;;;;;;:31;;;;;;;;;;;;;;;;:17;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;2327:31:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2327:31:25;;;;2261:108;2420:3;;:26;;;;;;;;;;;;-1:-1:-1;;;;;2420:26:25;;;;;;;;;:3;;;;;:12;;:26;;;;;:3;;:26;;;;;;;:3;;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;2420:26:25;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2462:52:25;;-1:-1:-1;;;;;2462:52:25;;;;-1:-1:-1;2462:52:25;;;-1:-1:-1;2477:8:25;;2462:52;;;;;1899:622;;;;;:::o;442:23::-;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/lib/ens/AbstractENS.sol\";\nimport \"./ens/IPublicResolver.sol\";\nimport \"./IFIFSResolvingRegistrar.sol\";\n\n\n/**\n * A registrar that allocates subdomains and sets resolvers to the first person to claim them.\n *\n * Adapted from ENS' FIFSRegistrar:\n * https://github.com/ethereum/ens/blob/master/contracts/FIFSRegistrar.sol\n */\ncontract FIFSResolvingRegistrar is IFIFSResolvingRegistrar {\n bytes32 public rootNode;\n AbstractENS internal ens;\n IPublicResolver internal defaultResolver;\n\n bytes4 private constant ADDR_INTERFACE_ID = 0x3b3b57de;\n\n event ClaimSubdomain(bytes32 indexed subnode, address indexed owner, address indexed resolver);\n\n /**\n * Constructor.\n * @param _ensAddr The address of the ENS registry.\n * @param _defaultResolver The address of the default resolver to use for subdomains.\n * @param _node The node that this registrar administers.\n */\n constructor(AbstractENS _ensAddr, IPublicResolver _defaultResolver, bytes32 _node)\n public\n {\n ens = _ensAddr;\n defaultResolver = _defaultResolver;\n rootNode = _node;\n }\n\n /**\n * Register a subdomain with the default resolver if it hasn't been claimed yet.\n * @param _subnode The hash of the label to register.\n * @param _owner The address of the new owner.\n */\n function register(bytes32 _subnode, address _owner) external {\n registerWithResolver(_subnode, _owner, defaultResolver);\n }\n\n /**\n * Register a subdomain if it hasn't been claimed yet.\n * @param _subnode The hash of the label to register.\n * @param _owner The address of the new owner.\n * @param _resolver The address of the resolver.\n * If the resolver supports the address interface, the subdomain's address will\n * be set to the new owner.\n */\n function registerWithResolver(bytes32 _subnode, address _owner, IPublicResolver _resolver) public {\n bytes32 node = keccak256(rootNode, _subnode);\n address currentOwner = ens.owner(node);\n require(currentOwner == address(0));\n\n ens.setSubnodeOwner(rootNode, _subnode, address(this));\n ens.setResolver(node, _resolver);\n if (_resolver.supportsInterface(ADDR_INTERFACE_ID)) {\n _resolver.setAddr(node, _owner);\n }\n\n // Give ownership to the claimer\n ens.setOwner(node, _owner);\n\n emit ClaimSubdomain(_subnode, _owner, address(_resolver));\n }\n}\n", - "sourcePath": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "ast": { - "absolutePath": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "exportedSymbols": { - "FIFSResolvingRegistrar": [ - 20458 - ] - }, - "id": 20459, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20322, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:25" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "id": 20323, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 27079, - "src": "25:54:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "file": "./ens/IPublicResolver.sol", - "id": 20324, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 20517, - "src": "80:35:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "file": "./IFIFSResolvingRegistrar.sol", - "id": 20325, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 20479, - "src": "116:39:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20326, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "412:23:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 20327, - "nodeType": "InheritanceSpecifier", - "src": "412:23:25" - } - ], - "contractDependencies": [ - 20478 - ], - "contractKind": "contract", - "documentation": "A registrar that allocates subdomains and sets resolvers to the first person to claim them.\n * Adapted from ENS' FIFSRegistrar:\n https://github.com/ethereum/ens/blob/master/contracts/FIFSRegistrar.sol", - "fullyImplemented": true, - "id": 20458, - "linearizedBaseContracts": [ - 20458, - 20478 - ], - "name": "FIFSResolvingRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 20329, - "name": "rootNode", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "442:23:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20328, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "442:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 20331, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "471:24:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 20330, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "471:11:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20333, - "name": "defaultResolver", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "501:40:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20332, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "501:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 20336, - "name": "ADDR_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "548:54:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 20334, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "548:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783362336235376465", - "id": 20335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "592:10:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993744862_by_1", - "typeString": "int_const 993744862" - }, - "value": "0x3b3b57de" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 20344, - "name": "ClaimSubdomain", - "nodeType": "EventDefinition", - "parameters": { - "id": 20343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20338, - "indexed": true, - "name": "subnode", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "630:23:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20337, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "630:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20340, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "655:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20342, - "indexed": true, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "678:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "678:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "629:74:25" - }, - "src": "609:95:25" - }, - { - "body": { - "id": 20365, - "nodeType": "Block", - "src": "1056:101:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20353, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "1066:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20354, - "name": "_ensAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20346, - "src": "1072:8:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1066:14:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20356, - "nodeType": "ExpressionStatement", - "src": "1066:14:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 20359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20357, - "name": "defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20333, - "src": "1090:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20358, - "name": "_defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20348, - "src": "1108:16:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "src": "1090:34:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20360, - "nodeType": "ExpressionStatement", - "src": "1090:34:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 20363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20361, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "1134:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20362, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20350, - "src": "1145:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1134:16:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 20364, - "nodeType": "ExpressionStatement", - "src": "1134:16:25" - } - ] - }, - "documentation": "Constructor.\n@param _ensAddr The address of the ENS registry.\n@param _defaultResolver The address of the default resolver to use for subdomains.\n@param _node The node that this registrar administers.", - "id": 20366, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20346, - "name": "_ensAddr", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "966:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 20345, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "966:11:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20348, - "name": "_defaultResolver", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "988:32:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20347, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "988:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20350, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "1022:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20349, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1022:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "965:71:25" - }, - "payable": false, - "returnParameters": { - "id": 20352, - "nodeType": "ParameterList", - "parameters": [], - "src": "1056:0:25" - }, - "scope": 20458, - "src": "954:203:25", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20379, - "nodeType": "Block", - "src": "1434:72:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20374, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20368, - "src": "1465:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20375, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20370, - "src": "1475:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20376, - "name": "defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20333, - "src": "1483:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "id": 20373, - "name": "registerWithResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20457 - ], - "referencedDeclaration": 20457, - "src": "1444:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_contract$_IPublicResolver_$20516_$returns$__$", - "typeString": "function (bytes32,address,contract IPublicResolver)" - } - }, - "id": 20377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1444:55:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20378, - "nodeType": "ExpressionStatement", - "src": "1444:55:25" - } - ] - }, - "documentation": "Register a subdomain with the default resolver if it hasn't been claimed yet.\n@param _subnode The hash of the label to register.\n@param _owner The address of the new owner.", - "id": 20380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "register", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20368, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20380, - "src": "1391:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20367, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1391:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20370, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20380, - "src": "1409:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20369, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1409:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:34:25" - }, - "payable": false, - "returnParameters": { - "id": 20372, - "nodeType": "ParameterList", - "parameters": [], - "src": "1434:0:25" - }, - "scope": 20458, - "src": "1373:133:25", - "stateMutability": "nonpayable", - "superFunction": 20468, - "visibility": "external" - }, - { - "body": { - "id": 20456, - "nodeType": "Block", - "src": "1997:524:25", - "statements": [ - { - "assignments": [ - 20390 - ], - "declarations": [ - { - "constant": false, - "id": 20390, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "2007:12:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2007:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20395, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20392, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "2032:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20393, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2042:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20391, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2022:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 20394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2022:29:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2007:44:25" - }, - { - "assignments": [ - 20397 - ], - "declarations": [ - { - "constant": false, - "id": 20397, - "name": "currentOwner", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "2061:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20396, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2061:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20402, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20400, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2094:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 20398, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2084:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "2084:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 20401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:15:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2061:38:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20404, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20397, - "src": "2117:12:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2141:1:25", - "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": 20405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2133:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2133:10:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2117:26:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 20403, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2109:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2109:35:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20410, - "nodeType": "ExpressionStatement", - "src": "2109:35:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20414, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "2175:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20415, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2185:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20417, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29967, - "src": "2203:4:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FIFSResolvingRegistrar_$20458", - "typeString": "contract FIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_FIFSResolvingRegistrar_$20458", - "typeString": "contract FIFSResolvingRegistrar" - } - ], - "id": 20416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2195:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2195:13:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20411, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2155:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "2155:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 20419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2155:54:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20420, - "nodeType": "ExpressionStatement", - "src": "2155:54:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20424, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2235:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20425, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2241:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 20421, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2219:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "2219:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2219:32:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20427, - "nodeType": "ExpressionStatement", - "src": "2219:32:25" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20430, - "name": "ADDR_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20336, - "src": "2293:17:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 20428, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2265:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 20487, - "src": "2265:27:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view external returns (bool)" - } - }, - "id": 20431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2265:46:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20440, - "nodeType": "IfStatement", - "src": "2261:108:25", - "trueBody": { - "id": 20439, - "nodeType": "Block", - "src": "2313:56:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20435, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2345:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20436, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2351:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20432, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2327:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 20501, - "src": "2327:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2327:31:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20438, - "nodeType": "ExpressionStatement", - "src": "2327:31:25" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20444, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2433:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20445, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2439:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20441, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2420:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27028, - "src": "2420:12:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2420:26:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20447, - "nodeType": "ExpressionStatement", - "src": "2420:26:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20449, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2477:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20450, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2487:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20452, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2503:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "id": 20451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2495:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2495:18:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20448, - "name": "ClaimSubdomain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20344, - "src": "2462:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 20454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2462:52:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20455, - "nodeType": "EmitStatement", - "src": "2457:57:25" - } - ] - }, - "documentation": "Register a subdomain if it hasn't been claimed yet.\n@param _subnode The hash of the label to register.\n@param _owner The address of the new owner.\n@param _resolver The address of the resolver.\n If the resolver supports the address interface, the subdomain's address will\n be set to the new owner.", - "id": 20457, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerWithResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20382, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1929:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20381, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1929:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20384, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1947:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1947:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20386, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1963:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20385, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "1963:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1928:61:25" - }, - "payable": false, - "returnParameters": { - "id": 20388, - "nodeType": "ParameterList", - "parameters": [], - "src": "1997:0:25" - }, - "scope": 20458, - "src": "1899:622:25", - "stateMutability": "nonpayable", - "superFunction": 20477, - "visibility": "public" - } - ], - "scope": 20459, - "src": "377:2146:25" - } - ], - "src": "0:2524:25" - }, - "legacyAST": { - "absolutePath": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "exportedSymbols": { - "FIFSResolvingRegistrar": [ - 20458 - ] - }, - "id": 20459, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20322, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:25" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "id": 20323, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 27079, - "src": "25:54:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "file": "./ens/IPublicResolver.sol", - "id": 20324, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 20517, - "src": "80:35:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "file": "./IFIFSResolvingRegistrar.sol", - "id": 20325, - "nodeType": "ImportDirective", - "scope": 20459, - "sourceUnit": 20479, - "src": "116:39:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 20326, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "412:23:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "id": 20327, - "nodeType": "InheritanceSpecifier", - "src": "412:23:25" - } - ], - "contractDependencies": [ - 20478 - ], - "contractKind": "contract", - "documentation": "A registrar that allocates subdomains and sets resolvers to the first person to claim them.\n * Adapted from ENS' FIFSRegistrar:\n https://github.com/ethereum/ens/blob/master/contracts/FIFSRegistrar.sol", - "fullyImplemented": true, - "id": 20458, - "linearizedBaseContracts": [ - 20458, - 20478 - ], - "name": "FIFSResolvingRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 20329, - "name": "rootNode", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "442:23:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20328, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "442:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 20331, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "471:24:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 20330, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "471:11:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20333, - "name": "defaultResolver", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "501:40:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20332, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "501:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 20336, - "name": "ADDR_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 20458, - "src": "548:54:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 20334, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "548:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783362336235376465", - "id": 20335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "592:10:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993744862_by_1", - "typeString": "int_const 993744862" - }, - "value": "0x3b3b57de" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 20344, - "name": "ClaimSubdomain", - "nodeType": "EventDefinition", - "parameters": { - "id": 20343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20338, - "indexed": true, - "name": "subnode", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "630:23:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20337, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "630:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20340, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "655:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20342, - "indexed": true, - "name": "resolver", - "nodeType": "VariableDeclaration", - "scope": 20344, - "src": "678:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "678:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "629:74:25" - }, - "src": "609:95:25" - }, - { - "body": { - "id": 20365, - "nodeType": "Block", - "src": "1056:101:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20353, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "1066:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20354, - "name": "_ensAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20346, - "src": "1072:8:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1066:14:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20356, - "nodeType": "ExpressionStatement", - "src": "1066:14:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 20359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20357, - "name": "defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20333, - "src": "1090:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20358, - "name": "_defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20348, - "src": "1108:16:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "src": "1090:34:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20360, - "nodeType": "ExpressionStatement", - "src": "1090:34:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 20363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 20361, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "1134:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 20362, - "name": "_node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20350, - "src": "1145:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1134:16:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 20364, - "nodeType": "ExpressionStatement", - "src": "1134:16:25" - } - ] - }, - "documentation": "Constructor.\n@param _ensAddr The address of the ENS registry.\n@param _defaultResolver The address of the default resolver to use for subdomains.\n@param _node The node that this registrar administers.", - "id": 20366, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20346, - "name": "_ensAddr", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "966:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 20345, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "966:11:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20348, - "name": "_defaultResolver", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "988:32:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20347, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "988:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20350, - "name": "_node", - "nodeType": "VariableDeclaration", - "scope": 20366, - "src": "1022:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20349, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1022:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "965:71:25" - }, - "payable": false, - "returnParameters": { - "id": 20352, - "nodeType": "ParameterList", - "parameters": [], - "src": "1056:0:25" - }, - "scope": 20458, - "src": "954:203:25", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 20379, - "nodeType": "Block", - "src": "1434:72:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20374, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20368, - "src": "1465:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20375, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20370, - "src": "1475:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20376, - "name": "defaultResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20333, - "src": "1483:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "id": 20373, - "name": "registerWithResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 20457 - ], - "referencedDeclaration": 20457, - "src": "1444:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_contract$_IPublicResolver_$20516_$returns$__$", - "typeString": "function (bytes32,address,contract IPublicResolver)" - } - }, - "id": 20377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1444:55:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20378, - "nodeType": "ExpressionStatement", - "src": "1444:55:25" - } - ] - }, - "documentation": "Register a subdomain with the default resolver if it hasn't been claimed yet.\n@param _subnode The hash of the label to register.\n@param _owner The address of the new owner.", - "id": 20380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "register", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20368, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20380, - "src": "1391:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20367, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1391:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20370, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20380, - "src": "1409:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20369, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1409:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:34:25" - }, - "payable": false, - "returnParameters": { - "id": 20372, - "nodeType": "ParameterList", - "parameters": [], - "src": "1434:0:25" - }, - "scope": 20458, - "src": "1373:133:25", - "stateMutability": "nonpayable", - "superFunction": 20468, - "visibility": "external" - }, - { - "body": { - "id": 20456, - "nodeType": "Block", - "src": "1997:524:25", - "statements": [ - { - "assignments": [ - 20390 - ], - "declarations": [ - { - "constant": false, - "id": 20390, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "2007:12:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2007:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20395, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20392, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "2032:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20393, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2042:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 20391, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "2022:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 20394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2022:29:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2007:44:25" - }, - { - "assignments": [ - 20397 - ], - "declarations": [ - { - "constant": false, - "id": 20397, - "name": "currentOwner", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "2061:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20396, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2061:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20402, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20400, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2094:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 20398, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2084:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "2084:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 20401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:15:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2061:38:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 20408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20404, - "name": "currentOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20397, - "src": "2117:12:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2141:1:25", - "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": 20405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2133:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2133:10:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2117:26:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 20403, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2109:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2109:35:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20410, - "nodeType": "ExpressionStatement", - "src": "2109:35:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20414, - "name": "rootNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20329, - "src": "2175:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20415, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2185:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20417, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29967, - "src": "2203:4:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FIFSResolvingRegistrar_$20458", - "typeString": "contract FIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_FIFSResolvingRegistrar_$20458", - "typeString": "contract FIFSResolvingRegistrar" - } - ], - "id": 20416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2195:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2195:13:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20411, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2155:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setSubnodeOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27037, - "src": "2155:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address) external" - } - }, - "id": 20419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2155:54:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20420, - "nodeType": "ExpressionStatement", - "src": "2155:54:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20424, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2235:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20425, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2241:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "expression": { - "argumentTypes": null, - "id": 20421, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2219:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResolver", - "nodeType": "MemberAccess", - "referencedDeclaration": 27044, - "src": "2219:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2219:32:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20427, - "nodeType": "ExpressionStatement", - "src": "2219:32:25" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20430, - "name": "ADDR_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20336, - "src": "2293:17:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "argumentTypes": null, - "id": 20428, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2265:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 20487, - "src": "2265:27:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view external returns (bool)" - } - }, - "id": 20431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2265:46:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20440, - "nodeType": "IfStatement", - "src": "2261:108:25", - "trueBody": { - "id": 20439, - "nodeType": "Block", - "src": "2313:56:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20435, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2345:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20436, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2351:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20432, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2327:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "id": 20434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 20501, - "src": "2327:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2327:31:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20438, - "nodeType": "ExpressionStatement", - "src": "2327:31:25" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20444, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20390, - "src": "2433:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20445, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2439:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 20441, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20331, - "src": "2420:3:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 20443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27028, - "src": "2420:12:25", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) external" - } - }, - "id": 20446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2420:26:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20447, - "nodeType": "ExpressionStatement", - "src": "2420:26:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20449, - "name": "_subnode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20382, - "src": "2477:8:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 20450, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20384, - "src": "2487:6:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20452, - "name": "_resolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20386, - "src": "2503:9:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - ], - "id": 20451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2495:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 20453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2495:18:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 20448, - "name": "ClaimSubdomain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20344, - "src": "2462:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 20454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2462:52:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20455, - "nodeType": "EmitStatement", - "src": "2457:57:25" - } - ] - }, - "documentation": "Register a subdomain if it hasn't been claimed yet.\n@param _subnode The hash of the label to register.\n@param _owner The address of the new owner.\n@param _resolver The address of the resolver.\n If the resolver supports the address interface, the subdomain's address will\n be set to the new owner.", - "id": 20457, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerWithResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20382, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1929:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20381, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1929:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20384, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1947:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1947:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20386, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 20457, - "src": "1963:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20385, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "1963:15:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1928:61:25" - }, - "payable": false, - "returnParameters": { - "id": 20388, - "nodeType": "ParameterList", - "parameters": [], - "src": "1997:0:25" - }, - "scope": 20458, - "src": "1899:622:25", - "stateMutability": "nonpayable", - "superFunction": 20477, - "visibility": "public" - } - ], - "scope": 20459, - "src": "377:2146:25" - } - ], - "src": "0:2524:25" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.266Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Finance.json b/templates/multisig/build/contracts/Finance.json deleted file mode 100644 index 27fe3f0..0000000 --- a/templates/multisig/build/contracts/Finance.json +++ /dev/null @@ -1,54249 +0,0 @@ -{ - "contractName": "Finance", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_PAYMENTS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CHANGE_PERIOD_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CHANGE_BUDGETS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "periodsLength", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "EXECUTE_PAYMENTS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paymentsNextIndex", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MANAGE_PAYMENTS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "transactionsNextIndex", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "vault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "periodId", - "type": "uint64" - }, - { - "indexed": false, - "name": "periodStarts", - "type": "uint64" - }, - { - "indexed": false, - "name": "periodEnds", - "type": "uint64" - } - ], - "name": "NewPeriod", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "hasBudget", - "type": "bool" - } - ], - "name": "SetBudget", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "paymentId", - "type": "uint256" - }, - { - "indexed": true, - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "name": "maxExecutions", - "type": "uint64" - }, - { - "indexed": false, - "name": "reference", - "type": "string" - } - ], - "name": "NewPayment", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "transactionId", - "type": "uint256" - }, - { - "indexed": false, - "name": "incoming", - "type": "bool" - }, - { - "indexed": true, - "name": "entity", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "reference", - "type": "string" - } - ], - "name": "NewTransaction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "paymentId", - "type": "uint256" - }, - { - "indexed": false, - "name": "active", - "type": "bool" - } - ], - "name": "ChangePaymentState", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "newDuration", - "type": "uint64" - } - ], - "name": "ChangePeriodDuration", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "paymentId", - "type": "uint256" - } - ], - "name": "PaymentFailure", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_vault", - "type": "address" - }, - { - "name": "_periodDuration", - "type": "uint64" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reference", - "type": "string" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_receiver", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reference", - "type": "string" - } - ], - "name": "newImmediatePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_receiver", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_initialPaymentTime", - "type": "uint64" - }, - { - "name": "_interval", - "type": "uint64" - }, - { - "name": "_maxExecutions", - "type": "uint64" - }, - { - "name": "_reference", - "type": "string" - } - ], - "name": "newScheduledPayment", - "outputs": [ - { - "name": "paymentId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_periodDuration", - "type": "uint64" - } - ], - "name": "setPeriodDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "setBudget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "removeBudget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_paymentId", - "type": "uint256" - } - ], - "name": "executePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_paymentId", - "type": "uint256" - } - ], - "name": "receiverExecutePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_paymentId", - "type": "uint256" - }, - { - "name": "_active", - "type": "bool" - } - ], - "name": "setPaymentStatus", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "recoverToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maxTransitions", - "type": "uint64" - } - ], - "name": "tryTransitionAccountingPeriod", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_paymentId", - "type": "uint256" - } - ], - "name": "getPayment", - "outputs": [ - { - "name": "token", - "type": "address" - }, - { - "name": "receiver", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - }, - { - "name": "initialPaymentTime", - "type": "uint64" - }, - { - "name": "interval", - "type": "uint64" - }, - { - "name": "maxExecutions", - "type": "uint64" - }, - { - "name": "inactive", - "type": "bool" - }, - { - "name": "executions", - "type": "uint64" - }, - { - "name": "createdBy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_transactionId", - "type": "uint256" - } - ], - "name": "getTransaction", - "outputs": [ - { - "name": "periodId", - "type": "uint64" - }, - { - "name": "amount", - "type": "uint256" - }, - { - "name": "paymentId", - "type": "uint256" - }, - { - "name": "paymentExecutionNumber", - "type": "uint64" - }, - { - "name": "token", - "type": "address" - }, - { - "name": "entity", - "type": "address" - }, - { - "name": "isIncoming", - "type": "bool" - }, - { - "name": "date", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_periodId", - "type": "uint64" - } - ], - "name": "getPeriod", - "outputs": [ - { - "name": "isCurrent", - "type": "bool" - }, - { - "name": "startTime", - "type": "uint64" - }, - { - "name": "endTime", - "type": "uint64" - }, - { - "name": "firstTransactionId", - "type": "uint256" - }, - { - "name": "lastTransactionId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_periodId", - "type": "uint64" - }, - { - "name": "_token", - "type": "address" - } - ], - "name": "getPeriodTokenStatement", - "outputs": [ - { - "name": "expenses", - "type": "uint256" - }, - { - "name": "income", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentPeriodId", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getPeriodDuration", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "getBudget", - "outputs": [ - { - "name": "budget", - "type": "uint256" - }, - { - "name": "hasBudget", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "getRemainingBudget", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "canMakePayment", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_paymentId", - "type": "uint256" - } - ], - "name": "nextPaymentTime", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062004e7a833981519152640100000000620041066200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062004e7a833981519152826401000000006200494d6200023782021704565b50565b5490565b9055565b614c2f806200024b6000396000f3006080604052600436106101ea5763ffffffff60e060020a6000350416630803fac081146103fc5780630842ace414610425578063149204381461044c578063162a0cf8146104a05780631798de81146104ba57806318f053da146104e757806319b7d7bd146105085780632914b9bd146105425780632d00cad3146105b75780633280a836146105d457806332f0a3b51461065157806333ea3dc8146106665780635985feec146106d95780635b14dbc8146106ee5780636436f1891461070357806367047c4a1461071b578063671273f4146107755780636abe602d1461079657806374bfb426146107c75780637e7db6e1146107eb57806380afdea81461080c5780638b3dd749146108215780639297d86014610836578063981cc34214610857578063988e65951461086c5780639d4941d814610881578063a1658fad146108a2578063a479e50814610909578063a66294411461091e578063b36fec571461093f578063bfe07da614610954578063cb045a9614610978578063d2d27b4114610990578063d4aae0c4146109d6578063de048a7b146109eb578063de4796ed14610a00578063e90a1b6e14610a15578063e94ebac514610a39578063eaa7ec6814610a4e578063eca8181714610a63578063f636484614610a84578063fbfa77cf14610abd575b6101f2610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156102a25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060006102b56102b0610afb565b610b01565b60408051808201909152601b8152600080516020614ba4833981519152602082015290915081151561032c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601b81527f46494e414e43455f4445504f5349545f414d4f554e545f5a45524f00000000006020820152600034116103b45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506103f96000346040805190810160405280601d81526020017f4574686572207472616e7366657220746f2046696e616e636520617070000000815250336001610bd9565b50005b34801561040857600080fd5b50610411610ad2565b604080519115158252519081900360200190f35b34801561043157600080fd5b5061043a610e30565b60408051918252519081900360200190f35b34801561045857600080fd5b5061043a600160a060020a03600480358216916024803590911691604435916001604060020a0360643581169260843582169260a4359092169160c435908101910135610e53565b3480156104ac57600080fd5b506104b8600435611472565b005b3480156104c657600080fd5b506104b8600160a060020a03600435166001604060020a0360243516611656565b3480156104f357600080fd5b506104b8600160a060020a03600435166118ba565b34801561051457600080fd5b50610529600160a060020a0360043516611a91565b6040805192835290151560208301528051918290030190f35b34801561054e57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261059b943694929360249392840191908190840183828082843750949750611b419650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156105c357600080fd5b506104b86004356024351515611c27565b3480156105e057600080fd5b506105ec600435611df4565b60408051600160a060020a039a8b168152988a1660208a0152888101979097526001604060020a039586166060890152938516608088015291841660a0870152151560c086015290911660e08401529092166101008201529051908190036101200190f35b34801561065d57600080fd5b5061059b611f09565b34801561067257600080fd5b5061067e600435611f81565b604080516001604060020a03998a1681526020810198909852878101969096529387166060870152600160a060020a039283166080870152911660a0850152151560c084015290921660e08201529051908190036101000190f35b3480156106e557600080fd5b5061043a61209a565b3480156106fa57600080fd5b5061043a6120cf565b34801561070f57600080fd5b506104b86004356120f2565b34801561072757600080fd5b5061073c6001604060020a03600435166122ac565b6040805195151586526001604060020a039485166020870152929093168483015260608401526080830191909152519081900360a00190f35b34801561078157600080fd5b506104b86001604060020a03600435166123ae565b3480156107a257600080fd5b506107ab6125ea565b604080516001604060020a039092168252519081900360200190f35b3480156107d357600080fd5b506104b8600160a060020a03600435166024356125f9565b3480156107f757600080fd5b50610411600160a060020a03600435166127f6565b34801561081857600080fd5b5061043a612807565b34801561082d57600080fd5b5061043a612837565b34801561084257600080fd5b506104b8600160a060020a0360043516612862565b34801561086357600080fd5b5061043a612a64565b34801561087857600080fd5b506107ab612a99565b34801561088d57600080fd5b506104b8600160a060020a0360043516612b20565b3480156108ae57600080fd5b506040805160206004604435818101358381028086018501909652808552610411958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750612daf9650505050505050565b34801561091557600080fd5b5061059b612eff565b34801561092a57600080fd5b506104116001604060020a0360043516612fb4565b34801561094b57600080fd5b506107ab613042565b6104b860048035600160a060020a03169060248035916044359182019101356130d1565b34801561098457600080fd5b506107ab600435613333565b34801561099c57600080fd5b506109bd6001604060020a0360043516600160a060020a03602435166133ce565b6040805192835260208301919091528051918290030190f35b3480156109e257600080fd5b5061059b6134b3565b3480156109f757600080fd5b5061043a6134de565b348015610a0c57600080fd5b506104116134e4565b348015610a2157600080fd5b50610411600160a060020a03600435166024356134f7565b348015610a4557600080fd5b5061043a613587565b348015610a5a57600080fd5b5061043a6135bc565b348015610a6f57600080fd5b5061043a600160a060020a03600435166135c2565b348015610a9057600080fd5b506104b8600160a060020a036004803582169160248035909116916044359160643590810191013561364a565b348015610ac957600080fd5b5061059b613858565b600080610add612837565b90508015801590610af5575080610af2613867565b10155b91505090565b60001990565b600080600060086000610b1261386b565b6001604060020a03166001604060020a031681526020019081526020016000209150610b3c61387e565b90505b81546001604060020a03604060020a90910481169082161115610bcd576001604060020a0384161515610b755760009250610bd2565b60018201546000199094019315610ba057600754610b9a90600163ffffffff61389016565b60028301555b8154610bc690610bc190604060020a90046001604060020a03166001613924565b6139be565b9150610b3f565b600192505b5050919050565b610be585838686613a9f565b600160a060020a0385161515610c6957600080546040805160e260020a6311f9fbc902815260048101849052602481018890529051600160a060020a03909216926347e7ef24928892604480820193929182900301818588803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050505050610e29565b8015610d1457610c8a600160a060020a03861633308763ffffffff613ab616565b6040805190810160405280602081526020017f46494e414e43455f544b4e5f5452414e534645525f46524f4d5f524556455254815250901515610d125760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b600054610d3490600160a060020a0387811691168663ffffffff613b3516565b60408051808201909152601a81527f46494e414e43455f544b4e5f415050524f56455f4641494c45440000000000006020820152901515610dba5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600080546040805160e260020a6311f9fbc9028152600160a060020a03898116600483015260248201899052915191909216926347e7ef24926044808201939182900301818387803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050505b5050505050565b60408051600080516020614b848339815191528152905190819003601401902081565b6000806040518080600080516020614b8483398151915281525060140190506040518091039020610ea38b8b8b8a6001604060020a03168a6001604060020a03168d6001604060020a0316613bab565b610eae338383612daf565b60408051808201909152600f8152600080516020614b448339815191526020820152901515610f225760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506000610f306102b0610afb565b60408051808201909152601b8152600080516020614ba48339815191526020820152909150811515610fa75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f00602082015260008c1161102f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f494e5452564c5f5a45524f00602082015260006001604060020a038b16116110c05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601e81527f46494e414e43455f4e45575f5041594d454e545f45584543535f5a45524f0000602082015260006001604060020a038a16116111515760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038d1660009081526003602052604090205460ff1615806111925750600160a060020a038d166000908152600260205260409020548b11155b60408051808201909152600e81527f46494e414e43455f42554447455400000000000000000000000000000000000060208201529015156112185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50876001604060020a0316600114156112c85761123361387e565b60408051808201909152601d81527f46494e414e43455f4e45575f5041594d454e545f494d4d4544494154450000006020820152906001604060020a03908116908c16116112c65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b6005805460018101909155604080516001604060020a038b16815260208101828152918101899052919650600160a060020a038e169187917f41e8c14bdf2b044354d788d944b364e1de0b64aeddeba755b8ef69ab68bd9083918c918c918c91606082018484808284376040519201829003965090945050505050a36004600086815260200190815260200160002093508c8460000160006101000a815481600160a060020a030219169083600160a060020a031602179055508b8460010160006101000a815481600160a060020a030219169083600160a060020a031602179055508a8460030181905550898460040160006101000a8154816001604060020a0302191690836001604060020a03160217905550888460040160086101000a8154816001604060020a0302191690836001604060020a03160217905550878460040160106101000a8154816001604060020a0302191690836001604060020a03160217905550338460020160006101000a815481600160a060020a030219169083600160a060020a0316021790555061146185613c8b565b505050505098975050505050505050565b604080517f455845435554455f5041594d454e54535f524f4c450000000000000000000000815281519081900360150190206000838152600460205291909120600301546114c1908390613e6c565b6114cc338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156115405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5082600081118015611553575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156115c75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006115d56102b0610afb565b60408051808201909152601b8152600080516020614ba4833981519152602082015290915081151561164c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50610e2985613ec7565b61165e612837565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116e35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506116ec614001565b6116f5826140c9565b60408051808201909152601a81527f46494e414e43455f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561177b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841617905560408051808201909152601c81527f46494e414e43455f5345545f504552494f445f544f4f5f53484f5254000000006020820152620151806001604060020a03831610156118375760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600180546001604060020a03831667ffffffffffffffff199091161781556000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ee805474ff0000000000000000000000000000000000000000191660a060020a17905560058190556007556118b5610bc161387e565b505050565b60408051600080516020614bc483398151915281528151908190036013019020600160a060020a038316600090815260026020908152838220546003909152928120549192611920928592919060ff16611915576000611918565b60015b60ff166140ef565b61192b338383612daf565b60408051808201909152600f8152600080516020614b44833981519152602082015290151561199f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006119ad6102b0610afb565b60408051808201909152601b8152600080516020614ba48339815191526020820152909150811515611a245760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038416600081815260026020908152604080832083905560038252808320805460ff1916905580518381529182019290925281517f6e768d8fe4a1460cae6d5af9382c3e9abbc41f66f2ec91fda24b12e3c2796f03929181900390910190a250505050565b600080611a9c610ad2565b6040805180820190915260148152600080516020614be48339815191526020820152901515611b105760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050600160a060020a0316600090815260026020908152604080832054600390925290912054909160ff90911690565b6000611b4b612eff565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba9578181015183820152602001611b91565b50505050905090810190601f168015611bd65780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015611bf557600080fd5b505af1158015611c09573d6000803e3d6000fd5b505050506040513d6020811015611c1f57600080fd5b505192915050565b604080517f4d414e4147455f5041594d454e54535f524f4c4500000000000000000000000081529051908190036014019020611c748383611c69576000611c6c565b60015b60ff16613e6c565b611c7f338383612daf565b60408051808201909152600f8152600080516020614b448339815191526020820152901515611cf35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5083600081118015611d06575060055481105b60408051808201909152601c8152600080516020614b648339815191526020820152901515611d7a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600085815260046020908152604091829020600201805474ff00000000000000000000000000000000000000001916871560a060020a810291909117909155825190158152915187927faca91836ee6e44bf1c422f7ee89afb243a4fb775d9fe87150ff5f8e566dc161292908290030190a25050505050565b6000806000806000806000806000808a600081118015611e15575060055481105b60408051808201909152601c8152600080516020614b648339815191526020820152901515611e895760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5050506000998a5250506004602081905260409098208054600182015460038301549a830154600290930154600160a060020a039283169c9183169b9a506001604060020a038085169a50604060020a850481169950608060020a85048116985060ff60a060020a830416975060c060020a909404909316945091169150565b6000611f136134b3565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f5057600080fd5b505af1158015611f64573d6000803e3d6000fd5b505050506040513d6020811015611f7a57600080fd5b5051905090565b600080600080600080600080600089600081118015611fa1575060075481105b60408051808201909152601681527f46494e414e43455f4e4f5f5452414e53414354494f4e0000000000000000000060208201529015156120275760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5050506000988952505060066020525050604090942080546001820154600483015460028401546003909401546001604060020a03608060020a830481169a9599509097508082169650600160a060020a0393841695509282169360a060020a90920460ff1692604060020a9091041690565b604080517f4348414e47455f504552494f445f524f4c4500000000000000000000000000008152905190819003601201902081565b60408051600080516020614bc48339815191528152905190819003601301902081565b80600081118015612104575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156121785760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006121866102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156121fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600083815260046020908152604091829020600101548251808401909352601883527f46494e414e43455f5041594d454e545f5245434549564552000000000000000091830191909152600160a060020a031633146122a25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506118b583613ec7565b60095460408051808201909152601181527f46494e414e43455f4e4f5f504552494f4400000000000000000000000000000060208201526000918291829182918291829188916001604060020a03908116908316106123505760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506001604060020a0388166000818152600860205260409020925061237361386b565b835460018501546002909501546001604060020a03928316939093149b8183169b50604060020a909104909116985092965094509092505050565b604080517f4348414e47455f504552494f445f524f4c450000000000000000000000000000815290519081900360120190206001546123f9906001604060020a038085169116613e6c565b612404338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156124785760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006124866102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156124fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601c81527f46494e414e43455f5345545f504552494f445f544f4f5f53484f5254000000006020820152620151806001604060020a03861610156125915760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600180546001604060020a03861667ffffffffffffffff19909116811790915560408051918252517fa32389dd0d5a3bf7cc635f8c30fee3b70d06a6c547d6dbf31628378ee267bfc99181900360200190a150505050565b6009546001604060020a031681565b60408051600080516020614bc483398151915281528151908190036013019020600160a060020a038416600090815260026020908152838220546003909152929020549091612654918591859160ff16611915576000611918565b61265f338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156126d35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006126e16102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156127585760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a0385166000908152600260209081526040808320879055600390915290205460ff1615156127ac57600160a060020a0385166000908152600360205260409020805460ff191660011790555b60408051858152600160208201528151600160a060020a038816927f6e768d8fe4a1460cae6d5af9382c3e9abbc41f66f2ec91fda24b12e3c2796f03928290030190a25050505050565b6000612800610ad2565b1592915050565b60006128327fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b614106565b905090565b60006128327febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e614106565b600061286c610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156128e05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006128ee6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156129655760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038316156129935761298e600160a060020a0384163063ffffffff61410e16565b612996565b30315b60408051808201909152601b81527f46494e414e43455f5245434f5645525f414d4f554e545f5a45524f0000000000602082015290925060008311612a205760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506118b583836040805190810160405280601081526020017f5265636f76657220746f205661756c7400000000000000000000000000000000815250306000610bd9565b604080517f455845435554455f5041594d454e54535f524f4c4500000000000000000000008152905190819003601501902081565b6000612aa3610ad2565b6040805180820190915260148152600080516020614be48339815191526020820152901515612b175760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061283261386b565b6000806000612b2e846127f6565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515612bb45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50612bbd611f09565b9250612bc8836140c9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515612c4e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a0384161515612c9f5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612c99573d6000803e3d6000fd5b50612d5e565b5082612cba600160a060020a0382163063ffffffff61410e16565b9150612cd6600160a060020a038216848463ffffffff61420e16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515612d5c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080612dba610ad2565b1515612dc95760009150612ef7565b612dd16134b3565b9050600160a060020a0381161515612dec5760009150612ef7565b80600160a060020a031663fdef9106863087612e078861427b565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015612e79578181015183820152602001612e61565b50505050905090810190601f168015612ea65780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015612ec857600080fd5b505af1158015612edc573d6000803e3d6000fd5b505050506040513d6020811015612ef257600080fd5b505191505b509392505050565b600080612f0a6134b3565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015611bf557600080fd5b6000612fbe610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156130325760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061303c82610b01565b92915050565b600061304c610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156130c05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50506001546001604060020a031690565b6130d9610ad2565b6040805180820190915260148152600080516020614be4833981519152602082015290151561314d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600061315b6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156131d25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601b81527f46494e414e43455f4445504f5349545f414d4f554e545f5a45524f000000000060208201526000851161325a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a03851615156132f35760408051808201909152601a81527f46494e414e43455f4554485f56414c55455f4d49534d4154434800000000000060208201523485146132f15760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b610e29858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050336001610bd9565b600081600081118015613347575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156133bb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506133c583614285565b91505b50919050565b60095460408051808201909152601181527f46494e414e43455f4e4f5f504552494f440000000000000000000000000000006020820152600091829182918691906001604060020a039081169083161061346d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050506001604060020a03929092166000908152600860209081526040808320600160a060020a03949094168352600390930190522080546001909101549092909150565b60006128327f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b614106565b60055481565b60006000196134f1612837565b14905090565b6000613501610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156135755760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50613580838361430f565b9392505050565b604080517f4d414e4147455f5041594d454e54535f524f4c450000000000000000000000008152905190819003601401902081565b60075481565b60006135cc610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156136405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061303c826143c6565b60408051600080516020614b8483398151915281529051908190036014019020613682868686600019600161367d614469565b613bab565b61368d338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156137015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600061370f6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156137865760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f0060208201526000871161380e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061384e8888886000808a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375061446d945050505050565b5050505050505050565b600054600160a060020a031681565b4390565b6009546001604060020a03166000190190565b600061283261388b614469565b614514565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f570000000000000000000000000000602082015260009081908484111561391c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050900390565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f57000000000000000000000000006020820152600090838301906001604060020a038086169083161015612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b600980546001604060020a038082166001818101831667ffffffffffffffff1994851617909455600081815260086020526040812080548785169516851781559454909491939192600019918116870191909101919082161015613a2157506000195b81546fffffffffffffffff00000000000000001916604060020a6001604060020a0383811682029290921780855560408051828516815292909104831660208301528051928616927fe183df4530c4b573af76d47f020d4b86e418cef40ed4c9ce924b563e791b832c9281900390910190a28193505b505050919050565b613ab06001858585600080876145ac565b50505050565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090613b2b868261485c565b9695505050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167f095ea7b300000000000000000000000000000000000000000000000000000000179052600090613ba2858261485c565b95945050505050565b60408051600680825260e082019092526060916020820160c08038833901905050905086600160a060020a0316816000815181101515613be757fe5b602090810290910101528051600160a060020a0387169082906001908110613c0b57fe5b602090810290910101528051859082906002908110613c2657fe5b602090810290910101528051849082906003908110613c4157fe5b602090810290910101528051839082906004908110613c5c57fe5b602090810290910101528051829082906005908110613c7757fe5b602090810290910101529695505050505050565b600081815260046020908152604080832060028101548251808401909352601883527f46494e414e43455f5041594d454e545f494e4143544956450000000000000000938301939093529183919060a060020a900460ff1615613d335760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600090505b613d4161387e565b6001604060020a0316613d5385614285565b6001604060020a031611158015613d7357506014816001604060020a0316105b15613e5c5781546003830154613d9291600160a060020a03169061430f565b1515613dd0576040805185815290517f5f352e4123f4620cacbb8eb0dd683705aaa3e1f9384adbbd85b665b205097f519181900360200190a1613e5c565b6004820180546001604060020a0360c060020a808304821660019081018316820277ffffffffffffffffffffffffffffffffffffffffffffffff909416939093179384905585548684015460038801546040805160208101909152600081529790950196613e5796600160a060020a0393841696929093169491938b9304909116906148aa565b613d39565b6001604060020a03169392505050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515613e9c57fe5b602090810290910101528051829082906001908110613eb757fe5b6020908102909101015292915050565b6000613ed282613c8b565b9050801515613ffd57613ee361387e565b6001604060020a0316613ef583614285565b6001604060020a031611613f8057604080518082018252601b81527f46494e414e43455f455845435554455f5041594d454e545f4e554d00000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561026757818101518382015260200161024f565b604080518082018252601c81527f46494e414e43455f455845435554455f5041594d454e545f54494d45000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561026757818101518382015260200161024f565b5050565b614009612837565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561408e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506140c761409a613867565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61494d16565b565b600080600160a060020a03831615156140e557600091506133c8565b50506000903b1190565b6060613ba285600160a060020a0316858585614951565b5490565b5490565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061417986846149e7565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156142045760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090613ba2858261485c565b8051602002815290565b6000818152600460208190526040822090810154829081906001604060020a03608060020a8204811660c060020a90920416106142c6576000199350613a97565b60048301546142ee906001604060020a0360c060020a8204811691604060020a900416614a18565b6004840154909250613ba2906001604060020a03168363ffffffff61392416565b60008161431b846143c6565b10158015613580575060008054604080517fe3d670d7000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015291518694929093169263e3d670d792602480840193602093929083900390910190829087803b15801561439157600080fd5b505af11580156143a5573d6000803e3d6000fd5b505050506040513d60208110156143bb57600080fd5b505110159392505050565b600160a060020a0381166000908152600360205260408120548190819060ff1615156143f6576000199250610bd2565b600160a060020a038416600090815260026020526040812054925060089061441c61386b565b6001604060020a0316815260208082019290925260409081016000908120600160a060020a038816825260030190925290205490508181106144615760009250610bd2565b900392915050565b4290565b83614477876143c6565b60408051808201909152601881527f46494e414e43455f52454d41494e494e475f425544474554000000000000000060208201529111156144fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061450c8686868686866148aa565b505050505050565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f424947000000000000000000000060208201526000906001604060020a038311156145a55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5090919050565b60008060008060006145bc61386b565b945060086000866001604060020a03166001604060020a0316815260200190815260200160002060030160008c600160a060020a0316600160a060020a0316815260200190815260200160002093508b15614630576001840154614626908a63ffffffff614ab516565b6001850155614645565b8354614642908a63ffffffff614ab516565b84555b600760008154809291906001019190505592506006600084815260200190815260200160002091508a8260000160006101000a815481600160a060020a030219169083600160a060020a03160217905550898260010160006101000a815481600160a060020a030219169083600160a060020a031602179055508b8260010160146101000a81548160ff021916908315150217905550888260020181905550878260030181905550868260040160006101000a8154816001604060020a0302191690836001604060020a0316021790555061471e61387e565b6004830180546fffffffffffffffff00000000000000001916604060020a6001604060020a03938416021777ffffffffffffffff000000000000000000000000000000001916608060020a92881692830217905560009081526008602052604090206001810154909150151561479657600181018390555b89600160a060020a0316837f5b2c6f4cb53711ae51d600df17fa68f8239b4a704f766c99642f667d1d7bd40e8e8c8a604051808415151515815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156148125781810151838201526020016147fa565b50505050905090810190601f16801561483f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b6000806040516020818551602087016000895af160008111156148a0573d801561488d57602081146148965761489e565b6001935061489e565b600183511493505b505b5090949350505050565b6148ba60008787878787876145ac565b60008054604080517fbeabacc8000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301528981166024830152604482018990529151919092169263beabacc8926064808201939182900301818387803b15801561492d57600080fd5b505af1158015614941573d6000803e3d6000fd5b50505050505050505050565b9055565b60408051600480825260a08201909252606091602082016080803883390190505090508481600081518110151561498457fe5b60209081029091010152805184908290600190811061499f57fe5b6020908102909101015280518390829060029081106149ba57fe5b6020908102909101015280518290829060039081106149d557fe5b60209081029091010152949350505050565b6000806000806040516020818751602089018a5afa92506000831115614a0c57805191505b50909590945092505050565b60408051808201909152601381527f4d41544836345f4d554c5f4f564552464c4f570000000000000000000000000060208201526000906001604060020a038481169084160290604060020a8210612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f56004150505f415554485f4641494c4544000000000000000000000000000000000046494e414e43455f4e4f5f5343484544554c45445f5041594d454e54000000004352454154455f5041594d454e54535f524f4c4500000000000000000000000046494e414e43455f434f4d504c4554455f5452414e534954494f4e00000000004348414e47455f425544474554535f524f4c4500000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a7230582015d2119866802089840642c42d9cacb526ed634c3b7929015445d5ee2e61bd690029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101ea5763ffffffff60e060020a6000350416630803fac081146103fc5780630842ace414610425578063149204381461044c578063162a0cf8146104a05780631798de81146104ba57806318f053da146104e757806319b7d7bd146105085780632914b9bd146105425780632d00cad3146105b75780633280a836146105d457806332f0a3b51461065157806333ea3dc8146106665780635985feec146106d95780635b14dbc8146106ee5780636436f1891461070357806367047c4a1461071b578063671273f4146107755780636abe602d1461079657806374bfb426146107c75780637e7db6e1146107eb57806380afdea81461080c5780638b3dd749146108215780639297d86014610836578063981cc34214610857578063988e65951461086c5780639d4941d814610881578063a1658fad146108a2578063a479e50814610909578063a66294411461091e578063b36fec571461093f578063bfe07da614610954578063cb045a9614610978578063d2d27b4114610990578063d4aae0c4146109d6578063de048a7b146109eb578063de4796ed14610a00578063e90a1b6e14610a15578063e94ebac514610a39578063eaa7ec6814610a4e578063eca8181714610a63578063f636484614610a84578063fbfa77cf14610abd575b6101f2610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156102a25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060006102b56102b0610afb565b610b01565b60408051808201909152601b8152600080516020614ba4833981519152602082015290915081151561032c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601b81527f46494e414e43455f4445504f5349545f414d4f554e545f5a45524f00000000006020820152600034116103b45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506103f96000346040805190810160405280601d81526020017f4574686572207472616e7366657220746f2046696e616e636520617070000000815250336001610bd9565b50005b34801561040857600080fd5b50610411610ad2565b604080519115158252519081900360200190f35b34801561043157600080fd5b5061043a610e30565b60408051918252519081900360200190f35b34801561045857600080fd5b5061043a600160a060020a03600480358216916024803590911691604435916001604060020a0360643581169260843582169260a4359092169160c435908101910135610e53565b3480156104ac57600080fd5b506104b8600435611472565b005b3480156104c657600080fd5b506104b8600160a060020a03600435166001604060020a0360243516611656565b3480156104f357600080fd5b506104b8600160a060020a03600435166118ba565b34801561051457600080fd5b50610529600160a060020a0360043516611a91565b6040805192835290151560208301528051918290030190f35b34801561054e57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261059b943694929360249392840191908190840183828082843750949750611b419650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156105c357600080fd5b506104b86004356024351515611c27565b3480156105e057600080fd5b506105ec600435611df4565b60408051600160a060020a039a8b168152988a1660208a0152888101979097526001604060020a039586166060890152938516608088015291841660a0870152151560c086015290911660e08401529092166101008201529051908190036101200190f35b34801561065d57600080fd5b5061059b611f09565b34801561067257600080fd5b5061067e600435611f81565b604080516001604060020a03998a1681526020810198909852878101969096529387166060870152600160a060020a039283166080870152911660a0850152151560c084015290921660e08201529051908190036101000190f35b3480156106e557600080fd5b5061043a61209a565b3480156106fa57600080fd5b5061043a6120cf565b34801561070f57600080fd5b506104b86004356120f2565b34801561072757600080fd5b5061073c6001604060020a03600435166122ac565b6040805195151586526001604060020a039485166020870152929093168483015260608401526080830191909152519081900360a00190f35b34801561078157600080fd5b506104b86001604060020a03600435166123ae565b3480156107a257600080fd5b506107ab6125ea565b604080516001604060020a039092168252519081900360200190f35b3480156107d357600080fd5b506104b8600160a060020a03600435166024356125f9565b3480156107f757600080fd5b50610411600160a060020a03600435166127f6565b34801561081857600080fd5b5061043a612807565b34801561082d57600080fd5b5061043a612837565b34801561084257600080fd5b506104b8600160a060020a0360043516612862565b34801561086357600080fd5b5061043a612a64565b34801561087857600080fd5b506107ab612a99565b34801561088d57600080fd5b506104b8600160a060020a0360043516612b20565b3480156108ae57600080fd5b506040805160206004604435818101358381028086018501909652808552610411958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750612daf9650505050505050565b34801561091557600080fd5b5061059b612eff565b34801561092a57600080fd5b506104116001604060020a0360043516612fb4565b34801561094b57600080fd5b506107ab613042565b6104b860048035600160a060020a03169060248035916044359182019101356130d1565b34801561098457600080fd5b506107ab600435613333565b34801561099c57600080fd5b506109bd6001604060020a0360043516600160a060020a03602435166133ce565b6040805192835260208301919091528051918290030190f35b3480156109e257600080fd5b5061059b6134b3565b3480156109f757600080fd5b5061043a6134de565b348015610a0c57600080fd5b506104116134e4565b348015610a2157600080fd5b50610411600160a060020a03600435166024356134f7565b348015610a4557600080fd5b5061043a613587565b348015610a5a57600080fd5b5061043a6135bc565b348015610a6f57600080fd5b5061043a600160a060020a03600435166135c2565b348015610a9057600080fd5b506104b8600160a060020a036004803582169160248035909116916044359160643590810191013561364a565b348015610ac957600080fd5b5061059b613858565b600080610add612837565b90508015801590610af5575080610af2613867565b10155b91505090565b60001990565b600080600060086000610b1261386b565b6001604060020a03166001604060020a031681526020019081526020016000209150610b3c61387e565b90505b81546001604060020a03604060020a90910481169082161115610bcd576001604060020a0384161515610b755760009250610bd2565b60018201546000199094019315610ba057600754610b9a90600163ffffffff61389016565b60028301555b8154610bc690610bc190604060020a90046001604060020a03166001613924565b6139be565b9150610b3f565b600192505b5050919050565b610be585838686613a9f565b600160a060020a0385161515610c6957600080546040805160e260020a6311f9fbc902815260048101849052602481018890529051600160a060020a03909216926347e7ef24928892604480820193929182900301818588803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050505050610e29565b8015610d1457610c8a600160a060020a03861633308763ffffffff613ab616565b6040805190810160405280602081526020017f46494e414e43455f544b4e5f5452414e534645525f46524f4d5f524556455254815250901515610d125760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b600054610d3490600160a060020a0387811691168663ffffffff613b3516565b60408051808201909152601a81527f46494e414e43455f544b4e5f415050524f56455f4641494c45440000000000006020820152901515610dba5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600080546040805160e260020a6311f9fbc9028152600160a060020a03898116600483015260248201899052915191909216926347e7ef24926044808201939182900301818387803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050505b5050505050565b60408051600080516020614b848339815191528152905190819003601401902081565b6000806040518080600080516020614b8483398151915281525060140190506040518091039020610ea38b8b8b8a6001604060020a03168a6001604060020a03168d6001604060020a0316613bab565b610eae338383612daf565b60408051808201909152600f8152600080516020614b448339815191526020820152901515610f225760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506000610f306102b0610afb565b60408051808201909152601b8152600080516020614ba48339815191526020820152909150811515610fa75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f00602082015260008c1161102f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f494e5452564c5f5a45524f00602082015260006001604060020a038b16116110c05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601e81527f46494e414e43455f4e45575f5041594d454e545f45584543535f5a45524f0000602082015260006001604060020a038a16116111515760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038d1660009081526003602052604090205460ff1615806111925750600160a060020a038d166000908152600260205260409020548b11155b60408051808201909152600e81527f46494e414e43455f42554447455400000000000000000000000000000000000060208201529015156112185760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50876001604060020a0316600114156112c85761123361387e565b60408051808201909152601d81527f46494e414e43455f4e45575f5041594d454e545f494d4d4544494154450000006020820152906001604060020a03908116908c16116112c65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b6005805460018101909155604080516001604060020a038b16815260208101828152918101899052919650600160a060020a038e169187917f41e8c14bdf2b044354d788d944b364e1de0b64aeddeba755b8ef69ab68bd9083918c918c918c91606082018484808284376040519201829003965090945050505050a36004600086815260200190815260200160002093508c8460000160006101000a815481600160a060020a030219169083600160a060020a031602179055508b8460010160006101000a815481600160a060020a030219169083600160a060020a031602179055508a8460030181905550898460040160006101000a8154816001604060020a0302191690836001604060020a03160217905550888460040160086101000a8154816001604060020a0302191690836001604060020a03160217905550878460040160106101000a8154816001604060020a0302191690836001604060020a03160217905550338460020160006101000a815481600160a060020a030219169083600160a060020a0316021790555061146185613c8b565b505050505098975050505050505050565b604080517f455845435554455f5041594d454e54535f524f4c450000000000000000000000815281519081900360150190206000838152600460205291909120600301546114c1908390613e6c565b6114cc338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156115405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5082600081118015611553575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156115c75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006115d56102b0610afb565b60408051808201909152601b8152600080516020614ba4833981519152602082015290915081151561164c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50610e2985613ec7565b61165e612837565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156116e35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506116ec614001565b6116f5826140c9565b60408051808201909152601a81527f46494e414e43455f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561177b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841617905560408051808201909152601c81527f46494e414e43455f5345545f504552494f445f544f4f5f53484f5254000000006020820152620151806001604060020a03831610156118375760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600180546001604060020a03831667ffffffffffffffff199091161781556000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ee805474ff0000000000000000000000000000000000000000191660a060020a17905560058190556007556118b5610bc161387e565b505050565b60408051600080516020614bc483398151915281528151908190036013019020600160a060020a038316600090815260026020908152838220546003909152928120549192611920928592919060ff16611915576000611918565b60015b60ff166140ef565b61192b338383612daf565b60408051808201909152600f8152600080516020614b44833981519152602082015290151561199f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006119ad6102b0610afb565b60408051808201909152601b8152600080516020614ba48339815191526020820152909150811515611a245760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038416600081815260026020908152604080832083905560038252808320805460ff1916905580518381529182019290925281517f6e768d8fe4a1460cae6d5af9382c3e9abbc41f66f2ec91fda24b12e3c2796f03929181900390910190a250505050565b600080611a9c610ad2565b6040805180820190915260148152600080516020614be48339815191526020820152901515611b105760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050600160a060020a0316600090815260026020908152604080832054600390925290912054909160ff90911690565b6000611b4b612eff565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba9578181015183820152602001611b91565b50505050905090810190601f168015611bd65780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015611bf557600080fd5b505af1158015611c09573d6000803e3d6000fd5b505050506040513d6020811015611c1f57600080fd5b505192915050565b604080517f4d414e4147455f5041594d454e54535f524f4c4500000000000000000000000081529051908190036014019020611c748383611c69576000611c6c565b60015b60ff16613e6c565b611c7f338383612daf565b60408051808201909152600f8152600080516020614b448339815191526020820152901515611cf35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5083600081118015611d06575060055481105b60408051808201909152601c8152600080516020614b648339815191526020820152901515611d7a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600085815260046020908152604091829020600201805474ff00000000000000000000000000000000000000001916871560a060020a810291909117909155825190158152915187927faca91836ee6e44bf1c422f7ee89afb243a4fb775d9fe87150ff5f8e566dc161292908290030190a25050505050565b6000806000806000806000806000808a600081118015611e15575060055481105b60408051808201909152601c8152600080516020614b648339815191526020820152901515611e895760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5050506000998a5250506004602081905260409098208054600182015460038301549a830154600290930154600160a060020a039283169c9183169b9a506001604060020a038085169a50604060020a850481169950608060020a85048116985060ff60a060020a830416975060c060020a909404909316945091169150565b6000611f136134b3565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f5057600080fd5b505af1158015611f64573d6000803e3d6000fd5b505050506040513d6020811015611f7a57600080fd5b5051905090565b600080600080600080600080600089600081118015611fa1575060075481105b60408051808201909152601681527f46494e414e43455f4e4f5f5452414e53414354494f4e0000000000000000000060208201529015156120275760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5050506000988952505060066020525050604090942080546001820154600483015460028401546003909401546001604060020a03608060020a830481169a9599509097508082169650600160a060020a0393841695509282169360a060020a90920460ff1692604060020a9091041690565b604080517f4348414e47455f504552494f445f524f4c4500000000000000000000000000008152905190819003601201902081565b60408051600080516020614bc48339815191528152905190819003601301902081565b80600081118015612104575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156121785760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006121866102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156121fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600083815260046020908152604091829020600101548251808401909352601883527f46494e414e43455f5041594d454e545f5245434549564552000000000000000091830191909152600160a060020a031633146122a25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506118b583613ec7565b60095460408051808201909152601181527f46494e414e43455f4e4f5f504552494f4400000000000000000000000000000060208201526000918291829182918291829188916001604060020a03908116908316106123505760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506001604060020a0388166000818152600860205260409020925061237361386b565b835460018501546002909501546001604060020a03928316939093149b8183169b50604060020a909104909116985092965094509092505050565b604080517f4348414e47455f504552494f445f524f4c450000000000000000000000000000815290519081900360120190206001546123f9906001604060020a038085169116613e6c565b612404338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156124785760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006124866102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156124fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601c81527f46494e414e43455f5345545f504552494f445f544f4f5f53484f5254000000006020820152620151806001604060020a03861610156125915760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600180546001604060020a03861667ffffffffffffffff19909116811790915560408051918252517fa32389dd0d5a3bf7cc635f8c30fee3b70d06a6c547d6dbf31628378ee267bfc99181900360200190a150505050565b6009546001604060020a031681565b60408051600080516020614bc483398151915281528151908190036013019020600160a060020a038416600090815260026020908152838220546003909152929020549091612654918591859160ff16611915576000611918565b61265f338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156126d35760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006126e16102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156127585760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a0385166000908152600260209081526040808320879055600390915290205460ff1615156127ac57600160a060020a0385166000908152600360205260409020805460ff191660011790555b60408051858152600160208201528151600160a060020a038816927f6e768d8fe4a1460cae6d5af9382c3e9abbc41f66f2ec91fda24b12e3c2796f03928290030190a25050505050565b6000612800610ad2565b1592915050565b60006128327fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b614106565b905090565b60006128327febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e614106565b600061286c610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156128e05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060006128ee6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156129655760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a038316156129935761298e600160a060020a0384163063ffffffff61410e16565b612996565b30315b60408051808201909152601b81527f46494e414e43455f5245434f5645525f414d4f554e545f5a45524f0000000000602082015290925060008311612a205760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506118b583836040805190810160405280601081526020017f5265636f76657220746f205661756c7400000000000000000000000000000000815250306000610bd9565b604080517f455845435554455f5041594d454e54535f524f4c4500000000000000000000008152905190819003601501902081565b6000612aa3610ad2565b6040805180820190915260148152600080516020614be48339815191526020820152901515612b175760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061283261386b565b6000806000612b2e846127f6565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515612bb45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50612bbd611f09565b9250612bc8836140c9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515612c4e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a0384161515612c9f5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612c99573d6000803e3d6000fd5b50612d5e565b5082612cba600160a060020a0382163063ffffffff61410e16565b9150612cd6600160a060020a038216848463ffffffff61420e16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515612d5c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080612dba610ad2565b1515612dc95760009150612ef7565b612dd16134b3565b9050600160a060020a0381161515612dec5760009150612ef7565b80600160a060020a031663fdef9106863087612e078861427b565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015612e79578181015183820152602001612e61565b50505050905090810190601f168015612ea65780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015612ec857600080fd5b505af1158015612edc573d6000803e3d6000fd5b505050506040513d6020811015612ef257600080fd5b505191505b509392505050565b600080612f0a6134b3565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015611bf557600080fd5b6000612fbe610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156130325760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061303c82610b01565b92915050565b600061304c610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156130c05760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50506001546001604060020a031690565b6130d9610ad2565b6040805180820190915260148152600080516020614be4833981519152602082015290151561314d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600061315b6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156131d25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601b81527f46494e414e43455f4445504f5349545f414d4f554e545f5a45524f000000000060208201526000851161325a5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600160a060020a03851615156132f35760408051808201909152601a81527f46494e414e43455f4554485f56414c55455f4d49534d4154434800000000000060208201523485146132f15760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505b610e29858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050336001610bd9565b600081600081118015613347575060055481105b60408051808201909152601c8152600080516020614b6483398151915260208201529015156133bb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506133c583614285565b91505b50919050565b60095460408051808201909152601181527f46494e414e43455f4e4f5f504552494f440000000000000000000000000000006020820152600091829182918691906001604060020a039081169083161061346d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050506001604060020a03929092166000908152600860209081526040808320600160a060020a03949094168352600390930190522080546001909101549092909150565b60006128327f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b614106565b60055481565b60006000196134f1612837565b14905090565b6000613501610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156135755760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50613580838361430f565b9392505050565b604080517f4d414e4147455f5041594d454e54535f524f4c450000000000000000000000008152905190819003601401902081565b60075481565b60006135cc610ad2565b6040805180820190915260148152600080516020614be483398151915260208201529015156136405760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061303c826143c6565b60408051600080516020614b8483398151915281529051908190036014019020613682868686600019600161367d614469565b613bab565b61368d338383612daf565b60408051808201909152600f8152600080516020614b4483398151915260208201529015156137015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600061370f6102b0610afb565b60408051808201909152601b8152600080516020614ba483398151915260208201529091508115156137865760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5060408051808201909152601f81527f46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f0060208201526000871161380e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061384e8888886000808a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375061446d945050505050565b5050505050505050565b600054600160a060020a031681565b4390565b6009546001604060020a03166000190190565b600061283261388b614469565b614514565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f570000000000000000000000000000602082015260009081908484111561391c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b505050900390565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f57000000000000000000000000006020820152600090838301906001604060020a038086169083161015612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b600980546001604060020a038082166001818101831667ffffffffffffffff1994851617909455600081815260086020526040812080548785169516851781559454909491939192600019918116870191909101919082161015613a2157506000195b81546fffffffffffffffff00000000000000001916604060020a6001604060020a0383811682029290921780855560408051828516815292909104831660208301528051928616927fe183df4530c4b573af76d47f020d4b86e418cef40ed4c9ce924b563e791b832c9281900390910190a28193505b505050919050565b613ab06001858585600080876145ac565b50505050565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090613b2b868261485c565b9695505050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167f095ea7b300000000000000000000000000000000000000000000000000000000179052600090613ba2858261485c565b95945050505050565b60408051600680825260e082019092526060916020820160c08038833901905050905086600160a060020a0316816000815181101515613be757fe5b602090810290910101528051600160a060020a0387169082906001908110613c0b57fe5b602090810290910101528051859082906002908110613c2657fe5b602090810290910101528051849082906003908110613c4157fe5b602090810290910101528051839082906004908110613c5c57fe5b602090810290910101528051829082906005908110613c7757fe5b602090810290910101529695505050505050565b600081815260046020908152604080832060028101548251808401909352601883527f46494e414e43455f5041594d454e545f494e4143544956450000000000000000938301939093529183919060a060020a900460ff1615613d335760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b50600090505b613d4161387e565b6001604060020a0316613d5385614285565b6001604060020a031611158015613d7357506014816001604060020a0316105b15613e5c5781546003830154613d9291600160a060020a03169061430f565b1515613dd0576040805185815290517f5f352e4123f4620cacbb8eb0dd683705aaa3e1f9384adbbd85b665b205097f519181900360200190a1613e5c565b6004820180546001604060020a0360c060020a808304821660019081018316820277ffffffffffffffffffffffffffffffffffffffffffffffff909416939093179384905585548684015460038801546040805160208101909152600081529790950196613e5796600160a060020a0393841696929093169491938b9304909116906148aa565b613d39565b6001604060020a03169392505050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515613e9c57fe5b602090810290910101528051829082906001908110613eb757fe5b6020908102909101015292915050565b6000613ed282613c8b565b9050801515613ffd57613ee361387e565b6001604060020a0316613ef583614285565b6001604060020a031611613f8057604080518082018252601b81527f46494e414e43455f455845435554455f5041594d454e545f4e554d00000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561026757818101518382015260200161024f565b604080518082018252601c81527f46494e414e43455f455845435554455f5041594d454e545f54494d45000000006020808301918252925160e560020a62461bcd0281526004810193845282516024820152825192939283926044909201919080838360008381101561026757818101518382015260200161024f565b5050565b614009612837565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561408e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b506140c761409a613867565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61494d16565b565b600080600160a060020a03831615156140e557600091506133c8565b50506000903b1190565b6060613ba285600160a060020a0316858585614951565b5490565b5490565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061417986846149e7565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156142045760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090613ba2858261485c565b8051602002815290565b6000818152600460208190526040822090810154829081906001604060020a03608060020a8204811660c060020a90920416106142c6576000199350613a97565b60048301546142ee906001604060020a0360c060020a8204811691604060020a900416614a18565b6004840154909250613ba2906001604060020a03168363ffffffff61392416565b60008161431b846143c6565b10158015613580575060008054604080517fe3d670d7000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015291518694929093169263e3d670d792602480840193602093929083900390910190829087803b15801561439157600080fd5b505af11580156143a5573d6000803e3d6000fd5b505050506040513d60208110156143bb57600080fd5b505110159392505050565b600160a060020a0381166000908152600360205260408120548190819060ff1615156143f6576000199250610bd2565b600160a060020a038416600090815260026020526040812054925060089061441c61386b565b6001604060020a0316815260208082019290925260409081016000908120600160a060020a038816825260030190925290205490508181106144615760009250610bd2565b900392915050565b4290565b83614477876143c6565b60408051808201909152601881527f46494e414e43455f52454d41494e494e475f425544474554000000000000000060208201529111156144fd5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5061450c8686868686866148aa565b505050505050565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f424947000000000000000000000060208201526000906001604060020a038311156145a55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b5090919050565b60008060008060006145bc61386b565b945060086000866001604060020a03166001604060020a0316815260200190815260200160002060030160008c600160a060020a0316600160a060020a0316815260200190815260200160002093508b15614630576001840154614626908a63ffffffff614ab516565b6001850155614645565b8354614642908a63ffffffff614ab516565b84555b600760008154809291906001019190505592506006600084815260200190815260200160002091508a8260000160006101000a815481600160a060020a030219169083600160a060020a03160217905550898260010160006101000a815481600160a060020a030219169083600160a060020a031602179055508b8260010160146101000a81548160ff021916908315150217905550888260020181905550878260030181905550868260040160006101000a8154816001604060020a0302191690836001604060020a0316021790555061471e61387e565b6004830180546fffffffffffffffff00000000000000001916604060020a6001604060020a03938416021777ffffffffffffffff000000000000000000000000000000001916608060020a92881692830217905560009081526008602052604090206001810154909150151561479657600181018390555b89600160a060020a0316837f5b2c6f4cb53711ae51d600df17fa68f8239b4a704f766c99642f667d1d7bd40e8e8c8a604051808415151515815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156148125781810151838201526020016147fa565b50505050905090810190601f16801561483f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b6000806040516020818551602087016000895af160008111156148a0573d801561488d57602081146148965761489e565b6001935061489e565b600183511493505b505b5090949350505050565b6148ba60008787878787876145ac565b60008054604080517fbeabacc8000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301528981166024830152604482018990529151919092169263beabacc8926064808201939182900301818387803b15801561492d57600080fd5b505af1158015614941573d6000803e3d6000fd5b50505050505050505050565b9055565b60408051600480825260a08201909252606091602082016080803883390190505090508481600081518110151561498457fe5b60209081029091010152805184908290600190811061499f57fe5b6020908102909101015280518390829060029081106149ba57fe5b6020908102909101015280518290829060039081106149d557fe5b60209081029091010152949350505050565b6000806000806040516020818751602089018a5afa92506000831115614a0c57805191505b50909590945092505050565b60408051808201909152601381527f4d41544836345f4d554c5f4f564552464c4f570000000000000000000000000060208201526000906001604060020a038481169084160290604060020a8210612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612ef75760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561026757818101518382015260200161024f56004150505f415554485f4641494c4544000000000000000000000000000000000046494e414e43455f4e4f5f5343484544554c45445f5041594d454e54000000004352454154455f5041594d454e54535f524f4c4500000000000000000000000046494e414e43455f434f4d504c4554455f5452414e534954494f4e00000000004348414e47455f425544474554535f524f4c4500000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a7230582015d2119866802089840642c42d9cacb526ed634c3b7929015445d5ee2e61bd690029", - "sourceMap": "510:31727:17:-;;;344:9:40;:7;;;;:9;:::i;:::-;510:31727:17;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;510:31727:17:-;;;;;;;", - "deployedSourceMap": "510:31727:17:-;;;;;;;;;-1:-1:-1;;;510:31727:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:23:17;5709:57;5740:25;:23;:25::i;:::-;5709:30;:57::i;:::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;6590:25:17;;;;;;;;;;;;;;;;;6587:1;6575:9;:13;6567:49;;;;-1:-1:-1;;;;;6567:49:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6567:49:17;;6626:145;269:1:45;6665:9:17;6626:145;;;;;;;;;;;;;;;;;;6733:10;6757:4;6626:8;:145::i;:::-;787:1:48;510:31727:17;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;675:80:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;675:80:17;;;;;;;;;;;;;;;;;;;;10972:1875;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10972:1875:17;-1:-1:-1;;;;;10972:1875:17;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10972:1875:17;;;;;;;;;;;;;;;;;;;;;;;;;;14767:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14767:281:17;;;;;;;7057:746;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7057:746:17;-1:-1:-1;;;;;7057:746:17;;;-1:-1:-1;;;;;7057:746:17;;;;;14252:347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14252:347:17;-1:-1:-1;;;;;14252:347:17;;;;;21689:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21689:200:17;-1:-1:-1;;;;;21689:200:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;16194:323:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16194:323:17;;;;;;;;;18480:859;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18480:859:17;;;;;;;;;-1:-1:-1;;;;;18480:859:17;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18480:859:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;19345:809:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19345:809:17;;;;;;;;;-1:-1:-1;;;;;19345:809:17;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19345:809:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;761:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;761:76:17;;;;843:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;843:78:17;;;;15436:264;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15436:264:17;;;;;20160:589;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20160:589:17;-1:-1:-1;;;;;20160:589:17;;;;;;;;;;;;;;-1:-1:-1;;;;;20160:589:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13052:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13052:387:17;-1:-1:-1;;;;;13052:387:17;;;;;4825:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4825:27:17;;;;;;;;-1:-1:-1;;;;;4825:27:17;;;;;;;;;;;;;;13657:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13657:447:17;-1:-1:-1;;;;;13657:447:17;;;;;;;18368:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18368:106:17;-1:-1:-1;;;;;18368:106:17;;;;;796::38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;16930:402:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16930:402:17;-1:-1:-1;;;;;16930:402:17;;;;;927:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;927:82:17;;;;21232:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21232:112:17;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;17886:180:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17886:180:17;-1:-1:-1;;;;;17886:180:17;;;;;21457:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21457:119:17;;;;8063:520;;;;;-1:-1:-1;;;;;8063:520:17;;;;;;;;;;;;;;;;22630:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22630:161:17;;;;;20755:364;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20755:364:17;-1:-1:-1;;;;;20755:364:17;;;-1:-1:-1;;;;;20755:364:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;4634:32:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4634:32:17;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;22254:154:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22254:154:17;-1:-1:-1;;;;;22254:154:17;;;;;;;1015:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1015:80:17;;;;4733:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4733:36:17;;;;22002:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22002:139:17;-1:-1:-1;;;;;22002:139:17;;;;;9423:774;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9423:774:17;-1:-1:-1;;;;;9423:774:17;;;;;;;;;;;;;;;;;;;;;;;;;;4277:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4277:18:17;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;32147:88:17:-;-1:-1:-1;;32147:88:17;:::o;29041:1115::-;29123:12;29147:28;29215:16;29178:7;:27;29186:18;:16;:18::i;:::-;-1:-1:-1;;;;;29178:27:17;-1:-1:-1;;;;;29178:27:17;;;;;;;;;;;;29147:58;;29234:16;:14;:16::i;:::-;29215:35;;29304:824;29323:21;;-1:-1:-1;;;;;;;;29323:21:17;;;;;29311:33;;;;29304:824;;;-1:-1:-1;;;;;29364:20:17;;;29360:215;;;29555:5;29548:12;;;;29360:215;29670:1;29851:32;;;-1:-1:-1;;29651:20:17;;;;29851:50;29847:151;;29955:21;;:28;;29981:1;29955:28;:25;:28;:::i;:::-;29921:31;;;:62;29847:151;30088:21;;30077:40;;30088:28;;-1:-1:-1;;;30088:21:17;;-1:-1:-1;;;;;30088:21:17;30114:1;30088:25;:28::i;:::-;30077:10;:40::i;:::-;30061:56;;29304:824;;;30145:4;30138:11;;29041:1115;;;;;;:::o;22818:1174::-;22949:122;22989:6;23009:7;23030;23051:10;22949:26;:122::i;:::-;-1:-1:-1;;;;;23086:13:17;;;23082:904;;;23115:5;;;:42;;;-1:-1:-1;;;;;23115:42:17;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23115:5:17;;;;:13;;23135:7;;23115:42;;;;;:5;:42;;;;;;23135:7;23115:5;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;23115:42:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23115:42:17;;;;;23082:904;;;23412:18;23408:305;;;23558:66;-1:-1:-1;;;;;23558:30:17;;23589:10;23609:4;23616:7;23558:66;:30;:66;:::i;:::-;23646:34;;;;;;;;;;;;;;;;;;23529:169;;;;;;;-1:-1:-1;;;;;23529:169:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;23529:169:17;;23408:305;23842:5;;23816:41;;-1:-1:-1;;;;;23816:25:17;;;;23842:5;23849:7;23816:41;:25;:41;:::i;:::-;23859:26;;;;;;;;;;;;;;;;;;23808:78;;;;;;-1:-1:-1;;;;;23808:78:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;23808:78:17;-1:-1:-1;23945:5:17;;;:30;;;-1:-1:-1;;;;;23945:30:17;;-1:-1:-1;;;;;23945:30:17;;;;;;;;;;;;;;;:5;;;;;:13;;:30;;;;;;;;;;;:5;;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;23945:30:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23945:30:17;;;;23082:904;22818:1174;;;;;:::o;675:80::-;722:33;;;-1:-1:-1;;;;;;;;;;;722:33:17;;;;;;;;;;;;675:80;:::o;10972:1875::-;11490:17;12293:32;722:33;;;;-1:-1:-1;;;;;;;;;;;722:33:17;;;;;;;;;;;;;;11338:107;11343:6;11351:9;11362:7;11379:9;-1:-1:-1;;;;;11371:18:17;11399:14;-1:-1:-1;;;;;11391:23:17;11424:19;-1:-1:-1;;;;;11416:28:17;11338:4;:107::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;11544:29:17;;;;;;;;;;;;;;;;;11541:1;11531:11;;11523:51;;;;-1:-1:-1;;;;;11523:51:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11523:51:17;-1:-1:-1;11607:31:17;;;;;;;;;;;;;;;;;11604:1;-1:-1:-1;;;;;11592:13:17;;;11584:55;;;;-1:-1:-1;;;;;11584:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11584:55:17;-1:-1:-1;11677:28:17;;;;;;;;;;;;;;;;;11674:1;-1:-1:-1;;;;;11657:18:17;;;11649:57;;;;-1:-1:-1;;;;;11649:57:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11649:57:17;-1:-1:-1;;;;;;11832:26:17;;;;;;:18;:26;;;;;;;;11831:27;;:66;;-1:-1:-1;;;;;;11862:24:17;;;;;;:16;:24;;;;;;:35;-1:-1:-1;11862:35:17;11831:66;11899:12;;;;;;;;;;;;;;;;;;11823:89;;;;;;-1:-1:-1;;;;;11823:89:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11823:89:17;;12044:14;-1:-1:-1;;;;;12044:19:17;12062:1;12044:19;12040:126;;;12109:16;:14;:16::i;:::-;12127:27;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12087:38:17;;;;;;;12079:76;;;;-1:-1:-1;;;;;12079:76:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12079:76:17;;12040:126;12188:17;:19;;;;;;;;12222:60;;;-1:-1:-1;;;;;12222:60:17;;;;;;;;;;;;;;;;12188:19;;-1:-1:-1;;;;;;12222:60:17;;;12188:19;;12222:60;;12255:14;;12271:10;;;;12222:60;;;12271:10;;;;12222:60;;;;;;;;;;-1:-1:-1;12222:60:17;;-1:-1:-1;;;;;12222:60:17;12328:17;:28;12346:9;12328:28;;;;;;;;;;;12293:63;;12382:6;12366:7;:13;;;:22;;;;;-1:-1:-1;;;;;12366:22:17;;;;;-1:-1:-1;;;;;12366:22:17;;;;;;12417:9;12398:7;:16;;;:28;;;;;-1:-1:-1;;;;;12398:28:17;;;;;-1:-1:-1;;;;;12398:28:17;;;;;;12453:7;12436;:14;;:24;;;;12499:19;12470:7;:26;;;:48;;;;;-1:-1:-1;;;;;12470:48:17;;;;;-1:-1:-1;;;;;12470:48:17;;;;;;12547:9;12528:7;:16;;;:28;;;;;-1:-1:-1;;;;;12528:28:17;;;;;-1:-1:-1;;;;;12528:28:17;;;;;;12590:14;12566:7;:21;;;:38;;;;;-1:-1:-1;;;;;12566:38:17;;;;;-1:-1:-1;;;;;12566:38:17;;;;;;12634:10;12614:7;:17;;;:30;;;;;-1:-1:-1;;;;;12614:30:17;;;;;-1:-1:-1;;;;;12614:30:17;;;;;;12814:26;12830:9;12814:15;:26::i;:::-;;1216:1:39;10972:1875:17;;;;;;;;;;;;;:::o;14767:281::-;975:34;;;;;;;;;;;;;;;;14881:29;;;;:17;:29;;;;;;:36;;;14865:53;;14869:10;;14865:3;:53::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;14951:10:17;5937:1;5924:10;:14;:48;;;;;5955:17;;5942:10;:30;5924:48;5974:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5974:26:17;;;;;5916:85;;;;;;-1:-1:-1;;;;;5916:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5916:85:17;;5683:23;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;;15003:38;15030:10;15003:26;:38::i;7057:746::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;7143:13:17;:11;:13::i;:::-;7175:18;7186:6;7175:10;:18::i;:::-;7195:24;;;;;;;;;;;;;;;;;;7167:53;;;;;;-1:-1:-1;;;;;7167:53:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7167:53:17;-1:-1:-1;7230:5:17;:14;;-1:-1:-1;;7230:14:17;-1:-1:-1;;;;;7230:14:17;;;;;7298:26;;;;;;;;;;;;;;;;;1434:6;-1:-1:-1;;;;;7263:33:17;;;;7255:70;;;;-1:-1:-1;;;;;7255:70:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7255:70:17;-1:-1:-1;7335:8:17;:41;;-1:-1:-1;;;;;7335:41:17;;-1:-1:-1;;7335:41:17;;;;;;:23;7521:20;;:17;:20;;:29;:36;;-1:-1:-1;;7521:36:17;-1:-1:-1;;;7521:36:17;;;7567:17;:21;;;7698;:25;7768:28;7779:16;:14;:16::i;7768:28::-;;7057:746;;:::o;14252:347::-;889:32;;;-1:-1:-1;;;;;;;;;;;889:32:17;;;;;;;;;;;;-1:-1:-1;;;;;14366:24:17;;14362:1;14366:24;;;:16;:24;;;;;;;;14400:18;:26;;;;;;;889:32;;14342:94;;14346:6;;14362:1;14366:24;14400:26;;:34;;14433:1;14400:34;;;14429:1;14400:34;14392:43;;14342:3;:94::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;;;;;;14478:24:17;;14505:1;14478:24;;;:16;:24;;;;;;;;:28;;;14516:18;:26;;;;;:34;;-1:-1:-1;;14516:34:17;;;14565:27;;;;;;;;;;;;;;;;;;;;;;;;;1216:1:39;14252:347:17;;;:::o;21689:200::-;21759:14;21775;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;;;;;;;21810:24:17;;;;;:16;:24;;;;;;;;;21856:18;:26;;;;;;;21810:24;;21856:26;;;;;21689:200::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;16194:323:17:-;1062:33;;;;;;;;;;;;;;;;16307:41;16311:10;16331:7;:15;;16345:1;16331:15;;;16341:1;16331:15;16323:24;;16307:3;:41::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;16381:10:17;5937:1;5924:10;:14;:48;;;;;5955:17;;5942:10;:30;5924:48;5974:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5974:26:17;;;;;5916:85;;;;;;-1:-1:-1;;;;;5916:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5916:85:17;-1:-1:-1;16407:29:17;;;;:17;:29;;;;;;;;;:38;;:49;;-1:-1:-1;;16407:49:17;16448:8;;-1:-1:-1;;;16407:49:17;;;;;;;;;16471:39;;16407:49;;16471:39;;;;16407:29;;16471:39;;;;;;;;;1216:1:39;16194:323:17;;;;:::o;18480:859::-;18621:13;18648:16;18678:14;18706:25;18745:15;18774:20;18808:13;18835:17;18866;18908:32;18579:10;5937:1;5924:10;:14;:48;;;;;5955:17;;5942:10;:30;5924:48;5974:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5974:26:17;;;;;5916:85;;;;;;-1:-1:-1;;;;;5916:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5916:85:17;-1:-1:-1;;;18943:29:17;;;;-1:-1:-1;;18943:17:17;:29;;;;;;;;18991:13;;;19025:16;;;19060:14;;;;19105:26;;;;19277:16;;;;;-1:-1:-1;;;;;18991:13:17;;;;19025:16;;;;19060:14;-1:-1:-1;;;;;;19105:26:17;;;;-1:-1:-1;;;;19152:16:17;;;;;-1:-1:-1;;;;19194:21:17;;;;;-1:-1:-1;19277:16:17;-1:-1:-1;;;19277:16:17;;;;-1:-1:-1;;;;19238:18:17;;;;;;;-1:-1:-1;19315:17:17;;;-1:-1:-1;18480:859:17:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;19345:809:17:-;19493:15;19522:14;19550:17;19581:29;19624:13;19651:14;19679:15;19708:11;19744:31;19447:14;6111:1;6094:14;:18;:60;;;;;6133:21;;6116:14;:38;6094:60;6156:20;;;;;;;;;;;;;;;;;;6086:91;;;;;;-1:-1:-1;;;;;6086:91:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6086:91:17;-1:-1:-1;;;19778:28:17;;;;-1:-1:-1;;19778:12:17;:28;;-1:-1:-1;;19778:28:17;;;;19825:17;;;19861:18;;;19941:16;;;;20017:18;;;;20057:21;;;;;-1:-1:-1;;;;;;;;19978:20:17;;;;;20017:18;;-1:-1:-1;20057:21:17;;-1:-1:-1;20113:34:17;;;;-1:-1:-1;;;;;;19825:17:17;;;;-1:-1:-1;19861:18:17;;;;-1:-1:-1;;;19902:22:17;;;;;;-1:-1:-1;;;19941:16:17;;;;;19345:809::o;761:76::-;806:31;;;;;;;;;;;;;;;;761:76;:::o;843:78::-;889:32;;;-1:-1:-1;;;;;;;;;;;889:32:17;;;;;;;;;;;;843:78;:::o;15436:264::-;15520:10;5937:1;5924:10;:14;:48;;;;;5955:17;;5942:10;:30;5924:48;5974:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5974:26:17;;;;;5916:85;;;;;;-1:-1:-1;;;;;5916:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5916:85:17;;5683:23;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;15568:29:17;;;;:17;:29;;;;;;;;;:38;;;15622:22;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15568:38:17;15610:10;15568:52;15560:85;;;;-1:-1:-1;;;;;15560:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15560:85:17;;15655:38;15682:10;15655:26;:38::i;20160:589::-;6271:13;;6286:15;;;;;;;;;;;;;;;;;20287:14;;;;;;;;;;;;20246:9;;-1:-1:-1;;;;;6271:13:17;;;6259:25;;;;6251:51;;;;-1:-1:-1;;;;;6251:51:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6251:51:17;-1:-1:-1;;;;;;20487:18:17;;;;;;:7;:18;;;;;;-1:-1:-1;20528:18:17;:16;:18::i;:::-;20582:16;;;20663:25;;;20718:24;;;;;-1:-1:-1;;;;;20528:31:17;;;;;;;;20582:16;;;;-1:-1:-1;;;;20618:14:17;;;;;;;-1:-1:-1;20663:25:17;;-1:-1:-1;20718:24:17;-1:-1:-1;20160:589:17;;-1:-1:-1;;;20160:589:17:o;13052:387::-;806:31;;;;;;;;;;;;;;;;13192:8;:23;13154:63;;-1:-1:-1;;;;;13158:24:17;;;;13192:23;13154:3;:63::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;13302:26:17;;;;;;;;;;;;;;;;;1434:6;-1:-1:-1;;;;;13267:33:17;;;;13259:70;;;;-1:-1:-1;;;;;13259:70:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13259:70:17;-1:-1:-1;13339:8:17;:41;;-1:-1:-1;;;;;13339:41:17;;-1:-1:-1;;13339:41:17;;;;;;;;13395:37;;;;;;;;;;;;;;;;1216:1:39;13052:387:17;;;:::o;4825:27::-;;;-1:-1:-1;;;;;4825:27:17;;:::o;13657:447::-;889:32;;;-1:-1:-1;;;;;;;;;;;889:32:17;;;;;;;;;;;;-1:-1:-1;;;;;13804:24:17;;;;;;:16;:24;;;;;;;;13838:18;:26;;;;;;;889:32;;13783:91;;13787:6;;13795:7;;13838:26;;:34;;13871:1;13838:34;;13783:91;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;;;;;;13916:24:17;;;;;;:16;:24;;;;;;;;:34;;;13965:18;:26;;;;;;;;13964:27;13960:91;;;-1:-1:-1;;;;;14007:26:17;;;;;;:18;:26;;;;;:33;;-1:-1:-1;;14007:33:17;14036:4;14007:33;;;13960:91;14065:32;;;;;;14092:4;14065:32;;;;;;-1:-1:-1;;;;;14065:32:17;;;;;;;;;;;1216:1:39;13657:447:17;;;;:::o;18368:106::-;18427:4;18451:16;:14;:16::i;:::-;18450:17;;18368:106;-1:-1:-1;;18368:106:17:o;796::38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;16930:402:17:-;17021:14;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;;;;;;17038:13:17;;;:84;;17078:44;-1:-1:-1;;;;;17078:29:17;;17116:4;17078:44;:29;:44;:::i;:::-;17038:84;;;17062:4;17054:21;17038:84;17152:25;;;;;;;;;;;;;;;;;17021:101;;-1:-1:-1;17149:1:17;17140:10;;17132:46;;;;-1:-1:-1;;;;;17132:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17132:46:17;;17189:136;17211:6;17231;17189:136;;;;;;;;;;;;;;;;;;17291:4;17310:5;17189:8;:136::i;927:82::-;975:34;;;;;;;;;;;;;;;;927:82;:::o;21232:112::-;21294:6;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;21319:18:17;:16;:18::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;17886:180:17;17981:12;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;18012:47:17;18043:15;18012:30;:47::i;:::-;18005:54;17886:180;-1:-1:-1;;17886:180:17:o;21457:119::-;21521:6;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;21546:8:17;:23;-1:-1:-1;;;;;21546:23:17;21457:119;:::o;8063:520::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;8212:25:17;;;;;;;;;;;;;;;;;8209:1;8199:11;;8191:47;;;;-1:-1:-1;;;;;8191:47:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8191:47:17;-1:-1:-1;;;;;;8252:13:17;;;8248:193;;;8405:24;;;;;;;;;;;;;;;;;8383:9;:20;;8375:55;;;;-1:-1:-1;;;;;8375:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8375:55:17;;8248:193;8451:125;8473:6;8493:7;8514:10;;8451:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8538:10;8562:4;8451:8;:125::i;22630:161::-;22731:6;22710:10;5937:1;5924:10;:14;:48;;;;;5955:17;;5942:10;:30;5924:48;5974:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5974:26:17;;;;;5916:85;;;;;;-1:-1:-1;;;;;5916:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5916:85:17;;22756:28;22773:10;22756:16;:28::i;:::-;22749:35;;6011:1;22630:161;;;;:::o;20755:364::-;6271:13;;6286:15;;;;;;;;;;;;;;;;;20899:16;;;;;;20871:9;;6286:15;-1:-1:-1;;;;;6271:13:17;;;6259:25;;;;6251:51;;;;-1:-1:-1;;;;;6251:51:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6251:51:17;-1:-1:-1;;;;;;;;;20987:18:17;;;;;;;;:7;:18;;;;;;;;-1:-1:-1;;;;;20987:41:17;;;;;;:33;;;;:41;;;21049:23;;21091:21;;;;;21049:23;;21091:21;;-1:-1:-1;20755:364:17:o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;4634:32:17:-;;;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;22254:154:17:-;22346:4;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;22369:32:17;22385:6;22393:7;22369:15;:32::i;:::-;22362:39;22254:154;-1:-1:-1;;;22254:154:17:o;1015:80::-;1062:33;;;;;;;;;;;;;;;;1015:80;:::o;4733:36::-;;;;:::o;22002:139::-;22081:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;22107:27:17;22127:6;22107:19;:27::i;9423:774::-;722:33;;;-1:-1:-1;;;;;;;;;;;722:33:17;;;;;;;;;;;;9746:73;9751:6;9759:9;9770:7;-1:-1:-1;;9800:1:17;9804:14;:12;:14::i;:::-;9746:4;:73::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5683:23:17;5709:57;5740:25;:23;:25::i;5709:57::-;5804:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5804:25:17;;;;5683:83;;-1:-1:-1;5776:54:17;;;;;;;-1:-1:-1;;;;;5776:54:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:54:17;-1:-1:-1;9882:29:17;;;;;;;;;;;;;;;;;9879:1;9869:11;;9861:51;;;;-1:-1:-1;;;;;9861:51:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9861:51:17;;9923:267;9960:6;9980:9;10003:7;1151:1;10109;10170:10;;9923:267;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9923:23:17;;-1:-1:-1;;;;;9923:267:17:i;:::-;1216:1:39;9423:774:17;;;;;;;:::o;4277:18::-;;;-1:-1:-1;;;;;4277:18:17;;:::o;347:94:53:-;422:12;347:94;:::o;30353:188:17:-;30517:13;;-1:-1:-1;;;;;30517:13:17;-1:-1:-1;;30517:17:17;;30353:188::o;1261:106:53:-;1310:6;1335:25;:14;:12;:14::i;:::-;:23;:25::i;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;1835:166:80:-;1956:18;;;;;;;;;;;;;;;;;1893:6;;1922:7;;;;-1:-1:-1;;;;;1947:7:80;;;;;;;;1939:36;;;;-1:-1:-1;;;;;1939:36:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;26455:777:17;26652:13;:15;;-1:-1:-1;;;;;26652:15:17;;;;;;;;;-1:-1:-1;;26652:15:17;;;;;;;26512:6;26702:20;;;:7;:20;;;;;26732:29;;;;;;;;;;;26974:23;;26512:6;;26652:15;;26702:20;;-1:-1:-1;;26974:23:17;;;26961:36;;:40;;;;;27015:20;;;;27011:85;;;-1:-1:-1;;;27011:85:17;27105:24;;-1:-1:-1;;27105:24:17;-1:-1:-1;;;;;;;;27105:24:17;;;;;;;;;;;;27145:56;;;27168:16;;;27145:56;;27186:14;;;;;;27145:56;;;;;;;;;;;;;;;;;;;;27219:6;27212:13;;26455:777;;;;;;;:::o;27238:452::-;27412:271;27444:4;27486:6;27506:7;27527;1151:1;27619;27663:10;27412:18;:271::i;:::-;27238:452;;;;:::o;3586:361:52:-;3741:131;;;-1:-1:-1;;;;;3741:131:52;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3741:131:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3777:28:52;179:29:-1;160:49;;3689:4:52;;3889:51;3777:6;3741:131;3889:21;:51::i;:::-;3882:58;3586:361;-1:-1:-1;;;;;;3586:361:52:o;4124:317::-;4259:112;;;-1:-1:-1;;;;;4259:112:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4259:112:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4295:23:52;179:29:-1;160:49;;4212:4:52;;4388:46;4295:6;4259:112;4388:21;:46::i;:::-;4381:53;4124:317;-1:-1:-1;;;;;4124:317:52:o;31763:291:17:-;31899:16;;;31913:1;31899:16;;;;;;;;;31872:11;;31899:16;;;17:15:-1;;105:10;31899:16:17;88:34:-1;136:17;;-1:-1;31899:16:17;31895:20;;31940:2;-1:-1:-1;;;;;31932:11:17;31925:1;31927;31925:4;;;;;;;;;;;;;;;;;;:18;31953:4;;-1:-1:-1;;;;;31960:11:17;;;31953:1;;31955;;31953:4;;;;;;;;;;;;;;:18;31981:4;;31988:2;;31981:1;;31983;;31981:4;;;;;;;;;;;;;;:9;32000:4;;32007:2;;32000:1;;32002;;32000:4;;;;;;;;;;;;;;:9;32019:4;;32026:2;;32019:1;;32021;;32019:4;;;;;;;;;;;;;;:9;32038:4;;32045:2;;32038:1;;32040;;32038:4;;;;;;;;;;;;;;:9;31763:291;;-1:-1:-1;;;;;;31763:291:17:o;23998:992::-;24061:7;24115:29;;;:17;:29;;;;;;;;24163:16;;;;24181:22;;;;;;;;;;;;;;;;;;;24115:29;24061:7;;24181:22;-1:-1:-1;;;24163:16:17;;;;24162:17;24154:50;;;;-1:-1:-1;;;;;24154:50:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;24154:50:17;;24229:1;24215:15;;24240:722;24279:16;:14;:16::i;:::-;-1:-1:-1;;;;;24247:48:17;:28;24264:10;24247:16;:28::i;:::-;-1:-1:-1;;;;;24247:48:17;;;:88;;;;;1266:2;24299:4;-1:-1:-1;;;;;24299:36:17;;24247:88;24240:722;;;24372:13;;24387:14;;;;24356:46;;-1:-1:-1;;;;;24372:13:17;;24356:15;:46::i;:::-;24355:47;24351:140;;;24427:26;;;;;;;;;;;;;;;;;24471:5;;24351:140;24583:18;;;:23;;-1:-1:-1;;;;;;;;24583:23:17;;;;;24605:1;24583:23;;;;;;;;;;;;;;;;;;;24774:13;;24805:16;;;;24839:14;;;;24727:224;;;;;;;;;-1:-1:-1;24727:224:17;;24620:9;;;;;24727:224;;-1:-1:-1;;;;;24774:13:17;;;;24805:16;;;;;24839:14;;24871:10;;24899:18;;;;;24727:29;:224::i;:::-;24240:722;;;-1:-1:-1;;;;;24972:11:17;;23998:992;-1:-1:-1;;;23998:992:17:o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;24996:365:17:-;25071:12;25086:27;25102:10;25086:15;:27::i;:::-;25071:42;-1:-1:-1;25127:9:17;;25123:232;;;25188:16;:14;:16::i;:::-;-1:-1:-1;;;;;25156:48:17;:28;25173:10;25156:16;:28::i;:::-;-1:-1:-1;;;;;25156:48:17;;25152:193;;25231:25;;;;;;;;;;;;;;;;;;;25224:33;;-1:-1:-1;;;;;25224:33:17;;;;;;;;;;;;;;;;25231:25;;25224:33;;;;;;;;25231:25;25224:33;;25231:25;-1:-1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;25152:193:17;25303:26;;;;;;;;;;;;;;;;;;;25296:34;;-1:-1:-1;;;;;25296:34:17;;;;;;;;;;;;;;;;25303:26;;25296:34;;;;;;;;25303:26;25296:34;;25303:26;-1:-1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;25152:193:17;24996:365;;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;-1:-1:-1;;662:1:49;617:20;;655:8;;426:244::o;813:149:29:-;897:11;927:28;939:2;-1:-1:-1;;;;;931:11:29;944:2;948;952;927:3;:28::i;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;31171:565:17:-;31240:6;31293:29;;;:17;:29;;;;;;;31359:21;;;;31240:6;;;;-1:-1:-1;;;;;;;;31359:21:17;;;;-1:-1:-1;;;31337:18:17;;;;:43;31333:165;;-1:-1:-1;;31396:17:17;;;;31333:165;31613:16;;;;31590:40;;-1:-1:-1;;;;;;;;31590:18:17;;;;;-1:-1:-1;;;31613:16:17;;;31590:22;:40::i;:::-;31661:26;;;;31572:58;;-1:-1:-1;31661:40:17;;-1:-1:-1;;;;;31661:26:17;31572:58;31661:40;:30;:40;:::i;30162:185::-;30243:4;30297:7;30266:27;30286:6;30266:19;:27::i;:::-;:38;;:74;;;;-1:-1:-1;30308:5:17;;;:21;;;;;;-1:-1:-1;;;;;30308:21:17;;;;;;;;;30333:7;;30308:5;;;;;:13;;:21;;;;;;;;;;;;;;;;;;:5;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;30308:21:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30308:21:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30308:21:17;:32;;;30162:185;-1:-1:-1;;;30162:185:17:o;30547:618::-;-1:-1:-1;;;;;30639:26:17;;30615:7;30639:26;;;:18;:26;;;;;;30615:7;;;;30639:26;;30638:27;30634:76;;;-1:-1:-1;;30681:18:17;;;;30634:76;-1:-1:-1;;;;;30737:24:17;;;;;;:16;:24;;;;;;;-1:-1:-1;30787:7:17;;30795:18;:16;:18::i;:::-;-1:-1:-1;;;;;30787:27:17;;;;;;;;;;;;;;;-1:-1:-1;30787:27:17;;;-1:-1:-1;;;;;30787:50:17;;;;:42;;:50;;;;;:59;;-1:-1:-1;31018:15:17;;;31014:54;;31056:1;31049:8;;;;31014:54;31144:14;;;30547:618;-1:-1:-1;;30547:618:17:o;926:144:53:-;999:15;926:144;:::o;25367:435:17:-;25647:7;25616:27;25636:6;25616:19;:27::i;:::-;25656:22;;;;;;;;;;;;;;;;;;-1:-1:-1;25616:38:17;25608:71;;;;-1:-1:-1;;;;;25608:71:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;25608:71:17;;25689:106;25719:6;25727:9;25738:7;25747:10;25759:23;25784:10;25689:29;:106::i;:::-;25367:435;;;;;;:::o;188:149:54:-;283:20;;;;;;;;;;;;;;;;;240:6;;-1:-1:-1;;;;;266:15:54;;;258:46;;;;-1:-1:-1;;;;;258:46:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;258:46:54;-1:-1:-1;328:1:54;;188:149;-1:-1:-1;188:149:54:o;27696:1339:17:-;27954:15;28000:37;28291:21;28349:31;28777:21;27972:18;:16;:18::i;:::-;27954:36;;28040:7;:17;28048:8;-1:-1:-1;;;;;28040:17:17;-1:-1:-1;;;;;28040:17:17;;;;;;;;;;;;:32;;:40;28073:6;-1:-1:-1;;;;;28040:40:17;-1:-1:-1;;;;;28040:40:17;;;;;;;;;;;;28000:80;;28094:9;28090:191;;;28143:21;;;;:34;;28169:7;28143:34;:25;:34;:::i;:::-;28119:21;;;:58;28090:191;;;28234:23;;:36;;28262:7;28234:36;:27;:36;:::i;:::-;28208:62;;28090:191;28315:21;;:23;;;;;;;;;;;;28291:47;;28383:12;:27;28396:13;28383:27;;;;;;;;;;;28349:61;;28440:6;28420:11;:17;;;:26;;;;;-1:-1:-1;;;;;28420:26:17;;;;;-1:-1:-1;;;;;28420:26:17;;;;;;28477:7;28456:11;:18;;;:28;;;;;-1:-1:-1;;;;;28456:28:17;;;;;-1:-1:-1;;;;;28456:28:17;;;;;;28519:9;28494:11;:22;;;:34;;;;;;;;;;;;;;;;;;28559:7;28538:11;:18;;:28;;;;28600:10;28576:11;:21;;:34;;;;28657:23;28620:11;:34;;;:60;;;;;-1:-1:-1;;;;;28620:60:17;;;;;-1:-1:-1;;;;;28620:60:17;;;;;;28709:16;:14;:16::i;:::-;28690;;;:35;;-1:-1:-1;;28690:35:17;-1:-1:-1;;;;;;;;28690:35:17;;;;;-1:-1:-1;;28735:31:17;-1:-1:-1;;;28735:31:17;;;;;;;;;-1:-1:-1;28801:17:17;;;28690:16;28801:17;;;;;-1:-1:-1;28832:25:17;;;28801:17;;-1:-1:-1;28832:43:17;28828:115;;;28891:25;;;:41;;;28828:115;28999:7;-1:-1:-1;;;;;28958:70:17;28973:13;28958:70;28988:9;29008:7;29017:10;28958:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;28958:70:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27696:1339;;;;;;;;;;;;:::o;800:1342:52:-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;25946:503:17:-;26193:196;26225:5;26244:6;26264:9;26287:7;26308:10;26332:23;26369:10;26193:18;:196::i;:::-;26400:5;;;:42;;;;;;-1:-1:-1;;;;;26400:42:17;;;;;;;;;;;;;;;;;;;;;;:5;;;;;:14;;:42;;;;;;;;;;;:5;;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;26400:42:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26400:42:17;;;;25946:503;;;;;;:::o;1028:119:55:-;1117:22;;1115:26::o;2056:210:29:-;2167:16;;;2181:1;2167:16;;;;;;;;;2140:11;;2167:16;;;17:15:-1;;105:10;2167:16:29;88:34:-1;136:17;;-1:-1;2167:16:29;2163:20;;2200:2;2193:1;2195;2193:4;;;;;;;;;;;;;;;;;;:9;2212:4;;2219:2;;2212:1;;2214;;2212:4;;;;;;;;;;;;;;:9;2231:4;;2238:2;;2231:1;;2233;;2231:4;;;;;;;;;;;;;;:9;2250:4;;2257:2;;2250:1;;2252;;2250:4;;;;;;;;;;;;;;:9;2056:210;;-1:-1:-1;;;;2056:210:29:o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;809:239:80:-;966:18;;;;;;;;;;;;;;;;;867:6;;-1:-1:-1;;;;;897:11:80;;;911;;;897:25;;-1:-1:-1;;;940:24:80;;932:53;;;;-1:-1:-1;;;;;932:53:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1928:170:79;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;", - "source": "/*\n * SPDX-License-Identitifer: GPL-3.0-or-later\n */\n\npragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\n\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath64.sol\";\n\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\n\n\ncontract Finance is EtherTokenConstant, IsContract, AragonApp {\n using SafeMath for uint256;\n using SafeMath64 for uint64;\n using SafeERC20 for ERC20;\n\n bytes32 public constant CREATE_PAYMENTS_ROLE = keccak256(\"CREATE_PAYMENTS_ROLE\");\n bytes32 public constant CHANGE_PERIOD_ROLE = keccak256(\"CHANGE_PERIOD_ROLE\");\n bytes32 public constant CHANGE_BUDGETS_ROLE = keccak256(\"CHANGE_BUDGETS_ROLE\");\n bytes32 public constant EXECUTE_PAYMENTS_ROLE = keccak256(\"EXECUTE_PAYMENTS_ROLE\");\n bytes32 public constant MANAGE_PAYMENTS_ROLE = keccak256(\"MANAGE_PAYMENTS_ROLE\");\n\n uint256 internal constant NO_SCHEDULED_PAYMENT = 0;\n uint256 internal constant NO_TRANSACTION = 0;\n uint256 internal constant MAX_SCHEDULED_PAYMENTS_PER_TX = 20;\n uint256 internal constant MAX_UINT256 = uint256(-1);\n uint64 internal constant MAX_UINT64 = uint64(-1);\n uint64 internal constant MINIMUM_PERIOD = uint64(1 days);\n\n string private constant ERROR_COMPLETE_TRANSITION = \"FINANCE_COMPLETE_TRANSITION\";\n string private constant ERROR_NO_SCHEDULED_PAYMENT = \"FINANCE_NO_SCHEDULED_PAYMENT\";\n string private constant ERROR_NO_TRANSACTION = \"FINANCE_NO_TRANSACTION\";\n string private constant ERROR_NO_PERIOD = \"FINANCE_NO_PERIOD\";\n string private constant ERROR_VAULT_NOT_CONTRACT = \"FINANCE_VAULT_NOT_CONTRACT\";\n string private constant ERROR_SET_PERIOD_TOO_SHORT = \"FINANCE_SET_PERIOD_TOO_SHORT\";\n string private constant ERROR_NEW_PAYMENT_AMOUNT_ZERO = \"FINANCE_NEW_PAYMENT_AMOUNT_ZERO\";\n string private constant ERROR_NEW_PAYMENT_INTERVAL_ZERO = \"FINANCE_NEW_PAYMENT_INTRVL_ZERO\";\n string private constant ERROR_NEW_PAYMENT_EXECS_ZERO = \"FINANCE_NEW_PAYMENT_EXECS_ZERO\";\n string private constant ERROR_NEW_PAYMENT_IMMEDIATE = \"FINANCE_NEW_PAYMENT_IMMEDIATE\";\n string private constant ERROR_RECOVER_AMOUNT_ZERO = \"FINANCE_RECOVER_AMOUNT_ZERO\";\n string private constant ERROR_DEPOSIT_AMOUNT_ZERO = \"FINANCE_DEPOSIT_AMOUNT_ZERO\";\n string private constant ERROR_ETH_VALUE_MISMATCH = \"FINANCE_ETH_VALUE_MISMATCH\";\n string private constant ERROR_BUDGET = \"FINANCE_BUDGET\";\n string private constant ERROR_EXECUTE_PAYMENT_NUM = \"FINANCE_EXECUTE_PAYMENT_NUM\";\n string private constant ERROR_EXECUTE_PAYMENT_TIME = \"FINANCE_EXECUTE_PAYMENT_TIME\";\n string private constant ERROR_PAYMENT_RECEIVER = \"FINANCE_PAYMENT_RECEIVER\";\n string private constant ERROR_TOKEN_TRANSFER_FROM_REVERTED = \"FINANCE_TKN_TRANSFER_FROM_REVERT\";\n string private constant ERROR_TOKEN_APPROVE_FAILED = \"FINANCE_TKN_APPROVE_FAILED\";\n string private constant ERROR_PAYMENT_INACTIVE = \"FINANCE_PAYMENT_INACTIVE\";\n string private constant ERROR_REMAINING_BUDGET = \"FINANCE_REMAINING_BUDGET\";\n\n // Order optimized for storage\n struct ScheduledPayment {\n address token;\n address receiver;\n address createdBy;\n bool inactive;\n uint256 amount;\n uint64 initialPaymentTime;\n uint64 interval;\n uint64 maxExecutions;\n uint64 executions;\n }\n\n // Order optimized for storage\n struct Transaction {\n address token;\n address entity;\n bool isIncoming;\n uint256 amount;\n uint256 paymentId;\n uint64 paymentExecutionNumber;\n uint64 date;\n uint64 periodId;\n }\n\n struct TokenStatement {\n uint256 expenses;\n uint256 income;\n }\n\n struct Period {\n uint64 startTime;\n uint64 endTime;\n uint256 firstTransactionId;\n uint256 lastTransactionId;\n mapping (address => TokenStatement) tokenStatement;\n }\n\n struct Settings {\n uint64 periodDuration;\n mapping (address => uint256) budgets;\n mapping (address => bool) hasBudget;\n }\n\n Vault public vault;\n Settings internal settings;\n\n // We are mimicing arrays, we use mappings instead to make app upgrade more graceful\n mapping (uint256 => ScheduledPayment) internal scheduledPayments;\n // Payments start at index 1, to allow us to use scheduledPayments[0] for transactions that are not\n // linked to a scheduled payment\n uint256 public paymentsNextIndex;\n\n mapping (uint256 => Transaction) internal transactions;\n uint256 public transactionsNextIndex;\n\n mapping (uint64 => Period) internal periods;\n uint64 public periodsLength;\n\n event NewPeriod(uint64 indexed periodId, uint64 periodStarts, uint64 periodEnds);\n event SetBudget(address indexed token, uint256 amount, bool hasBudget);\n event NewPayment(uint256 indexed paymentId, address indexed recipient, uint64 maxExecutions, string reference);\n event NewTransaction(uint256 indexed transactionId, bool incoming, address indexed entity, uint256 amount, string reference);\n event ChangePaymentState(uint256 indexed paymentId, bool active);\n event ChangePeriodDuration(uint64 newDuration);\n event PaymentFailure(uint256 paymentId);\n\n // Modifier used by all methods that impact accounting to make sure accounting period\n // is changed before the operation if needed\n // NOTE: its use **MUST** be accompanied by an initialization check\n modifier transitionsPeriod {\n bool completeTransition = _tryTransitionAccountingPeriod(getMaxPeriodTransitions());\n require(completeTransition, ERROR_COMPLETE_TRANSITION);\n _;\n }\n\n modifier scheduledPaymentExists(uint256 _paymentId) {\n require(_paymentId > 0 && _paymentId < paymentsNextIndex, ERROR_NO_SCHEDULED_PAYMENT);\n _;\n }\n\n modifier transactionExists(uint256 _transactionId) {\n require(_transactionId > 0 && _transactionId < transactionsNextIndex, ERROR_NO_TRANSACTION);\n _;\n }\n\n modifier periodExists(uint64 _periodId) {\n require(_periodId < periodsLength, ERROR_NO_PERIOD);\n _;\n }\n\n /**\n * @notice Deposit ETH to the Vault, to avoid locking them in this Finance app forever\n * @dev Send ETH to Vault. Send all the available balance.\n */\n function () external payable isInitialized transitionsPeriod {\n require(msg.value > 0, ERROR_DEPOSIT_AMOUNT_ZERO);\n _deposit(\n ETH,\n msg.value,\n \"Ether transfer to Finance app\",\n msg.sender,\n true\n );\n }\n\n /**\n * @notice Initialize Finance app for Vault at `_vault` with period length of `@transformTime(_periodDuration)`\n * @param _vault Address of the vault Finance will rely on (non changeable)\n * @param _periodDuration Duration in seconds of each period\n */\n function initialize(Vault _vault, uint64 _periodDuration) external onlyInit {\n initialized();\n\n require(isContract(_vault), ERROR_VAULT_NOT_CONTRACT);\n vault = _vault;\n\n require(_periodDuration >= MINIMUM_PERIOD, ERROR_SET_PERIOD_TOO_SHORT);\n settings.periodDuration = _periodDuration;\n\n // Reserve the first scheduled payment index as an unused index for transactions not linked\n // to a scheduled payment\n scheduledPayments[0].inactive = true;\n paymentsNextIndex = 1;\n\n // Reserve the first transaction index as an unused index for periods with no transactions\n transactionsNextIndex = 1;\n\n // Start the first period\n _newPeriod(getTimestamp64());\n }\n\n /**\n * @notice Deposit `@tokenAmount(_token, _amount)`\n * @dev Deposit for approved ERC20 tokens or ETH\n * @param _token Address of deposited token\n * @param _amount Amount of tokens sent\n * @param _reference Reason for payment\n */\n function deposit(address _token, uint256 _amount, string _reference) external payable isInitialized transitionsPeriod {\n require(_amount > 0, ERROR_DEPOSIT_AMOUNT_ZERO);\n if (_token == ETH) {\n // Ensure that the ETH sent with the transaction equals the amount in the deposit\n require(msg.value == _amount, ERROR_ETH_VALUE_MISMATCH);\n }\n\n _deposit(\n _token,\n _amount,\n _reference,\n msg.sender,\n true\n );\n }\n\n /**\n * @notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for '`_reference`'\n * @dev Note that this function is protected by the `CREATE_PAYMENTS_ROLE` but uses `MAX_UINT256`\n * as its interval auth parameter (as a sentinel value for \"never repeating\").\n * While this protects against most cases (you typically want to set a baseline requirement\n * for interval time), it does mean users will have to explicitly check for this case when\n * granting a permission that includes a upperbound requirement on the interval time.\n * @param _token Address of token for payment\n * @param _receiver Address that will receive payment\n * @param _amount Tokens that are paid every time the payment is due\n * @param _reference String detailing payment reason\n */\n function newImmediatePayment(address _token, address _receiver, uint256 _amount, string _reference)\n external\n // Use MAX_UINT256 as the interval parameter, as this payment will never repeat\n // Payment time parameter is left as the last param as it was added later\n authP(CREATE_PAYMENTS_ROLE, _arr(_token, _receiver, _amount, MAX_UINT256, uint256(1), getTimestamp()))\n transitionsPeriod\n {\n require(_amount > 0, ERROR_NEW_PAYMENT_AMOUNT_ZERO);\n\n _makePaymentTransaction(\n _token,\n _receiver,\n _amount,\n NO_SCHEDULED_PAYMENT, // unrelated to any payment id; it isn't created\n 0, // also unrelated to any payment executions\n _reference\n );\n }\n\n /**\n * @notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for `_reference`, executing `_maxExecutions` times at intervals of `@transformTime(_interval)`\n * @dev See `newImmediatePayment()` for limitations on how the interval auth parameter can be used\n * @param _token Address of token for payment\n * @param _receiver Address that will receive payment\n * @param _amount Tokens that are paid every time the payment is due\n * @param _initialPaymentTime Timestamp for when the first payment is done\n * @param _interval Number of seconds that need to pass between payment transactions\n * @param _maxExecutions Maximum instances a payment can be executed\n * @param _reference String detailing payment reason\n */\n function newScheduledPayment(\n address _token,\n address _receiver,\n uint256 _amount,\n uint64 _initialPaymentTime,\n uint64 _interval,\n uint64 _maxExecutions,\n string _reference\n )\n external\n // Payment time parameter is left as the last param as it was added later\n authP(CREATE_PAYMENTS_ROLE, _arr(_token, _receiver, _amount, uint256(_interval), uint256(_maxExecutions), uint256(_initialPaymentTime)))\n transitionsPeriod\n returns (uint256 paymentId)\n {\n require(_amount > 0, ERROR_NEW_PAYMENT_AMOUNT_ZERO);\n require(_interval > 0, ERROR_NEW_PAYMENT_INTERVAL_ZERO);\n require(_maxExecutions > 0, ERROR_NEW_PAYMENT_EXECS_ZERO);\n\n // Token budget must not be set at all or allow at least one instance of this payment each period\n require(!settings.hasBudget[_token] || settings.budgets[_token] >= _amount, ERROR_BUDGET);\n\n // Don't allow creating single payments that are immediately executable, use `newImmediatePayment()` instead\n if (_maxExecutions == 1) {\n require(_initialPaymentTime > getTimestamp64(), ERROR_NEW_PAYMENT_IMMEDIATE);\n }\n\n paymentId = paymentsNextIndex++;\n emit NewPayment(paymentId, _receiver, _maxExecutions, _reference);\n\n ScheduledPayment storage payment = scheduledPayments[paymentId];\n payment.token = _token;\n payment.receiver = _receiver;\n payment.amount = _amount;\n payment.initialPaymentTime = _initialPaymentTime;\n payment.interval = _interval;\n payment.maxExecutions = _maxExecutions;\n payment.createdBy = msg.sender;\n\n // We skip checking how many times the new payment was executed to allow creating new\n // scheduled payments before having enough vault balance\n _executePayment(paymentId);\n }\n\n /**\n * @notice Change period duration to `@transformTime(_periodDuration)`, effective for next accounting period\n * @param _periodDuration Duration in seconds for accounting periods\n */\n function setPeriodDuration(uint64 _periodDuration)\n external\n authP(CHANGE_PERIOD_ROLE, arr(uint256(_periodDuration), uint256(settings.periodDuration)))\n transitionsPeriod\n {\n require(_periodDuration >= MINIMUM_PERIOD, ERROR_SET_PERIOD_TOO_SHORT);\n settings.periodDuration = _periodDuration;\n emit ChangePeriodDuration(_periodDuration);\n }\n\n /**\n * @notice Set budget for `_token.symbol(): string` to `@tokenAmount(_token, _amount, false)`, effective immediately\n * @param _token Address for token\n * @param _amount New budget amount\n */\n function setBudget(\n address _token,\n uint256 _amount\n )\n external\n authP(CHANGE_BUDGETS_ROLE, arr(_token, _amount, settings.budgets[_token], uint256(settings.hasBudget[_token] ? 1 : 0)))\n transitionsPeriod\n {\n settings.budgets[_token] = _amount;\n if (!settings.hasBudget[_token]) {\n settings.hasBudget[_token] = true;\n }\n emit SetBudget(_token, _amount, true);\n }\n\n /**\n * @notice Remove spending limit for `_token.symbol(): string`, effective immediately\n * @param _token Address for token\n */\n function removeBudget(address _token)\n external\n authP(CHANGE_BUDGETS_ROLE, arr(_token, uint256(0), settings.budgets[_token], uint256(settings.hasBudget[_token] ? 1 : 0)))\n transitionsPeriod\n {\n settings.budgets[_token] = 0;\n settings.hasBudget[_token] = false;\n emit SetBudget(_token, 0, false);\n }\n\n /**\n * @notice Execute pending payment #`_paymentId`\n * @dev Executes any payment (requires role)\n * @param _paymentId Identifier for payment\n */\n function executePayment(uint256 _paymentId)\n external\n authP(EXECUTE_PAYMENTS_ROLE, arr(_paymentId, scheduledPayments[_paymentId].amount))\n scheduledPaymentExists(_paymentId)\n transitionsPeriod\n {\n _executePaymentAtLeastOnce(_paymentId);\n }\n\n /**\n * @notice Execute pending payment #`_paymentId`\n * @dev Always allow receiver of a payment to trigger execution\n * Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n * scheduled payments can only be created via `newScheduledPayment(),` which requires initialization\n * @param _paymentId Identifier for payment\n */\n function receiverExecutePayment(uint256 _paymentId) external scheduledPaymentExists(_paymentId) transitionsPeriod {\n require(scheduledPayments[_paymentId].receiver == msg.sender, ERROR_PAYMENT_RECEIVER);\n _executePaymentAtLeastOnce(_paymentId);\n }\n\n /**\n * @notice `_active ? 'Activate' : 'Disable'` payment #`_paymentId`\n * @dev Note that we do not require this action to transition periods, as it doesn't directly\n * impact any accounting periods.\n * Not having to transition periods also makes disabling payments easier to prevent funds\n * from being pulled out in the event of a breach.\n * @param _paymentId Identifier for payment\n * @param _active Whether it will be active or inactive\n */\n function setPaymentStatus(uint256 _paymentId, bool _active)\n external\n authP(MANAGE_PAYMENTS_ROLE, arr(_paymentId, uint256(_active ? 1 : 0)))\n scheduledPaymentExists(_paymentId)\n {\n scheduledPayments[_paymentId].inactive = !_active;\n emit ChangePaymentState(_paymentId, _active);\n }\n\n /**\n * @notice Send tokens held in this contract to the Vault\n * @dev Allows making a simple payment from this contract to the Vault, to avoid locked tokens.\n * This contract should never receive tokens with a simple transfer call, but in case it\n * happens, this function allows for their recovery.\n * @param _token Token whose balance is going to be transferred.\n */\n function recoverToVault(address _token) external isInitialized transitionsPeriod {\n uint256 amount = _token == ETH ? address(this).balance : ERC20(_token).staticBalanceOf(address(this));\n require(amount > 0, ERROR_RECOVER_AMOUNT_ZERO);\n\n _deposit(\n _token,\n amount,\n \"Recover to Vault\",\n address(this),\n false\n );\n }\n\n /**\n * @notice Transition accounting period if needed\n * @dev Transitions accounting periods if needed. For preventing OOG attacks, a maxTransitions\n * param is provided. If more than the specified number of periods need to be transitioned,\n * it will return false.\n * @param _maxTransitions Maximum periods that can be transitioned\n * @return success Boolean indicating whether the accounting period is the correct one (if false,\n * maxTransitions was surpased and another call is needed)\n */\n function tryTransitionAccountingPeriod(uint64 _maxTransitions) external isInitialized returns (bool success) {\n return _tryTransitionAccountingPeriod(_maxTransitions);\n }\n\n // Getter fns\n\n /**\n * @dev Disable recovery escape hatch if the app has been initialized, as it could be used\n * maliciously to transfer funds in the Finance app to another Vault\n * finance#recoverToVault() should be used to recover funds to the Finance's vault\n */\n function allowRecoverability(address) public view returns (bool) {\n return !hasInitialized();\n }\n\n function getPayment(uint256 _paymentId)\n public\n view\n scheduledPaymentExists(_paymentId)\n returns (\n address token,\n address receiver,\n uint256 amount,\n uint64 initialPaymentTime,\n uint64 interval,\n uint64 maxExecutions,\n bool inactive,\n uint64 executions,\n address createdBy\n )\n {\n ScheduledPayment storage payment = scheduledPayments[_paymentId];\n\n token = payment.token;\n receiver = payment.receiver;\n amount = payment.amount;\n initialPaymentTime = payment.initialPaymentTime;\n interval = payment.interval;\n maxExecutions = payment.maxExecutions;\n executions = payment.executions;\n inactive = payment.inactive;\n createdBy = payment.createdBy;\n }\n\n function getTransaction(uint256 _transactionId)\n public\n view\n transactionExists(_transactionId)\n returns (\n uint64 periodId,\n uint256 amount,\n uint256 paymentId,\n uint64 paymentExecutionNumber,\n address token,\n address entity,\n bool isIncoming,\n uint64 date\n )\n {\n Transaction storage transaction = transactions[_transactionId];\n\n token = transaction.token;\n entity = transaction.entity;\n isIncoming = transaction.isIncoming;\n date = transaction.date;\n periodId = transaction.periodId;\n amount = transaction.amount;\n paymentId = transaction.paymentId;\n paymentExecutionNumber = transaction.paymentExecutionNumber;\n }\n\n function getPeriod(uint64 _periodId)\n public\n view\n periodExists(_periodId)\n returns (\n bool isCurrent,\n uint64 startTime,\n uint64 endTime,\n uint256 firstTransactionId,\n uint256 lastTransactionId\n )\n {\n Period storage period = periods[_periodId];\n\n isCurrent = _currentPeriodId() == _periodId;\n\n startTime = period.startTime;\n endTime = period.endTime;\n firstTransactionId = period.firstTransactionId;\n lastTransactionId = period.lastTransactionId;\n }\n\n function getPeriodTokenStatement(uint64 _periodId, address _token)\n public\n view\n periodExists(_periodId)\n returns (uint256 expenses, uint256 income)\n {\n TokenStatement storage tokenStatement = periods[_periodId].tokenStatement[_token];\n expenses = tokenStatement.expenses;\n income = tokenStatement.income;\n }\n\n /**\n * @dev We have to check for initialization as periods are only valid after initializing\n */\n function currentPeriodId() public view isInitialized returns (uint64) {\n return _currentPeriodId();\n }\n\n /**\n * @dev We have to check for initialization as periods are only valid after initializing\n */\n function getPeriodDuration() public view isInitialized returns (uint64) {\n return settings.periodDuration;\n }\n\n /**\n * @dev We have to check for initialization as budgets are only valid after initializing\n */\n function getBudget(address _token) public view isInitialized returns (uint256 budget, bool hasBudget) {\n budget = settings.budgets[_token];\n hasBudget = settings.hasBudget[_token];\n }\n\n /**\n * @dev We have to check for initialization as budgets are only valid after initializing\n */\n function getRemainingBudget(address _token) public view isInitialized returns (uint256) {\n return _getRemainingBudget(_token);\n }\n\n /**\n * @dev We have to check for initialization as budgets are only valid after initializing\n */\n function canMakePayment(address _token, uint256 _amount) public view isInitialized returns (bool) {\n return _canMakePayment(_token, _amount);\n }\n\n /**\n * @dev Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n * scheduled payments can only be created via `newScheduledPayment(),` which requires initialization\n */\n function nextPaymentTime(uint256 _paymentId) public view scheduledPaymentExists(_paymentId) returns (uint64) {\n return _nextPaymentTime(_paymentId);\n }\n\n // Internal fns\n\n function _deposit(address _token, uint256 _amount, string _reference, address _sender, bool _isExternalDeposit) internal {\n _recordIncomingTransaction(\n _token,\n _sender,\n _amount,\n _reference\n );\n\n if (_token == ETH) {\n vault.deposit.value(_amount)(ETH, _amount);\n } else {\n // First, transfer the tokens to Finance if necessary\n // External deposit will be false when the assets were already in the Finance app\n // and just need to be transferred to the Vault\n if (_isExternalDeposit) {\n // This assumes the sender has approved the tokens for Finance\n require(\n ERC20(_token).safeTransferFrom(msg.sender, address(this), _amount),\n ERROR_TOKEN_TRANSFER_FROM_REVERTED\n );\n }\n // Approve the tokens for the Vault (it does the actual transferring)\n require(ERC20(_token).safeApprove(vault, _amount), ERROR_TOKEN_APPROVE_FAILED);\n // Finally, initiate the deposit\n vault.deposit(_token, _amount);\n }\n }\n\n function _executePayment(uint256 _paymentId) internal returns (uint256) {\n ScheduledPayment storage payment = scheduledPayments[_paymentId];\n require(!payment.inactive, ERROR_PAYMENT_INACTIVE);\n\n uint64 paid = 0;\n while (_nextPaymentTime(_paymentId) <= getTimestamp64() && paid < MAX_SCHEDULED_PAYMENTS_PER_TX) {\n if (!_canMakePayment(payment.token, payment.amount)) {\n emit PaymentFailure(_paymentId);\n break;\n }\n\n // The while() predicate prevents these two from ever overflowing\n payment.executions += 1;\n paid += 1;\n\n // We've already checked the remaining budget with `_canMakePayment()`\n _unsafeMakePaymentTransaction(\n payment.token,\n payment.receiver,\n payment.amount,\n _paymentId,\n payment.executions,\n \"\"\n );\n }\n\n return paid;\n }\n\n function _executePaymentAtLeastOnce(uint256 _paymentId) internal {\n uint256 paid = _executePayment(_paymentId);\n if (paid == 0) {\n if (_nextPaymentTime(_paymentId) <= getTimestamp64()) {\n revert(ERROR_EXECUTE_PAYMENT_NUM);\n } else {\n revert(ERROR_EXECUTE_PAYMENT_TIME);\n }\n }\n }\n\n function _makePaymentTransaction(\n address _token,\n address _receiver,\n uint256 _amount,\n uint256 _paymentId,\n uint64 _paymentExecutionNumber,\n string _reference\n )\n internal\n {\n require(_getRemainingBudget(_token) >= _amount, ERROR_REMAINING_BUDGET);\n _unsafeMakePaymentTransaction(_token, _receiver, _amount, _paymentId, _paymentExecutionNumber, _reference);\n }\n\n /**\n * @dev Unsafe version of _makePaymentTransaction that assumes you have already checked the\n * remaining budget\n */\n function _unsafeMakePaymentTransaction(\n address _token,\n address _receiver,\n uint256 _amount,\n uint256 _paymentId,\n uint64 _paymentExecutionNumber,\n string _reference\n )\n internal\n {\n _recordTransaction(\n false,\n _token,\n _receiver,\n _amount,\n _paymentId,\n _paymentExecutionNumber,\n _reference\n );\n\n vault.transfer(_token, _receiver, _amount);\n }\n\n function _newPeriod(uint64 _startTime) internal returns (Period storage) {\n // There should be no way for this to overflow since each period is at least one day\n uint64 newPeriodId = periodsLength++;\n\n Period storage period = periods[newPeriodId];\n period.startTime = _startTime;\n\n // Be careful here to not overflow; if startTime + periodDuration overflows, we set endTime\n // to MAX_UINT64 (let's assume that's the end of time for now).\n uint64 endTime = _startTime + settings.periodDuration - 1;\n if (endTime < _startTime) { // overflowed\n endTime = MAX_UINT64;\n }\n period.endTime = endTime;\n\n emit NewPeriod(newPeriodId, period.startTime, period.endTime);\n\n return period;\n }\n\n function _recordIncomingTransaction(\n address _token,\n address _sender,\n uint256 _amount,\n string _reference\n )\n internal\n {\n _recordTransaction(\n true, // incoming transaction\n _token,\n _sender,\n _amount,\n NO_SCHEDULED_PAYMENT, // unrelated to any existing payment\n 0, // and no payment executions\n _reference\n );\n }\n\n function _recordTransaction(\n bool _incoming,\n address _token,\n address _entity,\n uint256 _amount,\n uint256 _paymentId,\n uint64 _paymentExecutionNumber,\n string _reference\n )\n internal\n {\n uint64 periodId = _currentPeriodId();\n TokenStatement storage tokenStatement = periods[periodId].tokenStatement[_token];\n if (_incoming) {\n tokenStatement.income = tokenStatement.income.add(_amount);\n } else {\n tokenStatement.expenses = tokenStatement.expenses.add(_amount);\n }\n\n uint256 transactionId = transactionsNextIndex++;\n\n Transaction storage transaction = transactions[transactionId];\n transaction.token = _token;\n transaction.entity = _entity;\n transaction.isIncoming = _incoming;\n transaction.amount = _amount;\n transaction.paymentId = _paymentId;\n transaction.paymentExecutionNumber = _paymentExecutionNumber;\n transaction.date = getTimestamp64();\n transaction.periodId = periodId;\n\n Period storage period = periods[periodId];\n if (period.firstTransactionId == NO_TRANSACTION) {\n period.firstTransactionId = transactionId;\n }\n\n emit NewTransaction(transactionId, _incoming, _entity, _amount, _reference);\n }\n\n function _tryTransitionAccountingPeriod(uint64 _maxTransitions) internal returns (bool success) {\n Period storage currentPeriod = periods[_currentPeriodId()];\n uint64 timestamp = getTimestamp64();\n\n // Transition periods if necessary\n while (timestamp > currentPeriod.endTime) {\n if (_maxTransitions == 0) {\n // Required number of transitions is over allowed number, return false indicating\n // it didn't fully transition\n return false;\n }\n // We're already protected from underflowing above\n _maxTransitions -= 1;\n\n // If there were any transactions in period, record which was the last\n // In case 0 transactions occured, first and last tx id will be 0\n if (currentPeriod.firstTransactionId != NO_TRANSACTION) {\n currentPeriod.lastTransactionId = transactionsNextIndex.sub(1);\n }\n\n // New period starts at end time + 1\n currentPeriod = _newPeriod(currentPeriod.endTime.add(1));\n }\n\n return true;\n }\n\n function _canMakePayment(address _token, uint256 _amount) internal view returns (bool) {\n return _getRemainingBudget(_token) >= _amount && vault.balance(_token) >= _amount;\n }\n\n function _currentPeriodId() internal view returns (uint64) {\n // There is no way for this to overflow if protected by an initialization check\n return periodsLength - 1;\n }\n\n function _getRemainingBudget(address _token) internal view returns (uint256) {\n if (!settings.hasBudget[_token]) {\n return MAX_UINT256;\n }\n\n uint256 budget = settings.budgets[_token];\n uint256 spent = periods[_currentPeriodId()].tokenStatement[_token].expenses;\n\n // A budget decrease can cause the spent amount to be greater than period budget\n // If so, return 0 to not allow more spending during period\n if (spent >= budget) {\n return 0;\n }\n\n // We're already protected from the overflow above\n return budget - spent;\n }\n\n function _nextPaymentTime(uint256 _paymentId) internal view returns (uint64) {\n ScheduledPayment storage payment = scheduledPayments[_paymentId];\n\n if (payment.executions >= payment.maxExecutions) {\n return MAX_UINT64; // re-executes in some billions of years time... should not need to worry\n }\n\n // Split in multiple lines to circumvent linter warning\n uint64 increase = payment.executions.mul(payment.interval);\n uint64 nextPayment = payment.initialPaymentTime.add(increase);\n return nextPayment;\n }\n\n // Syntax sugar\n\n function _arr(address _a, address _b, uint256 _c, uint256 _d, uint256 _e, uint256 _f) internal pure returns (uint256[] r) {\n r = new uint256[](6);\n r[0] = uint256(_a);\n r[1] = uint256(_b);\n r[2] = _c;\n r[3] = _d;\n r[4] = _e;\n r[5] = _f;\n }\n\n // Mocked fns (overrided during testing)\n // Must be view for mocking purposes\n\n function getMaxPeriodTransitions() internal view returns (uint64) { return MAX_UINT64; }\n}\n", - "sourcePath": "@aragon/apps-finance/contracts/Finance.sol", - "ast": { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "exportedSymbols": { - "Finance": [ - 14010 - ] - }, - "id": 14011, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11975, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:17" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 11976, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23454, - "src": "82:49:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 11977, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23650, - "src": "132:60:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 11978, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23826, - "src": "193:52:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 11979, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 24108, - "src": "246:51:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 11980, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 28100, - "src": "299:50:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 11981, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 27870, - "src": "350:52:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 11982, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 28012, - "src": "403:54:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 11983, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 19336, - "src": "459:48:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11984, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "530:18:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 11985, - "nodeType": "InheritanceSpecifier", - "src": "530:18:17" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11986, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "550:10:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 11987, - "nodeType": "InheritanceSpecifier", - "src": "550:10:17" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11988, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "562:9:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 11989, - "nodeType": "InheritanceSpecifier", - "src": "562:9:17" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 14010, - "linearizedBaseContracts": [ - 14010, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Finance", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11992, - "libraryName": { - "contractScope": null, - "id": 11990, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "584:8:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "578:27:17", - "typeName": { - "id": 11991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "597:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 11995, - "libraryName": { - "contractScope": null, - "id": 11993, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "616:10:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "610:28:17", - "typeName": { - "id": 11994, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "631:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "id": 11998, - "libraryName": { - "contractScope": null, - "id": 11996, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "649:9:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "643:26:17", - "typeName": { - "contractScope": null, - "id": 11997, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "663:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 12003, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "675:80:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11999, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "675:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f5041594d454e54535f524f4c45", - "id": 12001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "732:22:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5de467a460382d13defdc02aacddc9c7d6605d6d4e0b8bd2f70732cae8ea17bc", - "typeString": "literal_string \"CREATE_PAYMENTS_ROLE\"" - }, - "value": "CREATE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5de467a460382d13defdc02aacddc9c7d6605d6d4e0b8bd2f70732cae8ea17bc", - "typeString": "literal_string \"CREATE_PAYMENTS_ROLE\"" - } - ], - "id": 12000, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "722:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12008, - "name": "CHANGE_PERIOD_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "761:76:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12004, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "761:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4348414e47455f504552494f445f524f4c45", - "id": 12006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "816:20:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d35e458bacdd5343c2f050f574554b2f417a8ea38d6a9a65ce2225dbe8bb9a9d", - "typeString": "literal_string \"CHANGE_PERIOD_ROLE\"" - }, - "value": "CHANGE_PERIOD_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d35e458bacdd5343c2f050f574554b2f417a8ea38d6a9a65ce2225dbe8bb9a9d", - "typeString": "literal_string \"CHANGE_PERIOD_ROLE\"" - } - ], - "id": 12005, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "806:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "806:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12013, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "843:78:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12009, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "843:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4348414e47455f425544474554535f524f4c45", - "id": 12011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "899:21:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d79730e82bfef7d2f9639b9d10bf37ebb662b22ae2211502a00bdf7b2cc3a23a", - "typeString": "literal_string \"CHANGE_BUDGETS_ROLE\"" - }, - "value": "CHANGE_BUDGETS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d79730e82bfef7d2f9639b9d10bf37ebb662b22ae2211502a00bdf7b2cc3a23a", - "typeString": "literal_string \"CHANGE_BUDGETS_ROLE\"" - } - ], - "id": 12010, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "889:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12018, - "name": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "927:82:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12014, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "927:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "455845435554455f5041594d454e54535f524f4c45", - "id": 12016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "985:23:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_563165d3eae48bcb0a092543ca070d989169c98357e9a1b324ec5da44bab75fd", - "typeString": "literal_string \"EXECUTE_PAYMENTS_ROLE\"" - }, - "value": "EXECUTE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_563165d3eae48bcb0a092543ca070d989169c98357e9a1b324ec5da44bab75fd", - "typeString": "literal_string \"EXECUTE_PAYMENTS_ROLE\"" - } - ], - "id": 12015, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "975:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12023, - "name": "MANAGE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1015:80:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1015:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d414e4147455f5041594d454e54535f524f4c45", - "id": 12021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1072:22:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30597dd103acfaef0649675953d9cb22faadab7e9d9ed57acc1c429d04b80777", - "typeString": "literal_string \"MANAGE_PAYMENTS_ROLE\"" - }, - "value": "MANAGE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_30597dd103acfaef0649675953d9cb22faadab7e9d9ed57acc1c429d04b80777", - "typeString": "literal_string \"MANAGE_PAYMENTS_ROLE\"" - } - ], - "id": 12020, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "1062:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12026, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1102:50:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1102:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 12025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1151:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12029, - "name": "NO_TRANSACTION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1158:44:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12027, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 12028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1201:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12032, - "name": "MAX_SCHEDULED_PAYMENTS_PER_TX", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1208:60:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1208:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 12031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1266:2:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12038, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1274:51:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12033, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1322:2:17", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1323:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 12034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1314:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1314:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12044, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1331:48:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12039, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1331:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1376:2:17", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1377:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 12040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1369:6:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 12043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1369:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12049, - "name": "MINIMUM_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1385:56:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12045, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1385:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 12047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1434:6:17", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - } - ], - "id": 12046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1427:6:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 12048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1427:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12052, - "name": "ERROR_COMPLETE_TRANSITION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1448:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12050, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1448:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f434f4d504c4554455f5452414e534954494f4e", - "id": 12051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1500:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22ec6e0c3735a2fda2fb445836cfebb8537041a148155716f86965a81552ecaf", - "typeString": "literal_string \"FINANCE_COMPLETE_TRANSITION\"" - }, - "value": "FINANCE_COMPLETE_TRANSITION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12055, - "name": "ERROR_NO_SCHEDULED_PAYMENT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1535:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1535:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f5343484544554c45445f5041594d454e54", - "id": 12054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48242c9965a66807015fe42e1feb4465079fd12bf04a3a1b24570d2df6515b81", - "typeString": "literal_string \"FINANCE_NO_SCHEDULED_PAYMENT\"" - }, - "value": "FINANCE_NO_SCHEDULED_PAYMENT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12058, - "name": "ERROR_NO_TRANSACTION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1624:71:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12056, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1624:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f5452414e53414354494f4e", - "id": 12057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1671:24:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1e87dfa63a7fa93fbf96eab40f01b7e057a0ce0eb12da8a36d7a9b3584faaea", - "typeString": "literal_string \"FINANCE_NO_TRANSACTION\"" - }, - "value": "FINANCE_NO_TRANSACTION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12061, - "name": "ERROR_NO_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1701:61:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12059, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1701:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f504552494f44", - "id": 12060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1743:19:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1c462d5c2112fe4829843683286df794144b893d493bfb3a201b032dcb0798d", - "typeString": "literal_string \"FINANCE_NO_PERIOD\"" - }, - "value": "FINANCE_NO_PERIOD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12064, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1768:79:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12062, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1768:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5641554c545f4e4f545f434f4e5452414354", - "id": 12063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1819:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f6ce1beb4b1acc923ed553912415389acce4c55b09f8dc923ab624929c3ac7c", - "typeString": "literal_string \"FINANCE_VAULT_NOT_CONTRACT\"" - }, - "value": "FINANCE_VAULT_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12067, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1853:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12065, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1853:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5345545f504552494f445f544f4f5f53484f5254", - "id": 12066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1906:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d68defbc73c3fc3b3e56745e5b7eaa34c1c02c77f264f84307ede2a4bbf3aa49", - "typeString": "literal_string \"FINANCE_SET_PERIOD_TOO_SHORT\"" - }, - "value": "FINANCE_SET_PERIOD_TOO_SHORT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12070, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1942:89:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12068, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1942:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f", - "id": 12069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:33:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77e3e6c5ab0615514c67af6bb792233c16dfdd95d1c126ef1d02c6fc997e658c", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_AMOUNT_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12073, - "name": "ERROR_NEW_PAYMENT_INTERVAL_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2037:91:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12071, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2037:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f494e5452564c5f5a45524f", - "id": 12072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2095:33:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1f5cef8d0dc37cb952f9621441971350ae577676082774725adafac3a98c5fd6", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_INTRVL_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_INTRVL_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12076, - "name": "ERROR_NEW_PAYMENT_EXECS_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2134:87:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12074, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2134:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f45584543535f5a45524f", - "id": 12075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2189:32:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07ec39532a2245c10fe0f0814a1968914bbb9bf138d1bf6515c0eb7f2367194f", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_EXECS_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_EXECS_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12079, - "name": "ERROR_NEW_PAYMENT_IMMEDIATE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2227:85:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12077, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2227:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f494d4d454449415445", - "id": 12078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2281:31:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0500f0ff3ac1dd20be6d9e9ff72effb99285a08e7b31d52820c22d20213d716", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_IMMEDIATE\"" - }, - "value": "FINANCE_NEW_PAYMENT_IMMEDIATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12082, - "name": "ERROR_RECOVER_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2318:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2318:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5245434f5645525f414d4f554e545f5a45524f", - "id": 12081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2370:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_887cdae74ca676db86e5ff884d1ed487026a75a5ff2e355b97032d51731277ea", - "typeString": "literal_string \"FINANCE_RECOVER_AMOUNT_ZERO\"" - }, - "value": "FINANCE_RECOVER_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12085, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2405:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12083, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2405:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4445504f5349545f414d4f554e545f5a45524f", - "id": 12084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2457:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6610a3bc46bba63f677fa7f08e3ad8e90ebdf9830290f8fc7b863aca074b39e4", - "typeString": "literal_string \"FINANCE_DEPOSIT_AMOUNT_ZERO\"" - }, - "value": "FINANCE_DEPOSIT_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12088, - "name": "ERROR_ETH_VALUE_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2492:79:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2492:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4554485f56414c55455f4d49534d41544348", - "id": 12087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2543:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccc088cc9b25ca98929821b5e593c6823fe3548d9e37efa7850333b79341ca5", - "typeString": "literal_string \"FINANCE_ETH_VALUE_MISMATCH\"" - }, - "value": "FINANCE_ETH_VALUE_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12091, - "name": "ERROR_BUDGET", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2577:55:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12089, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2577:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f425544474554", - "id": 12090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2616:16:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a3b0fd663c3f091445c9d2b484685b6976e216ee84e292e1bc26c5f6eb18212d", - "typeString": "literal_string \"FINANCE_BUDGET\"" - }, - "value": "FINANCE_BUDGET" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12094, - "name": "ERROR_EXECUTE_PAYMENT_NUM", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2638:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12092, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2638:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f455845435554455f5041594d454e545f4e554d", - "id": 12093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2690:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_49476d78bf03e8ab7a07c0a096caacc3405517496bf2509dbf38f14686eec113", - "typeString": "literal_string \"FINANCE_EXECUTE_PAYMENT_NUM\"" - }, - "value": "FINANCE_EXECUTE_PAYMENT_NUM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12097, - "name": "ERROR_EXECUTE_PAYMENT_TIME", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2725:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2725:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f455845435554455f5041594d454e545f54494d45", - "id": 12096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2778:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1a736e94274378373cef5c66f5657bcfa50659c24581a0a4bfa668c04678317", - "typeString": "literal_string \"FINANCE_EXECUTE_PAYMENT_TIME\"" - }, - "value": "FINANCE_EXECUTE_PAYMENT_TIME" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12100, - "name": "ERROR_PAYMENT_RECEIVER", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2814:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2814:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5041594d454e545f5245434549564552", - "id": 12099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2863:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e67182ceb919bc28f0bcb16889270f6f64025682424ceb6843d8119099dbeace", - "typeString": "literal_string \"FINANCE_PAYMENT_RECEIVER\"" - }, - "value": "FINANCE_PAYMENT_RECEIVER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12103, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2895:95:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12101, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2895:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f544b4e5f5452414e534645525f46524f4d5f524556455254", - "id": 12102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2956:34:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dcfc1e5582a28e8a93ed58d8b479e8e1dc0c60309652fb2fd25bee148aa0e19b", - "typeString": "literal_string \"FINANCE_TKN_TRANSFER_FROM_REVERT\"" - }, - "value": "FINANCE_TKN_TRANSFER_FROM_REVERT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12106, - "name": "ERROR_TOKEN_APPROVE_FAILED", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2996:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2996:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f544b4e5f415050524f56455f4641494c4544", - "id": 12105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3049:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d77d3db2060bb072bb140e0fdca0660dd25613d6b3fabbcc609bc10d926b1f2c", - "typeString": "literal_string \"FINANCE_TKN_APPROVE_FAILED\"" - }, - "value": "FINANCE_TKN_APPROVE_FAILED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12109, - "name": "ERROR_PAYMENT_INACTIVE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "3083:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12107, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3083:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5041594d454e545f494e414354495645", - "id": 12108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3132:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb1c85406dbe021dd2fbe569dc1b5134d310d7a785d47610fefcc3150d54bbd0", - "typeString": "literal_string \"FINANCE_PAYMENT_INACTIVE\"" - }, - "value": "FINANCE_PAYMENT_INACTIVE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12112, - "name": "ERROR_REMAINING_BUDGET", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "3164:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3164:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f52454d41494e494e475f425544474554", - "id": 12111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3213:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2e378b1bab04e94af1aa86ea6fa9f5c8d9dee3ed82f1b4706d4b3e19e606de9c", - "typeString": "literal_string \"FINANCE_REMAINING_BUDGET\"" - }, - "value": "FINANCE_REMAINING_BUDGET" - }, - "visibility": "private" - }, - { - "canonicalName": "Finance.ScheduledPayment", - "id": 12131, - "members": [ - { - "constant": false, - "id": 12114, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3315:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3315:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12116, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3338:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3338:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12118, - "name": "createdBy", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3364:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3364:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12120, - "name": "inactive", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3391:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12119, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3391:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12122, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3414:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3414:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12124, - "name": "initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3438:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12123, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3438:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12126, - "name": "interval", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3473:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12125, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3473:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12128, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3498:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12127, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3498:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12130, - "name": "executions", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3528:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12129, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3528:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ScheduledPayment", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3281:271:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Transaction", - "id": 12148, - "members": [ - { - "constant": false, - "id": 12133, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3622:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3622:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12135, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3645:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3645:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12137, - "name": "isIncoming", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3669:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12136, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3669:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12139, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3694:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3694:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12141, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3718:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3718:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12143, - "name": "paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3745:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12142, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3745:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12145, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3784:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12144, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3784:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12147, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3805:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12146, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3805:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Transaction", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3593:234:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.TokenStatement", - "id": 12153, - "members": [ - { - "constant": false, - "id": 12150, - "name": "expenses", - "nodeType": "VariableDeclaration", - "scope": 12153, - "src": "3865:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3865:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12152, - "name": "income", - "nodeType": "VariableDeclaration", - "scope": 12153, - "src": "3891:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3891:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenStatement", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3833:79:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Period", - "id": 12166, - "members": [ - { - "constant": false, - "id": 12155, - "name": "startTime", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3942:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12154, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3942:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12157, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3968:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12156, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3968:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12159, - "name": "firstTransactionId", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3992:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3992:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12161, - "name": "lastTransactionId", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "4028:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4028:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12165, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "4063:50:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement)" - }, - "typeName": { - "id": 12164, - "keyType": { - "id": 12162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4072:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4063:35:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement)" - }, - "valueType": { - "contractScope": null, - "id": 12163, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "4083:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Period", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3918:202:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Settings", - "id": 12177, - "members": [ - { - "constant": false, - "id": 12168, - "name": "periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4152:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12167, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4152:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12172, - "name": "budgets", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4183:36:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 12171, - "keyType": { - "id": 12169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4192:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4183:28:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 12170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4203:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12176, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4229:35:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 12175, - "keyType": { - "id": 12173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4238:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4229:25:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 12174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4249:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Settings", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "4126:145:17", - "visibility": "public" - }, - { - "constant": false, - "id": 12179, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4277:18:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 12178, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "4277:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12181, - "name": "settings", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4301:26:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings" - }, - "typeName": { - "contractScope": null, - "id": 12180, - "name": "Settings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12177, - "src": "4301:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage_ptr", - "typeString": "struct Finance.Settings" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12185, - "name": "scheduledPayments", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4423:64:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment)" - }, - "typeName": { - "id": 12184, - "keyType": { - "id": 12182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4432:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4423:37:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment)" - }, - "valueType": { - "contractScope": null, - "id": 12183, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "4443:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12187, - "name": "paymentsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4634:32:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4634:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12191, - "name": "transactions", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4673:54:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction)" - }, - "typeName": { - "id": 12190, - "keyType": { - "id": 12188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4682:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4673:32:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction)" - }, - "valueType": { - "contractScope": null, - "id": 12189, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "4693:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12193, - "name": "transactionsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4733:36:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4733:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12197, - "name": "periods", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4776:43:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period)" - }, - "typeName": { - "id": 12196, - "keyType": { - "id": 12194, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4785:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Mapping", - "src": "4776:26:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period)" - }, - "valueType": { - "contractScope": null, - "id": 12195, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "4795:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12199, - "name": "periodsLength", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4825:27:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12198, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4825:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 12207, - "name": "NewPeriod", - "nodeType": "EventDefinition", - "parameters": { - "id": 12206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12201, - "indexed": true, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4875:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12200, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4875:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12203, - "indexed": false, - "name": "periodStarts", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4900:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12202, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4900:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12205, - "indexed": false, - "name": "periodEnds", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4921:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12204, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4921:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4874:65:17" - }, - "src": "4859:81:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12215, - "name": "SetBudget", - "nodeType": "EventDefinition", - "parameters": { - "id": 12214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12209, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "4961:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4961:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12211, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "4984:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4984:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12213, - "indexed": false, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "5000:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12212, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5000:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4960:55:17" - }, - "src": "4945:71:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12225, - "name": "NewPayment", - "nodeType": "EventDefinition", - "parameters": { - "id": 12224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12217, - "indexed": true, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5038:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5038:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12219, - "indexed": true, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5065:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5065:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12221, - "indexed": false, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5092:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12220, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5092:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12223, - "indexed": false, - "name": "reference", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5114:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12222, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5114:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5037:94:17" - }, - "src": "5021:111:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12237, - "name": "NewTransaction", - "nodeType": "EventDefinition", - "parameters": { - "id": 12236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12227, - "indexed": true, - "name": "transactionId", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5158:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12229, - "indexed": false, - "name": "incoming", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5189:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12228, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5189:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12231, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5204:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5204:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12233, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5228:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5228:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12235, - "indexed": false, - "name": "reference", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5244:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12234, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5244:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5157:104:17" - }, - "src": "5137:125:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12243, - "name": "ChangePaymentState", - "nodeType": "EventDefinition", - "parameters": { - "id": 12242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12239, - "indexed": true, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12243, - "src": "5292:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5292:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12241, - "indexed": false, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 12243, - "src": "5319:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5319:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5291:40:17" - }, - "src": "5267:65:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12247, - "name": "ChangePeriodDuration", - "nodeType": "EventDefinition", - "parameters": { - "id": 12246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12245, - "indexed": false, - "name": "newDuration", - "nodeType": "VariableDeclaration", - "scope": 12247, - "src": "5364:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12244, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5364:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5363:20:17" - }, - "src": "5337:47:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12251, - "name": "PaymentFailure", - "nodeType": "EventDefinition", - "parameters": { - "id": 12250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12249, - "indexed": false, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12251, - "src": "5410:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5410:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5409:19:17" - }, - "src": "5389:40:17" - }, - { - "body": { - "id": 12266, - "nodeType": "Block", - "src": "5673:175:17", - "statements": [ - { - "assignments": [ - 12254 - ], - "declarations": [ - { - "constant": false, - "id": 12254, - "name": "completeTransition", - "nodeType": "VariableDeclaration", - "scope": 12267, - "src": "5683:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5683:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12259, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12256, - "name": "getMaxPeriodTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14009, - "src": "5740:23:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5740:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12255, - "name": "_tryTransitionAccountingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13813, - "src": "5709:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_bool_$", - "typeString": "function (uint64) returns (bool)" - } - }, - "id": 12258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5709:57:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5683:83:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12261, - "name": "completeTransition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12254, - "src": "5784:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12262, - "name": "ERROR_COMPLETE_TRANSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "5804:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5776:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5776:54:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12264, - "nodeType": "ExpressionStatement", - "src": "5776:54:17" - }, - { - "id": 12265, - "nodeType": "PlaceholderStatement", - "src": "5840:1:17" - } - ] - }, - "documentation": null, - "id": 12267, - "name": "transitionsPeriod", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12252, - "nodeType": "ParameterList", - "parameters": [], - "src": "5673:0:17" - }, - "src": "5646:202:17", - "visibility": "internal" - }, - { - "body": { - "id": 12283, - "nodeType": "Block", - "src": "5906:113:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12272, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12269, - "src": "5924:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5937:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5924:14:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12275, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12269, - "src": "5942:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12276, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "5955:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5942:30:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5924:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12279, - "name": "ERROR_NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12055, - "src": "5974:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12271, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5916:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5916:85:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12281, - "nodeType": "ExpressionStatement", - "src": "5916:85:17" - }, - { - "id": 12282, - "nodeType": "PlaceholderStatement", - "src": "6011:1:17" - } - ] - }, - "documentation": null, - "id": 12284, - "name": "scheduledPaymentExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12269, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12284, - "src": "5886:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5886:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5885:20:17" - }, - "src": "5854:165:17", - "visibility": "internal" - }, - { - "body": { - "id": 12300, - "nodeType": "Block", - "src": "6076:119:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12289, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12286, - "src": "6094:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6111:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6094:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12292, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12286, - "src": "6116:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12293, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "6133:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6116:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6094:60:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12296, - "name": "ERROR_NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12058, - "src": "6156:20:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6086:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6086:91:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12298, - "nodeType": "ExpressionStatement", - "src": "6086:91:17" - }, - { - "id": 12299, - "nodeType": "PlaceholderStatement", - "src": "6187:1:17" - } - ] - }, - "documentation": null, - "id": 12301, - "name": "transactionExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12286, - "name": "_transactionId", - "nodeType": "VariableDeclaration", - "scope": 12301, - "src": "6052:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6052:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6051:24:17" - }, - "src": "6025:170:17", - "visibility": "internal" - }, - { - "body": { - "id": 12313, - "nodeType": "Block", - "src": "6241:79:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12306, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12303, - "src": "6259:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12307, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "6271:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "6259:25:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12309, - "name": "ERROR_NO_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12061, - "src": "6286:15:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12305, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6251:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6251:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12311, - "nodeType": "ExpressionStatement", - "src": "6251:51:17" - }, - { - "id": 12312, - "nodeType": "PlaceholderStatement", - "src": "6312:1:17" - } - ] - }, - "documentation": null, - "id": 12314, - "name": "periodExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12303, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 12314, - "src": "6223:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12302, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6223:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6222:18:17" - }, - "src": "6201:119:17", - "visibility": "internal" - }, - { - "body": { - "id": 12339, - "nodeType": "Block", - "src": "6557:221:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12322, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6575:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6575:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6587:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6575:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12326, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12085, - "src": "6590:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6567:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6567:49:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12328, - "nodeType": "ExpressionStatement", - "src": "6567:49:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12330, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "6648:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6665:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6665:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4574686572207472616e7366657220746f2046696e616e636520617070", - "id": 12333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6688:31:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b57949719489bee78e854a942ae31977cce66e975e0c81334ace426f675b89a8", - "typeString": "literal_string \"Ether transfer to Finance app\"" - }, - "value": "Ether transfer to Finance app" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12334, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6733:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6733:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6757:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_b57949719489bee78e854a942ae31977cce66e975e0c81334ace426f675b89a8", - "typeString": "literal_string \"Ether transfer to Finance app\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12329, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "6626:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6626:145:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12338, - "nodeType": "ExpressionStatement", - "src": "6626:145:17" - } - ] - }, - "documentation": "@notice Deposit ETH to the Vault, to avoid locking them in this Finance app forever\n@dev Send ETH to Vault. Send all the available balance.", - "id": 12340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12317, - "modifierName": { - "argumentTypes": null, - "id": 12316, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "6525:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6525:13:17" - }, - { - "arguments": null, - "id": 12319, - "modifierName": { - "argumentTypes": null, - "id": 12318, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "6539:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6539:17:17" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12315, - "nodeType": "ParameterList", - "parameters": [], - "src": "6505:2:17" - }, - "payable": true, - "returnParameters": { - "id": 12320, - "nodeType": "ParameterList", - "parameters": [], - "src": "6557:0:17" - }, - "scope": 14010, - "src": "6496:282:17", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12396, - "nodeType": "Block", - "src": "7133:670:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12349, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "7143:11:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 12350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7143:13:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12351, - "nodeType": "ExpressionStatement", - "src": "7143:13:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12354, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12342, - "src": "7186:6:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 12353, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7175:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 12355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7175:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12356, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12064, - "src": "7195:24:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12352, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7167:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7167:53:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12358, - "nodeType": "ExpressionStatement", - "src": "7167:53:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12359, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "7230:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12360, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12342, - "src": "7238:6:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "7230:14:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 12362, - "nodeType": "ExpressionStatement", - "src": "7230:14:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12364, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12344, - "src": "7263:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12365, - "name": "MINIMUM_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12049, - "src": "7282:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7263:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12367, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12067, - "src": "7298:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12363, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7255:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7255:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12369, - "nodeType": "ExpressionStatement", - "src": "7255:70:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12370, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "7335:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "7335:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12373, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12344, - "src": "7361:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7335:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12375, - "nodeType": "ExpressionStatement", - "src": "7335:41:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12376, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "7521:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12378, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7539:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7521:20:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "7521:29:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7553:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7521:36:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12382, - "nodeType": "ExpressionStatement", - "src": "7521:36:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12383, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "7567:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 12384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7587:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7567:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12386, - "nodeType": "ExpressionStatement", - "src": "7567:21:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12387, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "7698:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 12388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7722:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7698:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12390, - "nodeType": "ExpressionStatement", - "src": "7698:25:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12392, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "7779:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7779:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12391, - "name": "_newPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13585, - "src": "7768:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_struct$_Period_$12166_storage_ptr_$", - "typeString": "function (uint64) returns (struct Finance.Period storage pointer)" - } - }, - "id": 12394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 12395, - "nodeType": "ExpressionStatement", - "src": "7768:28:17" - } - ] - }, - "documentation": "@notice Initialize Finance app for Vault at `_vault` with period length of `@transformTime(_periodDuration)`\n@param _vault Address of the vault Finance will rely on (non changeable)\n@param _periodDuration Duration in seconds of each period", - "id": 12397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12347, - "modifierName": { - "argumentTypes": null, - "id": 12346, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "7124:8:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7124:8:17" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12342, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 12397, - "src": "7077:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 12341, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7077:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12344, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12397, - "src": "7091:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12343, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "7091:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7076:38:17" - }, - "payable": false, - "returnParameters": { - "id": 12348, - "nodeType": "ParameterList", - "parameters": [], - "src": "7133:0:17" - }, - "scope": 14010, - "src": "7057:746:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12439, - "nodeType": "Block", - "src": "8181:402:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12411, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8199:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8209:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8199:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12414, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12085, - "src": "8212:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12410, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8191:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8191:47:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12416, - "nodeType": "ExpressionStatement", - "src": "8191:47:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12417, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12399, - "src": "8252:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12418, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "8262:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8252:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12429, - "nodeType": "IfStatement", - "src": "8248:193:17", - "trueBody": { - "id": 12428, - "nodeType": "Block", - "src": "8267:174:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8383:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8383:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12423, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8396:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8383:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12425, - "name": "ERROR_ETH_VALUE_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12088, - "src": "8405:24:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12420, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8375:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8375:55:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12427, - "nodeType": "ExpressionStatement", - "src": "8375:55:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12431, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12399, - "src": "8473:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12432, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8493:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12433, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12403, - "src": "8514:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8538:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8538:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8562:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12430, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "8451:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8451:125:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12438, - "nodeType": "ExpressionStatement", - "src": "8451:125:17" - } - ] - }, - "documentation": "@notice Deposit `@tokenAmount(_token, _amount)`\n@dev Deposit for approved ERC20 tokens or ETH\n@param _token Address of deposited token\n@param _amount Amount of tokens sent\n@param _reference Reason for payment", - "id": 12440, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12406, - "modifierName": { - "argumentTypes": null, - "id": 12405, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "8149:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8149:13:17" - }, - { - "arguments": null, - "id": 12408, - "modifierName": { - "argumentTypes": null, - "id": 12407, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "8163:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8163:17:17" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12399, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8080:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8080:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12401, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8096:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8096:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12403, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8113:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12402, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8113:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8079:52:17" - }, - "payable": true, - "returnParameters": { - "id": 12409, - "nodeType": "ParameterList", - "parameters": [], - "src": "8181:0:17" - }, - "scope": 14010, - "src": "8063:520:17", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12483, - "nodeType": "Block", - "src": "9851:346:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12468, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "9869:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9879:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9869:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12471, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12070, - "src": "9882:29:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9861:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9861:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12473, - "nodeType": "ExpressionStatement", - "src": "9861:51:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12475, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9960:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12476, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12444, - "src": "9980:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12477, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "10003:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12478, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12026, - "src": "10024:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 12479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10109:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 12480, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "10170:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 12474, - "name": "_makePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "9923:23:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 12481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9923:267:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12482, - "nodeType": "ExpressionStatement", - "src": "9923:267:17" - } - ] - }, - "documentation": "@notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for '`_reference`'\n@dev Note that this function is protected by the `CREATE_PAYMENTS_ROLE` but uses `MAX_UINT256`\n as its interval auth parameter (as a sentinel value for \"never repeating\").\n While this protects against most cases (you typically want to set a baseline requirement\n for interval time), it does mean users will have to explicitly check for this case when\n granting a permission that includes a upperbound requirement on the interval time.\n@param _token Address of token for payment\n@param _receiver Address that will receive payment\n@param _amount Tokens that are paid every time the payment is due\n@param _reference String detailing payment reason", - "id": 12484, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12451, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12003, - "src": "9724:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12453, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9751:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12454, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12444, - "src": "9759:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12455, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "9770:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12456, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12038, - "src": "9779:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 12458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9800:1:17", - "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" - } - ], - "id": 12457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9792:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9792:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12460, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "9804:12:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 12461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9804:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12452, - "name": "_arr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14001, - "src": "9746:4:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9746:73:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12463, - "modifierName": { - "argumentTypes": null, - "id": 12450, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9718:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9718:102:17" - }, - { - "arguments": null, - "id": 12465, - "modifierName": { - "argumentTypes": null, - "id": 12464, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "9829:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9829:17:17" - } - ], - "name": "newImmediatePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12442, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9452:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12441, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9452:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12444, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9468:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9468:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12446, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9487:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9487:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12448, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9504:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12447, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9504:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9451:71:17" - }, - "payable": false, - "returnParameters": { - "id": 12466, - "nodeType": "ParameterList", - "parameters": [], - "src": "9851:0:17" - }, - "scope": 14010, - "src": "9423:774:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12637, - "nodeType": "Block", - "src": "11513:1334:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12523, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11531:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11541:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11531:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12526, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12070, - "src": "11544:29:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11523:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11523:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12528, - "nodeType": "ExpressionStatement", - "src": "11523:51:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12530, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "11592:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11604:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11592:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12533, - "name": "ERROR_NEW_PAYMENT_INTERVAL_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12073, - "src": "11607:31:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12529, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11584:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11584:55:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12535, - "nodeType": "ExpressionStatement", - "src": "11584:55:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12537, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "11657:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11674:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11657:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12540, - "name": "ERROR_NEW_PAYMENT_EXECS_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12076, - "src": "11677:28:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12536, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11649:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11649:57:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12542, - "nodeType": "ExpressionStatement", - "src": "11649:57:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11831:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12544, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "11832:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "11832:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12547, - "indexExpression": { - "argumentTypes": null, - "id": 12546, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11851:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11832:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12549, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "11862:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "11862:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12552, - "indexExpression": { - "argumentTypes": null, - "id": 12551, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11879:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11862:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12553, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11890:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11862:35:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11831:66:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12556, - "name": "ERROR_BUDGET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12091, - "src": "11899:12:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12543, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11823:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11823:89:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12558, - "nodeType": "ExpressionStatement", - "src": "11823:89:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12559, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12044:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12062:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12044:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12571, - "nodeType": "IfStatement", - "src": "12040:126:17", - "trueBody": { - "id": 12570, - "nodeType": "Block", - "src": "12065:101:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12563, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "12087:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12564, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12109:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12109:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12087:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12567, - "name": "ERROR_NEW_PAYMENT_IMMEDIATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12079, - "src": "12127:27:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12562, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12079:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12079:76:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12569, - "nodeType": "ExpressionStatement", - "src": "12079:76:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 12575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12572, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12176:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12188:19:17", - "subExpression": { - "argumentTypes": null, - "id": 12573, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "12188:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12176:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12576, - "nodeType": "ExpressionStatement", - "src": "12176:31:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12578, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12233:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12579, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "12244:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12580, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12255:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 12581, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12498, - "src": "12271:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 12577, - "name": "NewPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12225, - "src": "12222:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,uint64,string memory)" - } - }, - "id": 12582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12222:60:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12583, - "nodeType": "EmitStatement", - "src": "12217:65:17" - }, - { - "assignments": [ - 12585 - ], - "declarations": [ - { - "constant": false, - "id": 12585, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "12293:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 12584, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "12293:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12586, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "12328:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12588, - "indexExpression": { - "argumentTypes": null, - "id": 12587, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12346:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12328:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12293:63:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12590, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12366:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "12366:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12593, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "12382:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12366:22:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12595, - "nodeType": "ExpressionStatement", - "src": "12366:22:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12596, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12398:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "12398:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12599, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "12417:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12398:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12601, - "nodeType": "ExpressionStatement", - "src": "12398:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12602, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12436:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "12436:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12605, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "12453:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12436:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12607, - "nodeType": "ExpressionStatement", - "src": "12436:24:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12608, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12470:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "12470:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12611, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "12499:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12470:48:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12613, - "nodeType": "ExpressionStatement", - "src": "12470:48:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12614, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12528:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "12528:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12617, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "12547:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12528:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12619, - "nodeType": "ExpressionStatement", - "src": "12528:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12620, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12566:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "12566:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12623, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12590:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12566:38:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12625, - "nodeType": "ExpressionStatement", - "src": "12566:38:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12626, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12614:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "createdBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 12118, - "src": "12614:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12629, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12634:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12634:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12614:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12632, - "nodeType": "ExpressionStatement", - "src": "12614:30:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12634, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12830:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12633, - "name": "_executePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13424, - "src": "12814:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 12635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12814:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12636, - "nodeType": "ExpressionStatement", - "src": "12814:26:17" - } - ] - }, - "documentation": "@notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for `_reference`, executing `_maxExecutions` times at intervals of `@transformTime(_interval)`\n@dev See `newImmediatePayment()` for limitations on how the interval auth parameter can be used\n@param _token Address of token for payment\n@param _receiver Address that will receive payment\n@param _amount Tokens that are paid every time the payment is due\n@param _initialPaymentTime Timestamp for when the first payment is done\n@param _interval Number of seconds that need to pass between payment transactions\n@param _maxExecutions Maximum instances a payment can be executed\n@param _reference String detailing payment reason", - "id": 12638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12501, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12003, - "src": "11316:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12503, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11343:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12504, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "11351:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12505, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11362:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12507, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "11379:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11371:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11371:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12510, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "11399:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11391:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11391:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12513, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "11424:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11416:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11416:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12502, - "name": "_arr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14001, - "src": "11338:4:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11338:107:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12516, - "modifierName": { - "argumentTypes": null, - "id": 12500, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11310:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11310:136:17" - }, - { - "arguments": null, - "id": 12518, - "modifierName": { - "argumentTypes": null, - "id": 12517, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "11455:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11455:17:17" - } - ], - "name": "newScheduledPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12486, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11010:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11010:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12488, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11034:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11034:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12490, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11061:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12489, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11061:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12492, - "name": "_initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11086:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12491, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11086:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12494, - "name": "_interval", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11122:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12493, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11122:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12496, - "name": "_maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11148:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12495, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11148:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12498, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11179:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12497, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11179:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11000:202:17" - }, - "payable": false, - "returnParameters": { - "id": 12521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12520, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11490:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11489:19:17" - }, - "scope": 14010, - "src": "10972:1875:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12674, - "nodeType": "Block", - "src": "13249:190:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12658, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13267:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12659, - "name": "MINIMUM_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12049, - "src": "13286:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13267:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12661, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12067, - "src": "13302:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12657, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13259:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13259:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12663, - "nodeType": "ExpressionStatement", - "src": "13259:70:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12664, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13339:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "13339:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12667, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13365:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13339:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12669, - "nodeType": "ExpressionStatement", - "src": "13339:41:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12671, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13416:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12670, - "name": "ChangePeriodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12247, - "src": "13395:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 12672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13395:37:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12673, - "nodeType": "EmitStatement", - "src": "13390:42:17" - } - ] - }, - "documentation": "@notice Change period duration to `@transformTime(_periodDuration)`, effective for next accounting period\n@param _periodDuration Duration in seconds for accounting periods", - "id": 12675, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12643, - "name": "CHANGE_PERIOD_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12008, - "src": "13134:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12646, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13166:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13158:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12649, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13192:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "13192:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13184:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13184:32:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12644, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "13154:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13154:63:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12653, - "modifierName": { - "argumentTypes": null, - "id": 12642, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13128:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13128:90:17" - }, - { - "arguments": null, - "id": 12655, - "modifierName": { - "argumentTypes": null, - "id": 12654, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "13227:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "13227:17:17" - } - ], - "name": "setPeriodDuration", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12640, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12675, - "src": "13079:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12639, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13079:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13078:24:17" - }, - "payable": false, - "returnParameters": { - "id": 12656, - "nodeType": "ParameterList", - "parameters": [], - "src": "13249:0:17" - }, - "scope": 14010, - "src": "13052:387:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12733, - "nodeType": "Block", - "src": "13906:198:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12704, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13916:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "13916:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12708, - "indexExpression": { - "argumentTypes": null, - "id": 12706, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13933:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13916:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12709, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "13943:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13916:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12711, - "nodeType": "ExpressionStatement", - "src": "13916:34:17" - }, - { - "condition": { - "argumentTypes": null, - "id": 12716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13964:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12712, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13965:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "13965:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12715, - "indexExpression": { - "argumentTypes": null, - "id": 12714, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13984:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13965:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12726, - "nodeType": "IfStatement", - "src": "13960:91:17", - "trueBody": { - "id": 12725, - "nodeType": "Block", - "src": "13993:58:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12717, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14007:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14007:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12721, - "indexExpression": { - "argumentTypes": null, - "id": 12719, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "14026:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14007:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14036:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14007:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12724, - "nodeType": "ExpressionStatement", - "src": "14007:33:17" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12728, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "14075:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12729, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "14083:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14092:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12727, - "name": "SetBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12215, - "src": "14065:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 12731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14065:32:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12732, - "nodeType": "EmitStatement", - "src": "14060:37:17" - } - ] - }, - "documentation": "@notice Set budget for `_token.symbol(): string` to `@tokenAmount(_token, _amount, false)`, effective immediately\n@param _token Address for token\n@param _amount New budget amount", - "id": 12734, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12682, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12013, - "src": "13762:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12684, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13787:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12685, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "13795:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12686, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13804:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "13804:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12689, - "indexExpression": { - "argumentTypes": null, - "id": 12688, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13821:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13804:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12691, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13838:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "13838:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12694, - "indexExpression": { - "argumentTypes": null, - "id": 12693, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13857:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13838:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13871:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "13838:34:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13867:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13830:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13830:43:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12683, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21941, - "src": "13783:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13783:91:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12700, - "modifierName": { - "argumentTypes": null, - "id": 12681, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13756:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13756:119:17" - }, - { - "arguments": null, - "id": 12702, - "modifierName": { - "argumentTypes": null, - "id": 12701, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "13884:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "13884:17:17" - } - ], - "name": "setBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12677, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12734, - "src": "13685:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13685:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12679, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12734, - "src": "13709:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13709:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13675:55:17" - }, - "payable": false, - "returnParameters": { - "id": 12703, - "nodeType": "ParameterList", - "parameters": [], - "src": "13906:0:17" - }, - "scope": 14010, - "src": "13657:447:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12785, - "nodeType": "Block", - "src": "14468:131:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12763, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14478:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "14478:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12767, - "indexExpression": { - "argumentTypes": null, - "id": 12765, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14495:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14478:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14505:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14478:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12770, - "nodeType": "ExpressionStatement", - "src": "14478:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12771, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14516:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14516:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12775, - "indexExpression": { - "argumentTypes": null, - "id": 12773, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14535:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14516:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14545:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14516:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12778, - "nodeType": "ExpressionStatement", - "src": "14516:34:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12780, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14575:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 12781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14583:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14586:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12779, - "name": "SetBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12215, - "src": "14565:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 12783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14565:27:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12784, - "nodeType": "EmitStatement", - "src": "14560:32:17" - } - ] - }, - "documentation": "@notice Remove spending limit for `_token.symbol(): string`, effective immediately\n@param _token Address for token", - "id": 12786, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12739, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12013, - "src": "14321:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12741, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14346:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 12743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14362:1:17", - "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": 12742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14354:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14354:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12745, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14366:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12746, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "14366:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12748, - "indexExpression": { - "argumentTypes": null, - "id": 12747, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14383:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14366:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12750, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14400:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14400:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12753, - "indexExpression": { - "argumentTypes": null, - "id": 12752, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14419:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14400:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14433:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14400:34:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14429:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14392:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14392:43:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12740, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21941, - "src": "14342:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14342:94:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12759, - "modifierName": { - "argumentTypes": null, - "id": 12738, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "14315:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14315:122:17" - }, - { - "arguments": null, - "id": 12761, - "modifierName": { - "argumentTypes": null, - "id": 12760, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "14446:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14446:17:17" - } - ], - "name": "removeBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12736, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12786, - "src": "14274:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14274:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14273:16:17" - }, - "payable": false, - "returnParameters": { - "id": 12762, - "nodeType": "ParameterList", - "parameters": [], - "src": "14468:0:17" - }, - "scope": 14010, - "src": "14252:347:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12810, - "nodeType": "Block", - "src": "14993:55:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12807, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "15030:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12806, - "name": "_executePaymentAtLeastOnce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13458, - "src": "15003:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:38:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12809, - "nodeType": "ExpressionStatement", - "src": "15003:38:17" - } - ] - }, - "documentation": "@notice Execute pending payment #`_paymentId`\n@dev Executes any payment (requires role)\n@param _paymentId Identifier for payment", - "id": 12811, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12791, - "name": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12018, - "src": "14842:21:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12793, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14869:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12794, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "14881:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12796, - "indexExpression": { - "argumentTypes": null, - "id": 12795, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14899:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14881:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "14881:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12792, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "14865:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14865:53:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12799, - "modifierName": { - "argumentTypes": null, - "id": 12790, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "14836:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14836:83:17" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 12801, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14951:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12802, - "modifierName": { - "argumentTypes": null, - "id": 12800, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "14928:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14928:34:17" - }, - { - "arguments": null, - "id": 12804, - "modifierName": { - "argumentTypes": null, - "id": 12803, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "14971:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14971:17:17" - } - ], - "name": "executePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12788, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12811, - "src": "14791:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14791:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14790:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12805, - "nodeType": "ParameterList", - "parameters": [], - "src": "14993:0:17" - }, - "scope": 14010, - "src": "14767:281:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12836, - "nodeType": "Block", - "src": "15550:150:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12822, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "15568:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12824, - "indexExpression": { - "argumentTypes": null, - "id": 12823, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15586:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15568:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "15568:38:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12826, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15610:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15610:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15568:52:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12829, - "name": "ERROR_PAYMENT_RECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12100, - "src": "15622:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15560:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15560:85:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12831, - "nodeType": "ExpressionStatement", - "src": "15560:85:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12833, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15682:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12832, - "name": "_executePaymentAtLeastOnce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13458, - "src": "15655:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15655:38:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12835, - "nodeType": "ExpressionStatement", - "src": "15655:38:17" - } - ] - }, - "documentation": "@notice Execute pending payment #`_paymentId`\n@dev Always allow receiver of a payment to trigger execution\n Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n scheduled payments can only be created via `newScheduledPayment(),` which requires initialization\n@param _paymentId Identifier for payment", - "id": 12837, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12816, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15520:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12817, - "modifierName": { - "argumentTypes": null, - "id": 12815, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "15497:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15497:34:17" - }, - { - "arguments": null, - "id": 12819, - "modifierName": { - "argumentTypes": null, - "id": 12818, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "15532:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15532:17:17" - } - ], - "name": "receiverExecutePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12813, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12837, - "src": "15468:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15468:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15467:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12820, - "nodeType": "ParameterList", - "parameters": [], - "src": "15550:0:17" - }, - "scope": 14010, - "src": "15436:264:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12872, - "nodeType": "Block", - "src": "16397:120:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12859, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "16407:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12861, - "indexExpression": { - "argumentTypes": null, - "id": 12860, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16425:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16407:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "16407:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16448:8:17", - "subExpression": { - "argumentTypes": null, - "id": 12863, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16449:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16407:49:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12866, - "nodeType": "ExpressionStatement", - "src": "16407:49:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16490:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12869, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16502:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12867, - "name": "ChangePaymentState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "16471:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16471:39:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12871, - "nodeType": "EmitStatement", - "src": "16466:44:17" - } - ] - }, - "documentation": "@notice `_active ? 'Activate' : 'Disable'` payment #`_paymentId`\n@dev Note that we do not require this action to transition periods, as it doesn't directly\n impact any accounting periods.\n Not having to transition periods also makes disabling payments easier to prevent funds\n from being pulled out in the event of a breach.\n@param _paymentId Identifier for payment\n@param _active Whether it will be active or inactive", - "id": 12873, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12844, - "name": "MANAGE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12023, - "src": "16285:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12846, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16311:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 12848, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16331:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16345:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16331:15:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16341:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16323:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16323:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12845, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "16307:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16307:41:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12854, - "modifierName": { - "argumentTypes": null, - "id": 12843, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "16279:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16279:70:17" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 12856, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16381:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12857, - "modifierName": { - "argumentTypes": null, - "id": 12855, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "16358:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16358:34:17" - } - ], - "name": "setPaymentStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12839, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12873, - "src": "16220:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16220:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12841, - "name": "_active", - "nodeType": "VariableDeclaration", - "scope": 12873, - "src": "16240:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12840, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16240:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16219:34:17" - }, - "payable": false, - "returnParameters": { - "id": 12858, - "nodeType": "ParameterList", - "parameters": [], - "src": "16397:0:17" - }, - "scope": 14010, - "src": "16194:323:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12918, - "nodeType": "Block", - "src": "17011:321:17", - "statements": [ - { - "assignments": [ - 12883 - ], - "declarations": [ - { - "constant": false, - "id": 12883, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12919, - "src": "17021:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17021:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12884, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17038:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12885, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "17048:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17038:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17116:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17108:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17108:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12892, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17084:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12891, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17078:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 12893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17078:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 12894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "17078:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17078:44:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "17038:84:17", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12888, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17062:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17054:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17054:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17054:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17021:101:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12902, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12883, - "src": "17140:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17149:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17140:10:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12905, - "name": "ERROR_RECOVER_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12082, - "src": "17152:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12901, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17132:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17132:46:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12907, - "nodeType": "ExpressionStatement", - "src": "17132:46:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12909, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17211:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12910, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12883, - "src": "17231:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "5265636f76657220746f205661756c74", - "id": 12911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17251:18:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44b346127d1482933635aa4b55865bc72d4d3e4d60d301bd26394661695fe15d", - "typeString": "literal_string \"Recover to Vault\"" - }, - "value": "Recover to Vault" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12913, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17291:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17283:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17283:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17310:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_44b346127d1482933635aa4b55865bc72d4d3e4d60d301bd26394661695fe15d", - "typeString": "literal_string \"Recover to Vault\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12908, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "17189:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17189:136:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12917, - "nodeType": "ExpressionStatement", - "src": "17189:136:17" - } - ] - }, - "documentation": "@notice Send tokens held in this contract to the Vault\n@dev Allows making a simple payment from this contract to the Vault, to avoid locked tokens.\n This contract should never receive tokens with a simple transfer call, but in case it\n happens, this function allows for their recovery.\n@param _token Token whose balance is going to be transferred.", - "id": 12919, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12878, - "modifierName": { - "argumentTypes": null, - "id": 12877, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "16979:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16979:13:17" - }, - { - "arguments": null, - "id": 12880, - "modifierName": { - "argumentTypes": null, - "id": 12879, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "16993:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16993:17:17" - } - ], - "name": "recoverToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12875, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12919, - "src": "16954:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16954:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16953:16:17" - }, - "payable": false, - "returnParameters": { - "id": 12881, - "nodeType": "ParameterList", - "parameters": [], - "src": "17011:0:17" - }, - "scope": 14010, - "src": "16930:402:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12932, - "nodeType": "Block", - "src": "17995:71:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12929, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12921, - "src": "18043:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12928, - "name": "_tryTransitionAccountingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13813, - "src": "18012:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_bool_$", - "typeString": "function (uint64) returns (bool)" - } - }, - "id": 12930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18012:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 12927, - "id": 12931, - "nodeType": "Return", - "src": "18005:54:17" - } - ] - }, - "documentation": "@notice Transition accounting period if needed\n@dev Transitions accounting periods if needed. For preventing OOG attacks, a maxTransitions\n param is provided. If more than the specified number of periods need to be transitioned,\n it will return false.\n@param _maxTransitions Maximum periods that can be transitioned\n@return success Boolean indicating whether the accounting period is the correct one (if false,\n maxTransitions was surpased and another call is needed)", - "id": 12933, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12924, - "modifierName": { - "argumentTypes": null, - "id": 12923, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17958:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17958:13:17" - } - ], - "name": "tryTransitionAccountingPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12921, - "name": "_maxTransitions", - "nodeType": "VariableDeclaration", - "scope": 12933, - "src": "17925:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12920, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "17925:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17924:24:17" - }, - "payable": false, - "returnParameters": { - "id": 12927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12926, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 12933, - "src": "17981:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17981:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17980:14:17" - }, - "scope": 14010, - "src": "17886:180:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12944, - "nodeType": "Block", - "src": "18433:41:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18450:17:17", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12940, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "18451:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 12941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18451:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 12939, - "id": 12943, - "nodeType": "Return", - "src": "18443:24:17" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch if the app has been initialized, as it could be used\n maliciously to transfer funds in the Finance app to another Vault\n finance#recoverToVault() should be used to recover funds to the Finance's vault", - "id": 12945, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12935, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 12945, - "src": "18397:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12934, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18397:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18396:9:17" - }, - "payable": false, - "returnParameters": { - "id": 12939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 12945, - "src": "18427:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12937, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18427:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18426:6:17" - }, - "scope": 14010, - "src": "18368:106:17", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 13022, - "nodeType": "Block", - "src": "18898:441:17", - "statements": [ - { - "assignments": [ - 12972 - ], - "declarations": [ - { - "constant": false, - "id": 12972, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18908:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 12971, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "18908:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12976, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12973, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "18943:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12975, - "indexExpression": { - "argumentTypes": null, - "id": 12974, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12947, - "src": "18961:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18943:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18908:64:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12977, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12953, - "src": "18983:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12978, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "18991:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "18991:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18983:21:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12981, - "nodeType": "ExpressionStatement", - "src": "18983:21:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12982, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12955, - "src": "19014:8:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12983, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19025:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "19025:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19014:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12986, - "nodeType": "ExpressionStatement", - "src": "19014:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12987, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12957, - "src": "19051:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12988, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19060:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "19060:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19051:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12991, - "nodeType": "ExpressionStatement", - "src": "19051:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12992, - "name": "initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12959, - "src": "19084:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12993, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19105:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "19105:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19084:47:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12996, - "nodeType": "ExpressionStatement", - "src": "19084:47:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12997, - "name": "interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12961, - "src": "19141:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12998, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19152:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "19152:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19141:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13001, - "nodeType": "ExpressionStatement", - "src": "19141:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13002, - "name": "maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12963, - "src": "19178:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13003, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19194:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "19194:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19178:37:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13006, - "nodeType": "ExpressionStatement", - "src": "19178:37:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13007, - "name": "executions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12967, - "src": "19225:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13008, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19238:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "19238:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19225:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13011, - "nodeType": "ExpressionStatement", - "src": "19225:31:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13012, - "name": "inactive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12965, - "src": "19266:8:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13013, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19277:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "19277:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19266:27:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13016, - "nodeType": "ExpressionStatement", - "src": "19266:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13017, - "name": "createdBy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "19303:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13018, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19315:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 12118, - "src": "19315:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19303:29:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13021, - "nodeType": "ExpressionStatement", - "src": "19303:29:17" - } - ] - }, - "documentation": null, - "id": 13023, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12950, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12947, - "src": "18579:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12951, - "modifierName": { - "argumentTypes": null, - "id": 12949, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "18556:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "18556:34:17" - } - ], - "name": "getPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12947, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18500:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18500:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18499:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12953, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18621:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18621:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12955, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18648:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18648:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12957, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18678:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18678:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12959, - "name": "initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18706:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12958, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18706:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12961, - "name": "interval", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18745:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12960, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18745:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12963, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18774:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12962, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18774:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12965, - "name": "inactive", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18808:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12964, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18808:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12967, - "name": "executions", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18835:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12966, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18835:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12969, - "name": "createdBy", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18866:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18866:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18607:286:17" - }, - "scope": 14010, - "src": "18480:859:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13093, - "nodeType": "Block", - "src": "19734:420:17", - "statements": [ - { - "assignments": [ - 13048 - ], - "declarations": [ - { - "constant": false, - "id": 13048, - "name": "transaction", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19744:31:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 13047, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "19744:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13052, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13049, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "19778:12:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction storage ref)" - } - }, - "id": 13051, - "indexExpression": { - "argumentTypes": null, - "id": 13050, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13025, - "src": "19791:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19778:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage", - "typeString": "struct Finance.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19744:62:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13053, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13039, - "src": "19817:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13054, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19825:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12133, - "src": "19825:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19817:25:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13057, - "nodeType": "ExpressionStatement", - "src": "19817:25:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13058, - "name": "entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "19852:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13059, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19861:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13060, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "entity", - "nodeType": "MemberAccess", - "referencedDeclaration": 12135, - "src": "19861:18:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19852:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13062, - "nodeType": "ExpressionStatement", - "src": "19852:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13063, - "name": "isIncoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13043, - "src": "19889:10:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13064, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19902:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isIncoming", - "nodeType": "MemberAccess", - "referencedDeclaration": 12137, - "src": "19902:22:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19889:35:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13067, - "nodeType": "ExpressionStatement", - "src": "19889:35:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13068, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13045, - "src": "19934:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13069, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19941:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 12145, - "src": "19941:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19934:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13072, - "nodeType": "ExpressionStatement", - "src": "19934:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13073, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13031, - "src": "19967:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13074, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19978:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12147, - "src": "19978:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19967:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13077, - "nodeType": "ExpressionStatement", - "src": "19967:31:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13078, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "20008:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13079, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20017:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12139, - "src": "20017:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20008:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13082, - "nodeType": "ExpressionStatement", - "src": "20008:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13083, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13035, - "src": "20045:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13084, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20057:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13085, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paymentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12141, - "src": "20057:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20045:33:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13087, - "nodeType": "ExpressionStatement", - "src": "20045:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13088, - "name": "paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13037, - "src": "20088:22:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13089, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20113:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paymentExecutionNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 12143, - "src": "20113:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20088:59:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13092, - "nodeType": "ExpressionStatement", - "src": "20088:59:17" - } - ] - }, - "documentation": null, - "id": 13094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13028, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13025, - "src": "19447:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 13029, - "modifierName": { - "argumentTypes": null, - "id": 13027, - "name": "transactionExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12301, - "src": "19429:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "19429:33:17" - } - ], - "name": "getTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13025, - "name": "_transactionId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19369:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19369:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19368:24:17" - }, - "payable": false, - "returnParameters": { - "id": 13046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13031, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19493:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13030, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19493:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13033, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19522:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19522:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13035, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19550:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19550:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13037, - "name": "paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19581:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13036, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19581:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13039, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19624:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13038, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19624:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13041, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19651:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19651:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13043, - "name": "isIncoming", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19679:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13042, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19679:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13045, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19708:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13044, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19708:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19479:250:17" - }, - "scope": 14010, - "src": "19345:809:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13145, - "nodeType": "Block", - "src": "20453:296:17", - "statements": [ - { - "assignments": [ - 13113 - ], - "declarations": [ - { - "constant": false, - "id": 13113, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20463:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13112, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "20463:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13117, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13114, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "20487:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13116, - "indexExpression": { - "argumentTypes": null, - "id": 13115, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20495:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20487:18:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20463:42:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13118, - "name": "isCurrent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13102, - "src": "20516:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13119, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "20528:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20528:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13121, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20550:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20528:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20516:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13124, - "nodeType": "ExpressionStatement", - "src": "20516:43:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13125, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13104, - "src": "20570:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13126, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20582:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "20582:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20570:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13129, - "nodeType": "ExpressionStatement", - "src": "20570:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13130, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13106, - "src": "20608:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13131, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20618:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "20618:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20608:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13134, - "nodeType": "ExpressionStatement", - "src": "20608:24:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13135, - "name": "firstTransactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13108, - "src": "20642:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13136, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20663:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "20663:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:46:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13139, - "nodeType": "ExpressionStatement", - "src": "20642:46:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13140, - "name": "lastTransactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13110, - "src": "20698:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13141, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20718:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12161, - "src": "20718:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20698:44:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13144, - "nodeType": "ExpressionStatement", - "src": "20698:44:17" - } - ] - }, - "documentation": null, - "id": 13146, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13099, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20246:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 13100, - "modifierName": { - "argumentTypes": null, - "id": 13098, - "name": "periodExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12314, - "src": "20233:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "20233:23:17" - } - ], - "name": "getPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13096, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20179:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13095, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20179:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20178:18:17" - }, - "payable": false, - "returnParameters": { - "id": 13111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13102, - "name": "isCurrent", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20287:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13101, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20287:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13104, - "name": "startTime", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20315:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13103, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20315:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13106, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20345:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13105, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20345:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13108, - "name": "firstTransactionId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20373:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20373:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13110, - "name": "lastTransactionId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20413:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20413:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20273:175:17" - }, - "scope": 14010, - "src": "20160:589:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13179, - "nodeType": "Block", - "src": "20937:182:17", - "statements": [ - { - "assignments": [ - 13161 - ], - "declarations": [ - { - "constant": false, - "id": 13161, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20947:37:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - }, - "typeName": { - "contractScope": null, - "id": 13160, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "20947:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13168, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13162, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "20987:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13164, - "indexExpression": { - "argumentTypes": null, - "id": 13163, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13148, - "src": "20995:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20987:18:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "20987:33:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13167, - "indexExpression": { - "argumentTypes": null, - "id": 13166, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13150, - "src": "21021:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20987:41:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20947:81:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13169, - "name": "expenses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13156, - "src": "21038:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13170, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13161, - "src": "21049:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "21049:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21038:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13173, - "nodeType": "ExpressionStatement", - "src": "21038:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13174, - "name": "income", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13158, - "src": "21082:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13175, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13161, - "src": "21091:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "21091:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21082:30:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13178, - "nodeType": "ExpressionStatement", - "src": "21082:30:17" - } - ] - }, - "documentation": null, - "id": 13180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13153, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13148, - "src": "20871:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 13154, - "modifierName": { - "argumentTypes": null, - "id": 13152, - "name": "periodExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12314, - "src": "20858:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "20858:23:17" - } - ], - "name": "getPeriodTokenStatement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13148, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20788:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13147, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20788:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13150, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20806:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20806:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20787:34:17" - }, - "payable": false, - "returnParameters": { - "id": 13159, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13156, - "name": "expenses", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20899:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20899:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13158, - "name": "income", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20917:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20917:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20898:34:17" - }, - "scope": 14010, - "src": "20755:364:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13190, - "nodeType": "Block", - "src": "21302:42:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13187, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "21319:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21319:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13186, - "id": 13189, - "nodeType": "Return", - "src": "21312:25:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as periods are only valid after initializing", - "id": 13191, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13183, - "modifierName": { - "argumentTypes": null, - "id": 13182, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21271:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21271:13:17" - } - ], - "name": "currentPeriodId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13181, - "nodeType": "ParameterList", - "parameters": [], - "src": "21256:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13185, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13191, - "src": "21294:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13184, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21294:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21293:8:17" - }, - "scope": 14010, - "src": "21232:112:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13201, - "nodeType": "Block", - "src": "21529:47:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13198, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21546:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "21546:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13197, - "id": 13200, - "nodeType": "Return", - "src": "21539:30:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as periods are only valid after initializing", - "id": 13202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13194, - "modifierName": { - "argumentTypes": null, - "id": 13193, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21498:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21498:13:17" - } - ], - "name": "getPeriodDuration", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13192, - "nodeType": "ParameterList", - "parameters": [], - "src": "21483:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13196, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13202, - "src": "21521:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13195, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21521:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21520:8:17" - }, - "scope": 14010, - "src": "21457:119:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13227, - "nodeType": "Block", - "src": "21791:98:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13213, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13209, - "src": "21801:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13214, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21810:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "21810:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13217, - "indexExpression": { - "argumentTypes": null, - "id": 13216, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13204, - "src": "21827:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21810:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21801:33:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13219, - "nodeType": "ExpressionStatement", - "src": "21801:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13220, - "name": "hasBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "21844:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13221, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21856:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "21856:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 13224, - "indexExpression": { - "argumentTypes": null, - "id": 13223, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13204, - "src": "21875:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21856:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21844:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13226, - "nodeType": "ExpressionStatement", - "src": "21844:38:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13228, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13207, - "modifierName": { - "argumentTypes": null, - "id": 13206, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21736:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21736:13:17" - } - ], - "name": "getBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13204, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21708:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21708:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21707:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13209, - "name": "budget", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21759:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21759:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13211, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21775:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13210, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21775:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21758:32:17" - }, - "scope": 14010, - "src": "21689:200:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13241, - "nodeType": "Block", - "src": "22090:51:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13238, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13230, - "src": "22127:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13237, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "22107:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22107:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13236, - "id": 13240, - "nodeType": "Return", - "src": "22100:34:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13233, - "modifierName": { - "argumentTypes": null, - "id": 13232, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "22058:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "22058:13:17" - } - ], - "name": "getRemainingBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13230, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13242, - "src": "22030:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22030:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22029:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13242, - "src": "22081:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22081:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22080:9:17" - }, - "scope": 14010, - "src": "22002:139:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13258, - "nodeType": "Block", - "src": "22352:56:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13254, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13244, - "src": "22385:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13255, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13246, - "src": "22393:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13253, - "name": "_canMakePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13836, - "src": "22369:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 13256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22369:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13252, - "id": 13257, - "nodeType": "Return", - "src": "22362:39:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13249, - "modifierName": { - "argumentTypes": null, - "id": 13248, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "22323:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "22323:13:17" - } - ], - "name": "canMakePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13244, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22278:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22278:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13246, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22294:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22294:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22277:33:17" - }, - "payable": false, - "returnParameters": { - "id": 13252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22346:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22346:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22345:6:17" - }, - "scope": 14010, - "src": "22254:154:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13273, - "nodeType": "Block", - "src": "22739:52:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13270, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13261, - "src": "22773:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13269, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "22756:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22756:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13268, - "id": 13272, - "nodeType": "Return", - "src": "22749:35:17" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n scheduled payments can only be created via `newScheduledPayment(),` which requires initialization", - "id": 13274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13264, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13261, - "src": "22710:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 13265, - "modifierName": { - "argumentTypes": null, - "id": 13263, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "22687:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "22687:34:17" - } - ], - "name": "nextPaymentTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13261, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13274, - "src": "22655:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22655:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22654:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13274, - "src": "22731:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13266, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "22731:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22730:8:17" - }, - "scope": 14010, - "src": "22630:161:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13347, - "nodeType": "Block", - "src": "22939:1053:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13288, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "22989:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13289, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13282, - "src": "23009:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13290, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23030:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13291, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13280, - "src": "23051:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13287, - "name": "_recordIncomingTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13607, - "src": "22949:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,string memory)" - } - }, - "id": 13292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22949:122:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13293, - "nodeType": "ExpressionStatement", - "src": "22949:122:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 13296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13294, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23086:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13295, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23096:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23086:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13345, - "nodeType": "Block", - "src": "23174:812:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13309, - "name": "_isExternalDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13284, - "src": "23412:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13326, - "nodeType": "IfStatement", - "src": "23408:305:17", - "trueBody": { - "id": 13325, - "nodeType": "Block", - "src": "23432:281:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13315, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23589:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23589:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13318, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "23609:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 13317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23601:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 13319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23601:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13320, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23616:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13312, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23564:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13311, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23558:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 13313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23558:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 13314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "23558:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 13321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23558:66:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13322, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "23646:34:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23529:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23529:169:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13324, - "nodeType": "ExpressionStatement", - "src": "23529:169:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13332, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23842:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 13333, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23849:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13329, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23822:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13328, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23816:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 13330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23816:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 13331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 24031, - "src": "23816:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 13334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23816:41:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13335, - "name": "ERROR_TOKEN_APPROVE_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12106, - "src": "23859:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23808:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23808:78:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13337, - "nodeType": "ExpressionStatement", - "src": "23808:78:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13341, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23959:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13342, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23967:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13338, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23945:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 19183, - "src": "23945:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23945:30:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13344, - "nodeType": "ExpressionStatement", - "src": "23945:30:17" - } - ] - }, - "id": 13346, - "nodeType": "IfStatement", - "src": "23082:904:17", - "trueBody": { - "id": 13308, - "nodeType": "Block", - "src": "23101:67:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13304, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23144:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13305, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23149:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 13302, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23135:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13297, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23115:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 19183, - "src": "23115:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23115:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,uint256) payable external)" - } - }, - "id": 13303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23115:28:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23115:42:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13307, - "nodeType": "ExpressionStatement", - "src": "23115:42:17" - } - ] - } - } - ] - }, - "documentation": null, - "id": 13348, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13276, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22836:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13275, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22836:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13278, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22852:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13280, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22869:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13279, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22869:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13282, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22888:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22888:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13284, - "name": "_isExternalDeposit", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22905:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13283, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22905:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22835:94:17" - }, - "payable": false, - "returnParameters": { - "id": 13286, - "nodeType": "ParameterList", - "parameters": [], - "src": "22939:0:17" - }, - "scope": 14010, - "src": "22818:1174:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13423, - "nodeType": "Block", - "src": "24070:920:17", - "statements": [ - { - "assignments": [ - 13356 - ], - "declarations": [ - { - "constant": false, - "id": 13356, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24080:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 13355, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "24080:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13360, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13357, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "24115:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 13359, - "indexExpression": { - "argumentTypes": null, - "id": 13358, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24133:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24115:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24080:64:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "24162:17:17", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13362, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24163:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13363, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "24163:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13365, - "name": "ERROR_PAYMENT_INACTIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12109, - "src": "24181:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13361, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24154:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24154:50:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13367, - "nodeType": "ExpressionStatement", - "src": "24154:50:17" - }, - { - "assignments": [ - 13369 - ], - "declarations": [ - { - "constant": false, - "id": 13369, - "name": "paid", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24215:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13368, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24215:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13371, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24229:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24215:15:17" - }, - { - "body": { - "id": 13419, - "nodeType": "Block", - "src": "24337:625:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "24355:47:17", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13383, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24372:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "24372:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13385, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24387:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "24387:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13382, - "name": "_canMakePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13836, - "src": "24356:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 13387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24356:46:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13395, - "nodeType": "IfStatement", - "src": "24351:140:17", - "trueBody": { - "id": 13394, - "nodeType": "Block", - "src": "24404:87:17", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13390, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24442:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13389, - "name": "PaymentFailure", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12251, - "src": "24427:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 13391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24427:26:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13392, - "nodeType": "EmitStatement", - "src": "24422:31:17" - }, - { - "id": 13393, - "nodeType": "Break", - "src": "24471:5:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13396, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24583:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "24583:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24605:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "24583:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13401, - "nodeType": "ExpressionStatement", - "src": "24583:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13402, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24620:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24628:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "24620:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13405, - "nodeType": "ExpressionStatement", - "src": "24620:9:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13407, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24774:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "24774:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13409, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24805:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "24805:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13411, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24839:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "24839:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13413, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24871:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13414, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24899:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "24899:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 13416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24935:2:17", - "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_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 13406, - "name": "_unsafeMakePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13526, - "src": "24727:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24727:224:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13418, - "nodeType": "ExpressionStatement", - "src": "24727:224:17" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 13381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13373, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24264:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13372, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "24247:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24247:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13375, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "24279:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24279:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24247:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13378, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24299:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13379, - "name": "MAX_SCHEDULED_PAYMENTS_PER_TX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12032, - "src": "24306:29:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24299:36:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24247:88:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13420, - "nodeType": "WhileStatement", - "src": "24240:722:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13421, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24979:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13354, - "id": 13422, - "nodeType": "Return", - "src": "24972:11:17" - } - ] - }, - "documentation": null, - "id": 13424, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13350, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24023:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24023:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24022:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13353, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24061:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24061:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24060:9:17" - }, - "scope": 14010, - "src": "23998:992:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13457, - "nodeType": "Block", - "src": "25061:300:17", - "statements": [ - { - "assignments": [ - 13430 - ], - "declarations": [ - { - "constant": false, - "id": 13430, - "name": "paid", - "nodeType": "VariableDeclaration", - "scope": 13458, - "src": "25071:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25071:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13432, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13426, - "src": "25102:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13431, - "name": "_executePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13424, - "src": "25086:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 13433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25086:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25071:42:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13435, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13430, - "src": "25127:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25135:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25127:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13456, - "nodeType": "IfStatement", - "src": "25123:232:17", - "trueBody": { - "id": 13455, - "nodeType": "Block", - "src": "25138:217:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13439, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13426, - "src": "25173:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13438, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "25156:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25156:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13441, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "25188:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25188:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25156:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13453, - "nodeType": "Block", - "src": "25278:67:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13450, - "name": "ERROR_EXECUTE_PAYMENT_TIME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12097, - "src": "25303:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13449, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "25296:6:17", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 13451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25296:34:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13452, - "nodeType": "ExpressionStatement", - "src": "25296:34:17" - } - ] - }, - "id": 13454, - "nodeType": "IfStatement", - "src": "25152:193:17", - "trueBody": { - "id": 13448, - "nodeType": "Block", - "src": "25206:66:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13445, - "name": "ERROR_EXECUTE_PAYMENT_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12094, - "src": "25231:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13444, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "25224:6:17", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 13446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25224:33:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13447, - "nodeType": "ExpressionStatement", - "src": "25224:33:17" - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 13458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executePaymentAtLeastOnce", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13426, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13458, - "src": "25032:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25032:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25031:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13428, - "nodeType": "ParameterList", - "parameters": [], - "src": "25061:0:17" - }, - "scope": 14010, - "src": "24996:365:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13491, - "nodeType": "Block", - "src": "25598:204:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13475, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13460, - "src": "25636:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13474, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "25616:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25616:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13477, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13464, - "src": "25647:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25616:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13479, - "name": "ERROR_REMAINING_BUDGET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12112, - "src": "25656:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "25608:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25608:71:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13481, - "nodeType": "ExpressionStatement", - "src": "25608:71:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13483, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13460, - "src": "25719:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13484, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13462, - "src": "25727:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13485, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13464, - "src": "25738:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13486, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13466, - "src": "25747:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13487, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13468, - "src": "25759:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 13488, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13470, - "src": "25784:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13482, - "name": "_unsafeMakePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13526, - "src": "25689:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25689:106:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13490, - "nodeType": "ExpressionStatement", - "src": "25689:106:17" - } - ] - }, - "documentation": null, - "id": 13492, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_makePaymentTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13460, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25409:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25409:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13462, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25433:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25433:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13464, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25460:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25460:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13466, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25485:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25485:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13468, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25513:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13467, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "25513:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13470, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25553:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "25553:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25399:177:17" - }, - "payable": false, - "returnParameters": { - "id": 13472, - "nodeType": "ParameterList", - "parameters": [], - "src": "25598:0:17" - }, - "scope": 14010, - "src": "25367:435:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13525, - "nodeType": "Block", - "src": "26183:266:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 13508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26225:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 13509, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13494, - "src": "26244:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13510, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13496, - "src": "26264:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13511, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13498, - "src": "26287:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13512, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13500, - "src": "26308:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13513, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13502, - "src": "26332:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 13514, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13504, - "src": "26369:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13507, - "name": "_recordTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13749, - "src": "26193:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26193:196:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13516, - "nodeType": "ExpressionStatement", - "src": "26193:196:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13520, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13494, - "src": "26415:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13521, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13496, - "src": "26423:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13522, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13498, - "src": "26434:7:17", - "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": 13517, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "26400:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "26400:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 13523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26400:42:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13524, - "nodeType": "ExpressionStatement", - "src": "26400:42:17" - } - ] - }, - "documentation": "@dev Unsafe version of _makePaymentTransaction that assumes you have already checked the\n remaining budget", - "id": 13526, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_unsafeMakePaymentTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13494, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "25994:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13493, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25994:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13496, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26018:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13495, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26018:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13498, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26045:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26045:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13500, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26070:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26070:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13502, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26098:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13501, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26098:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13504, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26138:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13503, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "26138:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25984:177:17" - }, - "payable": false, - "returnParameters": { - "id": 13506, - "nodeType": "ParameterList", - "parameters": [], - "src": "26183:0:17" - }, - "scope": 14010, - "src": "25946:503:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13584, - "nodeType": "Block", - "src": "26528:704:17", - "statements": [ - { - "assignments": [ - 13534 - ], - "declarations": [ - { - "constant": false, - "id": 13534, - "name": "newPeriodId", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26631:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13533, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26631:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13537, - "initialValue": { - "argumentTypes": null, - "id": 13536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "26652:15:17", - "subExpression": { - "argumentTypes": null, - "id": 13535, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "26652:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26631:36:17" - }, - { - "assignments": [ - 13539 - ], - "declarations": [ - { - "constant": false, - "id": 13539, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26678:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13538, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "26678:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13543, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13540, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "26702:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13542, - "indexExpression": { - "argumentTypes": null, - "id": 13541, - "name": "newPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13534, - "src": "26710:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26702:20:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26678:44:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13544, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "26732:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "26732:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13547, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "26751:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "26732:29:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13549, - "nodeType": "ExpressionStatement", - "src": "26732:29:17" - }, - { - "assignments": [ - 13551 - ], - "declarations": [ - { - "constant": false, - "id": 13551, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26944:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13550, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26944:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13558, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13552, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "26961:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13553, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "26974:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "26974:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "26961:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27000:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26961:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26944:57:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13559, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27015:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13560, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "27025:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27015:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13567, - "nodeType": "IfStatement", - "src": "27011:85:17", - "trueBody": { - "id": 13566, - "nodeType": "Block", - "src": "27037:59:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13562, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27065:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13563, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "27075:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27065:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13565, - "nodeType": "ExpressionStatement", - "src": "27065:20:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13568, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27105:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13570, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "27105:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13571, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27122:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27105:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13573, - "nodeType": "ExpressionStatement", - "src": "27105:24:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13575, - "name": "newPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13534, - "src": "27155:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13576, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27168:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13577, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "27168:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13578, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27186:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "27186:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 13574, - "name": "NewPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12207, - "src": "27145:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (uint64,uint64,uint64)" - } - }, - "id": 13580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27145:56:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13581, - "nodeType": "EmitStatement", - "src": "27140:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13582, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27219:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "functionReturnParameters": 13532, - "id": 13583, - "nodeType": "Return", - "src": "27212:13:17" - } - ] - }, - "documentation": null, - "id": 13585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13528, - "name": "_startTime", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26475:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13527, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26475:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26474:19:17" - }, - "payable": false, - "returnParameters": { - "id": 13532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13531, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26512:6:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13530, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "26512:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26511:16:17" - }, - "scope": 14010, - "src": "26455:777:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13606, - "nodeType": "Block", - "src": "27402:288:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27444:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 13598, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13587, - "src": "27486:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13599, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13589, - "src": "27506:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13600, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13591, - "src": "27527:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13601, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12026, - "src": "27548:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 13602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27619:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 13603, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13593, - "src": "27663:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13596, - "name": "_recordTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13749, - "src": "27412:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27412:271:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13605, - "nodeType": "ExpressionStatement", - "src": "27412:271:17" - } - ] - }, - "documentation": null, - "id": 13607, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_recordIncomingTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13587, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27283:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27283:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13589, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27307:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27307:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13591, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27332:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27332:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13593, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27357:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13592, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "27357:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27273:107:17" - }, - "payable": false, - "returnParameters": { - "id": 13595, - "nodeType": "ParameterList", - "parameters": [], - "src": "27402:0:17" - }, - "scope": 14010, - "src": "27238:452:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13748, - "nodeType": "Block", - "src": "27944:1091:17", - "statements": [ - { - "assignments": [ - 13625 - ], - "declarations": [ - { - "constant": false, - "id": 13625, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27954:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13624, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27954:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13628, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13626, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "27972:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27972:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27954:36:17" - }, - { - "assignments": [ - 13630 - ], - "declarations": [ - { - "constant": false, - "id": 13630, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28000:37:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - }, - "typeName": { - "contractScope": null, - "id": 13629, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "28000:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13637, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13631, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "28040:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13633, - "indexExpression": { - "argumentTypes": null, - "id": 13632, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28048:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28040:17:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "28040:32:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13636, - "indexExpression": { - "argumentTypes": null, - "id": 13635, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13611, - "src": "28073:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28040:40:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28000:80:17" - }, - { - "condition": { - "argumentTypes": null, - "id": 13638, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28094:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13660, - "nodeType": "Block", - "src": "28194:87:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13650, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28208:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13652, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "28208:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13656, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28262:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13653, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28234:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "28234:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "28234:27:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28234:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28208:62:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13659, - "nodeType": "ExpressionStatement", - "src": "28208:62:17" - } - ] - }, - "id": 13661, - "nodeType": "IfStatement", - "src": "28090:191:17", - "trueBody": { - "id": 13649, - "nodeType": "Block", - "src": "28105:83:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13639, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28119:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "28119:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13645, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28169:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13642, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28143:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "28143:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "28143:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28143:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28119:58:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13648, - "nodeType": "ExpressionStatement", - "src": "28119:58:17" - } - ] - } - }, - { - "assignments": [ - 13663 - ], - "declarations": [ - { - "constant": false, - "id": 13663, - "name": "transactionId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28291:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28291:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13666, - "initialValue": { - "argumentTypes": null, - "id": 13665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "28315:23:17", - "subExpression": { - "argumentTypes": null, - "id": 13664, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "28315:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28291:47:17" - }, - { - "assignments": [ - 13668 - ], - "declarations": [ - { - "constant": false, - "id": 13668, - "name": "transaction", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28349:31:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 13667, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "28349:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13672, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13669, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "28383:12:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction storage ref)" - } - }, - "id": 13671, - "indexExpression": { - "argumentTypes": null, - "id": 13670, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28396:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28383:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage", - "typeString": "struct Finance.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28349:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13673, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28420:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12133, - "src": "28420:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13676, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13611, - "src": "28440:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "28420:26:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13678, - "nodeType": "ExpressionStatement", - "src": "28420:26:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13679, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28456:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "entity", - "nodeType": "MemberAccess", - "referencedDeclaration": 12135, - "src": "28456:18:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13682, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13613, - "src": "28477:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "28456:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13684, - "nodeType": "ExpressionStatement", - "src": "28456:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13685, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28494:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isIncoming", - "nodeType": "MemberAccess", - "referencedDeclaration": 12137, - "src": "28494:22:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13688, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28519:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "28494:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13690, - "nodeType": "ExpressionStatement", - "src": "28494:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13691, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28538:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12139, - "src": "28538:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13694, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28559:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28538:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13696, - "nodeType": "ExpressionStatement", - "src": "28538:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13697, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28576:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13699, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "paymentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12141, - "src": "28576:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13700, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13617, - "src": "28600:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28576:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13702, - "nodeType": "ExpressionStatement", - "src": "28576:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13703, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28620:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "paymentExecutionNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 12143, - "src": "28620:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13706, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13619, - "src": "28657:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28620:60:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13708, - "nodeType": "ExpressionStatement", - "src": "28620:60:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13709, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28690:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 12145, - "src": "28690:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13712, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "28709:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28709:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28690:35:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13715, - "nodeType": "ExpressionStatement", - "src": "28690:35:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13716, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28735:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12147, - "src": "28735:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13719, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28758:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28735:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13721, - "nodeType": "ExpressionStatement", - "src": "28735:31:17" - }, - { - "assignments": [ - 13723 - ], - "declarations": [ - { - "constant": false, - "id": 13723, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28777:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13722, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "28777:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13727, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13724, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "28801:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13726, - "indexExpression": { - "argumentTypes": null, - "id": 13725, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28809:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28801:17:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28777:41:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13728, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13723, - "src": "28832:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "28832:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13730, - "name": "NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12029, - "src": "28861:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28832:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13739, - "nodeType": "IfStatement", - "src": "28828:115:17", - "trueBody": { - "id": 13738, - "nodeType": "Block", - "src": "28877:66:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13732, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13723, - "src": "28891:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "28891:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13735, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28919:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28891:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13737, - "nodeType": "ExpressionStatement", - "src": "28891:41:17" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13741, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28973:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13742, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28988:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13743, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13613, - "src": "28999:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13744, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "29008:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13745, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13621, - "src": "29017:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13740, - "name": "NewTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12237, - "src": "28958:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,address,uint256,string memory)" - } - }, - "id": 13746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28958:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13747, - "nodeType": "EmitStatement", - "src": "28953:75:17" - } - ] - }, - "documentation": null, - "id": 13749, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_recordTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13609, - "name": "_incoming", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27733:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13608, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27733:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13611, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27757:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27757:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13613, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27781:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13612, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27781:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13615, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27806:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27806:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13617, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27831:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27831:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13619, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27859:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13618, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27859:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13621, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27899:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13620, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "27899:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27723:199:17" - }, - "payable": false, - "returnParameters": { - "id": 13623, - "nodeType": "ParameterList", - "parameters": [], - "src": "27944:0:17" - }, - "scope": 14010, - "src": "27696:1339:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13812, - "nodeType": "Block", - "src": "29137:1019:17", - "statements": [ - { - "assignments": [ - 13757 - ], - "declarations": [ - { - "constant": false, - "id": 13757, - "name": "currentPeriod", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29147:28:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13756, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "29147:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13762, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13758, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "29178:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13761, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13759, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "29186:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29186:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29178:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29147:58:17" - }, - { - "assignments": [ - 13764 - ], - "declarations": [ - { - "constant": false, - "id": 13764, - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29215:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13763, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "29215:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13767, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13765, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "29234:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29234:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29215:35:17" - }, - { - "body": { - "id": 13808, - "nodeType": "Block", - "src": "29346:782:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13772, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13751, - "src": "29364:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29383:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29364:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13778, - "nodeType": "IfStatement", - "src": "29360:215:17", - "trueBody": { - "id": 13777, - "nodeType": "Block", - "src": "29386:189:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 13775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29555:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 13755, - "id": 13776, - "nodeType": "Return", - "src": "29548:12:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13779, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13751, - "src": "29651:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29670:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "29651:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13782, - "nodeType": "ExpressionStatement", - "src": "29651:20:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13783, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29851:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "29851:32:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 13785, - "name": "NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12029, - "src": "29887:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29851:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13797, - "nodeType": "IfStatement", - "src": "29847:151:17", - "trueBody": { - "id": 13796, - "nodeType": "Block", - "src": "29903:95:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13787, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29921:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12161, - "src": "29921:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 13792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29981:1:17", - "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": 13790, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "29955:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "29955:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29955:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29921:62:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13795, - "nodeType": "ExpressionStatement", - "src": "29921:62:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13798, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "30061:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 13803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30114:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13800, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "30088:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "30088:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "30088:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30088:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 13799, - "name": "_newPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13585, - "src": "30077:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_struct$_Period_$12166_storage_ptr_$", - "typeString": "function (uint64) returns (struct Finance.Period storage pointer)" - } - }, - "id": 13805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30077:40:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "src": "30061:56:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13807, - "nodeType": "ExpressionStatement", - "src": "30061:56:17" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13768, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13764, - "src": "29311:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13769, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29323:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "29323:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "29311:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13809, - "nodeType": "WhileStatement", - "src": "29304:824:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30145:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13755, - "id": 13811, - "nodeType": "Return", - "src": "30138:11:17" - } - ] - }, - "documentation": null, - "id": 13813, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_tryTransitionAccountingPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13751, - "name": "_maxTransitions", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29081:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13750, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "29081:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "29080:24:17" - }, - "payable": false, - "returnParameters": { - "id": 13755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13754, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29123:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "29123:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "29122:14:17" - }, - "scope": 14010, - "src": "29041:1115:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13835, - "nodeType": "Block", - "src": "30249:98:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 13833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13823, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13815, - "src": "30286:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13822, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "30266:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30266:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13825, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13817, - "src": "30297:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30266:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13829, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13815, - "src": "30322:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 13827, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "30308:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 19267, - "src": "30308:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 13830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30308:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13831, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13817, - "src": "30333:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30308:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30266:74:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13821, - "id": 13834, - "nodeType": "Return", - "src": "30259:81:17" - } - ] - }, - "documentation": null, - "id": 13836, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canMakePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13815, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30187:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "30187:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13817, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30203:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30203:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30186:33:17" - }, - "payable": false, - "returnParameters": { - "id": 13821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13820, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30243:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13819, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "30243:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30242:6:17" - }, - "scope": 14010, - "src": "30162:185:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13845, - "nodeType": "Block", - "src": "30412:129:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13841, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "30517:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30533:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30517:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13840, - "id": 13844, - "nodeType": "Return", - "src": "30510:24:17" - } - ] - }, - "documentation": null, - "id": 13846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentPeriodId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13837, - "nodeType": "ParameterList", - "parameters": [], - "src": "30378:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13846, - "src": "30404:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13838, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "30404:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30403:8:17" - }, - "scope": 14010, - "src": "30353:188:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13891, - "nodeType": "Block", - "src": "30624:541:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "30638:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13853, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "30639:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "30639:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 13856, - "indexExpression": { - "argumentTypes": null, - "id": 13855, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30658:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30639:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13861, - "nodeType": "IfStatement", - "src": "30634:76:17", - "trueBody": { - "id": 13860, - "nodeType": "Block", - "src": "30667:43:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13858, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12038, - "src": "30688:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13852, - "id": 13859, - "nodeType": "Return", - "src": "30681:18:17" - } - ] - } - }, - { - "assignments": [ - 13863 - ], - "declarations": [ - { - "constant": false, - "id": 13863, - "name": "budget", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30720:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30720:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13868, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13864, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "30737:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13865, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "30737:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13867, - "indexExpression": { - "argumentTypes": null, - "id": 13866, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30754:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30737:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30720:41:17" - }, - { - "assignments": [ - 13870 - ], - "declarations": [ - { - "constant": false, - "id": 13870, - "name": "spent", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30771:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30771:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13879, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13871, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "30787:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13874, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13872, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "30795:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30795:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30787:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "30787:42:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13877, - "indexExpression": { - "argumentTypes": null, - "id": 13876, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30830:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30787:50:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "id": 13878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "30787:59:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30771:75:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13880, - "name": "spent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13870, - "src": "31018:5:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13881, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13863, - "src": "31027:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31018:15:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13886, - "nodeType": "IfStatement", - "src": "31014:54:17", - "trueBody": { - "id": 13885, - "nodeType": "Block", - "src": "31035:33:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31056:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 13852, - "id": 13884, - "nodeType": "Return", - "src": "31049:8:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13887, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13863, - "src": "31144:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 13888, - "name": "spent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13870, - "src": "31153:5:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31144:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13852, - "id": 13890, - "nodeType": "Return", - "src": "31137:21:17" - } - ] - }, - "documentation": null, - "id": 13892, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getRemainingBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13848, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30576:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "30576:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30575:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13851, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30615:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30615:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30614:9:17" - }, - "scope": 14010, - "src": "30547:618:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13933, - "nodeType": "Block", - "src": "31248:488:17", - "statements": [ - { - "assignments": [ - 13900 - ], - "declarations": [ - { - "constant": false, - "id": 13900, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31258:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 13899, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "31258:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13904, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13901, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "31293:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 13903, - "indexExpression": { - "argumentTypes": null, - "id": 13902, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13894, - "src": "31311:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31293:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31258:64:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13905, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31337:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "31337:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13907, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31359:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "31359:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "31337:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13913, - "nodeType": "IfStatement", - "src": "31333:165:17", - "trueBody": { - "id": 13912, - "nodeType": "Block", - "src": "31382:116:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13910, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "31403:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13898, - "id": 13911, - "nodeType": "Return", - "src": "31396:17:17" - } - ] - } - }, - { - "assignments": [ - 13915 - ], - "declarations": [ - { - "constant": false, - "id": 13915, - "name": "increase", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31572:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13914, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31572:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13922, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13919, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31613:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13920, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "31613:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13916, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31590:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "31590:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27914, - "src": "31590:22:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31590:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31572:58:17" - }, - { - "assignments": [ - 13924 - ], - "declarations": [ - { - "constant": false, - "id": 13924, - "name": "nextPayment", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31640:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13923, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31640:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13930, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13928, - "name": "increase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13915, - "src": "31692:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13925, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31661:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "31661:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "31661:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31661:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31640:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13931, - "name": "nextPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13924, - "src": "31718:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13898, - "id": 13932, - "nodeType": "Return", - "src": "31711:18:17" - } - ] - }, - "documentation": null, - "id": 13934, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_nextPaymentTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13894, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31197:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31197:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31196:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13897, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31240:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13896, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31240:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31239:8:17" - }, - "scope": 14010, - "src": "31171:565:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 14000, - "nodeType": "Block", - "src": "31885:169:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13952, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31895:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "36", - "id": 13956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31913:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - } - ], - "id": 13955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "31899:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 13953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31903:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13954, - "length": null, - "nodeType": "ArrayTypeName", - "src": "31903:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 13957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31899:16:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "31895:20:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13959, - "nodeType": "ExpressionStatement", - "src": "31895:20:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13960, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31925:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13962, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31927:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31925:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13964, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13936, - "src": "31940:2:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31932:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 13965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31932:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31925:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13967, - "nodeType": "ExpressionStatement", - "src": "31925:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13968, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31953:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13970, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31955:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31953:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13972, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13938, - "src": "31968:2:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31960:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 13973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31960:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31953:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13975, - "nodeType": "ExpressionStatement", - "src": "31953:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13976, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31981:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13978, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 13977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31983:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31981:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13979, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13940, - "src": "31988:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31981:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13981, - "nodeType": "ExpressionStatement", - "src": "31981:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13982, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32000:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13984, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 13983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32002:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32000:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13942, - "src": "32007:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32000:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13987, - "nodeType": "ExpressionStatement", - "src": "32000:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13988, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32019:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13990, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 13989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32021:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32019:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13991, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13944, - "src": "32026:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32019:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13993, - "nodeType": "ExpressionStatement", - "src": "32019:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13994, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32038:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13996, - "indexExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 13995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32040:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32038:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13997, - "name": "_f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13946, - "src": "32045:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32038:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13999, - "nodeType": "ExpressionStatement", - "src": "32038:9:17" - } - ] - }, - "documentation": null, - "id": 14001, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13936, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31777:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13935, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31777:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13938, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31789:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31789:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13940, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31801:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31801:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13942, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31813:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31813:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13944, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31825:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31825:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13946, - "name": "_f", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31837:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31837:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31776:72:17" - }, - "payable": false, - "returnParameters": { - "id": 13951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13950, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31872:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 13948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31872:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "31872:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31871:13:17" - }, - "scope": 14010, - "src": "31763:291:17", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 14008, - "nodeType": "Block", - "src": "32213:22:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14006, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "32222:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 14005, - "id": 14007, - "nodeType": "Return", - "src": "32215:17:17" - } - ] - }, - "documentation": null, - "id": 14009, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMaxPeriodTransitions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14002, - "nodeType": "ParameterList", - "parameters": [], - "src": "32179:2:17" - }, - "payable": false, - "returnParameters": { - "id": 14005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14004, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14009, - "src": "32205:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14003, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "32205:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32204:8:17" - }, - "scope": 14010, - "src": "32147:88:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 14011, - "src": "510:31727:17" - } - ], - "src": "57:32181:17" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "exportedSymbols": { - "Finance": [ - 14010 - ] - }, - "id": 14011, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11975, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:17" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 11976, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23454, - "src": "82:49:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 11977, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23650, - "src": "132:60:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 11978, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 23826, - "src": "193:52:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 11979, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 24108, - "src": "246:51:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 11980, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 28100, - "src": "299:50:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 11981, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 27870, - "src": "350:52:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 11982, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 28012, - "src": "403:54:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 11983, - "nodeType": "ImportDirective", - "scope": 14011, - "sourceUnit": 19336, - "src": "459:48:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11984, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "530:18:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 11985, - "nodeType": "InheritanceSpecifier", - "src": "530:18:17" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11986, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "550:10:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 11987, - "nodeType": "InheritanceSpecifier", - "src": "550:10:17" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11988, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "562:9:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 11989, - "nodeType": "InheritanceSpecifier", - "src": "562:9:17" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 14010, - "linearizedBaseContracts": [ - 14010, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Finance", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11992, - "libraryName": { - "contractScope": null, - "id": 11990, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "584:8:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "578:27:17", - "typeName": { - "id": 11991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "597:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 11995, - "libraryName": { - "contractScope": null, - "id": 11993, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "616:10:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "610:28:17", - "typeName": { - "id": 11994, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "631:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "id": 11998, - "libraryName": { - "contractScope": null, - "id": 11996, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "649:9:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "643:26:17", - "typeName": { - "contractScope": null, - "id": 11997, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "663:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 12003, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "675:80:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11999, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "675:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f5041594d454e54535f524f4c45", - "id": 12001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "732:22:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5de467a460382d13defdc02aacddc9c7d6605d6d4e0b8bd2f70732cae8ea17bc", - "typeString": "literal_string \"CREATE_PAYMENTS_ROLE\"" - }, - "value": "CREATE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5de467a460382d13defdc02aacddc9c7d6605d6d4e0b8bd2f70732cae8ea17bc", - "typeString": "literal_string \"CREATE_PAYMENTS_ROLE\"" - } - ], - "id": 12000, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "722:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12008, - "name": "CHANGE_PERIOD_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "761:76:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12004, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "761:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4348414e47455f504552494f445f524f4c45", - "id": 12006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "816:20:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d35e458bacdd5343c2f050f574554b2f417a8ea38d6a9a65ce2225dbe8bb9a9d", - "typeString": "literal_string \"CHANGE_PERIOD_ROLE\"" - }, - "value": "CHANGE_PERIOD_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d35e458bacdd5343c2f050f574554b2f417a8ea38d6a9a65ce2225dbe8bb9a9d", - "typeString": "literal_string \"CHANGE_PERIOD_ROLE\"" - } - ], - "id": 12005, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "806:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "806:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12013, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "843:78:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12009, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "843:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4348414e47455f425544474554535f524f4c45", - "id": 12011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "899:21:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d79730e82bfef7d2f9639b9d10bf37ebb662b22ae2211502a00bdf7b2cc3a23a", - "typeString": "literal_string \"CHANGE_BUDGETS_ROLE\"" - }, - "value": "CHANGE_BUDGETS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d79730e82bfef7d2f9639b9d10bf37ebb662b22ae2211502a00bdf7b2cc3a23a", - "typeString": "literal_string \"CHANGE_BUDGETS_ROLE\"" - } - ], - "id": 12010, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "889:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12018, - "name": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "927:82:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12014, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "927:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "455845435554455f5041594d454e54535f524f4c45", - "id": 12016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "985:23:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_563165d3eae48bcb0a092543ca070d989169c98357e9a1b324ec5da44bab75fd", - "typeString": "literal_string \"EXECUTE_PAYMENTS_ROLE\"" - }, - "value": "EXECUTE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_563165d3eae48bcb0a092543ca070d989169c98357e9a1b324ec5da44bab75fd", - "typeString": "literal_string \"EXECUTE_PAYMENTS_ROLE\"" - } - ], - "id": 12015, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "975:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12023, - "name": "MANAGE_PAYMENTS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1015:80:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 12019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1015:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d414e4147455f5041594d454e54535f524f4c45", - "id": 12021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1072:22:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30597dd103acfaef0649675953d9cb22faadab7e9d9ed57acc1c429d04b80777", - "typeString": "literal_string \"MANAGE_PAYMENTS_ROLE\"" - }, - "value": "MANAGE_PAYMENTS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_30597dd103acfaef0649675953d9cb22faadab7e9d9ed57acc1c429d04b80777", - "typeString": "literal_string \"MANAGE_PAYMENTS_ROLE\"" - } - ], - "id": 12020, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "1062:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 12022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1062:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 12026, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1102:50:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1102:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 12025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1151:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12029, - "name": "NO_TRANSACTION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1158:44:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12027, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 12028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1201:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12032, - "name": "MAX_SCHEDULED_PAYMENTS_PER_TX", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1208:60:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1208:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 12031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1266:2:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12038, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1274:51:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12033, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1322:2:17", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1323:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 12034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1314:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1314:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12044, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1331:48:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12039, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1331:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1376:2:17", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1377:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 12040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1369:6:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 12043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1369:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12049, - "name": "MINIMUM_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1385:56:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12045, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1385:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 12047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1434:6:17", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - } - ], - "id": 12046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1427:6:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 12048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1427:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 12052, - "name": "ERROR_COMPLETE_TRANSITION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1448:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12050, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1448:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f434f4d504c4554455f5452414e534954494f4e", - "id": 12051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1500:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22ec6e0c3735a2fda2fb445836cfebb8537041a148155716f86965a81552ecaf", - "typeString": "literal_string \"FINANCE_COMPLETE_TRANSITION\"" - }, - "value": "FINANCE_COMPLETE_TRANSITION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12055, - "name": "ERROR_NO_SCHEDULED_PAYMENT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1535:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1535:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f5343484544554c45445f5041594d454e54", - "id": 12054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48242c9965a66807015fe42e1feb4465079fd12bf04a3a1b24570d2df6515b81", - "typeString": "literal_string \"FINANCE_NO_SCHEDULED_PAYMENT\"" - }, - "value": "FINANCE_NO_SCHEDULED_PAYMENT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12058, - "name": "ERROR_NO_TRANSACTION", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1624:71:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12056, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1624:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f5452414e53414354494f4e", - "id": 12057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1671:24:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1e87dfa63a7fa93fbf96eab40f01b7e057a0ce0eb12da8a36d7a9b3584faaea", - "typeString": "literal_string \"FINANCE_NO_TRANSACTION\"" - }, - "value": "FINANCE_NO_TRANSACTION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12061, - "name": "ERROR_NO_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1701:61:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12059, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1701:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e4f5f504552494f44", - "id": 12060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1743:19:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1c462d5c2112fe4829843683286df794144b893d493bfb3a201b032dcb0798d", - "typeString": "literal_string \"FINANCE_NO_PERIOD\"" - }, - "value": "FINANCE_NO_PERIOD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12064, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1768:79:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12062, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1768:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5641554c545f4e4f545f434f4e5452414354", - "id": 12063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1819:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f6ce1beb4b1acc923ed553912415389acce4c55b09f8dc923ab624929c3ac7c", - "typeString": "literal_string \"FINANCE_VAULT_NOT_CONTRACT\"" - }, - "value": "FINANCE_VAULT_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12067, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1853:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12065, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1853:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5345545f504552494f445f544f4f5f53484f5254", - "id": 12066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1906:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d68defbc73c3fc3b3e56745e5b7eaa34c1c02c77f264f84307ede2a4bbf3aa49", - "typeString": "literal_string \"FINANCE_SET_PERIOD_TOO_SHORT\"" - }, - "value": "FINANCE_SET_PERIOD_TOO_SHORT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12070, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "1942:89:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12068, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1942:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f414d4f554e545f5a45524f", - "id": 12069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1998:33:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77e3e6c5ab0615514c67af6bb792233c16dfdd95d1c126ef1d02c6fc997e658c", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_AMOUNT_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12073, - "name": "ERROR_NEW_PAYMENT_INTERVAL_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2037:91:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12071, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2037:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f494e5452564c5f5a45524f", - "id": 12072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2095:33:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1f5cef8d0dc37cb952f9621441971350ae577676082774725adafac3a98c5fd6", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_INTRVL_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_INTRVL_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12076, - "name": "ERROR_NEW_PAYMENT_EXECS_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2134:87:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12074, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2134:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f45584543535f5a45524f", - "id": 12075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2189:32:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07ec39532a2245c10fe0f0814a1968914bbb9bf138d1bf6515c0eb7f2367194f", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_EXECS_ZERO\"" - }, - "value": "FINANCE_NEW_PAYMENT_EXECS_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12079, - "name": "ERROR_NEW_PAYMENT_IMMEDIATE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2227:85:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12077, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2227:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4e45575f5041594d454e545f494d4d454449415445", - "id": 12078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2281:31:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0500f0ff3ac1dd20be6d9e9ff72effb99285a08e7b31d52820c22d20213d716", - "typeString": "literal_string \"FINANCE_NEW_PAYMENT_IMMEDIATE\"" - }, - "value": "FINANCE_NEW_PAYMENT_IMMEDIATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12082, - "name": "ERROR_RECOVER_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2318:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2318:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5245434f5645525f414d4f554e545f5a45524f", - "id": 12081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2370:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_887cdae74ca676db86e5ff884d1ed487026a75a5ff2e355b97032d51731277ea", - "typeString": "literal_string \"FINANCE_RECOVER_AMOUNT_ZERO\"" - }, - "value": "FINANCE_RECOVER_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12085, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2405:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12083, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2405:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4445504f5349545f414d4f554e545f5a45524f", - "id": 12084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2457:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6610a3bc46bba63f677fa7f08e3ad8e90ebdf9830290f8fc7b863aca074b39e4", - "typeString": "literal_string \"FINANCE_DEPOSIT_AMOUNT_ZERO\"" - }, - "value": "FINANCE_DEPOSIT_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12088, - "name": "ERROR_ETH_VALUE_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2492:79:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2492:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f4554485f56414c55455f4d49534d41544348", - "id": 12087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2543:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccc088cc9b25ca98929821b5e593c6823fe3548d9e37efa7850333b79341ca5", - "typeString": "literal_string \"FINANCE_ETH_VALUE_MISMATCH\"" - }, - "value": "FINANCE_ETH_VALUE_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12091, - "name": "ERROR_BUDGET", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2577:55:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12089, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2577:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f425544474554", - "id": 12090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2616:16:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a3b0fd663c3f091445c9d2b484685b6976e216ee84e292e1bc26c5f6eb18212d", - "typeString": "literal_string \"FINANCE_BUDGET\"" - }, - "value": "FINANCE_BUDGET" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12094, - "name": "ERROR_EXECUTE_PAYMENT_NUM", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2638:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12092, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2638:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f455845435554455f5041594d454e545f4e554d", - "id": 12093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2690:29:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_49476d78bf03e8ab7a07c0a096caacc3405517496bf2509dbf38f14686eec113", - "typeString": "literal_string \"FINANCE_EXECUTE_PAYMENT_NUM\"" - }, - "value": "FINANCE_EXECUTE_PAYMENT_NUM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12097, - "name": "ERROR_EXECUTE_PAYMENT_TIME", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2725:83:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2725:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f455845435554455f5041594d454e545f54494d45", - "id": 12096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2778:30:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1a736e94274378373cef5c66f5657bcfa50659c24581a0a4bfa668c04678317", - "typeString": "literal_string \"FINANCE_EXECUTE_PAYMENT_TIME\"" - }, - "value": "FINANCE_EXECUTE_PAYMENT_TIME" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12100, - "name": "ERROR_PAYMENT_RECEIVER", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2814:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2814:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5041594d454e545f5245434549564552", - "id": 12099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2863:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e67182ceb919bc28f0bcb16889270f6f64025682424ceb6843d8119099dbeace", - "typeString": "literal_string \"FINANCE_PAYMENT_RECEIVER\"" - }, - "value": "FINANCE_PAYMENT_RECEIVER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12103, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2895:95:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12101, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2895:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f544b4e5f5452414e534645525f46524f4d5f524556455254", - "id": 12102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2956:34:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dcfc1e5582a28e8a93ed58d8b479e8e1dc0c60309652fb2fd25bee148aa0e19b", - "typeString": "literal_string \"FINANCE_TKN_TRANSFER_FROM_REVERT\"" - }, - "value": "FINANCE_TKN_TRANSFER_FROM_REVERT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12106, - "name": "ERROR_TOKEN_APPROVE_FAILED", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "2996:81:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2996:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f544b4e5f415050524f56455f4641494c4544", - "id": 12105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3049:28:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d77d3db2060bb072bb140e0fdca0660dd25613d6b3fabbcc609bc10d926b1f2c", - "typeString": "literal_string \"FINANCE_TKN_APPROVE_FAILED\"" - }, - "value": "FINANCE_TKN_APPROVE_FAILED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12109, - "name": "ERROR_PAYMENT_INACTIVE", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "3083:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12107, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3083:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f5041594d454e545f494e414354495645", - "id": 12108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3132:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb1c85406dbe021dd2fbe569dc1b5134d310d7a785d47610fefcc3150d54bbd0", - "typeString": "literal_string \"FINANCE_PAYMENT_INACTIVE\"" - }, - "value": "FINANCE_PAYMENT_INACTIVE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 12112, - "name": "ERROR_REMAINING_BUDGET", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "3164:75:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 12110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3164:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "46494e414e43455f52454d41494e494e475f425544474554", - "id": 12111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3213:26:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2e378b1bab04e94af1aa86ea6fa9f5c8d9dee3ed82f1b4706d4b3e19e606de9c", - "typeString": "literal_string \"FINANCE_REMAINING_BUDGET\"" - }, - "value": "FINANCE_REMAINING_BUDGET" - }, - "visibility": "private" - }, - { - "canonicalName": "Finance.ScheduledPayment", - "id": 12131, - "members": [ - { - "constant": false, - "id": 12114, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3315:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3315:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12116, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3338:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3338:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12118, - "name": "createdBy", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3364:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3364:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12120, - "name": "inactive", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3391:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12119, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3391:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12122, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3414:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3414:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12124, - "name": "initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3438:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12123, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3438:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12126, - "name": "interval", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3473:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12125, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3473:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12128, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3498:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12127, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3498:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12130, - "name": "executions", - "nodeType": "VariableDeclaration", - "scope": 12131, - "src": "3528:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12129, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3528:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ScheduledPayment", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3281:271:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Transaction", - "id": 12148, - "members": [ - { - "constant": false, - "id": 12133, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3622:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3622:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12135, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3645:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3645:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12137, - "name": "isIncoming", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3669:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12136, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3669:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12139, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3694:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3694:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12141, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3718:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3718:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12143, - "name": "paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3745:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12142, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3745:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12145, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3784:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12144, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3784:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12147, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 12148, - "src": "3805:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12146, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3805:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Transaction", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3593:234:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.TokenStatement", - "id": 12153, - "members": [ - { - "constant": false, - "id": 12150, - "name": "expenses", - "nodeType": "VariableDeclaration", - "scope": 12153, - "src": "3865:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3865:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12152, - "name": "income", - "nodeType": "VariableDeclaration", - "scope": 12153, - "src": "3891:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3891:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenStatement", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3833:79:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Period", - "id": 12166, - "members": [ - { - "constant": false, - "id": 12155, - "name": "startTime", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3942:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12154, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3942:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12157, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3968:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12156, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3968:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12159, - "name": "firstTransactionId", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "3992:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3992:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12161, - "name": "lastTransactionId", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "4028:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4028:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12165, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 12166, - "src": "4063:50:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement)" - }, - "typeName": { - "id": 12164, - "keyType": { - "id": 12162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4072:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4063:35:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement)" - }, - "valueType": { - "contractScope": null, - "id": 12163, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "4083:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Period", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "3918:202:17", - "visibility": "public" - }, - { - "canonicalName": "Finance.Settings", - "id": 12177, - "members": [ - { - "constant": false, - "id": 12168, - "name": "periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4152:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12167, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4152:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12172, - "name": "budgets", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4183:36:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 12171, - "keyType": { - "id": 12169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4192:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4183:28:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 12170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4203:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12176, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 12177, - "src": "4229:35:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 12175, - "keyType": { - "id": 12173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4238:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4229:25:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 12174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4249:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Settings", - "nodeType": "StructDefinition", - "scope": 14010, - "src": "4126:145:17", - "visibility": "public" - }, - { - "constant": false, - "id": 12179, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4277:18:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 12178, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "4277:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12181, - "name": "settings", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4301:26:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings" - }, - "typeName": { - "contractScope": null, - "id": 12180, - "name": "Settings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12177, - "src": "4301:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage_ptr", - "typeString": "struct Finance.Settings" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12185, - "name": "scheduledPayments", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4423:64:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment)" - }, - "typeName": { - "id": 12184, - "keyType": { - "id": 12182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4432:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4423:37:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment)" - }, - "valueType": { - "contractScope": null, - "id": 12183, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "4443:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12187, - "name": "paymentsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4634:32:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4634:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12191, - "name": "transactions", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4673:54:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction)" - }, - "typeName": { - "id": 12190, - "keyType": { - "id": 12188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4682:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4673:32:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction)" - }, - "valueType": { - "contractScope": null, - "id": 12189, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "4693:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12193, - "name": "transactionsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4733:36:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4733:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 12197, - "name": "periods", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4776:43:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period)" - }, - "typeName": { - "id": 12196, - "keyType": { - "id": 12194, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4785:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Mapping", - "src": "4776:26:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period)" - }, - "valueType": { - "contractScope": null, - "id": 12195, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "4795:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12199, - "name": "periodsLength", - "nodeType": "VariableDeclaration", - "scope": 14010, - "src": "4825:27:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12198, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4825:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 12207, - "name": "NewPeriod", - "nodeType": "EventDefinition", - "parameters": { - "id": 12206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12201, - "indexed": true, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4875:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12200, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4875:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12203, - "indexed": false, - "name": "periodStarts", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4900:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12202, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4900:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12205, - "indexed": false, - "name": "periodEnds", - "nodeType": "VariableDeclaration", - "scope": 12207, - "src": "4921:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12204, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4921:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4874:65:17" - }, - "src": "4859:81:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12215, - "name": "SetBudget", - "nodeType": "EventDefinition", - "parameters": { - "id": 12214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12209, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "4961:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4961:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12211, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "4984:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4984:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12213, - "indexed": false, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 12215, - "src": "5000:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12212, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5000:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4960:55:17" - }, - "src": "4945:71:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12225, - "name": "NewPayment", - "nodeType": "EventDefinition", - "parameters": { - "id": 12224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12217, - "indexed": true, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5038:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5038:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12219, - "indexed": true, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5065:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5065:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12221, - "indexed": false, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5092:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12220, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5092:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12223, - "indexed": false, - "name": "reference", - "nodeType": "VariableDeclaration", - "scope": 12225, - "src": "5114:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12222, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5114:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5037:94:17" - }, - "src": "5021:111:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12237, - "name": "NewTransaction", - "nodeType": "EventDefinition", - "parameters": { - "id": 12236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12227, - "indexed": true, - "name": "transactionId", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5158:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12229, - "indexed": false, - "name": "incoming", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5189:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12228, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5189:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12231, - "indexed": true, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5204:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5204:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12233, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5228:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5228:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12235, - "indexed": false, - "name": "reference", - "nodeType": "VariableDeclaration", - "scope": 12237, - "src": "5244:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12234, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5244:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5157:104:17" - }, - "src": "5137:125:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12243, - "name": "ChangePaymentState", - "nodeType": "EventDefinition", - "parameters": { - "id": 12242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12239, - "indexed": true, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12243, - "src": "5292:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5292:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12241, - "indexed": false, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 12243, - "src": "5319:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5319:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5291:40:17" - }, - "src": "5267:65:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12247, - "name": "ChangePeriodDuration", - "nodeType": "EventDefinition", - "parameters": { - "id": 12246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12245, - "indexed": false, - "name": "newDuration", - "nodeType": "VariableDeclaration", - "scope": 12247, - "src": "5364:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12244, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5364:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5363:20:17" - }, - "src": "5337:47:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 12251, - "name": "PaymentFailure", - "nodeType": "EventDefinition", - "parameters": { - "id": 12250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12249, - "indexed": false, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12251, - "src": "5410:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5410:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5409:19:17" - }, - "src": "5389:40:17" - }, - { - "body": { - "id": 12266, - "nodeType": "Block", - "src": "5673:175:17", - "statements": [ - { - "assignments": [ - 12254 - ], - "declarations": [ - { - "constant": false, - "id": 12254, - "name": "completeTransition", - "nodeType": "VariableDeclaration", - "scope": 12267, - "src": "5683:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5683:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12259, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12256, - "name": "getMaxPeriodTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14009, - "src": "5740:23:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5740:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12255, - "name": "_tryTransitionAccountingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13813, - "src": "5709:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_bool_$", - "typeString": "function (uint64) returns (bool)" - } - }, - "id": 12258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5709:57:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5683:83:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12261, - "name": "completeTransition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12254, - "src": "5784:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12262, - "name": "ERROR_COMPLETE_TRANSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "5804:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5776:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5776:54:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12264, - "nodeType": "ExpressionStatement", - "src": "5776:54:17" - }, - { - "id": 12265, - "nodeType": "PlaceholderStatement", - "src": "5840:1:17" - } - ] - }, - "documentation": null, - "id": 12267, - "name": "transitionsPeriod", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12252, - "nodeType": "ParameterList", - "parameters": [], - "src": "5673:0:17" - }, - "src": "5646:202:17", - "visibility": "internal" - }, - { - "body": { - "id": 12283, - "nodeType": "Block", - "src": "5906:113:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12272, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12269, - "src": "5924:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5937:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5924:14:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12275, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12269, - "src": "5942:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12276, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "5955:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5942:30:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5924:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12279, - "name": "ERROR_NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12055, - "src": "5974:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12271, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5916:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5916:85:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12281, - "nodeType": "ExpressionStatement", - "src": "5916:85:17" - }, - { - "id": 12282, - "nodeType": "PlaceholderStatement", - "src": "6011:1:17" - } - ] - }, - "documentation": null, - "id": 12284, - "name": "scheduledPaymentExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12269, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12284, - "src": "5886:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5886:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5885:20:17" - }, - "src": "5854:165:17", - "visibility": "internal" - }, - { - "body": { - "id": 12300, - "nodeType": "Block", - "src": "6076:119:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12289, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12286, - "src": "6094:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6111:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6094:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12292, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12286, - "src": "6116:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12293, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "6133:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6116:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6094:60:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12296, - "name": "ERROR_NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12058, - "src": "6156:20:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6086:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6086:91:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12298, - "nodeType": "ExpressionStatement", - "src": "6086:91:17" - }, - { - "id": 12299, - "nodeType": "PlaceholderStatement", - "src": "6187:1:17" - } - ] - }, - "documentation": null, - "id": 12301, - "name": "transactionExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12286, - "name": "_transactionId", - "nodeType": "VariableDeclaration", - "scope": 12301, - "src": "6052:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6052:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6051:24:17" - }, - "src": "6025:170:17", - "visibility": "internal" - }, - { - "body": { - "id": 12313, - "nodeType": "Block", - "src": "6241:79:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12306, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12303, - "src": "6259:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12307, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "6271:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "6259:25:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12309, - "name": "ERROR_NO_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12061, - "src": "6286:15:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12305, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6251:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6251:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12311, - "nodeType": "ExpressionStatement", - "src": "6251:51:17" - }, - { - "id": 12312, - "nodeType": "PlaceholderStatement", - "src": "6312:1:17" - } - ] - }, - "documentation": null, - "id": 12314, - "name": "periodExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 12304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12303, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 12314, - "src": "6223:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12302, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6223:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6222:18:17" - }, - "src": "6201:119:17", - "visibility": "internal" - }, - { - "body": { - "id": 12339, - "nodeType": "Block", - "src": "6557:221:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12322, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6575:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6575:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6587:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6575:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12326, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12085, - "src": "6590:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6567:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6567:49:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12328, - "nodeType": "ExpressionStatement", - "src": "6567:49:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12330, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "6648:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6665:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6665:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4574686572207472616e7366657220746f2046696e616e636520617070", - "id": 12333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6688:31:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b57949719489bee78e854a942ae31977cce66e975e0c81334ace426f675b89a8", - "typeString": "literal_string \"Ether transfer to Finance app\"" - }, - "value": "Ether transfer to Finance app" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12334, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6733:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6733:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6757:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_b57949719489bee78e854a942ae31977cce66e975e0c81334ace426f675b89a8", - "typeString": "literal_string \"Ether transfer to Finance app\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12329, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "6626:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6626:145:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12338, - "nodeType": "ExpressionStatement", - "src": "6626:145:17" - } - ] - }, - "documentation": "@notice Deposit ETH to the Vault, to avoid locking them in this Finance app forever\n@dev Send ETH to Vault. Send all the available balance.", - "id": 12340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12317, - "modifierName": { - "argumentTypes": null, - "id": 12316, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "6525:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6525:13:17" - }, - { - "arguments": null, - "id": 12319, - "modifierName": { - "argumentTypes": null, - "id": 12318, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "6539:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6539:17:17" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12315, - "nodeType": "ParameterList", - "parameters": [], - "src": "6505:2:17" - }, - "payable": true, - "returnParameters": { - "id": 12320, - "nodeType": "ParameterList", - "parameters": [], - "src": "6557:0:17" - }, - "scope": 14010, - "src": "6496:282:17", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12396, - "nodeType": "Block", - "src": "7133:670:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12349, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "7143:11:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 12350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7143:13:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12351, - "nodeType": "ExpressionStatement", - "src": "7143:13:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12354, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12342, - "src": "7186:6:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 12353, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7175:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 12355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7175:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12356, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12064, - "src": "7195:24:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12352, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7167:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7167:53:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12358, - "nodeType": "ExpressionStatement", - "src": "7167:53:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12359, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "7230:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12360, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12342, - "src": "7238:6:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "7230:14:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 12362, - "nodeType": "ExpressionStatement", - "src": "7230:14:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12364, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12344, - "src": "7263:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12365, - "name": "MINIMUM_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12049, - "src": "7282:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7263:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12367, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12067, - "src": "7298:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12363, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7255:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7255:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12369, - "nodeType": "ExpressionStatement", - "src": "7255:70:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12370, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "7335:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "7335:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12373, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12344, - "src": "7361:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7335:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12375, - "nodeType": "ExpressionStatement", - "src": "7335:41:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12376, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "7521:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12378, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7539:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7521:20:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "7521:29:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7553:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7521:36:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12382, - "nodeType": "ExpressionStatement", - "src": "7521:36:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12383, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "7567:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 12384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7587:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7567:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12386, - "nodeType": "ExpressionStatement", - "src": "7567:21:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12387, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "7698:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 12388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7722:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7698:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12390, - "nodeType": "ExpressionStatement", - "src": "7698:25:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12392, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "7779:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7779:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12391, - "name": "_newPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13585, - "src": "7768:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_struct$_Period_$12166_storage_ptr_$", - "typeString": "function (uint64) returns (struct Finance.Period storage pointer)" - } - }, - "id": 12394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 12395, - "nodeType": "ExpressionStatement", - "src": "7768:28:17" - } - ] - }, - "documentation": "@notice Initialize Finance app for Vault at `_vault` with period length of `@transformTime(_periodDuration)`\n@param _vault Address of the vault Finance will rely on (non changeable)\n@param _periodDuration Duration in seconds of each period", - "id": 12397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12347, - "modifierName": { - "argumentTypes": null, - "id": 12346, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "7124:8:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7124:8:17" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12342, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 12397, - "src": "7077:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 12341, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "7077:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12344, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12397, - "src": "7091:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12343, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "7091:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7076:38:17" - }, - "payable": false, - "returnParameters": { - "id": 12348, - "nodeType": "ParameterList", - "parameters": [], - "src": "7133:0:17" - }, - "scope": 14010, - "src": "7057:746:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12439, - "nodeType": "Block", - "src": "8181:402:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12411, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8199:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8209:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8199:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12414, - "name": "ERROR_DEPOSIT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12085, - "src": "8212:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12410, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8191:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8191:47:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12416, - "nodeType": "ExpressionStatement", - "src": "8191:47:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12417, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12399, - "src": "8252:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12418, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "8262:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8252:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12429, - "nodeType": "IfStatement", - "src": "8248:193:17", - "trueBody": { - "id": 12428, - "nodeType": "Block", - "src": "8267:174:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8383:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8383:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12423, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8396:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8383:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12425, - "name": "ERROR_ETH_VALUE_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12088, - "src": "8405:24:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12420, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8375:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8375:55:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12427, - "nodeType": "ExpressionStatement", - "src": "8375:55:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12431, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12399, - "src": "8473:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12432, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12401, - "src": "8493:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12433, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12403, - "src": "8514:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8538:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8538:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8562:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12430, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "8451:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8451:125:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12438, - "nodeType": "ExpressionStatement", - "src": "8451:125:17" - } - ] - }, - "documentation": "@notice Deposit `@tokenAmount(_token, _amount)`\n@dev Deposit for approved ERC20 tokens or ETH\n@param _token Address of deposited token\n@param _amount Amount of tokens sent\n@param _reference Reason for payment", - "id": 12440, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12406, - "modifierName": { - "argumentTypes": null, - "id": 12405, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "8149:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8149:13:17" - }, - { - "arguments": null, - "id": 12408, - "modifierName": { - "argumentTypes": null, - "id": 12407, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "8163:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8163:17:17" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12399, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8080:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8080:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12401, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8096:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8096:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12403, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12440, - "src": "8113:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12402, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8113:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8079:52:17" - }, - "payable": true, - "returnParameters": { - "id": 12409, - "nodeType": "ParameterList", - "parameters": [], - "src": "8181:0:17" - }, - "scope": 14010, - "src": "8063:520:17", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12483, - "nodeType": "Block", - "src": "9851:346:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12468, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "9869:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9879:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9869:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12471, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12070, - "src": "9882:29:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9861:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9861:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12473, - "nodeType": "ExpressionStatement", - "src": "9861:51:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12475, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9960:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12476, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12444, - "src": "9980:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12477, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "10003:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12478, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12026, - "src": "10024:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 12479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10109:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 12480, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "10170:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 12474, - "name": "_makePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "9923:23:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 12481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9923:267:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12482, - "nodeType": "ExpressionStatement", - "src": "9923:267:17" - } - ] - }, - "documentation": "@notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for '`_reference`'\n@dev Note that this function is protected by the `CREATE_PAYMENTS_ROLE` but uses `MAX_UINT256`\n as its interval auth parameter (as a sentinel value for \"never repeating\").\n While this protects against most cases (you typically want to set a baseline requirement\n for interval time), it does mean users will have to explicitly check for this case when\n granting a permission that includes a upperbound requirement on the interval time.\n@param _token Address of token for payment\n@param _receiver Address that will receive payment\n@param _amount Tokens that are paid every time the payment is due\n@param _reference String detailing payment reason", - "id": 12484, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12451, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12003, - "src": "9724:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12453, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9751:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12454, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12444, - "src": "9759:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12455, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12446, - "src": "9770:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12456, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12038, - "src": "9779:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 12458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9800:1:17", - "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" - } - ], - "id": 12457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9792:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9792:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12460, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "9804:12:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 12461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9804:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12452, - "name": "_arr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14001, - "src": "9746:4:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9746:73:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12463, - "modifierName": { - "argumentTypes": null, - "id": 12450, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9718:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9718:102:17" - }, - { - "arguments": null, - "id": 12465, - "modifierName": { - "argumentTypes": null, - "id": 12464, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "9829:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9829:17:17" - } - ], - "name": "newImmediatePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12442, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9452:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12441, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9452:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12444, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9468:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9468:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12446, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9487:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9487:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12448, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12484, - "src": "9504:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12447, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9504:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9451:71:17" - }, - "payable": false, - "returnParameters": { - "id": 12466, - "nodeType": "ParameterList", - "parameters": [], - "src": "9851:0:17" - }, - "scope": 14010, - "src": "9423:774:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12637, - "nodeType": "Block", - "src": "11513:1334:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12523, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11531:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11541:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11531:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12526, - "name": "ERROR_NEW_PAYMENT_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12070, - "src": "11544:29:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11523:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11523:51:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12528, - "nodeType": "ExpressionStatement", - "src": "11523:51:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12530, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "11592:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11604:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11592:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12533, - "name": "ERROR_NEW_PAYMENT_INTERVAL_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12073, - "src": "11607:31:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12529, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11584:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11584:55:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12535, - "nodeType": "ExpressionStatement", - "src": "11584:55:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12537, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "11657:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11674:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11657:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12540, - "name": "ERROR_NEW_PAYMENT_EXECS_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12076, - "src": "11677:28:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12536, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11649:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11649:57:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12542, - "nodeType": "ExpressionStatement", - "src": "11649:57:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11831:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12544, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "11832:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "11832:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12547, - "indexExpression": { - "argumentTypes": null, - "id": 12546, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11851:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11832:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12549, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "11862:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "11862:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12552, - "indexExpression": { - "argumentTypes": null, - "id": 12551, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11879:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11862:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12553, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11890:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11862:35:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11831:66:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12556, - "name": "ERROR_BUDGET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12091, - "src": "11899:12:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12543, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11823:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11823:89:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12558, - "nodeType": "ExpressionStatement", - "src": "11823:89:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12559, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12044:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12062:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12044:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12571, - "nodeType": "IfStatement", - "src": "12040:126:17", - "trueBody": { - "id": 12570, - "nodeType": "Block", - "src": "12065:101:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12563, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "12087:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12564, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12109:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 12565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12109:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12087:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12567, - "name": "ERROR_NEW_PAYMENT_IMMEDIATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12079, - "src": "12127:27:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12562, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12079:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12079:76:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12569, - "nodeType": "ExpressionStatement", - "src": "12079:76:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 12575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12572, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12176:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12188:19:17", - "subExpression": { - "argumentTypes": null, - "id": 12573, - "name": "paymentsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12187, - "src": "12188:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12176:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12576, - "nodeType": "ExpressionStatement", - "src": "12176:31:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12578, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12233:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12579, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "12244:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12580, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12255:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 12581, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12498, - "src": "12271:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 12577, - "name": "NewPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12225, - "src": "12222:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,uint64,string memory)" - } - }, - "id": 12582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12222:60:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12583, - "nodeType": "EmitStatement", - "src": "12217:65:17" - }, - { - "assignments": [ - 12585 - ], - "declarations": [ - { - "constant": false, - "id": 12585, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "12293:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 12584, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "12293:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12586, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "12328:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12588, - "indexExpression": { - "argumentTypes": null, - "id": 12587, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12346:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12328:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12293:63:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12590, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12366:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "12366:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12593, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "12382:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12366:22:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12595, - "nodeType": "ExpressionStatement", - "src": "12366:22:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12596, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12398:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "12398:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12599, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "12417:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12398:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12601, - "nodeType": "ExpressionStatement", - "src": "12398:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12602, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12436:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "12436:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12605, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "12453:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12436:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12607, - "nodeType": "ExpressionStatement", - "src": "12436:24:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12608, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12470:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "12470:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12611, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "12499:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12470:48:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12613, - "nodeType": "ExpressionStatement", - "src": "12470:48:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12614, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12528:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "12528:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12617, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "12547:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12528:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12619, - "nodeType": "ExpressionStatement", - "src": "12528:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12620, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12566:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "12566:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12623, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "12590:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12566:38:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12625, - "nodeType": "ExpressionStatement", - "src": "12566:38:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12626, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12585, - "src": "12614:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "createdBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 12118, - "src": "12614:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12629, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12634:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12634:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12614:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12632, - "nodeType": "ExpressionStatement", - "src": "12614:30:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12634, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12520, - "src": "12830:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12633, - "name": "_executePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13424, - "src": "12814:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 12635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12814:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12636, - "nodeType": "ExpressionStatement", - "src": "12814:26:17" - } - ] - }, - "documentation": "@notice Create a new payment of `@tokenAmount(_token, _amount)` to `_receiver` for `_reference`, executing `_maxExecutions` times at intervals of `@transformTime(_interval)`\n@dev See `newImmediatePayment()` for limitations on how the interval auth parameter can be used\n@param _token Address of token for payment\n@param _receiver Address that will receive payment\n@param _amount Tokens that are paid every time the payment is due\n@param _initialPaymentTime Timestamp for when the first payment is done\n@param _interval Number of seconds that need to pass between payment transactions\n@param _maxExecutions Maximum instances a payment can be executed\n@param _reference String detailing payment reason", - "id": 12638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12501, - "name": "CREATE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12003, - "src": "11316:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12503, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12486, - "src": "11343:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12504, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12488, - "src": "11351:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12505, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12490, - "src": "11362:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12507, - "name": "_interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12494, - "src": "11379:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11371:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11371:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12510, - "name": "_maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12496, - "src": "11399:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11391:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11391:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12513, - "name": "_initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12492, - "src": "11424:19:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11416:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11416:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12502, - "name": "_arr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14001, - "src": "11338:4:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11338:107:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12516, - "modifierName": { - "argumentTypes": null, - "id": 12500, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11310:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11310:136:17" - }, - { - "arguments": null, - "id": 12518, - "modifierName": { - "argumentTypes": null, - "id": 12517, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "11455:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11455:17:17" - } - ], - "name": "newScheduledPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12486, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11010:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11010:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12488, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11034:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11034:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12490, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11061:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12489, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11061:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12492, - "name": "_initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11086:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12491, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11086:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12494, - "name": "_interval", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11122:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12493, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11122:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12496, - "name": "_maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11148:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12495, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11148:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12498, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11179:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12497, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11179:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11000:202:17" - }, - "payable": false, - "returnParameters": { - "id": 12521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12520, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 12638, - "src": "11490:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11489:19:17" - }, - "scope": 14010, - "src": "10972:1875:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12674, - "nodeType": "Block", - "src": "13249:190:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 12660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12658, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13267:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12659, - "name": "MINIMUM_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12049, - "src": "13286:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13267:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12661, - "name": "ERROR_SET_PERIOD_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12067, - "src": "13302:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12657, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13259:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13259:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12663, - "nodeType": "ExpressionStatement", - "src": "13259:70:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12664, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13339:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "13339:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12667, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13365:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13339:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12669, - "nodeType": "ExpressionStatement", - "src": "13339:41:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12671, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13416:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12670, - "name": "ChangePeriodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12247, - "src": "13395:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 12672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13395:37:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12673, - "nodeType": "EmitStatement", - "src": "13390:42:17" - } - ] - }, - "documentation": "@notice Change period duration to `@transformTime(_periodDuration)`, effective for next accounting period\n@param _periodDuration Duration in seconds for accounting periods", - "id": 12675, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12643, - "name": "CHANGE_PERIOD_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12008, - "src": "13134:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12646, - "name": "_periodDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "13166:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13158:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13158:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12649, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13192:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "13192:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13184:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13184:32:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12644, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "13154:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13154:63:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12653, - "modifierName": { - "argumentTypes": null, - "id": 12642, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13128:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13128:90:17" - }, - { - "arguments": null, - "id": 12655, - "modifierName": { - "argumentTypes": null, - "id": 12654, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "13227:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "13227:17:17" - } - ], - "name": "setPeriodDuration", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12640, - "name": "_periodDuration", - "nodeType": "VariableDeclaration", - "scope": 12675, - "src": "13079:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12639, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13079:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13078:24:17" - }, - "payable": false, - "returnParameters": { - "id": 12656, - "nodeType": "ParameterList", - "parameters": [], - "src": "13249:0:17" - }, - "scope": 14010, - "src": "13052:387:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12733, - "nodeType": "Block", - "src": "13906:198:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12704, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13916:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "13916:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12708, - "indexExpression": { - "argumentTypes": null, - "id": 12706, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13933:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13916:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12709, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "13943:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13916:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12711, - "nodeType": "ExpressionStatement", - "src": "13916:34:17" - }, - { - "condition": { - "argumentTypes": null, - "id": 12716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13964:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12712, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13965:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "13965:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12715, - "indexExpression": { - "argumentTypes": null, - "id": 12714, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13984:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13965:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12726, - "nodeType": "IfStatement", - "src": "13960:91:17", - "trueBody": { - "id": 12725, - "nodeType": "Block", - "src": "13993:58:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12717, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14007:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14007:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12721, - "indexExpression": { - "argumentTypes": null, - "id": 12719, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "14026:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14007:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14036:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14007:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12724, - "nodeType": "ExpressionStatement", - "src": "14007:33:17" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12728, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "14075:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12729, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "14083:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 12730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14092:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12727, - "name": "SetBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12215, - "src": "14065:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 12731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14065:32:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12732, - "nodeType": "EmitStatement", - "src": "14060:37:17" - } - ] - }, - "documentation": "@notice Set budget for `_token.symbol(): string` to `@tokenAmount(_token, _amount, false)`, effective immediately\n@param _token Address for token\n@param _amount New budget amount", - "id": 12734, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12682, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12013, - "src": "13762:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12684, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13787:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12685, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12679, - "src": "13795:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12686, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13804:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "13804:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12689, - "indexExpression": { - "argumentTypes": null, - "id": 12688, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13821:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13804:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12691, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "13838:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "13838:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12694, - "indexExpression": { - "argumentTypes": null, - "id": 12693, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12677, - "src": "13857:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13838:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13871:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "13838:34:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13867:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13830:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13830:43:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12683, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21941, - "src": "13783:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13783:91:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12700, - "modifierName": { - "argumentTypes": null, - "id": 12681, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13756:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13756:119:17" - }, - { - "arguments": null, - "id": 12702, - "modifierName": { - "argumentTypes": null, - "id": 12701, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "13884:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "13884:17:17" - } - ], - "name": "setBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12677, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12734, - "src": "13685:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13685:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12679, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 12734, - "src": "13709:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13709:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13675:55:17" - }, - "payable": false, - "returnParameters": { - "id": 12703, - "nodeType": "ParameterList", - "parameters": [], - "src": "13906:0:17" - }, - "scope": 14010, - "src": "13657:447:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12785, - "nodeType": "Block", - "src": "14468:131:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12763, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14478:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "14478:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12767, - "indexExpression": { - "argumentTypes": null, - "id": 12765, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14495:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14478:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14505:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14478:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12770, - "nodeType": "ExpressionStatement", - "src": "14478:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12771, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14516:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14516:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12775, - "indexExpression": { - "argumentTypes": null, - "id": 12773, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14535:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14516:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14545:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14516:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12778, - "nodeType": "ExpressionStatement", - "src": "14516:34:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12780, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14575:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 12781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14583:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14586:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12779, - "name": "SetBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12215, - "src": "14565:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 12783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14565:27:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12784, - "nodeType": "EmitStatement", - "src": "14560:32:17" - } - ] - }, - "documentation": "@notice Remove spending limit for `_token.symbol(): string`, effective immediately\n@param _token Address for token", - "id": 12786, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12739, - "name": "CHANGE_BUDGETS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12013, - "src": "14321:19:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12741, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14346:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 12743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14362:1:17", - "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": 12742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14354:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14354:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12745, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14366:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12746, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "14366:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12748, - "indexExpression": { - "argumentTypes": null, - "id": 12747, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14383:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14366:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12750, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "14400:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 12751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "14400:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 12753, - "indexExpression": { - "argumentTypes": null, - "id": 12752, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12736, - "src": "14419:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14400:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14433:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14400:34:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14429:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14392:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14392:43:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12740, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21941, - "src": "14342:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14342:94:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12759, - "modifierName": { - "argumentTypes": null, - "id": 12738, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "14315:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14315:122:17" - }, - { - "arguments": null, - "id": 12761, - "modifierName": { - "argumentTypes": null, - "id": 12760, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "14446:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14446:17:17" - } - ], - "name": "removeBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12736, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12786, - "src": "14274:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14274:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14273:16:17" - }, - "payable": false, - "returnParameters": { - "id": 12762, - "nodeType": "ParameterList", - "parameters": [], - "src": "14468:0:17" - }, - "scope": 14010, - "src": "14252:347:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12810, - "nodeType": "Block", - "src": "14993:55:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12807, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "15030:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12806, - "name": "_executePaymentAtLeastOnce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13458, - "src": "15003:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:38:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12809, - "nodeType": "ExpressionStatement", - "src": "15003:38:17" - } - ] - }, - "documentation": "@notice Execute pending payment #`_paymentId`\n@dev Executes any payment (requires role)\n@param _paymentId Identifier for payment", - "id": 12811, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12791, - "name": "EXECUTE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12018, - "src": "14842:21:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12793, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14869:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12794, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "14881:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12796, - "indexExpression": { - "argumentTypes": null, - "id": 12795, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14899:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14881:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "14881:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12792, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "14865:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14865:53:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12799, - "modifierName": { - "argumentTypes": null, - "id": 12790, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "14836:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14836:83:17" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 12801, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "14951:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12802, - "modifierName": { - "argumentTypes": null, - "id": 12800, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "14928:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14928:34:17" - }, - { - "arguments": null, - "id": 12804, - "modifierName": { - "argumentTypes": null, - "id": 12803, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "14971:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14971:17:17" - } - ], - "name": "executePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12788, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12811, - "src": "14791:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14791:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14790:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12805, - "nodeType": "ParameterList", - "parameters": [], - "src": "14993:0:17" - }, - "scope": 14010, - "src": "14767:281:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12836, - "nodeType": "Block", - "src": "15550:150:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12822, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "15568:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12824, - "indexExpression": { - "argumentTypes": null, - "id": 12823, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15586:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15568:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "15568:38:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12826, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15610:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15610:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15568:52:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12829, - "name": "ERROR_PAYMENT_RECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12100, - "src": "15622:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15560:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15560:85:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12831, - "nodeType": "ExpressionStatement", - "src": "15560:85:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12833, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15682:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12832, - "name": "_executePaymentAtLeastOnce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13458, - "src": "15655:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15655:38:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12835, - "nodeType": "ExpressionStatement", - "src": "15655:38:17" - } - ] - }, - "documentation": "@notice Execute pending payment #`_paymentId`\n@dev Always allow receiver of a payment to trigger execution\n Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n scheduled payments can only be created via `newScheduledPayment(),` which requires initialization\n@param _paymentId Identifier for payment", - "id": 12837, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12816, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12813, - "src": "15520:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12817, - "modifierName": { - "argumentTypes": null, - "id": 12815, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "15497:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15497:34:17" - }, - { - "arguments": null, - "id": 12819, - "modifierName": { - "argumentTypes": null, - "id": 12818, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "15532:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15532:17:17" - } - ], - "name": "receiverExecutePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12813, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12837, - "src": "15468:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15468:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15467:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12820, - "nodeType": "ParameterList", - "parameters": [], - "src": "15550:0:17" - }, - "scope": 14010, - "src": "15436:264:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12872, - "nodeType": "Block", - "src": "16397:120:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12859, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "16407:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12861, - "indexExpression": { - "argumentTypes": null, - "id": 12860, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16425:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16407:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "16407:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16448:8:17", - "subExpression": { - "argumentTypes": null, - "id": 12863, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16449:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16407:49:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12866, - "nodeType": "ExpressionStatement", - "src": "16407:49:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16490:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12869, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16502:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12867, - "name": "ChangePaymentState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "16471:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16471:39:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12871, - "nodeType": "EmitStatement", - "src": "16466:44:17" - } - ] - }, - "documentation": "@notice `_active ? 'Activate' : 'Disable'` payment #`_paymentId`\n@dev Note that we do not require this action to transition periods, as it doesn't directly\n impact any accounting periods.\n Not having to transition periods also makes disabling payments easier to prevent funds\n from being pulled out in the event of a breach.\n@param _paymentId Identifier for payment\n@param _active Whether it will be active or inactive", - "id": 12873, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12844, - "name": "MANAGE_PAYMENTS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12023, - "src": "16285:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12846, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16311:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 12848, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "16331:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16345:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 12851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16331:15:17", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 12849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16341:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 12847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16323:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 12852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16323:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12845, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "16307:3:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 12853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16307:41:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 12854, - "modifierName": { - "argumentTypes": null, - "id": 12843, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "16279:5:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16279:70:17" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 12856, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12839, - "src": "16381:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12857, - "modifierName": { - "argumentTypes": null, - "id": 12855, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "16358:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "16358:34:17" - } - ], - "name": "setPaymentStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12839, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 12873, - "src": "16220:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16220:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12841, - "name": "_active", - "nodeType": "VariableDeclaration", - "scope": 12873, - "src": "16240:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12840, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16240:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16219:34:17" - }, - "payable": false, - "returnParameters": { - "id": 12858, - "nodeType": "ParameterList", - "parameters": [], - "src": "16397:0:17" - }, - "scope": 14010, - "src": "16194:323:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12918, - "nodeType": "Block", - "src": "17011:321:17", - "statements": [ - { - "assignments": [ - 12883 - ], - "declarations": [ - { - "constant": false, - "id": 12883, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 12919, - "src": "17021:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17021:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 12886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12884, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17038:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 12885, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "17048:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17038:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17116:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17108:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17108:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12892, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17084:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12891, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17078:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 12893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17078:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 12894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "17078:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17078:44:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "17038:84:17", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12888, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17062:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17054:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17054:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17054:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17021:101:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12902, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12883, - "src": "17140:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17149:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17140:10:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 12905, - "name": "ERROR_RECOVER_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12082, - "src": "17152:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 12901, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17132:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17132:46:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12907, - "nodeType": "ExpressionStatement", - "src": "17132:46:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12909, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12875, - "src": "17211:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12910, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12883, - "src": "17231:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "5265636f76657220746f205661756c74", - "id": 12911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17251:18:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44b346127d1482933635aa4b55865bc72d4d3e4d60d301bd26394661695fe15d", - "typeString": "literal_string \"Recover to Vault\"" - }, - "value": "Recover to Vault" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12913, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "17291:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 12912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17283:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 12914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17283:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17310:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_44b346127d1482933635aa4b55865bc72d4d3e4d60d301bd26394661695fe15d", - "typeString": "literal_string \"Recover to Vault\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 12908, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13348, - "src": "17189:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,string memory,address,bool)" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17189:136:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12917, - "nodeType": "ExpressionStatement", - "src": "17189:136:17" - } - ] - }, - "documentation": "@notice Send tokens held in this contract to the Vault\n@dev Allows making a simple payment from this contract to the Vault, to avoid locked tokens.\n This contract should never receive tokens with a simple transfer call, but in case it\n happens, this function allows for their recovery.\n@param _token Token whose balance is going to be transferred.", - "id": 12919, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12878, - "modifierName": { - "argumentTypes": null, - "id": 12877, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "16979:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16979:13:17" - }, - { - "arguments": null, - "id": 12880, - "modifierName": { - "argumentTypes": null, - "id": 12879, - "name": "transitionsPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12267, - "src": "16993:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16993:17:17" - } - ], - "name": "recoverToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12875, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 12919, - "src": "16954:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16954:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16953:16:17" - }, - "payable": false, - "returnParameters": { - "id": 12881, - "nodeType": "ParameterList", - "parameters": [], - "src": "17011:0:17" - }, - "scope": 14010, - "src": "16930:402:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12932, - "nodeType": "Block", - "src": "17995:71:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12929, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12921, - "src": "18043:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 12928, - "name": "_tryTransitionAccountingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13813, - "src": "18012:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_bool_$", - "typeString": "function (uint64) returns (bool)" - } - }, - "id": 12930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18012:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 12927, - "id": 12931, - "nodeType": "Return", - "src": "18005:54:17" - } - ] - }, - "documentation": "@notice Transition accounting period if needed\n@dev Transitions accounting periods if needed. For preventing OOG attacks, a maxTransitions\n param is provided. If more than the specified number of periods need to be transitioned,\n it will return false.\n@param _maxTransitions Maximum periods that can be transitioned\n@return success Boolean indicating whether the accounting period is the correct one (if false,\n maxTransitions was surpased and another call is needed)", - "id": 12933, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 12924, - "modifierName": { - "argumentTypes": null, - "id": 12923, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "17958:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17958:13:17" - } - ], - "name": "tryTransitionAccountingPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12921, - "name": "_maxTransitions", - "nodeType": "VariableDeclaration", - "scope": 12933, - "src": "17925:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12920, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "17925:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17924:24:17" - }, - "payable": false, - "returnParameters": { - "id": 12927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12926, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 12933, - "src": "17981:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17981:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17980:14:17" - }, - "scope": 14010, - "src": "17886:180:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 12944, - "nodeType": "Block", - "src": "18433:41:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18450:17:17", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 12940, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "18451:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 12941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18451:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 12939, - "id": 12943, - "nodeType": "Return", - "src": "18443:24:17" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch if the app has been initialized, as it could be used\n maliciously to transfer funds in the Finance app to another Vault\n finance#recoverToVault() should be used to recover funds to the Finance's vault", - "id": 12945, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12935, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 12945, - "src": "18397:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12934, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18397:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18396:9:17" - }, - "payable": false, - "returnParameters": { - "id": 12939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 12945, - "src": "18427:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12937, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18427:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18426:6:17" - }, - "scope": 14010, - "src": "18368:106:17", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 13022, - "nodeType": "Block", - "src": "18898:441:17", - "statements": [ - { - "assignments": [ - 12972 - ], - "declarations": [ - { - "constant": false, - "id": 12972, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18908:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 12971, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "18908:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12976, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12973, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "18943:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 12975, - "indexExpression": { - "argumentTypes": null, - "id": 12974, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12947, - "src": "18961:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18943:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18908:64:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12977, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12953, - "src": "18983:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12978, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "18991:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "18991:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18983:21:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12981, - "nodeType": "ExpressionStatement", - "src": "18983:21:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12982, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12955, - "src": "19014:8:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12983, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19025:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "19025:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19014:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12986, - "nodeType": "ExpressionStatement", - "src": "19014:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12987, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12957, - "src": "19051:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12988, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19060:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "19060:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19051:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12991, - "nodeType": "ExpressionStatement", - "src": "19051:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 12995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12992, - "name": "initialPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12959, - "src": "19084:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12993, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19105:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "19105:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19084:47:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 12996, - "nodeType": "ExpressionStatement", - "src": "19084:47:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12997, - "name": "interval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12961, - "src": "19141:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12998, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19152:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 12999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "19152:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19141:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13001, - "nodeType": "ExpressionStatement", - "src": "19141:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13002, - "name": "maxExecutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12963, - "src": "19178:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13003, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19194:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "19194:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19178:37:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13006, - "nodeType": "ExpressionStatement", - "src": "19178:37:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13007, - "name": "executions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12967, - "src": "19225:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13008, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19238:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "19238:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19225:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13011, - "nodeType": "ExpressionStatement", - "src": "19225:31:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13012, - "name": "inactive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12965, - "src": "19266:8:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13013, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19277:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "19277:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19266:27:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13016, - "nodeType": "ExpressionStatement", - "src": "19266:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13017, - "name": "createdBy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "19303:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13018, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12972, - "src": "19315:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 12118, - "src": "19315:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19303:29:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13021, - "nodeType": "ExpressionStatement", - "src": "19303:29:17" - } - ] - }, - "documentation": null, - "id": 13023, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 12950, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12947, - "src": "18579:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12951, - "modifierName": { - "argumentTypes": null, - "id": 12949, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "18556:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "18556:34:17" - } - ], - "name": "getPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 12948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12947, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18500:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18500:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18499:20:17" - }, - "payable": false, - "returnParameters": { - "id": 12970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12953, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18621:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18621:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12955, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18648:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18648:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12957, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18678:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18678:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12959, - "name": "initialPaymentTime", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18706:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12958, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18706:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12961, - "name": "interval", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18745:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12960, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18745:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12963, - "name": "maxExecutions", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18774:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12962, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18774:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12965, - "name": "inactive", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18808:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 12964, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18808:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12967, - "name": "executions", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18835:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 12966, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "18835:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12969, - "name": "createdBy", - "nodeType": "VariableDeclaration", - "scope": 13023, - "src": "18866:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18866:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18607:286:17" - }, - "scope": 14010, - "src": "18480:859:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13093, - "nodeType": "Block", - "src": "19734:420:17", - "statements": [ - { - "assignments": [ - 13048 - ], - "declarations": [ - { - "constant": false, - "id": 13048, - "name": "transaction", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19744:31:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 13047, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "19744:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13052, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13049, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "19778:12:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction storage ref)" - } - }, - "id": 13051, - "indexExpression": { - "argumentTypes": null, - "id": 13050, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13025, - "src": "19791:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19778:28:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage", - "typeString": "struct Finance.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19744:62:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13053, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13039, - "src": "19817:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13054, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19825:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12133, - "src": "19825:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19817:25:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13057, - "nodeType": "ExpressionStatement", - "src": "19817:25:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13058, - "name": "entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "19852:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13059, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19861:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13060, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "entity", - "nodeType": "MemberAccess", - "referencedDeclaration": 12135, - "src": "19861:18:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19852:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13062, - "nodeType": "ExpressionStatement", - "src": "19852:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13063, - "name": "isIncoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13043, - "src": "19889:10:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13064, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19902:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isIncoming", - "nodeType": "MemberAccess", - "referencedDeclaration": 12137, - "src": "19902:22:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19889:35:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13067, - "nodeType": "ExpressionStatement", - "src": "19889:35:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13068, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13045, - "src": "19934:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13069, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19941:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 12145, - "src": "19941:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19934:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13072, - "nodeType": "ExpressionStatement", - "src": "19934:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13073, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13031, - "src": "19967:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13074, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "19978:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12147, - "src": "19978:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "19967:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13077, - "nodeType": "ExpressionStatement", - "src": "19967:31:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13078, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "20008:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13079, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20017:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12139, - "src": "20017:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20008:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13082, - "nodeType": "ExpressionStatement", - "src": "20008:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13083, - "name": "paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13035, - "src": "20045:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13084, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20057:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13085, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paymentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12141, - "src": "20057:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20045:33:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13087, - "nodeType": "ExpressionStatement", - "src": "20045:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13088, - "name": "paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13037, - "src": "20088:22:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13089, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13048, - "src": "20113:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paymentExecutionNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 12143, - "src": "20113:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20088:59:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13092, - "nodeType": "ExpressionStatement", - "src": "20088:59:17" - } - ] - }, - "documentation": null, - "id": 13094, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13028, - "name": "_transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13025, - "src": "19447:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 13029, - "modifierName": { - "argumentTypes": null, - "id": 13027, - "name": "transactionExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12301, - "src": "19429:17:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "19429:33:17" - } - ], - "name": "getTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13025, - "name": "_transactionId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19369:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19369:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19368:24:17" - }, - "payable": false, - "returnParameters": { - "id": 13046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13031, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19493:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13030, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19493:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13033, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19522:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19522:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13035, - "name": "paymentId", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19550:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19550:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13037, - "name": "paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19581:29:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13036, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19581:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13039, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19624:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13038, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19624:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13041, - "name": "entity", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19651:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19651:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13043, - "name": "isIncoming", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19679:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13042, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19679:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13045, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 13094, - "src": "19708:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13044, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "19708:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19479:250:17" - }, - "scope": 14010, - "src": "19345:809:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13145, - "nodeType": "Block", - "src": "20453:296:17", - "statements": [ - { - "assignments": [ - 13113 - ], - "declarations": [ - { - "constant": false, - "id": 13113, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20463:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13112, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "20463:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13117, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13114, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "20487:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13116, - "indexExpression": { - "argumentTypes": null, - "id": 13115, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20495:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20487:18:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20463:42:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13118, - "name": "isCurrent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13102, - "src": "20516:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13119, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "20528:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20528:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13121, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20550:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20528:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20516:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13124, - "nodeType": "ExpressionStatement", - "src": "20516:43:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13125, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13104, - "src": "20570:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13126, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20582:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "20582:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20570:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13129, - "nodeType": "ExpressionStatement", - "src": "20570:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13130, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13106, - "src": "20608:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13131, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20618:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "20618:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "20608:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13134, - "nodeType": "ExpressionStatement", - "src": "20608:24:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13135, - "name": "firstTransactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13108, - "src": "20642:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13136, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20663:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "20663:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20642:46:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13139, - "nodeType": "ExpressionStatement", - "src": "20642:46:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13140, - "name": "lastTransactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13110, - "src": "20698:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13141, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13113, - "src": "20718:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12161, - "src": "20718:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20698:44:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13144, - "nodeType": "ExpressionStatement", - "src": "20698:44:17" - } - ] - }, - "documentation": null, - "id": 13146, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13099, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13096, - "src": "20246:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 13100, - "modifierName": { - "argumentTypes": null, - "id": 13098, - "name": "periodExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12314, - "src": "20233:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "20233:23:17" - } - ], - "name": "getPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13096, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20179:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13095, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20179:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20178:18:17" - }, - "payable": false, - "returnParameters": { - "id": 13111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13102, - "name": "isCurrent", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20287:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13101, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20287:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13104, - "name": "startTime", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20315:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13103, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20315:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13106, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20345:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13105, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20345:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13108, - "name": "firstTransactionId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20373:26:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20373:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13110, - "name": "lastTransactionId", - "nodeType": "VariableDeclaration", - "scope": 13146, - "src": "20413:25:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20413:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20273:175:17" - }, - "scope": 14010, - "src": "20160:589:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13179, - "nodeType": "Block", - "src": "20937:182:17", - "statements": [ - { - "assignments": [ - 13161 - ], - "declarations": [ - { - "constant": false, - "id": 13161, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20947:37:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - }, - "typeName": { - "contractScope": null, - "id": 13160, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "20947:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13168, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13162, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "20987:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13164, - "indexExpression": { - "argumentTypes": null, - "id": 13163, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13148, - "src": "20995:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20987:18:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "20987:33:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13167, - "indexExpression": { - "argumentTypes": null, - "id": 13166, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13150, - "src": "21021:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20987:41:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20947:81:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13169, - "name": "expenses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13156, - "src": "21038:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13170, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13161, - "src": "21049:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "21049:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21038:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13173, - "nodeType": "ExpressionStatement", - "src": "21038:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13174, - "name": "income", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13158, - "src": "21082:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13175, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13161, - "src": "21091:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "21091:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21082:30:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13178, - "nodeType": "ExpressionStatement", - "src": "21082:30:17" - } - ] - }, - "documentation": null, - "id": 13180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13153, - "name": "_periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13148, - "src": "20871:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 13154, - "modifierName": { - "argumentTypes": null, - "id": 13152, - "name": "periodExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12314, - "src": "20858:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "20858:23:17" - } - ], - "name": "getPeriodTokenStatement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13148, - "name": "_periodId", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20788:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13147, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "20788:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13150, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20806:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20806:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20787:34:17" - }, - "payable": false, - "returnParameters": { - "id": 13159, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13156, - "name": "expenses", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20899:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20899:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13158, - "name": "income", - "nodeType": "VariableDeclaration", - "scope": 13180, - "src": "20917:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20917:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20898:34:17" - }, - "scope": 14010, - "src": "20755:364:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13190, - "nodeType": "Block", - "src": "21302:42:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13187, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "21319:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21319:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13186, - "id": 13189, - "nodeType": "Return", - "src": "21312:25:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as periods are only valid after initializing", - "id": 13191, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13183, - "modifierName": { - "argumentTypes": null, - "id": 13182, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21271:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21271:13:17" - } - ], - "name": "currentPeriodId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13181, - "nodeType": "ParameterList", - "parameters": [], - "src": "21256:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13185, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13191, - "src": "21294:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13184, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21294:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21293:8:17" - }, - "scope": 14010, - "src": "21232:112:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13201, - "nodeType": "Block", - "src": "21529:47:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13198, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21546:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "21546:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13197, - "id": 13200, - "nodeType": "Return", - "src": "21539:30:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as periods are only valid after initializing", - "id": 13202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13194, - "modifierName": { - "argumentTypes": null, - "id": 13193, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21498:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21498:13:17" - } - ], - "name": "getPeriodDuration", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13192, - "nodeType": "ParameterList", - "parameters": [], - "src": "21483:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13196, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13202, - "src": "21521:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13195, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21521:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21520:8:17" - }, - "scope": 14010, - "src": "21457:119:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13227, - "nodeType": "Block", - "src": "21791:98:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13213, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13209, - "src": "21801:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13214, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21810:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "21810:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13217, - "indexExpression": { - "argumentTypes": null, - "id": 13216, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13204, - "src": "21827:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21810:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21801:33:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13219, - "nodeType": "ExpressionStatement", - "src": "21801:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13220, - "name": "hasBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "21844:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13221, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "21856:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "21856:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 13224, - "indexExpression": { - "argumentTypes": null, - "id": 13223, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13204, - "src": "21875:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21856:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21844:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13226, - "nodeType": "ExpressionStatement", - "src": "21844:38:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13228, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13207, - "modifierName": { - "argumentTypes": null, - "id": 13206, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "21736:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21736:13:17" - } - ], - "name": "getBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13204, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21708:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21708:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21707:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13209, - "name": "budget", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21759:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21759:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13211, - "name": "hasBudget", - "nodeType": "VariableDeclaration", - "scope": 13228, - "src": "21775:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13210, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21775:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21758:32:17" - }, - "scope": 14010, - "src": "21689:200:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13241, - "nodeType": "Block", - "src": "22090:51:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13238, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13230, - "src": "22127:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13237, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "22107:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22107:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13236, - "id": 13240, - "nodeType": "Return", - "src": "22100:34:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13233, - "modifierName": { - "argumentTypes": null, - "id": 13232, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "22058:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "22058:13:17" - } - ], - "name": "getRemainingBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13230, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13242, - "src": "22030:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22030:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22029:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13242, - "src": "22081:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22081:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22080:9:17" - }, - "scope": 14010, - "src": "22002:139:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13258, - "nodeType": "Block", - "src": "22352:56:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13254, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13244, - "src": "22385:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13255, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13246, - "src": "22393:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13253, - "name": "_canMakePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13836, - "src": "22369:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 13256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22369:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13252, - "id": 13257, - "nodeType": "Return", - "src": "22362:39:17" - } - ] - }, - "documentation": "@dev We have to check for initialization as budgets are only valid after initializing", - "id": 13259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 13249, - "modifierName": { - "argumentTypes": null, - "id": 13248, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "22323:13:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "22323:13:17" - } - ], - "name": "canMakePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13244, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22278:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22278:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13246, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22294:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22294:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22277:33:17" - }, - "payable": false, - "returnParameters": { - "id": 13252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13259, - "src": "22346:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22346:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22345:6:17" - }, - "scope": 14010, - "src": "22254:154:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13273, - "nodeType": "Block", - "src": "22739:52:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13270, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13261, - "src": "22773:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13269, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "22756:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22756:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13268, - "id": 13272, - "nodeType": "Return", - "src": "22749:35:17" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `scheduledPaymentExists()` as new\n scheduled payments can only be created via `newScheduledPayment(),` which requires initialization", - "id": 13274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 13264, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13261, - "src": "22710:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 13265, - "modifierName": { - "argumentTypes": null, - "id": 13263, - "name": "scheduledPaymentExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12284, - "src": "22687:22:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "22687:34:17" - } - ], - "name": "nextPaymentTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13261, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13274, - "src": "22655:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22655:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22654:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13274, - "src": "22731:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13266, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "22731:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22730:8:17" - }, - "scope": 14010, - "src": "22630:161:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 13347, - "nodeType": "Block", - "src": "22939:1053:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13288, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "22989:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13289, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13282, - "src": "23009:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13290, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23030:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13291, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13280, - "src": "23051:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13287, - "name": "_recordIncomingTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13607, - "src": "22949:26:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,string memory)" - } - }, - "id": 13292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22949:122:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13293, - "nodeType": "ExpressionStatement", - "src": "22949:122:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 13296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13294, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23086:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13295, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23096:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23086:13:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13345, - "nodeType": "Block", - "src": "23174:812:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13309, - "name": "_isExternalDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13284, - "src": "23412:18:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13326, - "nodeType": "IfStatement", - "src": "23408:305:17", - "trueBody": { - "id": 13325, - "nodeType": "Block", - "src": "23432:281:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13315, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23589:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23589:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13318, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29885, - "src": "23609:4:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 13317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23601:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 13319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23601:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13320, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23616:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13312, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23564:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13311, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23558:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 13313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23558:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 13314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "23558:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 13321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23558:66:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13322, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "23646:34:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23529:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23529:169:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13324, - "nodeType": "ExpressionStatement", - "src": "23529:169:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13332, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23842:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 13333, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23849:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13329, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23822:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13328, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "23816:5:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 13330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23816:13:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 13331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 24031, - "src": "23816:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 13334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23816:41:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13335, - "name": "ERROR_TOKEN_APPROVE_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12106, - "src": "23859:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23808:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23808:78:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13337, - "nodeType": "ExpressionStatement", - "src": "23808:78:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13341, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13276, - "src": "23959:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13342, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23967:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13338, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23945:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 19183, - "src": "23945:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23945:30:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13344, - "nodeType": "ExpressionStatement", - "src": "23945:30:17" - } - ] - }, - "id": 13346, - "nodeType": "IfStatement", - "src": "23082:904:17", - "trueBody": { - "id": 13308, - "nodeType": "Block", - "src": "23101:67:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13304, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "23144:3:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13305, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23149:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 13302, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13278, - "src": "23135:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13297, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "23115:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 19183, - "src": "23115:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23115:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$_t_uint256_$returns$__$value_$", - "typeString": "function (uint256) returns (function (address,uint256) payable external)" - } - }, - "id": 13303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23115:28:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_uint256_$returns$__$value", - "typeString": "function (address,uint256) payable external" - } - }, - "id": 13306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23115:42:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13307, - "nodeType": "ExpressionStatement", - "src": "23115:42:17" - } - ] - } - } - ] - }, - "documentation": null, - "id": 13348, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13276, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22836:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13275, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22836:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13278, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22852:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13280, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22869:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13279, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22869:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13282, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22888:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22888:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13284, - "name": "_isExternalDeposit", - "nodeType": "VariableDeclaration", - "scope": 13348, - "src": "22905:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13283, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22905:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22835:94:17" - }, - "payable": false, - "returnParameters": { - "id": 13286, - "nodeType": "ParameterList", - "parameters": [], - "src": "22939:0:17" - }, - "scope": 14010, - "src": "22818:1174:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13423, - "nodeType": "Block", - "src": "24070:920:17", - "statements": [ - { - "assignments": [ - 13356 - ], - "declarations": [ - { - "constant": false, - "id": 13356, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24080:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 13355, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "24080:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13360, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13357, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "24115:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 13359, - "indexExpression": { - "argumentTypes": null, - "id": 13358, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24133:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24115:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24080:64:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "24162:17:17", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13362, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24163:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13363, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inactive", - "nodeType": "MemberAccess", - "referencedDeclaration": 12120, - "src": "24163:16:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13365, - "name": "ERROR_PAYMENT_INACTIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12109, - "src": "24181:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13361, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24154:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24154:50:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13367, - "nodeType": "ExpressionStatement", - "src": "24154:50:17" - }, - { - "assignments": [ - 13369 - ], - "declarations": [ - { - "constant": false, - "id": 13369, - "name": "paid", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24215:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13368, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24215:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13371, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24229:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "24215:15:17" - }, - { - "body": { - "id": 13419, - "nodeType": "Block", - "src": "24337:625:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "24355:47:17", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13383, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24372:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "24372:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13385, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24387:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "24387:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13382, - "name": "_canMakePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13836, - "src": "24356:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 13387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24356:46:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13395, - "nodeType": "IfStatement", - "src": "24351:140:17", - "trueBody": { - "id": 13394, - "nodeType": "Block", - "src": "24404:87:17", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13390, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24442:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13389, - "name": "PaymentFailure", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12251, - "src": "24427:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 13391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24427:26:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13392, - "nodeType": "EmitStatement", - "src": "24422:31:17" - }, - { - "id": 13393, - "nodeType": "Break", - "src": "24471:5:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13396, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24583:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "24583:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24605:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "24583:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13401, - "nodeType": "ExpressionStatement", - "src": "24583:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13402, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24620:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24628:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "24620:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13405, - "nodeType": "ExpressionStatement", - "src": "24620:9:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13407, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24774:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12114, - "src": "24774:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13409, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24805:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "receiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 12116, - "src": "24805:16:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13411, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24839:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12122, - "src": "24839:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13413, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24871:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13414, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13356, - "src": "24899:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "24899:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 13416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24935:2:17", - "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_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 13406, - "name": "_unsafeMakePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13526, - "src": "24727:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24727:224:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13418, - "nodeType": "ExpressionStatement", - "src": "24727:224:17" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 13381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13373, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13350, - "src": "24264:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13372, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "24247:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24247:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13375, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "24279:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24279:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24247:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13378, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24299:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13379, - "name": "MAX_SCHEDULED_PAYMENTS_PER_TX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12032, - "src": "24306:29:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24299:36:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24247:88:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13420, - "nodeType": "WhileStatement", - "src": "24240:722:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13421, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13369, - "src": "24979:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13354, - "id": 13422, - "nodeType": "Return", - "src": "24972:11:17" - } - ] - }, - "documentation": null, - "id": 13424, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13350, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24023:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24023:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24022:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13353, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13424, - "src": "24061:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24061:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24060:9:17" - }, - "scope": 14010, - "src": "23998:992:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13457, - "nodeType": "Block", - "src": "25061:300:17", - "statements": [ - { - "assignments": [ - 13430 - ], - "declarations": [ - { - "constant": false, - "id": 13430, - "name": "paid", - "nodeType": "VariableDeclaration", - "scope": 13458, - "src": "25071:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25071:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13432, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13426, - "src": "25102:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13431, - "name": "_executePayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13424, - "src": "25086:15:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 13433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25086:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25071:42:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13435, - "name": "paid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13430, - "src": "25127:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25135:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25127:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13456, - "nodeType": "IfStatement", - "src": "25123:232:17", - "trueBody": { - "id": 13455, - "nodeType": "Block", - "src": "25138:217:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13439, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13426, - "src": "25173:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13438, - "name": "_nextPaymentTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13934, - "src": "25156:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (uint256) view returns (uint64)" - } - }, - "id": 13440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25156:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13441, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "25188:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25188:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25156:48:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13453, - "nodeType": "Block", - "src": "25278:67:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13450, - "name": "ERROR_EXECUTE_PAYMENT_TIME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12097, - "src": "25303:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13449, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "25296:6:17", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 13451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25296:34:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13452, - "nodeType": "ExpressionStatement", - "src": "25296:34:17" - } - ] - }, - "id": 13454, - "nodeType": "IfStatement", - "src": "25152:193:17", - "trueBody": { - "id": 13448, - "nodeType": "Block", - "src": "25206:66:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13445, - "name": "ERROR_EXECUTE_PAYMENT_NUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12094, - "src": "25231:25:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13444, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "25224:6:17", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 13446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25224:33:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13447, - "nodeType": "ExpressionStatement", - "src": "25224:33:17" - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 13458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executePaymentAtLeastOnce", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13426, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13458, - "src": "25032:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25032:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25031:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13428, - "nodeType": "ParameterList", - "parameters": [], - "src": "25061:0:17" - }, - "scope": 14010, - "src": "24996:365:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13491, - "nodeType": "Block", - "src": "25598:204:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13475, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13460, - "src": "25636:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13474, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "25616:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25616:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13477, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13464, - "src": "25647:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25616:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13479, - "name": "ERROR_REMAINING_BUDGET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12112, - "src": "25656:22:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 13473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "25608:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25608:71:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13481, - "nodeType": "ExpressionStatement", - "src": "25608:71:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13483, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13460, - "src": "25719:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13484, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13462, - "src": "25727:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13485, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13464, - "src": "25738:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13486, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13466, - "src": "25747:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13487, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13468, - "src": "25759:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 13488, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13470, - "src": "25784:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13482, - "name": "_unsafeMakePaymentTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13526, - "src": "25689:29:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25689:106:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13490, - "nodeType": "ExpressionStatement", - "src": "25689:106:17" - } - ] - }, - "documentation": null, - "id": 13492, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_makePaymentTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13460, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25409:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25409:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13462, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25433:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25433:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13464, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25460:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25460:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13466, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25485:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25485:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13468, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25513:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13467, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "25513:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13470, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13492, - "src": "25553:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "25553:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25399:177:17" - }, - "payable": false, - "returnParameters": { - "id": 13472, - "nodeType": "ParameterList", - "parameters": [], - "src": "25598:0:17" - }, - "scope": 14010, - "src": "25367:435:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13525, - "nodeType": "Block", - "src": "26183:266:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 13508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26225:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 13509, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13494, - "src": "26244:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13510, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13496, - "src": "26264:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13511, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13498, - "src": "26287:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13512, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13500, - "src": "26308:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13513, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13502, - "src": "26332:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 13514, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13504, - "src": "26369:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13507, - "name": "_recordTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13749, - "src": "26193:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26193:196:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13516, - "nodeType": "ExpressionStatement", - "src": "26193:196:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13520, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13494, - "src": "26415:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13521, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13496, - "src": "26423:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13522, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13498, - "src": "26434:7:17", - "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": 13517, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "26400:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "26400:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 13523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26400:42:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13524, - "nodeType": "ExpressionStatement", - "src": "26400:42:17" - } - ] - }, - "documentation": "@dev Unsafe version of _makePaymentTransaction that assumes you have already checked the\n remaining budget", - "id": 13526, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_unsafeMakePaymentTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13494, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "25994:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13493, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25994:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13496, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26018:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13495, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26018:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13498, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26045:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26045:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13500, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26070:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26070:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13502, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26098:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13501, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26098:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13504, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13526, - "src": "26138:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13503, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "26138:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25984:177:17" - }, - "payable": false, - "returnParameters": { - "id": 13506, - "nodeType": "ParameterList", - "parameters": [], - "src": "26183:0:17" - }, - "scope": 14010, - "src": "25946:503:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13584, - "nodeType": "Block", - "src": "26528:704:17", - "statements": [ - { - "assignments": [ - 13534 - ], - "declarations": [ - { - "constant": false, - "id": 13534, - "name": "newPeriodId", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26631:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13533, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26631:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13537, - "initialValue": { - "argumentTypes": null, - "id": 13536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "26652:15:17", - "subExpression": { - "argumentTypes": null, - "id": 13535, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "26652:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26631:36:17" - }, - { - "assignments": [ - 13539 - ], - "declarations": [ - { - "constant": false, - "id": 13539, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26678:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13538, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "26678:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13543, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13540, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "26702:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13542, - "indexExpression": { - "argumentTypes": null, - "id": 13541, - "name": "newPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13534, - "src": "26710:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26702:20:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26678:44:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13544, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "26732:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "26732:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13547, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "26751:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "26732:29:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13549, - "nodeType": "ExpressionStatement", - "src": "26732:29:17" - }, - { - "assignments": [ - 13551 - ], - "declarations": [ - { - "constant": false, - "id": 13551, - "name": "endTime", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26944:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13550, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26944:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13558, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13552, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "26961:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13553, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "26974:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "periodDuration", - "nodeType": "MemberAccess", - "referencedDeclaration": 12168, - "src": "26974:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "26961:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27000:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26961:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26944:57:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13559, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27015:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13560, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "27025:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27015:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13567, - "nodeType": "IfStatement", - "src": "27011:85:17", - "trueBody": { - "id": 13566, - "nodeType": "Block", - "src": "27037:59:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13562, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27065:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13563, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "27075:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27065:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13565, - "nodeType": "ExpressionStatement", - "src": "27065:20:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13568, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27105:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13570, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "27105:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13571, - "name": "endTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13551, - "src": "27122:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27105:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13573, - "nodeType": "ExpressionStatement", - "src": "27105:24:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13575, - "name": "newPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13534, - "src": "27155:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13576, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27168:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13577, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12155, - "src": "27168:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13578, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27186:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "27186:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 13574, - "name": "NewPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12207, - "src": "27145:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$", - "typeString": "function (uint64,uint64,uint64)" - } - }, - "id": 13580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27145:56:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13581, - "nodeType": "EmitStatement", - "src": "27140:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13582, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13539, - "src": "27219:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "functionReturnParameters": 13532, - "id": 13583, - "nodeType": "Return", - "src": "27212:13:17" - } - ] - }, - "documentation": null, - "id": 13585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13528, - "name": "_startTime", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26475:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13527, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "26475:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26474:19:17" - }, - "payable": false, - "returnParameters": { - "id": 13532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13531, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13585, - "src": "26512:6:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13530, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "26512:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26511:16:17" - }, - "scope": 14010, - "src": "26455:777:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13606, - "nodeType": "Block", - "src": "27402:288:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27444:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 13598, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13587, - "src": "27486:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13599, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13589, - "src": "27506:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13600, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13591, - "src": "27527:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13601, - "name": "NO_SCHEDULED_PAYMENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12026, - "src": "27548:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 13602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27619:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 13603, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13593, - "src": "27663:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13596, - "name": "_recordTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13749, - "src": "27412:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,address,address,uint256,uint256,uint64,string memory)" - } - }, - "id": 13604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27412:271:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13605, - "nodeType": "ExpressionStatement", - "src": "27412:271:17" - } - ] - }, - "documentation": null, - "id": 13607, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_recordIncomingTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13587, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27283:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27283:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13589, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27307:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27307:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13591, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27332:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27332:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13593, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13607, - "src": "27357:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13592, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "27357:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27273:107:17" - }, - "payable": false, - "returnParameters": { - "id": 13595, - "nodeType": "ParameterList", - "parameters": [], - "src": "27402:0:17" - }, - "scope": 14010, - "src": "27238:452:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13748, - "nodeType": "Block", - "src": "27944:1091:17", - "statements": [ - { - "assignments": [ - 13625 - ], - "declarations": [ - { - "constant": false, - "id": 13625, - "name": "periodId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27954:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13624, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27954:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13628, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13626, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "27972:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27972:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27954:36:17" - }, - { - "assignments": [ - 13630 - ], - "declarations": [ - { - "constant": false, - "id": 13630, - "name": "tokenStatement", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28000:37:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - }, - "typeName": { - "contractScope": null, - "id": 13629, - "name": "TokenStatement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12153, - "src": "28000:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13637, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13631, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "28040:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13633, - "indexExpression": { - "argumentTypes": null, - "id": 13632, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28048:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28040:17:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "28040:32:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13636, - "indexExpression": { - "argumentTypes": null, - "id": 13635, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13611, - "src": "28073:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28040:40:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28000:80:17" - }, - { - "condition": { - "argumentTypes": null, - "id": 13638, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28094:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13660, - "nodeType": "Block", - "src": "28194:87:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13650, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28208:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13652, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "28208:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13656, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28262:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13653, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28234:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "28234:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "28234:27:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28234:36:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28208:62:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13659, - "nodeType": "ExpressionStatement", - "src": "28208:62:17" - } - ] - }, - "id": 13661, - "nodeType": "IfStatement", - "src": "28090:191:17", - "trueBody": { - "id": 13649, - "nodeType": "Block", - "src": "28105:83:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13639, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28119:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "28119:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13645, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28169:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13642, - "name": "tokenStatement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13630, - "src": "28143:14:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage_ptr", - "typeString": "struct Finance.TokenStatement storage pointer" - } - }, - "id": 13643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "income", - "nodeType": "MemberAccess", - "referencedDeclaration": 12152, - "src": "28143:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "28143:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28143:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28119:58:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13648, - "nodeType": "ExpressionStatement", - "src": "28119:58:17" - } - ] - } - }, - { - "assignments": [ - 13663 - ], - "declarations": [ - { - "constant": false, - "id": 13663, - "name": "transactionId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28291:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28291:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13666, - "initialValue": { - "argumentTypes": null, - "id": 13665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "28315:23:17", - "subExpression": { - "argumentTypes": null, - "id": 13664, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "28315:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28291:47:17" - }, - { - "assignments": [ - 13668 - ], - "declarations": [ - { - "constant": false, - "id": 13668, - "name": "transaction", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28349:31:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 13667, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12148, - "src": "28349:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13672, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13669, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "28383:12:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$12148_storage_$", - "typeString": "mapping(uint256 => struct Finance.Transaction storage ref)" - } - }, - "id": 13671, - "indexExpression": { - "argumentTypes": null, - "id": 13670, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28396:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28383:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage", - "typeString": "struct Finance.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28349:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13673, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28420:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 12133, - "src": "28420:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13676, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13611, - "src": "28440:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "28420:26:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13678, - "nodeType": "ExpressionStatement", - "src": "28420:26:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13679, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28456:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "entity", - "nodeType": "MemberAccess", - "referencedDeclaration": 12135, - "src": "28456:18:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13682, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13613, - "src": "28477:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "28456:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13684, - "nodeType": "ExpressionStatement", - "src": "28456:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13685, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28494:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isIncoming", - "nodeType": "MemberAccess", - "referencedDeclaration": 12137, - "src": "28494:22:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13688, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28519:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "28494:34:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13690, - "nodeType": "ExpressionStatement", - "src": "28494:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13691, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28538:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 12139, - "src": "28538:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13694, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "28559:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28538:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13696, - "nodeType": "ExpressionStatement", - "src": "28538:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13697, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28576:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13699, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "paymentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12141, - "src": "28576:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13700, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13617, - "src": "28600:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28576:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13702, - "nodeType": "ExpressionStatement", - "src": "28576:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13703, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28620:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "paymentExecutionNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 12143, - "src": "28620:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13706, - "name": "_paymentExecutionNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13619, - "src": "28657:23:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28620:60:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13708, - "nodeType": "ExpressionStatement", - "src": "28620:60:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13709, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28690:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 12145, - "src": "28690:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13712, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "28709:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28709:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28690:35:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13715, - "nodeType": "ExpressionStatement", - "src": "28690:35:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13716, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13668, - "src": "28735:11:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$12148_storage_ptr", - "typeString": "struct Finance.Transaction storage pointer" - } - }, - "id": 13718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "periodId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12147, - "src": "28735:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13719, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28758:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "28735:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13721, - "nodeType": "ExpressionStatement", - "src": "28735:31:17" - }, - { - "assignments": [ - 13723 - ], - "declarations": [ - { - "constant": false, - "id": 13723, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "28777:21:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13722, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "28777:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13727, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13724, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "28801:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13726, - "indexExpression": { - "argumentTypes": null, - "id": 13725, - "name": "periodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13625, - "src": "28809:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28801:17:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28777:41:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13728, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13723, - "src": "28832:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "28832:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 13730, - "name": "NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12029, - "src": "28861:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28832:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13739, - "nodeType": "IfStatement", - "src": "28828:115:17", - "trueBody": { - "id": 13738, - "nodeType": "Block", - "src": "28877:66:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13732, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13723, - "src": "28891:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "28891:25:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13735, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28919:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28891:41:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13737, - "nodeType": "ExpressionStatement", - "src": "28891:41:17" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13741, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13663, - "src": "28973:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13742, - "name": "_incoming", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13609, - "src": "28988:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 13743, - "name": "_entity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13613, - "src": "28999:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13744, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13615, - "src": "29008:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13745, - "name": "_reference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13621, - "src": "29017:10:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 13740, - "name": "NewTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12237, - "src": "28958:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,address,uint256,string memory)" - } - }, - "id": 13746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28958:70:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13747, - "nodeType": "EmitStatement", - "src": "28953:75:17" - } - ] - }, - "documentation": null, - "id": 13749, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_recordTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13609, - "name": "_incoming", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27733:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13608, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27733:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13611, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27757:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27757:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13613, - "name": "_entity", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27781:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13612, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27781:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13615, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27806:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27806:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13617, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27831:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27831:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13619, - "name": "_paymentExecutionNumber", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27859:30:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13618, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27859:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13621, - "name": "_reference", - "nodeType": "VariableDeclaration", - "scope": 13749, - "src": "27899:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 13620, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "27899:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27723:199:17" - }, - "payable": false, - "returnParameters": { - "id": 13623, - "nodeType": "ParameterList", - "parameters": [], - "src": "27944:0:17" - }, - "scope": 14010, - "src": "27696:1339:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13812, - "nodeType": "Block", - "src": "29137:1019:17", - "statements": [ - { - "assignments": [ - 13757 - ], - "declarations": [ - { - "constant": false, - "id": 13757, - "name": "currentPeriod", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29147:28:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - }, - "typeName": { - "contractScope": null, - "id": 13756, - "name": "Period", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12166, - "src": "29147:6:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13762, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13758, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "29178:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13761, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13759, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "29186:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29186:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29178:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29147:58:17" - }, - { - "assignments": [ - 13764 - ], - "declarations": [ - { - "constant": false, - "id": 13764, - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29215:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13763, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "29215:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13767, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13765, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "29234:14:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29234:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29215:35:17" - }, - { - "body": { - "id": 13808, - "nodeType": "Block", - "src": "29346:782:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13772, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13751, - "src": "29364:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29383:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29364:20:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13778, - "nodeType": "IfStatement", - "src": "29360:215:17", - "trueBody": { - "id": 13777, - "nodeType": "Block", - "src": "29386:189:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 13775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29555:5:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 13755, - "id": 13776, - "nodeType": "Return", - "src": "29548:12:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13779, - "name": "_maxTransitions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13751, - "src": "29651:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 13780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29670:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "29651:20:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13782, - "nodeType": "ExpressionStatement", - "src": "29651:20:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13783, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29851:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "firstTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12159, - "src": "29851:32:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 13785, - "name": "NO_TRANSACTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12029, - "src": "29887:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29851:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13797, - "nodeType": "IfStatement", - "src": "29847:151:17", - "trueBody": { - "id": 13796, - "nodeType": "Block", - "src": "29903:95:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13787, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29921:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastTransactionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 12161, - "src": "29921:31:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 13792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29981:1:17", - "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": 13790, - "name": "transactionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12193, - "src": "29955:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "29955:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29955:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29921:62:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13795, - "nodeType": "ExpressionStatement", - "src": "29921:62:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 13806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13798, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "30061:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 13803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30114:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13800, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "30088:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "30088:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "30088:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30088:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 13799, - "name": "_newPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13585, - "src": "30077:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$_t_struct$_Period_$12166_storage_ptr_$", - "typeString": "function (uint64) returns (struct Finance.Period storage pointer)" - } - }, - "id": 13805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30077:40:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "src": "30061:56:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13807, - "nodeType": "ExpressionStatement", - "src": "30061:56:17" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13768, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13764, - "src": "29311:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13769, - "name": "currentPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13757, - "src": "29323:13:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage_ptr", - "typeString": "struct Finance.Period storage pointer" - } - }, - "id": 13770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12157, - "src": "29323:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "29311:33:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13809, - "nodeType": "WhileStatement", - "src": "29304:824:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30145:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13755, - "id": 13811, - "nodeType": "Return", - "src": "30138:11:17" - } - ] - }, - "documentation": null, - "id": 13813, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_tryTransitionAccountingPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13751, - "name": "_maxTransitions", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29081:22:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13750, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "29081:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "29080:24:17" - }, - "payable": false, - "returnParameters": { - "id": 13755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13754, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 13813, - "src": "29123:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "29123:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "29122:14:17" - }, - "scope": 14010, - "src": "29041:1115:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13835, - "nodeType": "Block", - "src": "30249:98:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 13833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13823, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13815, - "src": "30286:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13822, - "name": "_getRemainingBudget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13892, - "src": "30266:19:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30266:27:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13825, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13817, - "src": "30297:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30266:38:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13829, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13815, - "src": "30322:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 13827, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "30308:5:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 13828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 19267, - "src": "30308:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 13830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30308:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13831, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13817, - "src": "30333:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30308:32:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30266:74:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13821, - "id": 13834, - "nodeType": "Return", - "src": "30259:81:17" - } - ] - }, - "documentation": null, - "id": 13836, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canMakePayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13815, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30187:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "30187:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13817, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30203:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30203:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30186:33:17" - }, - "payable": false, - "returnParameters": { - "id": 13821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13820, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13836, - "src": "30243:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13819, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "30243:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30242:6:17" - }, - "scope": 14010, - "src": "30162:185:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13845, - "nodeType": "Block", - "src": "30412:129:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13841, - "name": "periodsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12199, - "src": "30517:13:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30533:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30517:17:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13840, - "id": 13844, - "nodeType": "Return", - "src": "30510:24:17" - } - ] - }, - "documentation": null, - "id": 13846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentPeriodId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13837, - "nodeType": "ParameterList", - "parameters": [], - "src": "30378:2:17" - }, - "payable": false, - "returnParameters": { - "id": 13840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13846, - "src": "30404:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13838, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "30404:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30403:8:17" - }, - "scope": 14010, - "src": "30353:188:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13891, - "nodeType": "Block", - "src": "30624:541:17", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 13857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "30638:27:17", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13853, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "30639:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasBudget", - "nodeType": "MemberAccess", - "referencedDeclaration": 12176, - "src": "30639:18:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 13856, - "indexExpression": { - "argumentTypes": null, - "id": 13855, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30658:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30639:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13861, - "nodeType": "IfStatement", - "src": "30634:76:17", - "trueBody": { - "id": 13860, - "nodeType": "Block", - "src": "30667:43:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13858, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12038, - "src": "30688:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13852, - "id": 13859, - "nodeType": "Return", - "src": "30681:18:17" - } - ] - } - }, - { - "assignments": [ - 13863 - ], - "declarations": [ - { - "constant": false, - "id": 13863, - "name": "budget", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30720:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30720:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13868, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13864, - "name": "settings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12181, - "src": "30737:8:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Settings_$12177_storage", - "typeString": "struct Finance.Settings storage ref" - } - }, - "id": 13865, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "budgets", - "nodeType": "MemberAccess", - "referencedDeclaration": 12172, - "src": "30737:16:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13867, - "indexExpression": { - "argumentTypes": null, - "id": 13866, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30754:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30737:24:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30720:41:17" - }, - { - "assignments": [ - 13870 - ], - "declarations": [ - { - "constant": false, - "id": 13870, - "name": "spent", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30771:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30771:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13879, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13871, - "name": "periods", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "30787:7:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint64_$_t_struct$_Period_$12166_storage_$", - "typeString": "mapping(uint64 => struct Finance.Period storage ref)" - } - }, - "id": 13874, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 13872, - "name": "_currentPeriodId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13846, - "src": "30795:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 13873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30795:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30787:27:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Period_$12166_storage", - "typeString": "struct Finance.Period storage ref" - } - }, - "id": 13875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenStatement", - "nodeType": "MemberAccess", - "referencedDeclaration": 12165, - "src": "30787:42:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenStatement_$12153_storage_$", - "typeString": "mapping(address => struct Finance.TokenStatement storage ref)" - } - }, - "id": 13877, - "indexExpression": { - "argumentTypes": null, - "id": 13876, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13848, - "src": "30830:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30787:50:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenStatement_$12153_storage", - "typeString": "struct Finance.TokenStatement storage ref" - } - }, - "id": 13878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expenses", - "nodeType": "MemberAccess", - "referencedDeclaration": 12150, - "src": "30787:59:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30771:75:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13880, - "name": "spent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13870, - "src": "31018:5:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13881, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13863, - "src": "31027:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31018:15:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13886, - "nodeType": "IfStatement", - "src": "31014:54:17", - "trueBody": { - "id": 13885, - "nodeType": "Block", - "src": "31035:33:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31056:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 13852, - "id": 13884, - "nodeType": "Return", - "src": "31049:8:17" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13887, - "name": "budget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13863, - "src": "31144:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 13888, - "name": "spent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13870, - "src": "31153:5:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31144:14:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13852, - "id": 13890, - "nodeType": "Return", - "src": "31137:21:17" - } - ] - }, - "documentation": null, - "id": 13892, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getRemainingBudget", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13848, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30576:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "30576:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30575:16:17" - }, - "payable": false, - "returnParameters": { - "id": 13852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13851, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13892, - "src": "30615:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30615:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30614:9:17" - }, - "scope": 14010, - "src": "30547:618:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 13933, - "nodeType": "Block", - "src": "31248:488:17", - "statements": [ - { - "assignments": [ - 13900 - ], - "declarations": [ - { - "constant": false, - "id": 13900, - "name": "payment", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31258:32:17", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - }, - "typeName": { - "contractScope": null, - "id": 13899, - "name": "ScheduledPayment", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12131, - "src": "31258:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13904, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13901, - "name": "scheduledPayments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12185, - "src": "31293:17:17", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ScheduledPayment_$12131_storage_$", - "typeString": "mapping(uint256 => struct Finance.ScheduledPayment storage ref)" - } - }, - "id": 13903, - "indexExpression": { - "argumentTypes": null, - "id": 13902, - "name": "_paymentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13894, - "src": "31311:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31293:29:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage", - "typeString": "struct Finance.ScheduledPayment storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31258:64:17" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 13909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13905, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31337:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "31337:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13907, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31359:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "maxExecutions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12128, - "src": "31359:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "31337:43:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13913, - "nodeType": "IfStatement", - "src": "31333:165:17", - "trueBody": { - "id": 13912, - "nodeType": "Block", - "src": "31382:116:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13910, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "31403:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13898, - "id": 13911, - "nodeType": "Return", - "src": "31396:17:17" - } - ] - } - }, - { - "assignments": [ - 13915 - ], - "declarations": [ - { - "constant": false, - "id": 13915, - "name": "increase", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31572:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13914, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31572:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13922, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13919, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31613:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13920, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "interval", - "nodeType": "MemberAccess", - "referencedDeclaration": 12126, - "src": "31613:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13916, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31590:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executions", - "nodeType": "MemberAccess", - "referencedDeclaration": 12130, - "src": "31590:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27914, - "src": "31590:22:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31590:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31572:58:17" - }, - { - "assignments": [ - 13924 - ], - "declarations": [ - { - "constant": false, - "id": 13924, - "name": "nextPayment", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31640:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13923, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31640:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13930, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13928, - "name": "increase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13915, - "src": "31692:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13925, - "name": "payment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13900, - "src": "31661:7:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ScheduledPayment_$12131_storage_ptr", - "typeString": "struct Finance.ScheduledPayment storage pointer" - } - }, - "id": 13926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialPaymentTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 12124, - "src": "31661:26:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 13927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "31661:30:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 13929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31661:40:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31640:61:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13931, - "name": "nextPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13924, - "src": "31718:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 13898, - "id": 13932, - "nodeType": "Return", - "src": "31711:18:17" - } - ] - }, - "documentation": null, - "id": 13934, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_nextPaymentTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13894, - "name": "_paymentId", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31197:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31197:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31196:20:17" - }, - "payable": false, - "returnParameters": { - "id": 13898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13897, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13934, - "src": "31240:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 13896, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "31240:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31239:8:17" - }, - "scope": 14010, - "src": "31171:565:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 14000, - "nodeType": "Block", - "src": "31885:169:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13952, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31895:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "36", - "id": 13956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31913:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - } - ], - "id": 13955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "31899:13:17", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 13953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31903:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13954, - "length": null, - "nodeType": "ArrayTypeName", - "src": "31903:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 13957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31899:16:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "31895:20:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13959, - "nodeType": "ExpressionStatement", - "src": "31895:20:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13960, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31925:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13962, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31927:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31925:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13964, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13936, - "src": "31940:2:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31932:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 13965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31932:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31925:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13967, - "nodeType": "ExpressionStatement", - "src": "31925:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13968, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31953:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13970, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 13969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31955:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31953:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13972, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13938, - "src": "31968:2:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31960:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 13973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31960:11:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31953:18:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13975, - "nodeType": "ExpressionStatement", - "src": "31953:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13976, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "31981:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13978, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 13977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31983:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31981:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13979, - "name": "_c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13940, - "src": "31988:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31981:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13981, - "nodeType": "ExpressionStatement", - "src": "31981:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13982, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32000:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13984, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 13983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32002:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32000:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13985, - "name": "_d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13942, - "src": "32007:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32000:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13987, - "nodeType": "ExpressionStatement", - "src": "32000:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13988, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32019:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13990, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 13989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32021:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32019:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13991, - "name": "_e", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13944, - "src": "32026:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32019:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13993, - "nodeType": "ExpressionStatement", - "src": "32019:9:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 13998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13994, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13950, - "src": "32038:1:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 13996, - "indexExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 13995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32040:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32038:4:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13997, - "name": "_f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13946, - "src": "32045:2:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32038:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13999, - "nodeType": "ExpressionStatement", - "src": "32038:9:17" - } - ] - }, - "documentation": null, - "id": 14001, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_arr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13936, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31777:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13935, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31777:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13938, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31789:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "31789:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13940, - "name": "_c", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31801:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31801:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13942, - "name": "_d", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31813:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31813:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13944, - "name": "_e", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31825:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31825:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13946, - "name": "_f", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31837:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31837:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31776:72:17" - }, - "payable": false, - "returnParameters": { - "id": 13951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13950, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 14001, - "src": "31872:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 13948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31872:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "31872:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31871:13:17" - }, - "scope": 14010, - "src": "31763:291:17", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 14008, - "nodeType": "Block", - "src": "32213:22:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14006, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12044, - "src": "32222:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 14005, - "id": 14007, - "nodeType": "Return", - "src": "32215:17:17" - } - ] - }, - "documentation": null, - "id": 14009, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMaxPeriodTransitions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14002, - "nodeType": "ParameterList", - "parameters": [], - "src": "32179:2:17" - }, - "payable": false, - "returnParameters": { - "id": 14005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14004, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14009, - "src": "32205:6:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14003, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "32205:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32204:8:17" - }, - "scope": 14010, - "src": "32147:88:17", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 14011, - "src": "510:31727:17" - } - ], - "src": "57:32181:17" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.673Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/FundraisingMultisigTemplate.json b/templates/multisig/build/contracts/FundraisingMultisigTemplate.json deleted file mode 100644 index 47b798f..0000000 --- a/templates/multisig/build/contracts/FundraisingMultisigTemplate.json +++ /dev/null @@ -1,62684 +0,0 @@ -{ - "contractName": "FundraisingMultisigTemplate", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "collaterals", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_daoFactory", - "type": "address" - }, - { - "name": "_ens", - "type": "address" - }, - { - "name": "_miniMeFactory", - "type": "address" - }, - { - "name": "_aragonID", - "type": "address" - }, - { - "name": "_dai", - "type": "address" - }, - { - "name": "_ant", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "dao", - "type": "address" - } - ], - "name": "DeployDao", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "dao", - "type": "address" - } - ], - "name": "SetupDao", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "token", - "type": "address" - } - ], - "name": "DeployToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "appProxy", - "type": "address" - }, - { - "indexed": false, - "name": "appId", - "type": "bytes32" - } - ], - "name": "InstalledApp", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_boardTokenName", - "type": "string" - }, - { - "name": "_boardTokenSymbol", - "type": "string" - }, - { - "name": "_boardMembers", - "type": "address[]" - }, - { - "name": "_boardVotingSettings", - "type": "uint64[3]" - }, - { - "name": "_financePeriod", - "type": "uint64" - } - ], - "name": "prepareInstance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_shareTokenName", - "type": "string" - }, - { - "name": "_shareTokenSymbol", - "type": "string" - }, - { - "name": "_shareVotingSettings", - "type": "uint64[3]" - } - ], - "name": "installShareApps", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_goal", - "type": "uint256" - }, - { - "name": "_period", - "type": "uint64" - }, - { - "name": "_exchangeRate", - "type": "uint256" - }, - { - "name": "_vestingCliffPeriod", - "type": "uint64" - }, - { - "name": "_vestingCompletePeriod", - "type": "uint64" - }, - { - "name": "_supplyOfferedPct", - "type": "uint256" - }, - { - "name": "_fundingForBeneficiaryPct", - "type": "uint256" - }, - { - "name": "_openDate", - "type": "uint64" - }, - { - "name": "_batchBlocks", - "type": "uint256" - }, - { - "name": "_maxTapRateIncreasePct", - "type": "uint256" - }, - { - "name": "_maxTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "installFundraisingApps", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setupFundraisingPermissions", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_id", - "type": "string" - }, - { - "name": "_virtualSupplies", - "type": "uint256[2]" - }, - { - "name": "_virtualBalances", - "type": "uint256[2]" - }, - { - "name": "_slippages", - "type": "uint256[2]" - }, - { - "name": "_rateDAI", - "type": "uint256" - }, - { - "name": "_floorDAI", - "type": "uint256" - } - ], - "name": "finalizeInstance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405160c0806200634783398101604090815281516020830151918301516060840151608085015160a09095015192949192909190858585856200005f83640100000000620004ed810204565b60408051808201909152601981527f54454d504c4154455f454e535f4e4f545f434f4e54524143540000000000000060208201529015156200013c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000100578181015183820152602001620000e6565b50505050905090810190601f1680156200012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200015184640100000000620004ed810204565b60408051808201909152601d81527f54454d504c4154455f44414f5f4641435f4e4f545f434f4e54524143540000006020820152901515620001f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b5060008054600160a060020a0319908116600160a060020a0395861617909155600380548216928516929092179091556001805482169484169490941790935560028054909316911617905562000251836401000000006200051c810204565b6200026584640100000000620005d4810204565b6200027982640100000000620004ed810204565b60408051808201909152600f81527f464d5f4241445f53455454494e47530000000000000000000000000000000000602082015290151562000319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b506200032e81640100000000620004ed810204565b60408051808201909152600f81527f464d5f4241445f53455454494e475300000000000000000000000000000000006020820152901515620003ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b5060408051808201909152600f81527f464d5f4241445f53455454494e475300000000000000000000000000000000006020820152600160a060020a0383811690831614156200047c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b50600480546001818101835560008390527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9182018054600160a060020a03968716600160a060020a0319918216179091558354918201909355018054929093169116179055506200068a92505050565b600080600160a060020a03831615156200050b576000915062000516565b823b90506000811191505b50919050565b6200053081640100000000620004ed810204565b60408051808201909152601f81527f54454d504c4154455f415241474f4e5f49445f4e4f545f434f4e5452414354006020820152901515620005d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b5050565b620005e881640100000000620004ed810204565b6040805190810160405280602081526020017f54454d504c4154455f4d494e494d455f4641435f4e4f545f434f4e5452414354815250901515620005d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101562000100578181015183820152602001620000e6565b615cad806200069a6000396000f30060806040526004361061005e5763ffffffff60e060020a6000350416631aed6f4e811461006357806324c1173b146100ac578063350cbe71146100e057806385ddd98e1461010e578063b95b1b681461013c578063d23a70a31461018b575b600080fd5b34801561006f57600080fd5b506100aa6024600480358281019290820135918135808301929082013591604435918201910135606467ffffffffffffffff60c435166101a0565b005b3480156100b857600080fd5b506100c460043561037e565b60408051600160a060020a039092168252519081900360200190f35b3480156100ec57600080fd5b506100aa6024600480358281019291013590606460a460e435610104356103a6565b34801561011a57600080fd5b506100aa602460048035828101929082013591813591820191013560446105bb565b34801561014857600080fd5b506100aa60043567ffffffffffffffff6024358116906044359060643581169060843581169060a4359060c4359060e4351661010435610124356101443561069f565b34801561019757600080fd5b506100aa6106d0565b60408051808201909152600f8152600080516020615c6283398151915260208201526000908190819081908188116102595760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561021e578181015183820152602001610206565b50505050905090810190601f16801561024b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152600f8152600080516020615c62833981519152602082015250610285612780565b935093506102f88c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843750600094506129459350505050565b915061032a8483886003806020026040519081016040528092919082600360200280828437508c9350612ba992505050565b905061036783828a8a808060200260200160405190810160405280939291908181526020018383602002808284375060019450612c199350505050565b61037084612d84565b505050505050505050505050565b600480548290811061038c57fe5b600091825260209091200154600160a060020a0316905081565b60408051808201909152600f8152600080516020615c62833981519152602082015260009081908190818a116104215760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b50604080518082018252600f808252600080516020615c628339815191526020928301819052835180850185528281528301819052835180850190945290835291015261046c612db3565b610474612eaa565b925082600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156104b457600080fd5b505af11580156104c8573d6000803e3d6000fd5b505050506040513d60208110156104de57600080fd5b505191506104ea612ec6565b91505061055683896002806020026040519081016040528092919082600260200280828437505060408051808201825293508d9250600291508390839080828437505060408051808201825293508d925060029150839083908082843782019150505050508989612ef1565b6105618282836131b3565b61056c838283613423565b6105a78a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437508994506135689350505050565b6105af613739565b50505050505050505050565b60408051808201909152600f8152600080516020615c628339815191526020909101526000806105e96137ca565b6105f1612eaa565b915061065d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8d018190048102820181019092528b815294508b93508a9250829150840183828082843750601294506129459350505050565b905061068d8282856003806020026040519081016040528092919082600360200280828437506138a29350505050565b610696826138cc565b50505050505050565b60006106a9613999565b6106b1612eaa565b90506106c7818d8d8d8d8d8d8d8d8d8d8d613a41565b61037081613a76565b600080600080600080600080600060606106e8612db3565b6106f0612eaa565b995089600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b505050506040513d602081101561075a57600080fd5b50519850610766613fd2565b5050985050610773612ec6565b97505061077e61400d565b60408051600280825260608201909252959b5093995091975095509350816020016020820280388339019050509050828160008151811015156107bd57fe5b600160a060020a0390921660209283029091019091015280518490829060019081106107e557fe5b90602001906020020190600160a060020a03169081600160a060020a03168152505088600160a060020a031663be038478888889600160a060020a0316633e4eb7566040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050506040513d602081101561088057600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156108df57600080fd5b505af11580156108f3573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838889600160a060020a0316627bb0036040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b505050506040513d602081101561096f57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b50505050610a5c89828889600160a060020a031663206b60f96040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a2a57600080fd5b505af1158015610a3e573d6000803e3d6000fd5b505050506040513d6020811015610a5457600080fd5b50518b614053565b88600160a060020a031663be038478838788600160a060020a0316636a928e8f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050506040513d6020811015610ad557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838788600160a060020a031663a2b96b6f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b9b57600080fd5b505af1158015610baf573d6000803e3d6000fd5b505050506040513d6020811015610bc557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316636a928e8f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b505050506040513d6020811015610cb557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610d1457600080fd5b505af1158015610d28573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610e0457600080fd5b505af1158015610e18573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a03166360e14b606040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e6b57600080fd5b505af1158015610e7f573d6000803e3d6000fd5b505050506040513d6020811015610e9557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610ef457600080fd5b505af1158015610f08573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f5b57600080fd5b505af1158015610f6f573d6000803e3d6000fd5b505050506040513d6020811015610f8557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663b6e9c8266040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050506040513d602081101561107557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156110d457600080fd5b505af11580156110e8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316633017dbed6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b505050506040513d602081101561116557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156111c457600080fd5b505af11580156111d8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316632cd4a2706040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561122b57600080fd5b505af115801561123f573d6000803e3d6000fd5b505050506040513d602081101561125557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156112b457600080fd5b505af11580156112c8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663cf9d82f26040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561131b57600080fd5b505af115801561132f573d6000803e3d6000fd5b505050506040513d602081101561134557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156113a457600080fd5b505af11580156113b8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140b57600080fd5b505af115801561141f573d6000803e3d6000fd5b505050506040513d602081101561143557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561149457600080fd5b505af11580156114a8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663c102b1b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663cc77491b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115eb57600080fd5b505af11580156115ff573d6000803e3d6000fd5b505050506040513d602081101561161557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561167457600080fd5b505af1158015611688573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166372405ee06040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156116db57600080fd5b505af11580156116ef573d6000803e3d6000fd5b505050506040513d602081101561170557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663bf5ae7436040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156117cb57600080fd5b505af11580156117df573d6000803e3d6000fd5b505050506040513d60208110156117f557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561185457600080fd5b505af1158015611868573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166378986e646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156118bb57600080fd5b505af11580156118cf573d6000803e3d6000fd5b505050506040513d60208110156118e557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561194457600080fd5b505af1158015611958573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663e02023a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119ab57600080fd5b505af11580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611a3457600080fd5b505af1158015611a48573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611b2457600080fd5b505af1158015611b38573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a03166360e14b606040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611b8b57600080fd5b505af1158015611b9f573d6000803e3d6000fd5b505050506040513d6020811015611bb557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611c1457600080fd5b505af1158015611c28573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663b6e9c8266040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c7b57600080fd5b505af1158015611c8f573d6000803e3d6000fd5b505050506040513d6020811015611ca557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a0316633017dbed6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d6b57600080fd5b505af1158015611d7f573d6000803e3d6000fd5b505050506040513d6020811015611d9557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611df457600080fd5b505af1158015611e08573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663c102b1b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611e5b57600080fd5b505af1158015611e6f573d6000803e3d6000fd5b505050506040513d6020811015611e8557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663cc77491b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f4b57600080fd5b505af1158015611f5f573d6000803e3d6000fd5b505050506040513d6020811015611f7557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611fd457600080fd5b505af1158015611fe8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a0316638b4886346040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561203b57600080fd5b505af115801561204f573d6000803e3d6000fd5b505050506040513d602081101561206557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663b0d88a406040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561212b57600080fd5b505af115801561213f573d6000803e3d6000fd5b505050506040513d602081101561215557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156121b457600080fd5b505af11580156121c8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478898485600160a060020a0316631c1966596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b505050506040513d602081101561224557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156122a457600080fd5b505af11580156122b8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478868485600160a060020a0316630f97e2fe6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561230b57600080fd5b505af115801561231f573d6000803e3d6000fd5b505050506040513d602081101561233557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561239457600080fd5b505af11580156123a8573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663a2b96b6f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156123fd57600080fd5b505af1158015612411573d6000803e3d6000fd5b505050506040513d602081101561242757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561248657600080fd5b505af115801561249a573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a0316632cd4a2706040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124ef57600080fd5b505af1158015612503573d6000803e3d6000fd5b505050506040513d602081101561251957600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561257857600080fd5b505af115801561258c573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663cf9d82f26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156125e157600080fd5b505af11580156125f5573d6000803e3d6000fd5b505050506040513d602081101561260b57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561266a57600080fd5b505af115801561267e573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663e02023a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156126d357600080fd5b505af11580156126e7573d6000803e3d6000fd5b505050506040513d60208110156126fd57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b5050505050505050505050505050565b600154604080517f2168744400000000000000000000000000000000000000000000000000000000815230600482015290516000928392600160a060020a039091169163216874449160248082019260209290919082900301818787803b1580156127ea57600080fd5b505af11580156127fe573d6000803e3d6000fd5b505050506040513d602081101561281457600080fd5b505160408051600160a060020a038316815290519193507f0b13a9ab90735191cd544fd95ba68d1385144561cbdeb8acb8035de9a86432f5919081900360200190a181600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561289457600080fd5b505af11580156128a8573d6000803e3d6000fd5b505050506040513d60208110156128be57600080fd5b50516040805160e060020a638ea8dc9d02815290519192506129419183918591600160a060020a03831691638ea8dc9d9160048083019260209291908290030181600087803b15801561291057600080fd5b505af1158015612924573d6000803e3d6000fd5b505050506040513d602081101561293a57600080fd5b505161427e565b9091565b6002546040805180820190915260208082527f54454d504c4154455f4d494e494d455f4641435f4e4f545f50524f564944454490820152600091829190600160a060020a031615156129dc5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b506002546040517f5b7b72c10000000000000000000000000000000000000000000000000000000081526000600482018181526024830182905260ff87166064840152600160a4840181905260c0604485019081528a5160c48601528a51600160a060020a0390961695635b7b72c19585948d948c948e9491939091608482019160e4019060208901908083838d5b83811015612a83578181015183820152602001612a6b565b50505050905090810190601f168015612ab05780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015612ae3578181015183820152602001612acb565b50505050905090810190601f168015612b105780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015612b3557600080fd5b505af1158015612b49573d6000803e3d6000fd5b505050506040513d6020811015612b5f57600080fd5b505160408051600160a060020a038316815290519192507fd18525bc6595a90cc21e9fbd517ada6fc07a7e87b7d2cdb6ee9284c450ebffa4919081900360200190a1949350505050565b6000806000806000612bbf89896000600161430d565b9350612bcc898989614444565b9250612bd78961446a565b9150612bfe898367ffffffffffffffff891615612bf45788612bf9565b62278d005b6144cb565b9050612c0c8484848461456e565b5091979650505050505050565b6000612c5e858586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561291057600080fd5b5060005b8251811015612d095783600160a060020a03166340c10f198483815181101515612c8857fe5b90602001906020020151846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015612ce557600080fd5b505af1158015612cf9573d6000803e3d6000fd5b505060019092019150612c629050565b612d7d858586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612d4c57600080fd5b505af1158015612d60573d6000803e3d6000fd5b505050506040513d6020811015612d7657600080fd5b50516145d6565b5050505050565b3360009081526005602052604090208054600160a060020a031916600160a060020a0392909216919091179055565b3360009081526005602052604090206007810154600160a060020a031615801590612dea57506008810154600160a060020a031615155b8015612e0257506009810154600160a060020a031615155b8015612e1a5750600a810154600160a060020a031615155b8015612e325750600b810154600160a060020a031615155b6040805180820190915260108152600080516020615c428339815191526020820152901515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b5050565b33600090815260056020526040902054600160a060020a031690565b3360009081526005602081905260409091206006810154910154600160a060020a0391821692911690565b600080600088600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612f3457600080fd5b505af1158015612f48573d6000803e3d6000fd5b505050506040513d6020811015612f5e57600080fd5b50519250612f6a612ec6565b925050612f7561400d565b945050505050612fbe838283600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561291057600080fd5b80600160a060020a03166397ff256a60046000815481101515612fdd57fe5b60009182526020822001548b518b518b516040805160e060020a63ffffffff8916028152600160a060020a03909516600486015260248501939093526044840191909152620186a06064840152608483015260a482018a905260c482018990525160e4808301939282900301818387803b15801561305a57600080fd5b505af115801561306e573d6000803e3d6000fd5b5050505080600160a060020a03166397ff256a6004600181548110151561309157fe5b60009182526020808320909101548c8201518c830151928c01516040805160e060020a63ffffffff8916028152600160a060020a039094166004850152602484019290925260448301939093526127106064830152608482019290925260a4810183905260c48101839052905160e4808301939282900301818387803b15801561311a57600080fd5b505af115801561312e573d6000803e3d6000fd5b505050506131a883828484600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561317657600080fd5b505af115801561318a573d6000803e3d6000fd5b505050506040513d60208110156131a057600080fd5b5051866146b4565b505050505050505050565b600083600160a060020a031663a479e5086040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156131f357600080fd5b505af1158015613207573d6000803e3d6000fd5b505050506040513d602081101561321d57600080fd5b5051604080517fbd8fde1c0000000000000000000000000000000000000000000000000000000081529051919250600160a060020a038087169263be03847892879286929083169163bd8fde1c9160048083019260209291908290030181600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b505050506040513d60208110156132b657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291861660648201529051608480830192600092919082900301818387803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b5050505083600160a060020a031663be038478848384600160a060020a03166319f3d10f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050506040513d60208110156133a657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291861660648201529051608480830192600092919082900301818387803b15801561340557600080fd5b505af1158015613419573d6000803e3d6000fd5b5050505050505050565b600083600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561346357600080fd5b505af1158015613477573d6000803e3d6000fd5b505050506040513d602081101561348d57600080fd5b50516040805160e060020a638ea8dc9d02815290519192506134e291839187918791600160a060020a03841691638ea8dc9d916004808201926020929091908290030181600087803b15801561317657600080fd5b61352681828584600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561317657600080fd5b60408051600160a060020a038616815290517f17592627a66846ce06d92a1708275bc653b2a3f34aec855584b819872a8ba4139181900360200190a150505050565b60035460408051808201909152601f81527f54454d504c4154455f415241474f4e5f49445f4e4f545f50524f564944454400602082015290600160a060020a031615156135fa5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b506003546040518351600160a060020a039092169163d22057a99185916020918201918291908401908083835b602083106136465780518252601f199092019160209182019101613627565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106136a95780518252601f19909201916020918201910161368a565b5181516020939093036101000a60001901801990911692169190911790526040805191909301819003812063ffffffff871660e060020a0282526004820152600160a060020a0388166024820152915160448084019550600094509092839003019050818387803b15801561371d57600080fd5b505af1158015613731573d6000803e3d6000fd5b505050505050565b3360009081526005602081905260409091208054600160a060020a031990811682556001820180548216905560028201805482169055600382018054821690556004820180548216905591810180548316905560068101805483169055600781018054831690556008810180548316905560098101805483169055600a8101805483169055600b0180549091169055565b3360009081526005602052604090206001810154600160a060020a03161580159061380157506002810154600160a060020a031615155b801561381957506003810154600160a060020a031615155b8015612e32575060048101546040805180820190915260108152600080516020615c42833981519152602082015290600160a060020a03161515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b6000806138b385856001600061430d565b91506138c0858585614444565b9050612d7d8282614823565b60008060008060008086600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561391357600080fd5b505af1158015613927573d6000803e3d6000fd5b505050506040513d602081101561393d57600080fd5b50519550613949613fd2565b9450945094509450613959612ec6565b91505061396886868684614865565b6139758685868885614a2d565b61398186848484614ce5565b61398d86838684614d34565b61069686838684614e73565b3360009081526005602052604090206006810154600160a060020a031615801590612e32575060058101546040805180820190915260108152600080516020615c42833981519152602082015290600160a060020a03161515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b613a4a8c614ec2565b613a5a8b8b8b8b8b8b8b8b614f92565b613a638361509f565b613a6e8383836151b6565b610370615261565b600080600080600080606087600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613abf57600080fd5b505af1158015613ad3573d6000803e3d6000fd5b505050506040513d6020811015613ae957600080fd5b50519650613af5613fd2565b5050509550613b02612ec6565b94509450613b0e61400d565b505060408051600280825260608201835293975091955090925060208301908038833901905050905081816000815181101515613b4757fe5b600160a060020a039092166020928302909101909101528051839082906001908110613b6f57fe5b90602001906020020190600160a060020a03169081600160a060020a03168152505086600160a060020a031663be038478838788600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613be057600080fd5b505af1158015613bf4573d6000803e3d6000fd5b505050506040513d6020811015613c0a57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152600160648201529051608480830192600092919082900301818387803b158015613c6657600080fd5b505af1158015613c7a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663856222f16040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613ccd57600080fd5b505af1158015613ce1573d6000803e3d6000fd5b505050506040513d6020811015613cf757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613d5657600080fd5b505af1158015613d6a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663a51d9a8e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613dbd57600080fd5b505af1158015613dd1573d6000803e3d6000fd5b505050506040513d6020811015613de757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613e4657600080fd5b505af1158015613e5a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663edc168f16040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613ead57600080fd5b505af1158015613ec1573d6000803e3d6000fd5b505050506040513d6020811015613ed757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613f3657600080fd5b505af1158015613f4a573d6000803e3d6000fd5b50505050613fc587828788600160a060020a031663b930908f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613f9257600080fd5b505af1158015613fa6573d6000803e3d6000fd5b505050506040513d6020811015613fbc57600080fd5b50516001614053565b61341987858689886153af565b336000908152600560205260409020600181015460028201546003830154600490930154600160a060020a0392831694918316938316921690565b336000908152600560205260409020600781015460088201546009830154600a840154600b90940154600160a060020a0393841695928416949184169391821692911690565b600085600160a060020a031663be03847886600081518110151561407357fe5b602090810290910101516040805160e060020a63ffffffff8516028152600160a060020a03928316600482015291881660248301526044820187905230606483015251608480830192600092919082900301818387803b1580156140d657600080fd5b505af11580156140ea573d6000803e3d6000fd5b50505050600190505b845181101561419a5785600160a060020a0316630a8ed3db868381518110151561411957fe5b602090810290910101516040805160e060020a63ffffffff8516028152600160a060020a03928316600482015291881660248301526044820187905251606480830192600092919082900301818387803b15801561417657600080fd5b505af115801561418a573d6000803e3d6000fd5b5050600190920191506140f39050565b6040805160e060020a639d0effdb028152306004820152600160a060020a03868116602483015260448201869052915191881691639d0effdb9160648082019260009290919082900301818387803b1580156141f557600080fd5b505af1158015614209573d6000803e3d6000fd5b50506040805160e060020a63afd925df028152600160a060020a0386811660048301528881166024830152604482018890529151918a16935063afd925df925060648082019260009290919082900301818387803b15801561426a57600080fd5b505af11580156105af573d6000803e3d6000fd5b604080517fbe0384780000000000000000000000000000000000000000000000000000000081523060048201819052600160a060020a03858116602484015260448301859052606483019190915291519185169163be0384789160848082019260009290919082900301818387803b1580156142f957600080fd5b505af1158015610696573d6000803e3d6000fd5b60008061433a867f6b20a3010614eeebf2138ccec99f028a61c811b3b1a3343b6ff635985c75c91f615574565b905084600160a060020a0316633cebb823826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561439757600080fd5b505af11580156143ab573d6000803e3d6000fd5b5050604080517fe37ff29f000000000000000000000000000000000000000000000000000000008152600160a060020a0389811660048301528815156024830152604482018890529151918516935063e37ff29f925060648082019260009290919082900301818387803b15801561442257600080fd5b505af1158015614436573d6000803e3d6000fd5b509298975050505050505050565b80516020820151604083015160009261446292879287929190615591565b949350505050565b604080516004815260248101909152602081018051600160e060020a031660e260020a63204a7f07021790526000906144c4837f7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d183615646565b9392505050565b60408051600160a060020a038416602482015267ffffffffffffffff8316604480830191909152825180830390910181526064909101909152602081018051600160e060020a03167f1798de8100000000000000000000000000000000000000000000000000000000179052600090614565857fbf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae83615655565b95945050505050565b336000908152600560205260409020600181018054600160a060020a03968716600160a060020a031991821617909155600282018054958716958216959095179094556003810180549386169385169390931790925560049091018054919093169116179055565b6040805160e060020a639d0effdb028152306004820152600160a060020a03848116602483015260448201849052915191851691639d0effdb9160648082019260009290919082900301818387803b15801561463157600080fd5b505af1158015614645573d6000803e3d6000fd5b5050604080517fa885508a000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151918716935063a885508a925060448082019260009290919082900301818387803b1580156142f957600080fd5b604080517f0a8ed3db000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152868116602483015260448201859052915191871691630a8ed3db9160648082019260009290919082900301818387803b15801561472757600080fd5b505af115801561473b573d6000803e3d6000fd5b50506040805160e060020a639d0effdb028152306004820152600160a060020a0388811660248301526044820187905291519189169350639d0effdb925060648082019260009290919082900301818387803b15801561479a57600080fd5b505af11580156147ae573d6000803e3d6000fd5b50506040805160e060020a63afd925df028152600160a060020a0385811660048301528881166024830152604482018790529151918916935063afd925df925060648082019260009290919082900301818387803b15801561480f57600080fd5b505af11580156131a8573d6000803e3d6000fd5b336000908152600560208190526040909120600681018054600160a060020a03958616600160a060020a03199182161790915591018054929093169116179055565b83600160a060020a031663be038478838586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156148b457600080fd5b505af11580156148c8573d6000803e3d6000fd5b505050506040513d60208110156148de57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561493d57600080fd5b505af1158015614951573d6000803e3d6000fd5b5050505083600160a060020a031663be038478838586600160a060020a031663b930908f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b505af11580156149b8573d6000803e3d6000fd5b505050506040513d60208110156149ce57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561340557600080fd5b84600160a060020a031663be038478848687600160a060020a0316633c624c756040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614a7c57600080fd5b505af1158015614a90573d6000803e3d6000fd5b505050506040513d6020811015614aa657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614b0557600080fd5b505af1158015614b19573d6000803e3d6000fd5b5050505084600160a060020a031663be038478848687600160a060020a03166362de7e5a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614b6c57600080fd5b505af1158015614b80573d6000803e3d6000fd5b505050506040513d6020811015614b9657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614bf557600080fd5b505af1158015614c09573d6000803e3d6000fd5b5050505084600160a060020a031663be038478838687600160a060020a031663be2c64d46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614c5c57600080fd5b505af1158015614c70573d6000803e3d6000fd5b505050506040513d6020811015614c8657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561480f57600080fd5b83600160a060020a031663be038478838586600160a060020a031663206b60f96040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b83600160a060020a031663be038478838586600160a060020a031663981cc3426040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614d8357600080fd5b505af1158015614d97573d6000803e3d6000fd5b505050506040513d6020811015614dad57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614e0c57600080fd5b505af1158015614e20573d6000803e3d6000fd5b5050505083600160a060020a031663be038478838586600160a060020a031663e94ebac56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b83600160a060020a031663be038478838586600160a060020a0316630842ace46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b6000806000806000614ed386615664565b9450614eff867f5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df56156be565b9350614f2b867fc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf06156be565b9250614f57867f82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc6156be565b9150614f83867f5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea66156be565b905061373185858585856157a1565b614f9a61581b565b600160a060020a031663b472fc81614fb061583a565b614fb8615859565b614fc0615878565b614fc8615897565b600480546000908110614fd757fe5b60009182526020822001546040805160e060020a63ffffffff8a16028152600160a060020a0397881660048201529587166024870152938616604486015291851660648501529316608483015260a482018d905267ffffffffffffffff808d1660c484015260e483018c9052808b16610104840152808a16610124840152610144830189905261016483018890528616610184830152516101a4808301939282900301818387803b15801561508b57600080fd5b505af1158015610370573d6000803e3d6000fd5b600080808080806150cf7fd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d6158b6565b95506150d9613fd2565b50965050506150e6612ec6565b5093506150f161400d565b604080517f7403c6cd000000000000000000000000000000000000000000000000000000008152600160a060020a0380841660048301528b811660248301528d8116604483015280881660648301528c8116608483015260a482018f9052600060c4830181905260e483018190529251979a5094985091965092871694637403c6cd9450610104808301949350909182900301818387803b15801561519557600080fd5b505af11580156151a9573d6000803e3d6000fd5b5050505050505050505050565b6000806000806151c4613fd2565b50955050506151d161400d565b604080517f728cdbca000000000000000000000000000000000000000000000000000000008152600160a060020a03808416600483015280881660248301528b81166044830152606482018f9052608482018e905260a482018d9052915196995092975090955086169363728cdbca935060c4808301935060009282900301818387803b15801561519557600080fd5b6000806000806000606061527361400d565b604080516001808252818301909252959b509399509197509550935060208083019080388339019050509050600460008154811015156152af57fe5b60009182526020822001548251600160a060020a0390911691839181106152d257fe5b600160a060020a0392831660209182029092018101919091526040517ff8453e7c0000000000000000000000000000000000000000000000000000000081528783166004820190815287841660248301528984166044830152868416606483015260a060848301908152855160a484015285519487169463f8453e7c948b948b948e948c948b949293919260c490920191858101910280838360005b8381101561538657818101518382015260200161536e565b505050509050019650505050505050600060405180830381600087803b15801561426a57600080fd5b84600160a060020a031663be038478848687600160a060020a0316633c624c756040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156153fe57600080fd5b505af1158015615412573d6000803e3d6000fd5b505050506040513d602081101561542857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561548757600080fd5b505af115801561549b573d6000803e3d6000fd5b5050505084600160a060020a031663be038478848687600160a060020a03166362de7e5a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156154ee57600080fd5b505af1158015615502573d6000803e3d6000fd5b505050506040513d602081101561551857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152600160648201529051608480830192600092919082900301818387803b158015614bf557600080fd5b604080516000808252602082019092526144c49084908490615655565b60408051600160a060020a038616602482015267ffffffffffffffff8086166044830152808516606483015283166084808301919091528251808303909101815260a4909101909152602081018051600160e060020a03167fdf3d33050000000000000000000000000000000000000000000000000000000017905260009061563b877f9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d483615655565b979650505050505050565b60006144628484846001615ad4565b60006144628484846000615ad4565b604080516004815260248101909152602081018051600160e060020a031660e260020a63204a7f07021790526000906144c4837f9ac98dc5f995bf0211ed589ef022719d1487e5cb2bab505676f0d084c07cf89a83615655565b60008083600160a060020a03166380cd5ac3846156da866158b6565b6040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301525160448083019260209291908290030181600087803b15801561572757600080fd5b505af115801561573b573d6000803e3d6000fd5b505050506040513d602081101561575157600080fd5b505160408051600160a060020a03831681526020810186905281519293507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3929081900390910190a19392505050565b336000908152600560205260409020600781018054600160a060020a0319908116600160a060020a0398891617909155600882018054821696881696909617909555600981018054861694871694909417909355600a83018054851692861692909217909155600b90910180549092169216919091179055565b33600090815260056020526040902060080154600160a060020a031690565b336000908152600560205260409020600b0154600160a060020a031690565b33600090815260056020526040902060060154600160a060020a031690565b33600090815260056020526040902060070154600160a060020a031690565b33600090815260056020526040902060030154600160a060020a031690565b60008054604080517f0178b8bf0000000000000000000000000000000000000000000000000000000081526004810185905290518392600160a060020a031691630178b8bf91602480830192602092919082900301818787803b15801561591c57600080fd5b505af1158015615930573d6000803e3d6000fd5b505050506040513d602081101561594657600080fd5b5051604080517f3b3b57de000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691633b3b57de916024808201926020929091908290030181600087803b1580156159ac57600080fd5b505af11580156159c0573d6000803e3d6000fd5b505050506040513d60208110156159d657600080fd5b5051604080517fc36af4600000000000000000000000000000000000000000000000000000000081529051919250600160a060020a0383169163c36af4609160048082019260009290919082900301818387803b158015615a3657600080fd5b505af1158015615a4a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a0811015615a7357600080fd5b60608201516080830180519192840191849190640100000000811115615a9857600080fd5b82016020810184811115615aab57600080fd5b8151640100000000811182820187101715615ac557600080fd5b50949998505050505050505050565b6000806000615ae2866158b6565b6040517f397edd4100000000000000000000000000000000000000000000000000000000815260048101888152600160a060020a0380841660248401528715156064840152608060448401908152895160848501528951949650908b169363397edd41938b9388938c938c9360a40190602086019080838360005b83811015615b75578181015183820152602001615b5d565b50505050905090810190601f168015615ba25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015615bc457600080fd5b505af1158015615bd8573d6000803e3d6000fd5b505050506040513d6020811015615bee57600080fd5b505160408051600160a060020a03831681526020810189905281519293507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3929081900390910190a196955050505050505600464d5f4d495353494e475f434143484500000000000000000000000000000000464d5f4241445f53455454494e47530000000000000000000000000000000000a165627a7a72305820c9cf11bc2ef86a540aefb5de56a9538d594d9bd1dc94225dd77c29060dbe189d0029", - "deployedBytecode": "0x60806040526004361061005e5763ffffffff60e060020a6000350416631aed6f4e811461006357806324c1173b146100ac578063350cbe71146100e057806385ddd98e1461010e578063b95b1b681461013c578063d23a70a31461018b575b600080fd5b34801561006f57600080fd5b506100aa6024600480358281019290820135918135808301929082013591604435918201910135606467ffffffffffffffff60c435166101a0565b005b3480156100b857600080fd5b506100c460043561037e565b60408051600160a060020a039092168252519081900360200190f35b3480156100ec57600080fd5b506100aa6024600480358281019291013590606460a460e435610104356103a6565b34801561011a57600080fd5b506100aa602460048035828101929082013591813591820191013560446105bb565b34801561014857600080fd5b506100aa60043567ffffffffffffffff6024358116906044359060643581169060843581169060a4359060c4359060e4351661010435610124356101443561069f565b34801561019757600080fd5b506100aa6106d0565b60408051808201909152600f8152600080516020615c6283398151915260208201526000908190819081908188116102595760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561021e578181015183820152602001610206565b50505050905090810190601f16801561024b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152600f8152600080516020615c62833981519152602082015250610285612780565b935093506102f88c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843750600094506129459350505050565b915061032a8483886003806020026040519081016040528092919082600360200280828437508c9350612ba992505050565b905061036783828a8a808060200260200160405190810160405280939291908181526020018383602002808284375060019450612c199350505050565b61037084612d84565b505050505050505050505050565b600480548290811061038c57fe5b600091825260209091200154600160a060020a0316905081565b60408051808201909152600f8152600080516020615c62833981519152602082015260009081908190818a116104215760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b50604080518082018252600f808252600080516020615c628339815191526020928301819052835180850185528281528301819052835180850190945290835291015261046c612db3565b610474612eaa565b925082600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156104b457600080fd5b505af11580156104c8573d6000803e3d6000fd5b505050506040513d60208110156104de57600080fd5b505191506104ea612ec6565b91505061055683896002806020026040519081016040528092919082600260200280828437505060408051808201825293508d9250600291508390839080828437505060408051808201825293508d925060029150839083908082843782019150505050508989612ef1565b6105618282836131b3565b61056c838283613423565b6105a78a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437508994506135689350505050565b6105af613739565b50505050505050505050565b60408051808201909152600f8152600080516020615c628339815191526020909101526000806105e96137ca565b6105f1612eaa565b915061065d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8d018190048102820181019092528b815294508b93508a9250829150840183828082843750601294506129459350505050565b905061068d8282856003806020026040519081016040528092919082600360200280828437506138a29350505050565b610696826138cc565b50505050505050565b60006106a9613999565b6106b1612eaa565b90506106c7818d8d8d8d8d8d8d8d8d8d8d613a41565b61037081613a76565b600080600080600080600080600060606106e8612db3565b6106f0612eaa565b995089600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b505050506040513d602081101561075a57600080fd5b50519850610766613fd2565b5050985050610773612ec6565b97505061077e61400d565b60408051600280825260608201909252959b5093995091975095509350816020016020820280388339019050509050828160008151811015156107bd57fe5b600160a060020a0390921660209283029091019091015280518490829060019081106107e557fe5b90602001906020020190600160a060020a03169081600160a060020a03168152505088600160a060020a031663be038478888889600160a060020a0316633e4eb7566040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050506040513d602081101561088057600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156108df57600080fd5b505af11580156108f3573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838889600160a060020a0316627bb0036040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b505050506040513d602081101561096f57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b50505050610a5c89828889600160a060020a031663206b60f96040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a2a57600080fd5b505af1158015610a3e573d6000803e3d6000fd5b505050506040513d6020811015610a5457600080fd5b50518b614053565b88600160a060020a031663be038478838788600160a060020a0316636a928e8f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050506040513d6020811015610ad557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838788600160a060020a031663a2b96b6f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b9b57600080fd5b505af1158015610baf573d6000803e3d6000fd5b505050506040513d6020811015610bc557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316636a928e8f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b505050506040513d6020811015610cb557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610d1457600080fd5b505af1158015610d28573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610e0457600080fd5b505af1158015610e18573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a03166360e14b606040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e6b57600080fd5b505af1158015610e7f573d6000803e3d6000fd5b505050506040513d6020811015610e9557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610ef457600080fd5b505af1158015610f08573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f5b57600080fd5b505af1158015610f6f573d6000803e3d6000fd5b505050506040513d6020811015610f8557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663b6e9c8266040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050506040513d602081101561107557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156110d457600080fd5b505af11580156110e8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316633017dbed6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b505050506040513d602081101561116557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156111c457600080fd5b505af11580156111d8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a0316632cd4a2706040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561122b57600080fd5b505af115801561123f573d6000803e3d6000fd5b505050506040513d602081101561125557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156112b457600080fd5b505af11580156112c8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838687600160a060020a031663cf9d82f26040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561131b57600080fd5b505af115801561132f573d6000803e3d6000fd5b505050506040513d602081101561134557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156113a457600080fd5b505af11580156113b8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140b57600080fd5b505af115801561141f573d6000803e3d6000fd5b505050506040513d602081101561143557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561149457600080fd5b505af11580156114a8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663c102b1b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663cc77491b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115eb57600080fd5b505af11580156115ff573d6000803e3d6000fd5b505050506040513d602081101561161557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561167457600080fd5b505af1158015611688573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166372405ee06040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156116db57600080fd5b505af11580156116ef573d6000803e3d6000fd5b505050506040513d602081101561170557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663bf5ae7436040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156117cb57600080fd5b505af11580156117df573d6000803e3d6000fd5b505050506040513d60208110156117f557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561185457600080fd5b505af1158015611868573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a03166378986e646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156118bb57600080fd5b505af11580156118cf573d6000803e3d6000fd5b505050506040513d60208110156118e557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561194457600080fd5b505af1158015611958573d6000803e3d6000fd5b5050505088600160a060020a031663be038478838586600160a060020a031663e02023a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119ab57600080fd5b505af11580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611a3457600080fd5b505af1158015611a48573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a03166341644f8c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611b2457600080fd5b505af1158015611b38573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a03166360e14b606040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611b8b57600080fd5b505af1158015611b9f573d6000803e3d6000fd5b505050506040513d6020811015611bb557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611c1457600080fd5b505af1158015611c28573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663b6e9c8266040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c7b57600080fd5b505af1158015611c8f573d6000803e3d6000fd5b505050506040513d6020811015611ca557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a0316633017dbed6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d6b57600080fd5b505af1158015611d7f573d6000803e3d6000fd5b505050506040513d6020811015611d9557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611df457600080fd5b505af1158015611e08573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663c102b1b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611e5b57600080fd5b505af1158015611e6f573d6000803e3d6000fd5b505050506040513d6020811015611e8557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663cc77491b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f4b57600080fd5b505af1158015611f5f573d6000803e3d6000fd5b505050506040513d6020811015611f7557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b158015611fd457600080fd5b505af1158015611fe8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a0316638b4886346040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561203b57600080fd5b505af115801561204f573d6000803e3d6000fd5b505050506040513d602081101561206557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478888485600160a060020a031663b0d88a406040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561212b57600080fd5b505af115801561213f573d6000803e3d6000fd5b505050506040513d602081101561215557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156121b457600080fd5b505af11580156121c8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478898485600160a060020a0316631c1966596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b505050506040513d602081101561224557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b1580156122a457600080fd5b505af11580156122b8573d6000803e3d6000fd5b5050505088600160a060020a031663be038478868485600160a060020a0316630f97e2fe6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561230b57600080fd5b505af115801561231f573d6000803e3d6000fd5b505050506040513d602081101561233557600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561239457600080fd5b505af11580156123a8573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663a2b96b6f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156123fd57600080fd5b505af1158015612411573d6000803e3d6000fd5b505050506040513d602081101561242757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561248657600080fd5b505af115801561249a573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a0316632cd4a2706040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124ef57600080fd5b505af1158015612503573d6000803e3d6000fd5b505050506040513d602081101561251957600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561257857600080fd5b505af115801561258c573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663cf9d82f26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156125e157600080fd5b505af11580156125f5573d6000803e3d6000fd5b505050506040513d602081101561260b57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561266a57600080fd5b505af115801561267e573d6000803e3d6000fd5b5050505088600160a060020a031663be0384786000198485600160a060020a031663e02023a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156126d357600080fd5b505af11580156126e7573d6000803e3d6000fd5b505050506040513d60208110156126fd57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152918b1660648201529051608480830192600092919082900301818387803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b5050505050505050505050505050565b600154604080517f2168744400000000000000000000000000000000000000000000000000000000815230600482015290516000928392600160a060020a039091169163216874449160248082019260209290919082900301818787803b1580156127ea57600080fd5b505af11580156127fe573d6000803e3d6000fd5b505050506040513d602081101561281457600080fd5b505160408051600160a060020a038316815290519193507f0b13a9ab90735191cd544fd95ba68d1385144561cbdeb8acb8035de9a86432f5919081900360200190a181600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561289457600080fd5b505af11580156128a8573d6000803e3d6000fd5b505050506040513d60208110156128be57600080fd5b50516040805160e060020a638ea8dc9d02815290519192506129419183918591600160a060020a03831691638ea8dc9d9160048083019260209291908290030181600087803b15801561291057600080fd5b505af1158015612924573d6000803e3d6000fd5b505050506040513d602081101561293a57600080fd5b505161427e565b9091565b6002546040805180820190915260208082527f54454d504c4154455f4d494e494d455f4641435f4e4f545f50524f564944454490820152600091829190600160a060020a031615156129dc5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b506002546040517f5b7b72c10000000000000000000000000000000000000000000000000000000081526000600482018181526024830182905260ff87166064840152600160a4840181905260c0604485019081528a5160c48601528a51600160a060020a0390961695635b7b72c19585948d948c948e9491939091608482019160e4019060208901908083838d5b83811015612a83578181015183820152602001612a6b565b50505050905090810190601f168015612ab05780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015612ae3578181015183820152602001612acb565b50505050905090810190601f168015612b105780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015612b3557600080fd5b505af1158015612b49573d6000803e3d6000fd5b505050506040513d6020811015612b5f57600080fd5b505160408051600160a060020a038316815290519192507fd18525bc6595a90cc21e9fbd517ada6fc07a7e87b7d2cdb6ee9284c450ebffa4919081900360200190a1949350505050565b6000806000806000612bbf89896000600161430d565b9350612bcc898989614444565b9250612bd78961446a565b9150612bfe898367ffffffffffffffff891615612bf45788612bf9565b62278d005b6144cb565b9050612c0c8484848461456e565b5091979650505050505050565b6000612c5e858586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561291057600080fd5b5060005b8251811015612d095783600160a060020a03166340c10f198483815181101515612c8857fe5b90602001906020020151846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015612ce557600080fd5b505af1158015612cf9573d6000803e3d6000fd5b505060019092019150612c629050565b612d7d858586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612d4c57600080fd5b505af1158015612d60573d6000803e3d6000fd5b505050506040513d6020811015612d7657600080fd5b50516145d6565b5050505050565b3360009081526005602052604090208054600160a060020a031916600160a060020a0392909216919091179055565b3360009081526005602052604090206007810154600160a060020a031615801590612dea57506008810154600160a060020a031615155b8015612e0257506009810154600160a060020a031615155b8015612e1a5750600a810154600160a060020a031615155b8015612e325750600b810154600160a060020a031615155b6040805180820190915260108152600080516020615c428339815191526020820152901515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b5050565b33600090815260056020526040902054600160a060020a031690565b3360009081526005602081905260409091206006810154910154600160a060020a0391821692911690565b600080600088600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612f3457600080fd5b505af1158015612f48573d6000803e3d6000fd5b505050506040513d6020811015612f5e57600080fd5b50519250612f6a612ec6565b925050612f7561400d565b945050505050612fbe838283600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561291057600080fd5b80600160a060020a03166397ff256a60046000815481101515612fdd57fe5b60009182526020822001548b518b518b516040805160e060020a63ffffffff8916028152600160a060020a03909516600486015260248501939093526044840191909152620186a06064840152608483015260a482018a905260c482018990525160e4808301939282900301818387803b15801561305a57600080fd5b505af115801561306e573d6000803e3d6000fd5b5050505080600160a060020a03166397ff256a6004600181548110151561309157fe5b60009182526020808320909101548c8201518c830151928c01516040805160e060020a63ffffffff8916028152600160a060020a039094166004850152602484019290925260448301939093526127106064830152608482019290925260a4810183905260c48101839052905160e4808301939282900301818387803b15801561311a57600080fd5b505af115801561312e573d6000803e3d6000fd5b505050506131a883828484600160a060020a031663608bac056040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561317657600080fd5b505af115801561318a573d6000803e3d6000fd5b505050506040513d60208110156131a057600080fd5b5051866146b4565b505050505050505050565b600083600160a060020a031663a479e5086040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156131f357600080fd5b505af1158015613207573d6000803e3d6000fd5b505050506040513d602081101561321d57600080fd5b5051604080517fbd8fde1c0000000000000000000000000000000000000000000000000000000081529051919250600160a060020a038087169263be03847892879286929083169163bd8fde1c9160048083019260209291908290030181600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b505050506040513d60208110156132b657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291861660648201529051608480830192600092919082900301818387803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b5050505083600160a060020a031663be038478848384600160a060020a03166319f3d10f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050506040513d60208110156133a657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291861660648201529051608480830192600092919082900301818387803b15801561340557600080fd5b505af1158015613419573d6000803e3d6000fd5b5050505050505050565b600083600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561346357600080fd5b505af1158015613477573d6000803e3d6000fd5b505050506040513d602081101561348d57600080fd5b50516040805160e060020a638ea8dc9d02815290519192506134e291839187918791600160a060020a03841691638ea8dc9d916004808201926020929091908290030181600087803b15801561317657600080fd5b61352681828584600160a060020a0316633d6ab68f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561317657600080fd5b60408051600160a060020a038616815290517f17592627a66846ce06d92a1708275bc653b2a3f34aec855584b819872a8ba4139181900360200190a150505050565b60035460408051808201909152601f81527f54454d504c4154455f415241474f4e5f49445f4e4f545f50524f564944454400602082015290600160a060020a031615156135fa5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b506003546040518351600160a060020a039092169163d22057a99185916020918201918291908401908083835b602083106136465780518252601f199092019160209182019101613627565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106136a95780518252601f19909201916020918201910161368a565b5181516020939093036101000a60001901801990911692169190911790526040805191909301819003812063ffffffff871660e060020a0282526004820152600160a060020a0388166024820152915160448084019550600094509092839003019050818387803b15801561371d57600080fd5b505af1158015613731573d6000803e3d6000fd5b505050505050565b3360009081526005602081905260409091208054600160a060020a031990811682556001820180548216905560028201805482169055600382018054821690556004820180548216905591810180548316905560068101805483169055600781018054831690556008810180548316905560098101805483169055600a8101805483169055600b0180549091169055565b3360009081526005602052604090206001810154600160a060020a03161580159061380157506002810154600160a060020a031615155b801561381957506003810154600160a060020a031615155b8015612e32575060048101546040805180820190915260108152600080516020615c42833981519152602082015290600160a060020a03161515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b6000806138b385856001600061430d565b91506138c0858585614444565b9050612d7d8282614823565b60008060008060008086600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561391357600080fd5b505af1158015613927573d6000803e3d6000fd5b505050506040513d602081101561393d57600080fd5b50519550613949613fd2565b9450945094509450613959612ec6565b91505061396886868684614865565b6139758685868885614a2d565b61398186848484614ce5565b61398d86838684614d34565b61069686838684614e73565b3360009081526005602052604090206006810154600160a060020a031615801590612e32575060058101546040805180820190915260108152600080516020615c42833981519152602082015290600160a060020a03161515612ea65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561021e578181015183820152602001610206565b613a4a8c614ec2565b613a5a8b8b8b8b8b8b8b8b614f92565b613a638361509f565b613a6e8383836151b6565b610370615261565b600080600080600080606087600160a060020a031663de2873596040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613abf57600080fd5b505af1158015613ad3573d6000803e3d6000fd5b505050506040513d6020811015613ae957600080fd5b50519650613af5613fd2565b5050509550613b02612ec6565b94509450613b0e61400d565b505060408051600280825260608201835293975091955090925060208301908038833901905050905081816000815181101515613b4757fe5b600160a060020a039092166020928302909101909101528051839082906001908110613b6f57fe5b90602001906020020190600160a060020a03169081600160a060020a03168152505086600160a060020a031663be038478838788600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613be057600080fd5b505af1158015613bf4573d6000803e3d6000fd5b505050506040513d6020811015613c0a57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152600160648201529051608480830192600092919082900301818387803b158015613c6657600080fd5b505af1158015613c7a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663856222f16040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613ccd57600080fd5b505af1158015613ce1573d6000803e3d6000fd5b505050506040513d6020811015613cf757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613d5657600080fd5b505af1158015613d6a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663a51d9a8e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613dbd57600080fd5b505af1158015613dd1573d6000803e3d6000fd5b505050506040513d6020811015613de757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613e4657600080fd5b505af1158015613e5a573d6000803e3d6000fd5b5050505086600160a060020a031663be038478848788600160a060020a031663edc168f16040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613ead57600080fd5b505af1158015613ec1573d6000803e3d6000fd5b505050506040513d6020811015613ed757600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291881660648201529051608480830192600092919082900301818387803b158015613f3657600080fd5b505af1158015613f4a573d6000803e3d6000fd5b50505050613fc587828788600160a060020a031663b930908f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613f9257600080fd5b505af1158015613fa6573d6000803e3d6000fd5b505050506040513d6020811015613fbc57600080fd5b50516001614053565b61341987858689886153af565b336000908152600560205260409020600181015460028201546003830154600490930154600160a060020a0392831694918316938316921690565b336000908152600560205260409020600781015460088201546009830154600a840154600b90940154600160a060020a0393841695928416949184169391821692911690565b600085600160a060020a031663be03847886600081518110151561407357fe5b602090810290910101516040805160e060020a63ffffffff8516028152600160a060020a03928316600482015291881660248301526044820187905230606483015251608480830192600092919082900301818387803b1580156140d657600080fd5b505af11580156140ea573d6000803e3d6000fd5b50505050600190505b845181101561419a5785600160a060020a0316630a8ed3db868381518110151561411957fe5b602090810290910101516040805160e060020a63ffffffff8516028152600160a060020a03928316600482015291881660248301526044820187905251606480830192600092919082900301818387803b15801561417657600080fd5b505af115801561418a573d6000803e3d6000fd5b5050600190920191506140f39050565b6040805160e060020a639d0effdb028152306004820152600160a060020a03868116602483015260448201869052915191881691639d0effdb9160648082019260009290919082900301818387803b1580156141f557600080fd5b505af1158015614209573d6000803e3d6000fd5b50506040805160e060020a63afd925df028152600160a060020a0386811660048301528881166024830152604482018890529151918a16935063afd925df925060648082019260009290919082900301818387803b15801561426a57600080fd5b505af11580156105af573d6000803e3d6000fd5b604080517fbe0384780000000000000000000000000000000000000000000000000000000081523060048201819052600160a060020a03858116602484015260448301859052606483019190915291519185169163be0384789160848082019260009290919082900301818387803b1580156142f957600080fd5b505af1158015610696573d6000803e3d6000fd5b60008061433a867f6b20a3010614eeebf2138ccec99f028a61c811b3b1a3343b6ff635985c75c91f615574565b905084600160a060020a0316633cebb823826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561439757600080fd5b505af11580156143ab573d6000803e3d6000fd5b5050604080517fe37ff29f000000000000000000000000000000000000000000000000000000008152600160a060020a0389811660048301528815156024830152604482018890529151918516935063e37ff29f925060648082019260009290919082900301818387803b15801561442257600080fd5b505af1158015614436573d6000803e3d6000fd5b509298975050505050505050565b80516020820151604083015160009261446292879287929190615591565b949350505050565b604080516004815260248101909152602081018051600160e060020a031660e260020a63204a7f07021790526000906144c4837f7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d183615646565b9392505050565b60408051600160a060020a038416602482015267ffffffffffffffff8316604480830191909152825180830390910181526064909101909152602081018051600160e060020a03167f1798de8100000000000000000000000000000000000000000000000000000000179052600090614565857fbf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae83615655565b95945050505050565b336000908152600560205260409020600181018054600160a060020a03968716600160a060020a031991821617909155600282018054958716958216959095179094556003810180549386169385169390931790925560049091018054919093169116179055565b6040805160e060020a639d0effdb028152306004820152600160a060020a03848116602483015260448201849052915191851691639d0effdb9160648082019260009290919082900301818387803b15801561463157600080fd5b505af1158015614645573d6000803e3d6000fd5b5050604080517fa885508a000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151918716935063a885508a925060448082019260009290919082900301818387803b1580156142f957600080fd5b604080517f0a8ed3db000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152868116602483015260448201859052915191871691630a8ed3db9160648082019260009290919082900301818387803b15801561472757600080fd5b505af115801561473b573d6000803e3d6000fd5b50506040805160e060020a639d0effdb028152306004820152600160a060020a0388811660248301526044820187905291519189169350639d0effdb925060648082019260009290919082900301818387803b15801561479a57600080fd5b505af11580156147ae573d6000803e3d6000fd5b50506040805160e060020a63afd925df028152600160a060020a0385811660048301528881166024830152604482018790529151918916935063afd925df925060648082019260009290919082900301818387803b15801561480f57600080fd5b505af11580156131a8573d6000803e3d6000fd5b336000908152600560208190526040909120600681018054600160a060020a03958616600160a060020a03199182161790915591018054929093169116179055565b83600160a060020a031663be038478838586600160a060020a031663e9a9c8506040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156148b457600080fd5b505af11580156148c8573d6000803e3d6000fd5b505050506040513d60208110156148de57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561493d57600080fd5b505af1158015614951573d6000803e3d6000fd5b5050505083600160a060020a031663be038478838586600160a060020a031663b930908f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b505af11580156149b8573d6000803e3d6000fd5b505050506040513d60208110156149ce57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561340557600080fd5b84600160a060020a031663be038478848687600160a060020a0316633c624c756040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614a7c57600080fd5b505af1158015614a90573d6000803e3d6000fd5b505050506040513d6020811015614aa657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614b0557600080fd5b505af1158015614b19573d6000803e3d6000fd5b5050505084600160a060020a031663be038478848687600160a060020a03166362de7e5a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614b6c57600080fd5b505af1158015614b80573d6000803e3d6000fd5b505050506040513d6020811015614b9657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614bf557600080fd5b505af1158015614c09573d6000803e3d6000fd5b5050505084600160a060020a031663be038478838687600160a060020a031663be2c64d46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614c5c57600080fd5b505af1158015614c70573d6000803e3d6000fd5b505050506040513d6020811015614c8657600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561480f57600080fd5b83600160a060020a031663be038478838586600160a060020a031663206b60f96040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b83600160a060020a031663be038478838586600160a060020a031663981cc3426040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614d8357600080fd5b505af1158015614d97573d6000803e3d6000fd5b505050506040513d6020811015614dad57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b158015614e0c57600080fd5b505af1158015614e20573d6000803e3d6000fd5b5050505083600160a060020a031663be038478838586600160a060020a031663e94ebac56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b83600160a060020a031663be038478838586600160a060020a0316630842ace46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156149a457600080fd5b6000806000806000614ed386615664565b9450614eff867f5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df56156be565b9350614f2b867fc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf06156be565b9250614f57867f82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc6156be565b9150614f83867f5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea66156be565b905061373185858585856157a1565b614f9a61581b565b600160a060020a031663b472fc81614fb061583a565b614fb8615859565b614fc0615878565b614fc8615897565b600480546000908110614fd757fe5b60009182526020822001546040805160e060020a63ffffffff8a16028152600160a060020a0397881660048201529587166024870152938616604486015291851660648501529316608483015260a482018d905267ffffffffffffffff808d1660c484015260e483018c9052808b16610104840152808a16610124840152610144830189905261016483018890528616610184830152516101a4808301939282900301818387803b15801561508b57600080fd5b505af1158015610370573d6000803e3d6000fd5b600080808080806150cf7fd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d6158b6565b95506150d9613fd2565b50965050506150e6612ec6565b5093506150f161400d565b604080517f7403c6cd000000000000000000000000000000000000000000000000000000008152600160a060020a0380841660048301528b811660248301528d8116604483015280881660648301528c8116608483015260a482018f9052600060c4830181905260e483018190529251979a5094985091965092871694637403c6cd9450610104808301949350909182900301818387803b15801561519557600080fd5b505af11580156151a9573d6000803e3d6000fd5b5050505050505050505050565b6000806000806151c4613fd2565b50955050506151d161400d565b604080517f728cdbca000000000000000000000000000000000000000000000000000000008152600160a060020a03808416600483015280881660248301528b81166044830152606482018f9052608482018e905260a482018d9052915196995092975090955086169363728cdbca935060c4808301935060009282900301818387803b15801561519557600080fd5b6000806000806000606061527361400d565b604080516001808252818301909252959b509399509197509550935060208083019080388339019050509050600460008154811015156152af57fe5b60009182526020822001548251600160a060020a0390911691839181106152d257fe5b600160a060020a0392831660209182029092018101919091526040517ff8453e7c0000000000000000000000000000000000000000000000000000000081528783166004820190815287841660248301528984166044830152868416606483015260a060848301908152855160a484015285519487169463f8453e7c948b948b948e948c948b949293919260c490920191858101910280838360005b8381101561538657818101518382015260200161536e565b505050509050019650505050505050600060405180830381600087803b15801561426a57600080fd5b84600160a060020a031663be038478848687600160a060020a0316633c624c756040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156153fe57600080fd5b505af1158015615412573d6000803e3d6000fd5b505050506040513d602081101561542857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152604483019190915291851660648201529051608480830192600092919082900301818387803b15801561548757600080fd5b505af115801561549b573d6000803e3d6000fd5b5050505084600160a060020a031663be038478848687600160a060020a03166362de7e5a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156154ee57600080fd5b505af1158015615502573d6000803e3d6000fd5b505050506040513d602081101561551857600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152600160648201529051608480830192600092919082900301818387803b158015614bf557600080fd5b604080516000808252602082019092526144c49084908490615655565b60408051600160a060020a038616602482015267ffffffffffffffff8086166044830152808516606483015283166084808301919091528251808303909101815260a4909101909152602081018051600160e060020a03167fdf3d33050000000000000000000000000000000000000000000000000000000017905260009061563b877f9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d483615655565b979650505050505050565b60006144628484846001615ad4565b60006144628484846000615ad4565b604080516004815260248101909152602081018051600160e060020a031660e260020a63204a7f07021790526000906144c4837f9ac98dc5f995bf0211ed589ef022719d1487e5cb2bab505676f0d084c07cf89a83615655565b60008083600160a060020a03166380cd5ac3846156da866158b6565b6040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301525160448083019260209291908290030181600087803b15801561572757600080fd5b505af115801561573b573d6000803e3d6000fd5b505050506040513d602081101561575157600080fd5b505160408051600160a060020a03831681526020810186905281519293507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3929081900390910190a19392505050565b336000908152600560205260409020600781018054600160a060020a0319908116600160a060020a0398891617909155600882018054821696881696909617909555600981018054861694871694909417909355600a83018054851692861692909217909155600b90910180549092169216919091179055565b33600090815260056020526040902060080154600160a060020a031690565b336000908152600560205260409020600b0154600160a060020a031690565b33600090815260056020526040902060060154600160a060020a031690565b33600090815260056020526040902060070154600160a060020a031690565b33600090815260056020526040902060030154600160a060020a031690565b60008054604080517f0178b8bf0000000000000000000000000000000000000000000000000000000081526004810185905290518392600160a060020a031691630178b8bf91602480830192602092919082900301818787803b15801561591c57600080fd5b505af1158015615930573d6000803e3d6000fd5b505050506040513d602081101561594657600080fd5b5051604080517f3b3b57de000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691633b3b57de916024808201926020929091908290030181600087803b1580156159ac57600080fd5b505af11580156159c0573d6000803e3d6000fd5b505050506040513d60208110156159d657600080fd5b5051604080517fc36af4600000000000000000000000000000000000000000000000000000000081529051919250600160a060020a0383169163c36af4609160048082019260009290919082900301818387803b158015615a3657600080fd5b505af1158015615a4a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a0811015615a7357600080fd5b60608201516080830180519192840191849190640100000000811115615a9857600080fd5b82016020810184811115615aab57600080fd5b8151640100000000811182820187101715615ac557600080fd5b50949998505050505050505050565b6000806000615ae2866158b6565b6040517f397edd4100000000000000000000000000000000000000000000000000000000815260048101888152600160a060020a0380841660248401528715156064840152608060448401908152895160848501528951949650908b169363397edd41938b9388938c938c9360a40190602086019080838360005b83811015615b75578181015183820152602001615b5d565b50505050905090810190601f168015615ba25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015615bc457600080fd5b505af1158015615bd8573d6000803e3d6000fd5b505050506040513d6020811015615bee57600080fd5b505160408051600160a060020a03831681526020810189905281519293507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3929081900390910190a196955050505050505600464d5f4d495353494e475f434143484500000000000000000000000000000000464d5f4241445f53455454494e47530000000000000000000000000000000000a165627a7a72305820c9cf11bc2ef86a540aefb5de56a9538d594d9bd1dc94225dd77c29060dbe189d0029", - "sourceMap": "668:24172:0:-;;;2731:687;8:9:-1;5:2;;;30:1;27;20:12;5:2;2731:687:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3889:25:84;2731:687:0;3889:10:84;;;;:25;:::i;:::-;3916:22;;;;;;;;;;;;;;;;;;3881:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3881:58:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3957:32:84;3976:11;3957:10;;;;:32;:::i;:::-;3991:30;;;;;;;;;;;;;;;;;;3949:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3949:73:84;-1:-1:-1;4033:3:84;:10;;-1:-1:-1;;;;;;4033:10:84;;;-1:-1:-1;;;;;4033:10:84;;;;;;;4053:8;:20;;;;;;;;;;;;;;-1:-1:-1;4083:24:84;;;;;;;;;;;;;;-1:-1:-1;4117:30:84;;;;;;;;;;3095:33:0;3118:9;3095:22;;;;:33;:::i;:::-;3138:43;3166:14;3138:27;;;;:43;:::i;:::-;3199:16;3210:4;3199:10;;;;:16;:::i;:::-;3217:18;;;;;;;;;;;;;;;;;;3191:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3191:45:0;-1:-1:-1;3254:16:0;3265:4;3254:10;;;;:16;:::i;:::-;3272:18;;;;;;;;;;;;;;;;;;3246:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3246:45:0;-1:-1:-1;3327:18:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3309:12:0;;;;;;;;3301:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3301:45:0;-1:-1:-1;3357:11:0;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;3357:22:0;;;;;;;;;-1:-1:-1;;;;;3357:22:0;;;-1:-1:-1;;;;;;3357:22:0;;;;;;;27:10:-1;;23:18;;;45:23;;;3389:22:0;;;;;;;;;;;;-1:-1:-1;668:24172:0;;-1:-1:-1;;;668:24172:0;426:244:49;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;18944:151:84:-;19027:30;19046:9;19027:10;;;;:30;:::i;:::-;19059:28;;;;;;;;;;;;;;;;;;19019:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;19019:69:84;;18944:151;:::o;18396:171::-;18489:35;18508:14;18489:10;;;;:35;:::i;:::-;18526:33;;;;;;;;;;;;;;;;;;18481:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;668:24172:0;;;;;;;", - "deployedSourceMap": "668:24172:0:-;;;;;;;;;-1:-1:-1;;;668:24172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3462:836;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3462:836:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2650:28:0;;;;;;;;;-1:-1:-1;;;;;2650:28:0;;;;;;;;;;;;;;10355:1166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10355:1166:0;;;;;;;;;;;;;;;;;;;;;4304:661;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4304:661:0;;;;;;;;;;;;;;;;;;;;;;;;;4971:1055;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4971:1055:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:4317;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:4317:0;;;;3462:836;3745:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3745:18:0;;;;3869:10;;;;;;;;3711:24;;;3703:61;;;;-1:-1:-1;;;;;3703:61: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;3703:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3816:18:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3816:18:0;;;;3774:61;3892:12;:10;:12::i;:::-;3868:36;;;;3969:70;3982:15;;3969:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3999:17;;3969:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1020:1:0;;-1:-1:-1;3969:12:0;;-1:-1:-1;;;;3969:70:0:i;:::-;3944:95;;4097:72;4115:3;4120:10;4132:20;4097:72;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4154:14:0;;-1:-1:-1;4097:17:0;;-1:-1:-1;;;4097:72:0:i;:::-;4079:90;;4208:38;4220:3;4225:2;4229:13;;4208:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4244:1:0;;-1:-1:-1;4208:11:0;;-1:-1:-1;;;;4208:38:0:i;:::-;4277:14;4287:3;4277:9;:14::i;:::-;3462:836;;;;;;;;;;;;:::o;2650:28::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2650:28:0;;-1:-1:-1;2650:28:0;:::o;10355:1166::-;10644:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10644:18:0;;;;10914:10;;;;;;10614:21;;;10606:57;;;;-1:-1:-1;;;;;10606:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10606:57:0;-1:-1:-1;10711:18:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10711:18:0;;;;;;;10778;;;;;;;;;;;;;;;10845;;;;;;;;;;;;;;10874:29;:27;:29::i;:::-;10927:11;:9;:11::i;:::-;10914:24;;10962:3;-1:-1:-1;;;;;10962:7:0;;:9;;;;;-1:-1:-1;;;10962:9:0;;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;10962:9:0;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10962:9:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10962:9:0;;-1:-1:-1;11007:17:0;:15;:17::i;:::-;10982:42;;;11064:91;11082:3;11087:16;11064:91;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11064:91:0;;;;;;;;;-1:-1:-1;11105:16:0;;-1:-1:-1;11064:91:0;;-1:-1:-1;11064:91:0;;11105:16;;11064:91;11105:16;11064:91;;-1:-1:-1;;11064:91:0;;;;;;;;;-1:-1:-1;11123:10:0;;-1:-1:-1;11064:91:0;;-1:-1:-1;11064:91:0;;11123:10;;11064:91;11123:10;11064:91;;;;;;;;;;11135:8;11145:9;11064:17;:91::i;:::-;11214:67;11251:3;11256:11;11269;11214:36;:67::i;:::-;11324:81;11375:3;11380:11;11393;11324:50;:81::i;:::-;11438:30;11450:3;;11438:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11463:3:0;;-1:-1:-1;11438:11:0;;-1:-1:-1;;;;11438:30:0:i;:::-;11501:13;:11;:13::i;:::-;10355:1166;;;;;;;;;;:::o;4304:661::-;4521:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4521:18:0;;;;;-1:-1:-1;;4550:23:0;:21;:23::i;:::-;4597:11;:9;:11::i;:::-;4584:24;;4673:70;4686:15;;4673:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4673:70:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4703:17:0;;-1:-1:-1;4703:17:0;;-1:-1:-1;4703:17:0;;-1:-1:-1;4673:70:0;;4703:17;;;;4673:70;;-1:-1:-1;1217:2:0;;-1:-1:-1;4673:12:0;;-1:-1:-1;;;;4673:70:0:i;:::-;4648:95;;4783:56;4801:3;4806:10;4818:20;4783:56;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4783:17:0;;-1:-1:-1;;;;4783:56:0:i;:::-;4931:27;4954:3;4931:22;:27::i;:::-;4304:661;;;;;;;:::o;4971:1055::-;5446:10;5412:23;:21;:23::i;:::-;5459:11;:9;:11::i;:::-;5446:24;;5516:378;5553:3;5570:5;5589:7;5610:13;5637:19;5670:22;5706:17;5737:25;5776:9;5799:12;5825:22;5861:23;5516;:378::i;:::-;5992:27;6015:3;5992:22;:27::i;6032:4317::-;6176:11;6211:7;6250:18;6304;6354:13;6369:15;6386:23;6411:7;6420:21;6498:25;6090:29;:27;:29::i;:::-;6190:11;:9;:11::i;:::-;6176:25;;6225:4;-1:-1:-1;;;;;6225:8:0;;:10;;;;;-1:-1:-1;;;6225:10:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6225:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6225:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6225:10:0;;-1:-1:-1;6274:17:0;:15;:17::i;:::-;6247:44;;;;;6326:17;:15;:17::i;:::-;6301:42;;;6445:23;:21;:23::i;:::-;6526:16;;;6540:1;6526:16;;;;;;;;;6353:115;;-1:-1:-1;6353:115:0;;-1:-1:-1;6353:115:0;;-1:-1:-1;6353:115:0;-1:-1:-1;6353:115:0;-1:-1:-1;6526:16:0;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;6526:16:0;6498:44;;6574:3;6552:8;6561:1;6552:11;;;;;;;;;;-1:-1:-1;;;;;6552:26:0;;;:11;;;;;;;;;;:26;6588:11;;6610;;6588:8;;6597:1;;6588:11;;;;;;;;;;;;;:34;-1:-1:-1;;;;;6588:34:0;;;-1:-1:-1;;;;;6588:34:0;;;;;6632:3;-1:-1:-1;;;;;6632:20:0;;6653:11;6666:7;6675;-1:-1:-1;;;;;6675:25:0;;:27;;;;;-1:-1:-1;;;6675:27:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6675:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6675:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6675:27:0;6632:84;;;-1:-1:-1;;;6632:84:0;;;;;;-1:-1:-1;;;;;6632:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6632:84:0;;;;;;;-1:-1:-1;6632:84:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;6632:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6632:84:0;;;;6726:3;-1:-1:-1;;;;;6726:20:0;;6747:10;6759:7;6768;-1:-1:-1;;;;;6768:32:0;;:34;;;;;-1:-1:-1;;;6768:34:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6768:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6768:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6768:34:0;6726:90;;;-1:-1:-1;;;6726:90:0;;;;;;-1:-1:-1;;;;;6726:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6726:90:0;;;;;;;-1:-1:-1;6726:90:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;6726:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6726:90:0;;;;6826:80;6845:3;6850:8;6860:7;6869;-1:-1:-1;;;;;6869:21:0;;:23;;;;;-1:-1:-1;;;6869:23:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6869:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6869:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6869:23:0;6894:11;6826:18;:80::i;:::-;6935:3;-1:-1:-1;;;;;6935:20:0;;6956:10;6968:7;6977;-1:-1:-1;;;;;6977:17:0;;:19;;;;;-1:-1:-1;;;6977:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6977:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6977:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6977:19:0;6935:75;;;-1:-1:-1;;;6935:75:0;;;;;;-1:-1:-1;;;;;6935:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6935:75:0;;;;;;;-1:-1:-1;6935:75:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;6935:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6935:75:0;;;;7020:3;-1:-1:-1;;;;;7020:20:0;;7041:10;7053:7;7062;-1:-1:-1;;;;;7062:23:0;;:25;;;;;-1:-1:-1;;;7062:25:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7062:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7062:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7062:25:0;7020:81;;;-1:-1:-1;;;7020:81:0;;;;;;-1:-1:-1;;;;;7020:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7020:81:0;;;;;;;-1:-1:-1;7020:81:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7020:81:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7020:81:0;;;;7135:3;-1:-1:-1;;;;;7135:20:0;;7156:10;7168:11;7181;-1:-1:-1;;;;;7181:21:0;;:23;;;;;-1:-1:-1;;;7181:23:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7181:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7181:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7181:23:0;7135:83;;;-1:-1:-1;;;7135:83:0;;;;;;-1:-1:-1;;;;;7135:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7135:83:0;;;;;;;-1:-1:-1;7135:83:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7135:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7135:83:0;;;;7228:3;-1:-1:-1;;;;;7228:20:0;;7249:10;7261:11;7274;-1:-1:-1;;;;;7274:35:0;;:37;;;;;-1:-1:-1;;;7274:37:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7274:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7274:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7274:37:0;7228:97;;;-1:-1:-1;;;7228:97:0;;;;;;-1:-1:-1;;;;;7228:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7228:97:0;;;;;;;-1:-1:-1;7228:97:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7228:97:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7228:97:0;;;;7335:3;-1:-1:-1;;;;;7335:20:0;;7356:10;7368:11;7381;-1:-1:-1;;;;;7381:28:0;;:30;;;;;-1:-1:-1;;;7381:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7381:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7381:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7381:30:0;7335:90;;;-1:-1:-1;;;7335:90:0;;;;;;-1:-1:-1;;;;;7335:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7335:90:0;;;;;;;-1:-1:-1;7335:90:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7335:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7335:90:0;;;;7435:3;-1:-1:-1;;;;;7435:20:0;;7456:10;7468:11;7481;-1:-1:-1;;;;;7481:37:0;;:39;;;;;-1:-1:-1;;;7481:39:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7481:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7481:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7481:39:0;7435:99;;;-1:-1:-1;;;7435:99:0;;;;;;-1:-1:-1;;;;;7435:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7435:99:0;;;;;;;-1:-1:-1;7435:99:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7435:99:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7435:99:0;;;;7544:3;-1:-1:-1;;;;;7544:20:0;;7565:10;7577:11;7590;-1:-1:-1;;;;;7590:40:0;;:42;;;;;-1:-1:-1;;;7590:42:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7590:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7590:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7590:42:0;7544:102;;;-1:-1:-1;;;7544:102:0;;;;;;-1:-1:-1;;;;;7544:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7544:102:0;;;;;;;-1:-1:-1;7544:102:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7544:102:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7544:102:0;;;;7656:3;-1:-1:-1;;;;;7656:20:0;;7677:10;7689:11;7702;-1:-1:-1;;;;;7702:40:0;;:42;;;;;-1:-1:-1;;;7702:42:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7702:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7702:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7702:42:0;7656:102;;;-1:-1:-1;;;7656:102:0;;;;;;-1:-1:-1;;;;;7656:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7656:102:0;;;;;;;-1:-1:-1;7656:102:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7656:102:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7656:102:0;;;;7768:3;-1:-1:-1;;;;;7768:20:0;;7789:10;7801:11;7814;-1:-1:-1;;;;;7814:31:0;;:33;;;;;-1:-1:-1;;;7814:33:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7814:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7814:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7814:33:0;7768:93;;;-1:-1:-1;;;7768:93:0;;;;;;-1:-1:-1;;;;;7768:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7768:93:0;;;;;;;-1:-1:-1;7768:93:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7768:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7768:93:0;;;;7871:3;-1:-1:-1;;;;;7871:20:0;;7892:10;7904:11;7917;-1:-1:-1;;;;;7917:32:0;;:34;;;;;-1:-1:-1;;;7917:34:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7917:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7917:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7917:34:0;7871:94;;;-1:-1:-1;;;7871:94:0;;;;;;-1:-1:-1;;;;;7871:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7871:94:0;;;;;;;-1:-1:-1;7871:94:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7871:94:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7871:94:0;;;;7990:3;-1:-1:-1;;;;;7990:20:0;;8011:10;8023:3;8028;-1:-1:-1;;;;;8028:27:0;;:29;;;;;-1:-1:-1;;;8028:29:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8028:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8028:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8028:29:0;7990:81;;;-1:-1:-1;;;7990:81:0;;;;;;-1:-1:-1;;;;;7990:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7990:81:0;;;;;;;-1:-1:-1;7990:81:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7990:81:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7990:81:0;;;;8081:3;-1:-1:-1;;;;;8081:20:0;;8102:10;8114:3;8119;-1:-1:-1;;;;;8119:45:0;;:47;;;;;-1:-1:-1;;;8119:47:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8119:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8119:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8119:47:0;8081:99;;;-1:-1:-1;;;8081:99:0;;;;;;-1:-1:-1;;;;;8081:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8081:99:0;;;;;;;-1:-1:-1;8081:99:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8081:99:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8081:99:0;;;;8190:3;-1:-1:-1;;;;;8190:20:0;;8211:10;8223:3;8228;-1:-1:-1;;;;;8228:46:0;;:48;;;;;-1:-1:-1;;;8228:48:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8228:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8228:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8228:48:0;8190:100;;;-1:-1:-1;;;8190:100:0;;;;;;-1:-1:-1;;;;;8190:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8190:100:0;;;;;;;-1:-1:-1;8190:100:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8190:100:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8190:100:0;;;;8300:3;-1:-1:-1;;;;;8300:20:0;;8321:10;8333:3;8338;-1:-1:-1;;;;;8338:25:0;;:27;;;;;-1:-1:-1;;;8338:27:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8338:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8338:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8338:27:0;8300:79;;;-1:-1:-1;;;8300:79:0;;;;;;-1:-1:-1;;;;;8300:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8300:79:0;;;;;;;-1:-1:-1;8300:79:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8300:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8300:79:0;;;;8389:3;-1:-1:-1;;;;;8389:20:0;;8410:10;8422:3;8427;-1:-1:-1;;;;;8427:28:0;;:30;;;;;-1:-1:-1;;;8427:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8427:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8427:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8427:30:0;8389:82;;;-1:-1:-1;;;8389:82:0;;;;;;-1:-1:-1;;;;;8389:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8389:82:0;;;;;;;-1:-1:-1;8389:82:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8389:82:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8389:82:0;;;;8481:3;-1:-1:-1;;;;;8481:20:0;;8502:10;8514:3;8519;-1:-1:-1;;;;;8519:27:0;;:29;;;;;-1:-1:-1;;;8519:29:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8519:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8519:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8519:29:0;8481:81;;;-1:-1:-1;;;8481:81:0;;;;;;-1:-1:-1;;;;;8481:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8481:81:0;;;;;;;-1:-1:-1;8481:81:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8481:81:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8481:81:0;;;;8572:3;-1:-1:-1;;;;;8572:20:0;;8593:10;8605:3;8610;-1:-1:-1;;;;;8610:17:0;;:19;;;;;-1:-1:-1;;;8610:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8610:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8610:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8610:19:0;8572:71;;;-1:-1:-1;;;8572:71:0;;;;;;-1:-1:-1;;;;;8572:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8572:71:0;;;;;;;-1:-1:-1;8572:71:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8572:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8572:71:0;;;;8765:3;-1:-1:-1;;;;;8765:20:0;;8786:11;8799:10;8811;-1:-1:-1;;;;;8811:34:0;;:36;;;;;-1:-1:-1;;;8811:36:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8811:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8811:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8811:36:0;8765:96;;;-1:-1:-1;;;8765:96:0;;;;;;-1:-1:-1;;;;;8765:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8765:96:0;;;;;;;-1:-1:-1;8765:96:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8765:96:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8765:96:0;;;;8871:3;-1:-1:-1;;;;;8871:20:0;;8892:11;8905:10;8917;-1:-1:-1;;;;;8917:27:0;;:29;;;;;-1:-1:-1;;;8917:29:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8917:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8917:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8917:29:0;8871:89;;;-1:-1:-1;;;8871:89:0;;;;;;-1:-1:-1;;;;;8871:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8871:89:0;;;;;;;-1:-1:-1;8871:89:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;8871:89:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8871:89:0;;;;9081:3;-1:-1:-1;;;;;9081:20:0;;9102:11;9115:10;9127;-1:-1:-1;;;;;9127:39:0;;:41;;;;;-1:-1:-1;;;9127:41:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9127:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9127:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9127:41:0;9081:101;;;-1:-1:-1;;;9081:101:0;;;;;;-1:-1:-1;;;;;9081:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9081:101:0;;;;;;;-1:-1:-1;9081:101:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9081:101:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9081:101:0;;;;9192:3;-1:-1:-1;;;;;9192:20:0;;9213:11;9226:10;9238;-1:-1:-1;;;;;9238:39:0;;:41;;;;;-1:-1:-1;;;9238:41:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9238:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9238:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9238:41:0;9192:101;;;-1:-1:-1;;;9192:101:0;;;;;;-1:-1:-1;;;;;9192:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9192:101:0;;;;;;;-1:-1:-1;9192:101:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9192:101:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9192:101:0;;;;9303:3;-1:-1:-1;;;;;9303:20:0;;9324:11;9337:10;9349;-1:-1:-1;;;;;9349:52:0;;:54;;;;;-1:-1:-1;;;9349:54:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9349:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9349:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9349:54:0;9303:114;;;-1:-1:-1;;;9303:114:0;;;;;;-1:-1:-1;;;;;9303:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9303:114:0;;;;;;;-1:-1:-1;9303:114:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9303:114:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9303:114:0;;;;9427:3;-1:-1:-1;;;;;9427:20:0;;9448:11;9461:10;9473;-1:-1:-1;;;;;9473:53:0;;:55;;;;;-1:-1:-1;;;9473:55:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9473:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9473:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9473:55:0;9427:115;;;-1:-1:-1;;;9427:115:0;;;;;;-1:-1:-1;;;;;9427:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9427:115:0;;;;;;;-1:-1:-1;9427:115:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9427:115:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9427:115:0;;;;9552:3;-1:-1:-1;;;;;9552:20:0;;9573:11;9586:10;9598;-1:-1:-1;;;;;9598:29:0;;:31;;;;;-1:-1:-1;;;9598:31:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9598:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9598:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9598:31:0;9552:91;;;-1:-1:-1;;;9552:91:0;;;;;;-1:-1:-1;;;;;9552:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9552:91:0;;;;;;;-1:-1:-1;9552:91:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9552:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9552:91:0;;;;9653:3;-1:-1:-1;;;;;9653:20:0;;9674:11;9687:10;9699;-1:-1:-1;;;;;9699:32:0;;:34;;;;;-1:-1:-1;;;9699:34:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9699:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9699:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9699:34:0;9653:94;;;-1:-1:-1;;;9653:94:0;;;;;;-1:-1:-1;;;;;9653:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9653:94:0;;;;;;;-1:-1:-1;9653:94:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9653:94:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9653:94:0;;;;9757:3;-1:-1:-1;;;;;9757:20:0;;9778:11;9791:10;9803;-1:-1:-1;;;;;9803:28:0;;:30;;;;;-1:-1:-1;;;9803:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9803:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9803:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9803:30:0;9757:90;;;-1:-1:-1;;;9757:90:0;;;;;;-1:-1:-1;;;;;9757:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9757:90:0;;;;;;;-1:-1:-1;9757:90:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9757:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9757:90:0;;;;9857:3;-1:-1:-1;;;;;9857:20:0;;9878:7;9887:10;9899;-1:-1:-1;;;;;9899:28:0;;:30;;;;;-1:-1:-1;;;9899:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9899:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9899:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9899:30:0;9857:86;;;-1:-1:-1;;;9857:86:0;;;;;;-1:-1:-1;;;;;9857:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9857:86:0;;;;;;;-1:-1:-1;9857:86:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9857:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9857:86:0;;;;9953:3;-1:-1:-1;;;;;9953:20:0;;-1:-1:-1;;9987:10:0;9999;-1:-1:-1;;;;;9999:26:0;;:28;;;;;-1:-1:-1;;;9999:28:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9999:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9999:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9999:28:0;9953:88;;;-1:-1:-1;;;9953:88:0;;;;;;-1:-1:-1;;;;;9953:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9953:88:0;;;;;;;-1:-1:-1;9953:88:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9953:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9953:88:0;;;;10051:3;-1:-1:-1;;;;;10051:20:0;;-1:-1:-1;;10085:10:0;10097;-1:-1:-1;;;;;10097:30:0;;:32;;;;;-1:-1:-1;;;10097:32:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10097:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10097:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10097:32:0;10051:92;;;-1:-1:-1;;;10051:92:0;;;;;;-1:-1:-1;;;;;10051:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10051:92:0;;;;;;;-1:-1:-1;10051:92:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;10051:92:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10051:92:0;;;;10153:3;-1:-1:-1;;;;;10153:20:0;;-1:-1:-1;;10187:10:0;10199;-1:-1:-1;;;;;10199:31:0;;:33;;;;;-1:-1:-1;;;10199:33:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10199:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10199:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10199:33:0;10153:93;;;-1:-1:-1;;;10153:93:0;;;;;;-1:-1:-1;;;;;10153:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10153:93:0;;;;;;;-1:-1:-1;10153:93:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;10153:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10153:93:0;;;;10256:3;-1:-1:-1;;;;;10256:20:0;;-1:-1:-1;;10290:10:0;10302;-1:-1:-1;;;;;10302:24:0;;:26;;;;;-1:-1:-1;;;10302:26:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10302:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10302:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10302:26:0;10256:86;;;-1:-1:-1;;;10256:86:0;;;;;;-1:-1:-1;;;;;10256:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10256:86:0;;;;;;;-1:-1:-1;10256:86:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;10256:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10256:86:0;;;;6032:4317;;;;;;;;;;:::o;4539:247:84:-;4616:10;;:23;;;;;;4634:4;4616:23;;;;;;4579:10;;;;-1:-1:-1;;;;;4616:10:84;;;;:17;;:23;;;;;;;;;;;;;;;4579:10;4616;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;4616:23:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4616:23:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4616:23:84;4654;;;-1:-1:-1;;;;;4654:23:84;;;;;;4616;;-1:-1:-1;4654:23:84;;;;;;4616;4654;;;4697:3;-1:-1:-1;;;;;4697:7:84;;:9;;;;;-1:-1:-1;;;4697:9:84;;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;4697:9:84;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4697:9:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4697:9:84;4756:22;;;-1:-1:-1;;;;;4756:22:84;;;;4697:9;;-1:-1:-1;4717:62:84;;4697:9;;4751:3;;-1:-1:-1;;;;;4756:20:84;;;;;:22;;;;;4697:9;;4756:22;;;;;;;;:20;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;4756:22:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4756:22:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4756:22:84;4717:28;:62::i;:::-;4539:247;;:::o;17994:396::-;18134:13;;18164:33;;;;;;;;;;;;;;;;;;18095:11;;;;18164:33;-1:-1:-1;;;;;18134:13:84;18126:36;;18118:80;;;;-1:-1:-1;;;;;18118:80:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18118:80:84;-1:-1:-1;18228:13:84;;:91;;;;;:13;:91;;;;;;;;;;;;;;;;;;;:13;:91;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18228:13:84;;;;:30;;:13;;18287:5;;18294:9;;18305:7;;18228:13;;:91;;;;;;;;;;;;;;;;:13;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;18228:91:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18228:91:84;;;;;;;;;;;;;;;;;;;;;;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;18228:91:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18228:91:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18228:91:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18228:91:84;18334:27;;;-1:-1:-1;;;;;18334:27:84;;;;;;18228:91;;-1:-1:-1;18334:27:84;;;;;;18228:91;18334:27;;;18378:5;17994:396;-1:-1:-1;;;;17994:396:84:o;11583:593:0:-;11727:12;11755:15;11863:13;11937:11;11983:15;11773:80;11797:4;11803:6;951:5;1088:1;11773:23;:80::i;:::-;11755:98;;11879:48;11897:4;11903:6;11911:15;11879:17;:48::i;:::-;11863:64;;11951:22;11968:4;11951:16;:22::i;:::-;11937:36;-1:-1:-1;12001:94:0;12020:4;11937:36;12033:19;;;;:61;;12080:14;12033:61;;;1354:7;12033:61;12001:18;:94::i;:::-;11983:112;;12106:43;12122:2;12126:6;12134:5;12141:7;12106:15;:43::i;:::-;-1:-1:-1;12167:2:0;;11583:593;-1:-1:-1;;;;;;;11583:593:0:o;15476:410:84:-;15688:9;15597:76;15626:4;15632:13;15647;-1:-1:-1;;;;;15647:23:84;;:25;;;;;-1:-1:-1;;;15647:25:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;15597:76:84;-1:-1:-1;15700:1:84;15683:110;15707:8;:15;15703:1;:19;15683:110;;;15743:13;-1:-1:-1;;;;;15743:18:84;;15762:8;15771:1;15762:11;;;;;;;;;;;;;;;;;;15775:6;15743:39;;;;;-1:-1:-1;;;15743:39:84;;;;;;;-1:-1:-1;;;;;15743:39:84;-1:-1:-1;;;;;15743:39:84;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15743:39:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15724:3:84;;;;;-1:-1:-1;15683:110:84;;-1:-1:-1;15683:110:84;;15802:77;15832:4;15838:13;15853;-1:-1:-1;;;;;15853:23:84;;:25;;;;;-1:-1:-1;;;15853:25:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15853:25:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15853:25:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15853:25:84;15802:29;:77::i;:::-;15476:410;;;;;:::o;19812:125:0:-;19887:10;19863:15;19881:17;;;:5;:17;;;;;19909:21;;-1:-1:-1;;;;;;19909:21:0;-1:-1:-1;;;;;19909:21:0;;;;;;;;;;19812:125::o;24192:361::-;24279:10;24255:15;24273:17;;;:5;:17;;;;;24321:9;;;;-1:-1:-1;;;;;24321:9:0;:23;;;;:62;;-1:-1:-1;24360:9:0;;;;-1:-1:-1;;;;;24360:9:0;:23;;24321:62;:105;;;;-1:-1:-1;24399:13:0;;;;-1:-1:-1;;;;;24399:13:0;:27;;24321:105;:140;;;;-1:-1:-1;24442:5:0;;;;-1:-1:-1;;;;;24442:5:0;:19;;24321:140;:182;;;;-1:-1:-1;24477:12:0;;;;-1:-1:-1;;;;;24477:12:0;:26;;24321:182;24517:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;24517:19:0;;;;;24300:246;;;;;;-1:-1:-1;;;;;24300:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;24300:246:0;;24192:361;:::o;20909:138::-;20999:10;20953;20993:17;;;:5;:17;;;;;21034:5;-1:-1:-1;;;;;21034:5:0;;20909:138::o;21402:243::-;21528:10;21452:20;21522:17;;;:5;:17;;;;;;;;21573:19;;;;21624:13;;;-1:-1:-1;;;;;21573:19:0;;;;21624:13;;;21402:243::o;16086:1366::-;16339:7;16377:18;16432:21;16353:4;-1:-1:-1;;;;;16353:8:0;;:10;;;;;-1:-1:-1;;;16353:10:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16353:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16353:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16353:10:0;;-1:-1:-1;16399:17:0;:15;:17::i;:::-;16374:42;;;16457:23;:21;:23::i;:::-;16426:54;;;;;;16562:94;16591:3;16604:10;16617;-1:-1:-1;;;;;16617:36:0;;:38;;;;;-1:-1:-1;;;16617:38:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;16562:94:0;16735:10;-1:-1:-1;;;;;16735:29:0;;16778:11;16790:1;16778:14;;;;;;;;;;;;;;;;;;;16806:19;;16839;;16903:13;;16735:236;;;-1:-1:-1;;;16735:236:0;;;;;;-1:-1:-1;;;;;16778:14:0;;;16735:236;;;;;;;;;;;;;;;;;;1540:6;16735:236;;;;;;;;;;;;;;;;;;;;;;;;;;16778:14;16735:236;;;;;16778:14;16735:236;;;;5:2:-1;;;;30:1;27;20:12;5:2;16735:236:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16735:236:0;;;;17054:10;-1:-1:-1;;;;;17054:29:0;;17097:11;17109:1;17097:14;;;;;;;;;;;;;;;;;;;;;;17125:19;;;;17158;;;;17222:13;;;;17054:221;;;-1:-1:-1;;;17054:221:0;;;;;;-1:-1:-1;;;;;17097:14:0;;;17054:221;;;;;;;;;;;;;;;;;;1611:5;17054:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17097:14;17054:221;;;;;17097:14;17054:221;;;;5:2:-1;;;;30:1;27;20:12;5:2;17054:221:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17054:221:0;;;;17331:114;17363:3;17368:10;17380:11;17393:10;-1:-1:-1;;;;;17393:36:0;;:38;;;;;-1:-1:-1;;;17393:38:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17393:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17393:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17393:38:0;17433:11;17331:31;:114::i;:::-;16086:1366;;;;;;;;;:::o;16247:388:84:-;16358:26;16405:4;-1:-1:-1;;;;;16405:25:84;;:27;;;;;-1:-1:-1;;;16405:27:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16405:27:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16405:27:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16405:27:84;16485:32;;;;;;;;16405:27;;-1:-1:-1;;;;;;16443:21:84;;;;;;16465:8;;16405:27;;16485:30;;;;;;:32;;;;;16405:27;;16485:32;;;;;;;;:30;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;16485:32:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16485:32:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16485:32:84;16443:85;;;-1:-1:-1;;;16443:85:84;;;;;;-1:-1:-1;;;;;16443:85:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16443:85:84;;;;;;;-1:-1:-1;16443:85:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;16443:85:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16443:85:84;;;;16538:4;-1:-1:-1;;;;;16538:21:84;;16560:8;16570;16580;-1:-1:-1;;;;;16580:35:84;;:37;;;;;-1:-1:-1;;;16580:37:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16580:37:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16580:37:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16580:37:84;16538:90;;;-1:-1:-1;;;16538:90:84;;;;;;-1:-1:-1;;;;;16538:90:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16538:90:84;;;;;;;-1:-1:-1;16538:90:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;16538:90:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16538:90:84;;;;16247:388;;;;:::o;5887:378::-;6010:8;6025:4;-1:-1:-1;;;;;6025:8:84;;:10;;;;;-1:-1:-1;;;6025:10:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6025:10:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6025:10:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6025:10:84;6095:23;;;-1:-1:-1;;;;;6095:23:84;;;;6025:10;;-1:-1:-1;6046:83:84;;6025:10;;6084:4;;6090:3;;-1:-1:-1;;;;;6095:21:84;;;;;:23;;;;;6025:10;;6095:23;;;;;;;;;:21;:23;;;5:2:-1;;;;30:1;27;20:12;6046:83:84;6139:90;6171:4;6177;6183:3;6188:4;-1:-1:-1;;;;;6188:28:84;;:30;;;;;-1:-1:-1;;;6188:30:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;6139:90:84;6244:14;;;-1:-1:-1;;;;;6244:14:84;;;;;;;;;;;;;;;5887:378;;;;:::o;18713:225::-;18806:8;;18831:28;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18806:8:84;18798:31;;18790:70;;;;-1:-1:-1;;;;;18790:70:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18790:70:84;-1:-1:-1;18870:8:84;;18898:23;;;;-1:-1:-1;;;;;18870:8:84;;;;:17;;18915:5;;18898:23;;;;;;;;;;;;;;36:153:-1;66:2;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;;;18898:23:84;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18898:23:84;;;18888:34;;;;;;;;;;;;;36:153:-1;66:2;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;;18888:34:84;;;;;;;;;;;;18870:61;;;-1:-1:-1;;;18870:61:84;;;;;;;-1:-1:-1;;;;;18870:61:84;;;;;;;;;;;;;-1:-1:-1;;;;18870:61:84;;;;;;;-1:-1:-1;18870:61:84;-1:-1:-1;18870:61:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;18870:61:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18870:61:84;;;;18713:225;;:::o;22102:422:0:-;22168:10;22144:15;22162:17;;;:5;:17;;;;;;;;22190:12;;-1:-1:-1;;;;;;22190:12:0;;;;;;22219:19;;22212:26;;;;;;22255:13;;;22248:20;;;;;;22285:7;;;22278:14;;;;;;22309:9;;;22302:16;;;;;;22335:13;;;22328:20;;;;;;22365:19;;;22358:26;;;;;;22401:9;;;22394:16;;;;;;22427:9;;;22420:16;;;;;;22453:13;;;22446:20;;;;;;22483:5;;;22476:12;;;;;;22505;;22498:19;;;;;;;22102:422::o;23606:325::-;23687:10;23663:15;23681:17;;;:5;:17;;;;;23729:19;;;;-1:-1:-1;;;;;23729:19:0;:33;;;;:76;;-1:-1:-1;23778:13:0;;;;-1:-1:-1;;;;;23778:13:0;:27;;23729:76;:113;;;;-1:-1:-1;23821:7:0;;;;-1:-1:-1;;;;;23821:7:0;:21;;23729:113;:152;;;;-1:-1:-1;23858:9:0;;;;23895:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23895:19:0;;;;;-1:-1:-1;;;;;23858:9:0;:23;;23708:216;;;;-1:-1:-1;;;;;23708:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12182:360:0;12310:15;12423:13;12328:85;12352:4;12358:11;1149:4;1286:1;12328:23;:85::i;:::-;12310:103;;12439:58;12457:4;12463:11;12476:20;12439:17;:58::i;:::-;12423:74;;12508:27;12524:2;12528:6;12508:15;:27::i;17508:728::-;17572:7;17609:20;17631:18;17651:11;17664:15;17713:18;17586:4;-1:-1:-1;;;;;17586:8:0;;:10;;;;;-1:-1:-1;;;17586:10:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17586:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17586:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17586:10:0;;-1:-1:-1;17683:17:0;:15;:17::i;:::-;17608:92;;;;;;;;17735:17;:15;:17::i;:::-;17710:42;;;17788:70;17819:3;17824:7;17833:11;17846;17788:30;:70::i;:::-;17886:77;17911:3;17916:11;17929;17942:7;17951:11;17886:24;:77::i;:::-;17990:57;18014:3;18019:5;18026:7;18035:11;17990:23;:57::i;:::-;18076:65;18102:3;18107:7;18116:11;18129;18076:25;:65::i;:::-;18151:78;18190:3;18195:7;18204:11;18217;18151:38;:78::i;23937:249::-;24018:10;23994:15;24012:17;;;:5;:17;;;;;24060:19;;;;-1:-1:-1;;;;;24060:19:0;:33;;;;:76;;-1:-1:-1;24109:13:0;;;;24150:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;24150:19:0;;;;;-1:-1:-1;;;;;24109:13:0;:27;;24039:140;;;;-1:-1:-1;;;;;24039:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12548:934:0;13012:29;13036:4;13012:23;:29::i;:::-;13052:257;13084:5;13103:7;13124:13;13151:19;13184:22;13220:17;13251:25;13290:9;13052:18;:257::i;:::-;13319:36;13342:12;13319:22;:36::i;:::-;13365:77;13380:12;13394:22;13418:23;13365:14;:77::i;:::-;13452:23;:21;:23::i;18242:1007::-;18306:7;18343:20;18398;18420:18;18472:15;18489:23;18577:25;18320:4;-1:-1:-1;;;;;18320:8:0;;:10;;;;;-1:-1:-1;;;18320:10:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18320:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18320:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18320:10:0;;-1:-1:-1;18370:17:0;:15;:17::i;:::-;18342:45;;;;;18442:17;:15;:17::i;:::-;18397:62;;;;18518:23;:21;:23::i;:::-;-1:-1:-1;;18605:16:0;;;18619:1;18605:16;;;;;;;;18469:72;;-1:-1:-1;18469:72:0;;-1:-1:-1;18605:16:0;;-1:-1:-1;18605:16:0;;;;;105:10:-1;18605:16:0;88:34:-1;136:17;;-1:-1;18605:16:0;18577:44;;18653:11;18631:8;18640:1;18631:11;;;;;;;;;;-1:-1:-1;;;;;18631:34:0;;;:11;;;;;;;;;;:34;18675:11;;18697:7;;18675:8;;18684:1;;18675:11;;;;;;;;;;;;;:30;-1:-1:-1;;;;;18675:30:0;;;-1:-1:-1;;;;;18675:30:0;;;;;18715:3;-1:-1:-1;;;;;18715:20:0;;18736:11;18749:7;18758;-1:-1:-1;;;;;18758:17:0;;:19;;;;;-1:-1:-1;;;18758:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18758:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18758:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18758:19:0;18715:74;;;-1:-1:-1;;;18715:74:0;;;;;;-1:-1:-1;;;;;18715:74:0;;;;;;;;;;;;;;;;;;;18786:1;18715:74;;;;;;;;;;;-1:-1:-1;;18715:74:0;;;;;;;-1:-1:-1;18715:74:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;18715:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18715:74:0;;;;18799:3;-1:-1:-1;;;;;18799:20:0;;18820:7;18829;18838;-1:-1:-1;;;;;18838:18:0;;:20;;;;;-1:-1:-1;;;18838:20:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18838:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18838:20:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18838:20:0;18799:72;;;-1:-1:-1;;;18799:72:0;;;;;;-1:-1:-1;;;;;18799:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18799:72:0;;;;;;;-1:-1:-1;18799:72:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;18799:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18799:72:0;;;;18881:3;-1:-1:-1;;;;;18881:20:0;;18902:7;18911;18920;-1:-1:-1;;;;;18920:19:0;;:21;;;;;-1:-1:-1;;;18920:21:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18920:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18920:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18920:21:0;18881:73;;;-1:-1:-1;;;18881:73:0;;;;;;-1:-1:-1;;;;;18881:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18881:73:0;;;;;;;-1:-1:-1;18881:73:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;18881:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18881:73:0;;;;18964:3;-1:-1:-1;;;;;18964:20:0;;18985:7;18994;19003;-1:-1:-1;;;;;19003:28:0;;:30;;;;;-1:-1:-1;;;19003:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19003:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19003:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19003:30:0;18964:83;;;-1:-1:-1;;;18964:83:0;;;;;;-1:-1:-1;;;;;18964:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18964:83:0;;;;;;;-1:-1:-1;18964:83:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;18964:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18964:83:0;;;;19057:75;19076:3;19081:8;19091:7;19100;-1:-1:-1;;;;;19100:17:0;;:19;;;;;-1:-1:-1;;;19100:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19100:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19100:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19100:19:0;19129:1;19057:18;:75::i;:::-;19160:82;19190:3;19195:11;19208;19221:7;19230:11;19160:29;:82::i;21053:343::-;21209:10;21103:20;21203:17;;;:5;:17;;;;;21254:19;;;;21305:13;;;;21343:7;;;;21379:9;;;;;-1:-1:-1;;;;;21254:19:0;;;;21305:13;;;;21343:7;;;21379:9;;21053:343::o;21651:445::-;21880:10;21716:13;21874:17;;;:5;:17;;;;;21918:9;;;;21956;;;;22002:13;;;;22036:5;;;;22076:12;;;;;-1:-1:-1;;;;;21918:9:0;;;;21956;;;;22002:13;;;;22036:5;;;;22076:12;;;21651:445::o;4807:477:84:-;5029:9;4945:4;-1:-1:-1;;;;;4945:21:84;;4967:9;4977:1;4967:12;;;;;;;;;;;;;;;;;;;4945:69;;;-1:-1:-1;;;4945:69:84;;;;;;-1:-1:-1;;;;;4945:69:84;;;;;;;;;;;;;;;;;;;;5008:4;4945:69;;;;;;;;;;-1:-1:-1;;4945:69:84;;;;;;;-1:-1:-1;4945:69:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;4945:69:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4945:69:84;;;;5041:1;5029:13;;5024:125;5048:9;:16;5044:1;:20;5024:125;;;5085:4;-1:-1:-1;;;;;5085:20:84;;5106:9;5116:1;5106:12;;;;;;;;;;;;;;;;;;;5085:53;;;-1:-1:-1;;;5085:53:84;;;;;;-1:-1:-1;;;;;5085:53:84;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5085:53:84;;;;;;;-1:-1:-1;5085:53:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;5085:53:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5066:3:84;;;;;-1:-1:-1;5024:125:84;;-1:-1:-1;5024:125:84;;5158:55;;;-1:-1:-1;;;;;5158:55:84;;5188:4;5158:55;;;;-1:-1:-1;;;;;5158:55:84;;;;;;;;;;;;;;;:21;;;;;;:55;;;;;-1:-1:-1;;5158:55:84;;;;;;;;-1:-1:-1;5158:21:84;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;5158:55:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5223:54:84;;;-1:-1:-1;;;;;5223:54:84;;-1:-1:-1;;;;;5223:54:84;;;;;;;;;;;;;;;;;;;;;;:25;;;;-1:-1:-1;5223:25:84;;-1:-1:-1;5223:54:84;;;;;-1:-1:-1;;5223:54:84;;;;;;;;-1:-1:-1;5223:25:84;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;5223:54:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5290:179:84;5392:70;;;;;;5422:4;5392:70;;;;;;-1:-1:-1;;;;;5392:70:84;;;;;;;;;;;;;;;;;;;;;;:21;;;;;;:70;;;;;-1:-1:-1;;5392:70:84;;;;;;;;-1:-1:-1;5392:21:84;:70;;;5:2:-1;;;;30:1;27;20:12;5:2;5392:70:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;14264:454:84;14441:12;;14510:49;14532:4;2504:66;14510:21;:49::i;:::-;14469:91;;14570:6;-1:-1:-1;;;;;14570:23:84;;14594:12;14570:37;;;;;-1:-1:-1;;;14570:37:84;;;;;;;-1:-1:-1;;;;;14570:37:84;-1:-1:-1;;;;;14570:37:84;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14570:37:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;14617:65:84;;;;;;-1:-1:-1;;;;;14617:65:84;;;;;;;;;;;;;;;;;;;;;;:23;;;;-1:-1:-1;14617:23:84;;-1:-1:-1;14617:65:84;;;;;-1:-1:-1;;14617:65:84;;;;;;;;-1:-1:-1;14617:23:84;:65;;;5:2:-1;;;;30:1;27;20:12;5:2;14617:65:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;14699:12:84;;14264:454;-1:-1:-1;;;;;;;;14264:454:84:o;8158:235::-;8327:18;;;8347;;;8367;;;;8270:6;;8295:91;;8313:4;;8319:6;;8327:18;8347;8295:17;:91::i;:::-;8288:98;8158:235;-1:-1:-1;;;;8158:235:84:o;7695:241::-;7799:52;;;22:32:-1;6:49;;7799:52:84;;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;179:29;160:49;;7752:5:84;;7874:54;7893:4;2039:66;7799:52;7874:18;:54::i;:::-;7861:68;7695:241;-1:-1:-1;;;7695:241:84:o;12991:317::-;13137:79;;;-1:-1:-1;;;;;13137:79:84;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;13137:79:84;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;13160:30:84;179:29:-1;160:49;;13088:7:84;;13241:59;13263:4;2383:66;13137:79;13241:21;:59::i;:::-;13226:75;12991:317;-1:-1:-1;;;;;12991:317:84:o;19943:333:0:-;20087:10;20063:15;20081:17;;;:5;:17;;;;;20109:19;;;:39;;-1:-1:-1;;;;;20109:39:0;;;-1:-1:-1;;;;;;20109:39:0;;;;;;;20158:13;;;:37;;;;;;;;;;;;;;;20205:7;;;:25;;;;;;;;;;;;;;;20240:9;;;;:29;;;;;;;;;;;19943:333::o;5475:222:84:-;5578:55;;;-1:-1:-1;;;;;5578:55:84;;5608:4;5578:55;;;;-1:-1:-1;;;;;5578:55:84;;;;;;;;;;;;;;;:21;;;;;;:55;;;;;-1:-1:-1;;5578:55:84;;;;;;;;-1:-1:-1;5578:21:84;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;5578:55:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5643:47:84;;;;;;-1:-1:-1;;;;;5643:47:84;;;;;;;;;;;;;;;:28;;;;-1:-1:-1;5643:28:84;;-1:-1:-1;5643:47:84;;;;;-1:-1:-1;;5643:47:84;;;;;;;;-1:-1:-1;5643:28:84;:47;;;5:2:-1;;;;30:1;27;20:12;6271:316:84;6407:44;;;;;;-1:-1:-1;;;;;6407:44:84;;;;;;;;;;;;;;;;;;;;;;:20;;;;;;:44;;;;;-1:-1:-1;;6407:44:84;;;;;;;;-1:-1:-1;6407:20:84;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;6407:44:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6461:55:84;;;-1:-1:-1;;;;;6461:55:84;;6491:4;6461:55;;;;-1:-1:-1;;;;;6461:55:84;;;;;;;;;;;;;;;:21;;;;-1:-1:-1;6461:21:84;;-1:-1:-1;6461:55:84;;;;;-1:-1:-1;;6461:55:84;;;;;;;;-1:-1:-1;6461:21:84;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;6461:55:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6526:54:84;;;-1:-1:-1;;;;;6526:54:84;;-1:-1:-1;;;;;6526:54:84;;;;;;;;;;;;;;;;;;;;;;:25;;;;-1:-1:-1;6526:25:84;;-1:-1:-1;6526:54:84;;;;;-1:-1:-1;;6526:54:84;;;;;;;;-1:-1:-1;6526:25:84;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;6526:54:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;20282:227:0;20394:10;20370:15;20388:17;;;:5;:17;;;;;;;;20416:19;;;:39;;-1:-1:-1;;;;;20416:39:0;;;-1:-1:-1;;;;;;20416:39:0;;;;;;;20465:13;;:37;;;;;;;;;;;20282:227::o;14724:316:84:-;14857:4;-1:-1:-1;;;;;14857:21:84;;14879:8;14889:13;14904;-1:-1:-1;;;;;14904:23:84;;:25;;;;;-1:-1:-1;;;14904:25:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14904:25:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14904:25:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14904:25:84;14857:83;;;-1:-1:-1;;;14857:83:84;;;;;;-1:-1:-1;;;;;14857:83:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14857:83:84;;;;;;;-1:-1:-1;14857:83:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;14857:83:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14857:83:84;;;;14950:4;-1:-1:-1;;;;;14950:21:84;;14972:8;14982:13;14997;-1:-1:-1;;;;;14997:23:84;;:25;;;;;-1:-1:-1;;;14997:25:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14997:25:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14997:25:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14997:25:84;14950:83;;;-1:-1:-1;;;14950:83:84;;;;;;-1:-1:-1;;;;;14950:83:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14950:83:84;;;;;;;-1:-1:-1;14950:83:84;;;;5:2:-1;;;;30:1;27;20:12;8829:504:84;9039:4;-1:-1:-1;;;;;9039:21:84;;9061:16;9079:7;9088;-1:-1:-1;;;;;9088:26:84;;:28;;;;;-1:-1:-1;;;9088:28:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9088:28:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9088:28:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9088:28:84;9039:88;;;-1:-1:-1;;;9039:88:84;;;;;;-1:-1:-1;;;;;9039:88:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9039:88:84;;;;;;;-1:-1:-1;9039:88:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;9039:88:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9039:88:84;;;;9137:4;-1:-1:-1;;;;;9137:21:84;;9159:16;9177:7;9186;-1:-1:-1;;;;;9186:27:84;;:29;;;;;-1:-1:-1;;;9186:29:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9186:29:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9186:29:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9186:29:84;9137:89;;;-1:-1:-1;;;9137:89:84;;;;;;-1:-1:-1;;;;;9137:89:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9137:89:84;;;;;;;-1:-1:-1;9137:89:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;9137:89:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9137:89:84;;;;9236:4;-1:-1:-1;;;;;9236:21:84;;9258:19;9279:7;9288;-1:-1:-1;;;;;9288:25:84;;:27;;;;;-1:-1:-1;;;9288:27:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9288:27:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9288:27:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9288:27:84;9236:90;;;-1:-1:-1;;;9236:90:84;;;;;;-1:-1:-1;;;;;9236:90:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9236:90:84;;;;;;;-1:-1:-1;9236:90:84;;;;5:2:-1;;;;30:1;27;20:12;7942:192:84;8054:4;-1:-1:-1;;;;;8054:21:84;;8076:8;8086:6;8094;-1:-1:-1;;;;;8094:20:84;;:22;;;;;-1:-1:-1;;;8094:22:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;13314:304:84;13432:4;-1:-1:-1;;;;;13432:21:84;;13454:8;13464;13474;-1:-1:-1;;;;;13474:30:84;;:32;;;;;-1:-1:-1;;;13474:32:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13474:32:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13474:32:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13474:32:84;13432:85;;;-1:-1:-1;;;13432:85:84;;;;;;-1:-1:-1;;;;;13432:85:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13432:85:84;;;;;;;-1:-1:-1;13432:85:84;;;;5:2:-1;;;;30:1;27;20:12;5:2;13432:85:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13432:85:84;;;;13527:4;-1:-1:-1;;;;;13527:21:84;;13549:8;13559;13569;-1:-1:-1;;;;;13569:29:84;;:31;;;;;-1:-1:-1;;;13569:31:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;13624:222:84;13755:4;-1:-1:-1;;;;;13755:21:84;;13777:8;13787;13797;-1:-1:-1;;;;;13797:29:84;;:31;;;;;-1:-1:-1;;;13797:31:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;13488:489:0;13553:13;13611:15;13678:23;13762:7;13813:21;13569:32;13596:4;13569:26;:32::i;:::-;13553:48;-1:-1:-1;13637:30:0;13650:4;1806:66;13637:12;:30::i;:::-;13611:57;-1:-1:-1;13716:35:0;13729:4;1930:66;13716:12;:35::i;:::-;13678:74;-1:-1:-1;13776:26:0;13789:4;2226:66;13776:12;:26::i;:::-;13762:41;-1:-1:-1;13848:41:0;13861:4;2102:66;13848:12;:41::i;:::-;13813:77;;13901:69;13923:7;13932;13941:11;13954:3;13959:10;13901:21;:69::i;14041:743::-;14367:15;:13;:15::i;:::-;-1:-1:-1;;;;;14367:26:0;;14407:18;:16;:18::i;:::-;14439:15;:13;:15::i;:::-;14468;:13;:15::i;:::-;14497:13;:11;:13::i;:::-;14524:11;:14;;14536:1;;14524:14;;;;;;;;;;;;;;;14367:410;;;-1:-1:-1;;;14367:410:0;;;;;;-1:-1:-1;;;;;14367:410:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14524:14;;14367:410;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14524:14;14367:410;;;;;14524:14;14367:410;;;;5:2:-1;;;;30:1;27;20:12;5:2;14367:410:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;14790:507:0;14863:28;;;;;;14909:40;1682:66;14909:21;:40::i;:::-;14863:87;;14987:17;:15;:17::i;:::-;14961:43;;;;;15040:17;:15;:17::i;:::-;15014:43;;;15135:23;:21;:23::i;:::-;15169:121;;;;;;-1:-1:-1;;;;;15169:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1421:1;15169:121;;;;;;;;;;;;;;15067:91;;-1:-1:-1;15067:91:0;;-1:-1:-1;15067:91:0;;-1:-1:-1;15169:22:0;;;;;;-1:-1:-1;15169:121:0;;;;;1421:1;-1:-1:-1;15169:121:0;;;;;;;1421:1;15169:22;:121;;;5:2:-1;;;;30:1;27;20:12;5:2;15169:121:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15169:121:0;;;;14790:507;;;;;;;:::o;15303:387::-;15437:17;15487:13;15504:7;15513:21;15459:17;:15;:17::i;:::-;15433:43;;;;;15538:23;:21;:23::i;:::-;15572:111;;;;;;-1:-1:-1;;;;;15572:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15486:75;;-1:-1:-1;15486:75:0;;-1:-1:-1;15486:75:0;;-1:-1:-1;15572:14:0;;;;;-1:-1:-1;15572:111:0;;;;;-1:-1:-1;;;15572:111:0;;;;;-1:-1:-1;15572:14:0;:111;;;5:2:-1;;;;30:1;27;20:12;15696:340:0;15749:13;15764:15;15781:23;15806:7;15815:21;15873:24;15840:23;:21;:23::i;:::-;15900:16;;;15914:1;15900:16;;;;;;;;;15748:115;;-1:-1:-1;15748:115:0;;-1:-1:-1;15748:115:0;;-1:-1:-1;15748:115:0;-1:-1:-1;15748:115:0;-1:-1:-1;15900:16:0;;;;;;105:10:-1;15900:16:0;88:34:-1;136:17;;-1:-1;15900:16:0;15873:43;;15939:11;15951:1;15939:14;;;;;;;;;;;;;;;;;;;15926:10;;-1:-1:-1;;;;;15939:14:0;;;;15926:7;;:10;;;;;;-1:-1:-1;;;;;15926:27:0;;;:10;;;;;;;;;:27;;;;15963:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;;;;15985:7;;15994:11;;16007:7;;16016:3;;16021:7;;15963:66;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15963:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;19255:507:0;19466:4;-1:-1:-1;;;;;19466:21:0;;19488:16;19506:7;19515;-1:-1:-1;;;;;19515:26:0;;:28;;;;;-1:-1:-1;;;19515:28:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19515:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19515:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19515:28:0;19466:88;;;-1:-1:-1;;;19466:88:0;;;;;;-1:-1:-1;;;;;19466:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19466:88:0;;;;;;;-1:-1:-1;19466:88:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;19466:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19466:88:0;;;;19564:4;-1:-1:-1;;;;;19564:21:0;;19586:16;19604:7;19613;-1:-1:-1;;;;;19613:27:0;;:29;;;;;-1:-1:-1;;;19613:29:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19613:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19613:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19613:29:0;19564:91;;;-1:-1:-1;;;19564:91:0;;;;;;-1:-1:-1;;;;;19564:91:0;;;;;;;;;;;;;;;;;;;19652:1;19564:91;;;;;;;;;;;-1:-1:-1;;19564:91:0;;;;;;;-1:-1:-1;19564:91:0;;;;5:2:-1;;;;30:1;27;20:12;16657:160:84;16797:12;;;16735:7;16797:12;;;;;;;;;16761:49;;16783:4;;16789:6;;16761:21;:49::i;8399:424::-;8638:95;;;-1:-1:-1;;;;;8638:95:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;8638:95:84;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;8661:29:84;179::-1;160:49;;8586:6:84;;8757:58;8779:4;2153:66;8638:95;8757:21;:58::i;:::-;8743:73;8399:424;-1:-1:-1;;;;;;;8399:424:84:o;17179:186::-;17284:7;17310:48;17322:4;17328:6;17336:15;17353:4;17310:11;:48::i;16823:190::-;16931:7;16957:49;16969:4;16975:6;16983:15;17000:5;16957:11;:49::i;7136:254::-;7250:52;;;22:32:-1;6:49;;7250:52:84;;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;179:29;160:49;;7203:5:84;;7325:57;7347:4;1926:66;7250:52;7325:21;:57::i;24603:235:0:-;24672:7;24691:13;24707:4;-1:-1:-1;;;;;24707:19:0;;24727:6;24735:29;24757:6;24735:21;:29::i;:::-;24707:58;;;-1:-1:-1;;;24707:58:0;;;;;;;;;;;;;-1:-1:-1;;;;;24707:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;24707:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24707:58:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24707:58:0;24781:27;;;-1:-1:-1;;;;;24781:27:0;;;;24707:58;24781:27;;;;;;;24707:58;;-1:-1:-1;24781:27:0;;;;;;;;;;;24826:5;24603:235;-1:-1:-1;;;24603:235:0:o;20515:388::-;20683:10;20659:15;20677:17;;;:5;:17;;;;;20705:9;;;:29;;-1:-1:-1;;;;;;20705:29:0;;;-1:-1:-1;;;;;20705:29:0;;;;;;;20744:9;;;:29;;;;;;;;;;;;;;20783:13;;;:37;;;;;;;;;;;;;;20830:5;;;:21;;;;;;;;;;;;;;20861:12;;;;:35;;;;;;;;;;;;;20515:388::o;23220:156::-;23319:10;23268:15;23313:17;;;:5;:17;;;;;23359:9;;;-1:-1:-1;;;;;23359:9:0;;23220:156::o;23382:174::-;23490:10;23433:21;23484:17;;;:5;:17;;;;;23536:12;;;-1:-1:-1;;;;;23536:12:0;;23382:174::o;22880:176::-;22984:10;22928:20;22978:17;;;:5;:17;;;;;23029:19;;;-1:-1:-1;;;;;23029:19:0;;22880:176::o;23062:152::-;23159:10;23110:13;23153:17;;;:5;:17;;;;;23197:9;;;-1:-1:-1;;;;;23197:9:0;;23062:152::o;22730:144::-;22823:10;22776:11;22817:17;;;:5;:17;;;;;22859:7;;;-1:-1:-1;;;;;22859:7:0;;22730:144::o;17766:205:84:-;17836:12;17892:3;;:20;;;;;;;;;;;;;;17836:12;;-1:-1:-1;;;;;17892:3:84;;:12;;:20;;;;;;;;;;;;;;17836:12;17892:3;:20;;;5:2:-1;;;;30:1;27;20:12;5:2;17892:20:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17892:20:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17892:20:84;17877:49;;;;;;;;;;;;;;-1:-1:-1;;;;;17877:41:84;;;;;;:49;;;;;17892:20;;17877:49;;;;;;;;;:41;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;17877:49:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17877:49:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17877:49:84;17948:16;;;;;;;;17877:49;;-1:-1:-1;;;;;;17948:14:84;;;;;:16;;;;;;;;;;;;;;;;:14;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;17948:16:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17948:16:84;;;;;;39::-1;36:1;17:17;2:54;101:4;17948:16:84;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:3;5:12;;2:2;;;30:1;27;20:12;2:2;17948:16:84;;;;;;;;;;;;;;;;;20:11:-1;12:20;;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;-1:-1;17937:27:84;;17766:205;-1:-1:-1;;;;;;;;;17766:205:84:o;17371:389::-;17487:7;17506:28;17576:16;17537:29;17559:6;17537:21;:29::i;:::-;17603:79;;;;;;;;;;;-1:-1:-1;;;;;17603:79:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17506:60;;-1:-1:-1;17603:19:84;;;;;;17623:6;;17506:60;;17653:15;;17670:11;;17603:79;;;;;;;;;;;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;17603:79:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17603:79:84;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17603:79:84;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17603:79:84;17698:30;;;-1:-1:-1;;;;;17698:30:84;;;;17603:79;17698:30;;;;;;;17603:79;;-1:-1:-1;17698:30:84;;;;;;;;;;;17745:8;17371:389;-1:-1:-1;;;;;;17371:389:84:o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/templates-shared/contracts/BaseTemplate.sol\";\nimport \"@aragon/apps-agent/contracts/Agent.sol\";\nimport \"@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol\";\nimport {AragonFundraisingController as Controller} from \"@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol\";\nimport {BatchedBancorMarketMaker as MarketMaker} from \"@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol\";\nimport \"@ablack/fundraising-presale/contracts/Presale.sol\";\nimport \"@ablack/fundraising-tap/contracts/Tap.sol\";\n\n\ncontract FundraisingMultisigTemplate is EtherTokenConstant, BaseTemplate {\n string private constant ERROR_BAD_SETTINGS = \"FM_BAD_SETTINGS\";\n string private constant ERROR_MISSING_CACHE = \"FM_MISSING_CACHE\";\n\n bool private constant BOARD_TRANSFERABLE = false;\n uint8 private constant BOARD_TOKEN_DECIMALS = uint8(0);\n uint256 private constant BOARD_MAX_PER_ACCOUNT = uint256(1);\n\n bool private constant SHARE_TRANSFERABLE = true;\n uint8 private constant SHARE_TOKEN_DECIMALS = uint8(18);\n uint256 private constant SHARE_MAX_PER_ACCOUNT = uint256(0);\n\n uint64 private constant DEFAULT_FINANCE_PERIOD = uint64(30 days);\n\n uint256 private constant BUY_FEE_PCT = 0;\n uint256 private constant SELL_FEE_PCT = 0;\n\n uint32 private constant DAI_RESERVE_RATIO = 100000; // 10%\n uint32 private constant ANT_RESERVE_RATIO = 10000; // 1%\n\n bytes32 private constant BANCOR_FORMULA_ID = 0xd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d;\n bytes32 private constant PRESALE_ID = 0x5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df5;\n bytes32 private constant MARKET_MAKER_ID = 0xc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf0;\n // eth-ens-namehash(config.fundraisingName)\n bytes32 private constant ARAGON_FUNDRAISING_ID = 0x5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea6;\n bytes32 private constant TAP_ID = 0x82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc;\n\n struct Cache {\n address dao;\n address boardTokenManager;\n address boardVoting;\n address vault;\n address finance;\n address shareVoting;\n address shareTokenManager;\n address reserve;\n address presale;\n address marketMaker;\n address tap;\n address controller;\n }\n\n address[] public collaterals;\n mapping (address => Cache) private cache;\n\n constructor(\n DAOFactory _daoFactory,\n ENS _ens,\n MiniMeTokenFactory _miniMeFactory,\n IFIFSResolvingRegistrar _aragonID,\n address _dai,\n address _ant\n )\n BaseTemplate(_daoFactory, _ens, _miniMeFactory, _aragonID)\n public\n {\n _ensureAragonIdIsValid(_aragonID);\n _ensureMiniMeFactoryIsValid(_miniMeFactory);\n require(isContract(_dai), ERROR_BAD_SETTINGS);\n require(isContract(_ant), ERROR_BAD_SETTINGS);\n require(_dai != _ant, ERROR_BAD_SETTINGS);\n\n collaterals.push(_dai);\n collaterals.push(_ant);\n }\n\n /***** external functions *****/\n\n function prepareInstance(\n string _boardTokenName,\n string _boardTokenSymbol,\n address[] _boardMembers,\n uint64[3] _boardVotingSettings,\n uint64 _financePeriod\n )\n external\n {\n require(_boardMembers.length > 0, ERROR_BAD_SETTINGS);\n require(_boardVotingSettings.length == 3, ERROR_BAD_SETTINGS);\n\n // deploy DAO\n (Kernel dao, ACL acl) = _createDAO();\n // deploy board token\n MiniMeToken boardToken = _createToken(_boardTokenName, _boardTokenSymbol, BOARD_TOKEN_DECIMALS);\n // install board apps\n TokenManager tm = _installBoardApps(dao, boardToken, _boardVotingSettings, _financePeriod);\n // mint board tokens\n _mintTokens(acl, tm, _boardMembers, 1);\n // cache DAO\n _cacheDao(dao);\n }\n\n function installShareApps(\n string _shareTokenName,\n string _shareTokenSymbol,\n uint64[3] _shareVotingSettings\n )\n external\n {\n require(_shareVotingSettings.length == 3, ERROR_BAD_SETTINGS);\n _ensureBoardAppsCache();\n\n Kernel dao = _daoCache();\n // deploy share token\n MiniMeToken shareToken = _createToken(_shareTokenName, _shareTokenSymbol, SHARE_TOKEN_DECIMALS);\n // install share apps\n _installShareApps(dao, shareToken, _shareVotingSettings);\n // setup board apps permissions [now that share apps have been installed]\n _setupBoardPermissions(dao);\n }\n\n function installFundraisingApps(\n uint256 _goal,\n uint64 _period,\n uint256 _exchangeRate,\n uint64 _vestingCliffPeriod,\n uint64 _vestingCompletePeriod,\n uint256 _supplyOfferedPct,\n uint256 _fundingForBeneficiaryPct,\n uint64 _openDate,\n uint256 _batchBlocks,\n uint256 _maxTapRateIncreasePct,\n uint256 _maxTapFloorDecreasePct\n )\n external\n {\n _ensureShareAppsCache();\n\n Kernel dao = _daoCache();\n // install fundraising apps\n _installFundraisingApps(\n dao,\n _goal,\n _period,\n _exchangeRate,\n _vestingCliffPeriod,\n _vestingCompletePeriod,\n _supplyOfferedPct,\n _fundingForBeneficiaryPct,\n _openDate,\n _batchBlocks,\n _maxTapRateIncreasePct,\n _maxTapFloorDecreasePct\n );\n // setup share apps permissions [now that fundraising apps have been installed]\n _setupSharePermissions(dao);\n }\n\n function setupFundraisingPermissions() external {\n _ensureFundraisingAppsCache();\n\n // setup fundraising apps permissions\n Kernel _dao = _daoCache();\n ACL acl = ACL(_dao.acl());\n\n (, Voting boardVoting,,) = _boardAppsCache();\n (, Voting shareVoting) = _shareAppsCache();\n (Agent reserve, Presale presale, MarketMaker marketMaker, Tap tap, Controller controller) = _fundraisingAppsCache();\n\n // reserve\n address[] memory grantees = new address[](2);\n grantees[0] = address(tap);\n grantees[1] = address(marketMaker);\n acl.createPermission(shareVoting, reserve, reserve.SAFE_EXECUTE_ROLE(), shareVoting);\n acl.createPermission(controller, reserve, reserve.ADD_PROTECTED_TOKEN_ROLE(), shareVoting);\n _createPermissions(acl, grantees, reserve, reserve.TRANSFER_ROLE(), shareVoting);\n // presale\n acl.createPermission(controller, presale, presale.OPEN_ROLE(), shareVoting);\n acl.createPermission(controller, presale, presale.CONTRIBUTE_ROLE(), shareVoting);\n // market maker\n acl.createPermission(controller, marketMaker, marketMaker.OPEN_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.UPDATE_BENEFICIARY_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.UPDATE_FEES_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.REMOVE_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.UPDATE_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.OPEN_BUY_ORDER_ROLE(), shareVoting);\n acl.createPermission(controller, marketMaker, marketMaker.OPEN_SELL_ORDER_ROLE(), shareVoting);\n // tap\n acl.createPermission(controller, tap, tap.UPDATE_BENEFICIARY_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.ADD_TAPPED_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.UPDATE_TAPPED_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.RESET_TAPPED_TOKEN_ROLE(), shareVoting);\n acl.createPermission(controller, tap, tap.WITHDRAW_ROLE(), shareVoting);\n // controller\n // ADD_COLLATERAL_TOKEN_ROLE is handled later [after collaterals have been added]\n acl.createPermission(shareVoting, controller, controller.UPDATE_BENEFICIARY_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.UPDATE_FEES_ROLE(), shareVoting);\n // acl.createPermission(shareVoting, controller, controller.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.REMOVE_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.UPDATE_COLLATERAL_TOKEN_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.ADD_TOKEN_TAP_ROLE(), shareVoting);\n acl.createPermission(shareVoting, controller, controller.UPDATE_TOKEN_TAP_ROLE(), shareVoting);\n acl.createPermission(boardVoting, controller, controller.OPEN_PRESALE_ROLE(), shareVoting);\n acl.createPermission(presale, controller, controller.OPEN_TRADING_ROLE(), shareVoting);\n acl.createPermission(address(-1), controller, controller.CONTRIBUTE_ROLE(), shareVoting);\n acl.createPermission(address(-1), controller, controller.OPEN_BUY_ORDER_ROLE(), shareVoting);\n acl.createPermission(address(-1), controller, controller.OPEN_SELL_ORDER_ROLE(), shareVoting);\n acl.createPermission(address(-1), controller, controller.WITHDRAW_ROLE(), shareVoting);\n }\n\n function finalizeInstance(\n string _id,\n uint256[2] _virtualSupplies,\n uint256[2] _virtualBalances,\n uint256[2] _slippages,\n uint256 _rateDAI,\n uint256 _floorDAI\n )\n external\n {\n require(bytes(_id).length > 0, ERROR_BAD_SETTINGS);\n require(_virtualSupplies.length == 2, ERROR_BAD_SETTINGS);\n require(_virtualBalances.length == 2, ERROR_BAD_SETTINGS);\n require(_slippages.length == 2, ERROR_BAD_SETTINGS);\n _ensureFundraisingAppsCache();\n\n Kernel dao = _daoCache();\n ACL acl = ACL(dao.acl());\n (, Voting shareVoting) = _shareAppsCache();\n\n // setup collaterals\n _setupCollaterals(dao, _virtualSupplies, _virtualBalances, _slippages, _rateDAI, _floorDAI);\n // setup EVM script registry permissions\n _createEvmScriptsRegistryPermissions(acl, shareVoting, shareVoting);\n // clear DAO permissions\n _transferRootPermissionsFromTemplateAndFinalizeDAO(dao, shareVoting, shareVoting);\n // register id\n _registerID(_id, address(dao));\n // clear cache\n _clearCache();\n }\n\n /***** internal apps installation functions *****/\n\n function _installBoardApps(Kernel _dao, MiniMeToken _token, uint64[3] _votingSettings, uint64 _financePeriod)\n internal\n returns (TokenManager)\n {\n TokenManager tm = _installTokenManagerApp(_dao, _token, BOARD_TRANSFERABLE, BOARD_MAX_PER_ACCOUNT);\n Voting voting = _installVotingApp(_dao, _token, _votingSettings);\n Vault vault = _installVaultApp(_dao);\n Finance finance = _installFinanceApp(_dao, vault, _financePeriod == 0 ? DEFAULT_FINANCE_PERIOD : _financePeriod);\n\n _cacheBoardApps(tm, voting, vault, finance);\n\n return tm;\n }\n\n function _installShareApps(Kernel _dao, MiniMeToken _shareToken, uint64[3] _shareVotingSettings)\n internal\n {\n TokenManager tm = _installTokenManagerApp(_dao, _shareToken, SHARE_TRANSFERABLE, SHARE_MAX_PER_ACCOUNT);\n Voting voting = _installVotingApp(_dao, _shareToken, _shareVotingSettings);\n\n _cacheShareApps(tm, voting);\n }\n\n function _installFundraisingApps(\n Kernel _dao,\n uint256 _goal,\n uint64 _period,\n uint256 _exchangeRate,\n uint64 _vestingCliffPeriod,\n uint64 _vestingCompletePeriod,\n uint256 _supplyOfferedPct,\n uint256 _fundingForBeneficiaryPct,\n uint64 _openDate,\n uint256 _batchBlocks,\n uint256 _maxTapRateIncreasePct,\n uint256 _maxTapFloorDecreasePct\n )\n internal\n {\n _proxifyFundraisingApps(_dao);\n\n _initializePresale(\n _goal,\n _period,\n _exchangeRate,\n _vestingCliffPeriod,\n _vestingCompletePeriod,\n _supplyOfferedPct,\n _fundingForBeneficiaryPct,\n _openDate\n );\n _initializeMarketMaker(_batchBlocks);\n _initializeTap(_batchBlocks, _maxTapRateIncreasePct, _maxTapFloorDecreasePct);\n _initializeController();\n }\n\n function _proxifyFundraisingApps(Kernel _dao) internal {\n Agent reserve = _installNonDefaultAgentApp(_dao);\n Presale presale = Presale(_registerApp(_dao, PRESALE_ID));\n MarketMaker marketMaker = MarketMaker(_registerApp(_dao, MARKET_MAKER_ID));\n Tap tap = Tap(_registerApp(_dao, TAP_ID));\n Controller controller = Controller(_registerApp(_dao, ARAGON_FUNDRAISING_ID));\n\n _cacheFundraisingApps(reserve, presale, marketMaker, tap, controller);\n }\n\n /***** internal apps initialization functions *****/\n\n function _initializePresale(\n uint256 _goal,\n uint64 _period,\n uint256 _exchangeRate,\n uint64 _vestingCliffPeriod,\n uint64 _vestingCompletePeriod,\n uint256 _supplyOfferedPct,\n uint256 _fundingForBeneficiaryPct,\n uint64 _openDate\n )\n internal\n {\n _presaleCache().initialize(\n _controllerCache(),\n _shareTMCache(),\n _reserveCache(),\n _vaultCache(),\n collaterals[0],\n _goal,\n _period,\n _exchangeRate,\n _vestingCliffPeriod,\n _vestingCompletePeriod,\n _supplyOfferedPct,\n _fundingForBeneficiaryPct,\n _openDate\n );\n }\n\n function _initializeMarketMaker(uint256 _batchBlocks) internal {\n IBancorFormula bancorFormula = IBancorFormula(_latestVersionAppBase(BANCOR_FORMULA_ID));\n\n (,, Vault beneficiary,) = _boardAppsCache();\n (TokenManager shareTM,) = _shareAppsCache();\n (Agent reserve,, MarketMaker marketMaker,, Controller controller) = _fundraisingAppsCache();\n\n marketMaker.initialize(controller, shareTM, bancorFormula, reserve, beneficiary, _batchBlocks, BUY_FEE_PCT, SELL_FEE_PCT);\n }\n\n function _initializeTap(uint256 _batchBlocks, uint256 _maxTapRateIncreasePct, uint256 _maxTapFloorDecreasePct) internal {\n (,, Vault beneficiary,) = _boardAppsCache();\n (Agent reserve,,, Tap tap, Controller controller) = _fundraisingAppsCache();\n\n tap.initialize(controller, reserve, beneficiary, _batchBlocks, _maxTapRateIncreasePct, _maxTapFloorDecreasePct);\n }\n\n function _initializeController() internal {\n (Agent reserve, Presale presale, MarketMaker marketMaker, Tap tap, Controller controller) = _fundraisingAppsCache();\n address[] memory toReset = new address[](1);\n toReset[0] = collaterals[0];\n controller.initialize(presale, marketMaker, reserve, tap, toReset);\n }\n\n /***** internal setup functions *****/\n\n function _setupCollaterals(\n Kernel _dao,\n uint256[2] _virtualSupplies,\n uint256[2] _virtualBalances,\n uint256[2] _slippages,\n uint256 _rateDAI,\n uint256 _floorDAI\n )\n internal\n {\n ACL acl = ACL(_dao.acl());\n (, Voting shareVoting) = _shareAppsCache();\n (,,,, Controller controller) = _fundraisingAppsCache();\n\n // create and grant ADD_COLLATERAL_TOKEN_ROLE to this template\n _createPermissionForTemplate(acl, address(controller), controller.ADD_COLLATERAL_TOKEN_ROLE());\n // add DAI both as a protected collateral and a tapped token\n controller.addCollateralToken(\n collaterals[0],\n _virtualSupplies[0],\n _virtualBalances[0],\n DAI_RESERVE_RATIO,\n _slippages[0],\n _rateDAI,\n _floorDAI\n );\n // add ANT as a protected collateral [but not as a tapped token]\n controller.addCollateralToken(\n collaterals[1],\n _virtualSupplies[1],\n _virtualBalances[1],\n ANT_RESERVE_RATIO,\n _slippages[1],\n 0,\n 0\n );\n // transfer ADD_COLLATERAL_TOKEN_ROLE\n _transferPermissionFromTemplate(acl, controller, shareVoting, controller.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting);\n }\n\n /***** internal permissions functions *****/\n\n function _setupBoardPermissions(Kernel _dao) internal {\n ACL acl = ACL(_dao.acl());\n\n (TokenManager boardTM, Voting boardVoting, Vault vault, Finance finance) = _boardAppsCache();\n (, Voting shareVoting) = _shareAppsCache();\n\n // token manager\n _createTokenManagerPermissions(acl, boardTM, boardVoting, shareVoting);\n // voting\n _createVotingPermissions(acl, boardVoting, boardVoting, boardTM, shareVoting);\n // vault\n _createVaultPermissions(acl, vault, finance, shareVoting);\n // finance\n _createFinancePermissions(acl, finance, boardVoting, shareVoting);\n _createFinanceCreatePaymentsPermission(acl, finance, boardVoting, shareVoting);\n }\n\n function _setupSharePermissions(Kernel _dao) internal {\n ACL acl = ACL(_dao.acl());\n\n (TokenManager boardTM,,,) = _boardAppsCache();\n (TokenManager shareTM, Voting shareVoting) = _shareAppsCache();\n (, Presale presale, MarketMaker marketMaker,,) = _fundraisingAppsCache();\n\n // token manager\n address[] memory grantees = new address[](2);\n grantees[0] = address(marketMaker);\n grantees[1] = address(presale);\n acl.createPermission(marketMaker, shareTM, shareTM.MINT_ROLE(),address(1));\n acl.createPermission(presale, shareTM, shareTM.ISSUE_ROLE(),shareVoting);\n acl.createPermission(presale, shareTM, shareTM.ASSIGN_ROLE(),shareVoting);\n acl.createPermission(presale, shareTM, shareTM.REVOKE_VESTINGS_ROLE(), shareVoting);\n _createPermissions(acl, grantees, shareTM, shareTM.BURN_ROLE(), address(1));\n // voting\n _createShareVotingPermissions(acl, shareVoting, shareVoting, boardTM, shareVoting);\n }\n\n function _createShareVotingPermissions(\n ACL _acl,\n Voting _voting,\n address _settingsGrantee,\n address _createVotesGrantee,\n address _manager\n )\n internal\n {\n _acl.createPermission(_settingsGrantee, _voting, _voting.MODIFY_QUORUM_ROLE(), _manager);\n _acl.createPermission(_settingsGrantee, _voting, _voting.MODIFY_SUPPORT_ROLE(), address(1));\n _acl.createPermission(_createVotesGrantee, _voting, _voting.CREATE_VOTES_ROLE(), _manager);\n }\n\n /***** internal cache functions *****/\n\n function _cacheDao(Kernel _dao) internal {\n Cache storage c = cache[msg.sender];\n\n c.dao = address(_dao);\n }\n\n function _cacheBoardApps(TokenManager _boardTM, Voting _boardVoting, Vault _vault, Finance _finance) internal {\n Cache storage c = cache[msg.sender];\n\n c.boardTokenManager = address(_boardTM);\n c.boardVoting = address(_boardVoting);\n c.vault = address(_vault);\n c.finance = address(_finance);\n }\n\n function _cacheShareApps(TokenManager _shareTM, Voting _shareVoting) internal {\n Cache storage c = cache[msg.sender];\n\n c.shareTokenManager = address(_shareTM);\n c.shareVoting = address(_shareVoting);\n }\n\n function _cacheFundraisingApps(Agent _reserve, Presale _presale, MarketMaker _marketMaker, Tap _tap, Controller _controller) internal {\n Cache storage c = cache[msg.sender];\n\n c.reserve = address(_reserve);\n c.presale = address(_presale);\n c.marketMaker = address(_marketMaker);\n c.tap = address(_tap);\n c.controller = address(_controller);\n }\n\n function _daoCache() internal view returns (Kernel dao) {\n Cache storage c = cache[msg.sender];\n\n dao = Kernel(c.dao);\n }\n\n function _boardAppsCache() internal view returns (TokenManager boardTM, Voting boardVoting, Vault vault, Finance finance) {\n Cache storage c = cache[msg.sender];\n\n boardTM = TokenManager(c.boardTokenManager);\n boardVoting = Voting(c.boardVoting);\n vault = Vault(c.vault);\n finance = Finance(c.finance);\n }\n\n function _shareAppsCache() internal view returns (TokenManager shareTM, Voting shareVoting) {\n Cache storage c = cache[msg.sender];\n\n shareTM = TokenManager(c.shareTokenManager);\n shareVoting = Voting(c.shareVoting);\n }\n\n function _fundraisingAppsCache() internal view returns (\n Agent reserve,\n Presale presale,\n MarketMaker marketMaker,\n Tap tap,\n Controller controller\n )\n {\n Cache storage c = cache[msg.sender];\n\n reserve = Agent(c.reserve);\n presale = Presale(c.presale);\n marketMaker = MarketMaker(c.marketMaker);\n tap = Tap(c.tap);\n controller = Controller(c.controller);\n }\n\n function _clearCache() internal {\n Cache storage c = cache[msg.sender];\n\n delete c.dao;\n delete c.boardTokenManager;\n delete c.boardVoting;\n delete c.vault;\n delete c.finance;\n delete c.shareVoting;\n delete c.shareTokenManager;\n delete c.reserve;\n delete c.presale;\n delete c.marketMaker;\n delete c.tap;\n delete c.controller;\n }\n\n /**\n * NOTE\n * the following functions are only needed for the presale\n * initialization function [which we can't compile otherwise\n * because of a `stack too deep` error]\n */\n\n function _vaultCache() internal view returns (Vault vault) {\n Cache storage c = cache[msg.sender];\n\n vault = Vault(c.vault);\n }\n\n function _shareTMCache() internal view returns (TokenManager shareTM) {\n Cache storage c = cache[msg.sender];\n\n shareTM = TokenManager(c.shareTokenManager);\n }\n\n function _reserveCache() internal view returns (Agent reserve) {\n Cache storage c = cache[msg.sender];\n\n reserve = Agent(c.reserve);\n }\n\n function _presaleCache() internal view returns (Presale presale) {\n Cache storage c = cache[msg.sender];\n\n presale = Presale(c.presale);\n }\n\n function _controllerCache() internal view returns (Controller controller) {\n Cache storage c = cache[msg.sender];\n\n controller = Controller(c.controller);\n }\n\n /***** internal check functions *****/\n\n function _ensureBoardAppsCache() internal view {\n Cache storage c = cache[msg.sender];\n require(\n c.boardTokenManager != address(0) &&\n c.boardVoting != address(0) &&\n c.vault != address(0) &&\n c.finance != address(0),\n ERROR_MISSING_CACHE\n );\n }\n\n function _ensureShareAppsCache() internal view {\n Cache storage c = cache[msg.sender];\n require(\n c.shareTokenManager != address(0) &&\n c.shareVoting != address(0),\n ERROR_MISSING_CACHE\n );\n }\n\n function _ensureFundraisingAppsCache() internal view {\n Cache storage c = cache[msg.sender];\n require(\n c.reserve != address(0) &&\n c.presale != address(0) &&\n c.marketMaker != address(0) &&\n c.tap != address(0) &&\n c.controller != address(0),\n ERROR_MISSING_CACHE\n );\n }\n\n /***** internal utils functions *****/\n\n function _registerApp(Kernel _dao, bytes32 _appId) internal returns (address) {\n address proxy = _dao.newAppInstance(_appId, _latestVersionAppBase(_appId));\n\n emit InstalledApp(proxy, _appId);\n\n return proxy;\n }\n}\n", - "sourcePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/FundraisingMultisigTemplate.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/FundraisingMultisigTemplate.sol", - "exportedSymbols": { - "FundraisingMultisigTemplate": [ - 2242 - ] - }, - "id": 2243, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 23650, - "src": "25:60:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "file": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 29712, - "src": "86:61:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 11530, - "src": "148:48:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "file": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "id": 5, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 5798, - "src": "197:72:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "file": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "id": 7, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 3336, - "src": "270:139:0", - "symbolAliases": [ - { - "foreign": 6, - "local": "Controller" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "file": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "id": 9, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 8579, - "src": "410:143:0", - "symbolAliases": [ - { - "foreign": 8, - "local": "MarketMaker" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-presale/contracts/Presale.sol", - "file": "@ablack/fundraising-presale/contracts/Presale.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 9580, - "src": "554:59:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-tap/contracts/Tap.sol", - "file": "@ablack/fundraising-tap/contracts/Tap.sol", - "id": 11, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 10787, - "src": "614:51:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "708:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 13, - "nodeType": "InheritanceSpecifier", - "src": "708:18:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14, - "name": "BaseTemplate", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 29711, - "src": "728:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - }, - "id": 15, - "nodeType": "InheritanceSpecifier", - "src": "728:12:0" - } - ], - "contractDependencies": [ - 22375, - 23649, - 23825, - 29711 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2242, - "linearizedBaseContracts": [ - 2242, - 29711, - 23825, - 22375, - 23649 - ], - "name": "FundraisingMultisigTemplate", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 18, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "747:69:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 16, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "747:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "464d5f4241445f53455454494e4753", - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:17:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30d6b88df3f158c3e64fb0f5d99b53e92ec0ed2c801ad15381a27ddeddc3bdca", - "typeString": "literal_string \"FM_BAD_SETTINGS\"" - }, - "value": "FM_BAD_SETTINGS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 21, - "name": "ERROR_MISSING_CACHE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "822:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "822:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "464d5f4d495353494e475f4341434845", - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57d7868ba691513f5ce50de72e0b2fb3c1f89c517406622520aae3e308142dad", - "typeString": "literal_string \"FM_MISSING_CACHE\"" - }, - "value": "FM_MISSING_CACHE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24, - "name": "BOARD_TRANSFERABLE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "899:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "899:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "951:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 29, - "name": "BOARD_TOKEN_DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "962:60:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 25, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "962:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1020:1:0", - "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": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1014:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 28, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1014:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 34, - "name": "BOARD_MAX_PER_ACCOUNT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1028:62:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1088:1:0", - "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" - } - ], - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1080:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 33, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1080:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 37, - "name": "SHARE_TRANSFERABLE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1097:56:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 35, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1097:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1149:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 42, - "name": "SHARE_TOKEN_DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1159:61:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 38, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1159:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3138", - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - } - ], - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1211:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1211:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 47, - "name": "SHARE_MAX_PER_ACCOUNT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1226:62:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1226:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1286:1:0", - "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": 44, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 52, - "name": "DEFAULT_FINANCE_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1295:67:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 48, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1295:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3330", - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1354:7:0", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - } - ], - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1347:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 51, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1347:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 55, - "name": "BUY_FEE_PCT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1369:53:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 53, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1369:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 58, - "name": "SELL_FEE_PCT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1428:53:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1480:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 61, - "name": "DAI_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1488:58:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 59, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1488:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313030303030", - "id": 60, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1540:6:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000_by_1", - "typeString": "int_const 100000" - }, - "value": "100000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 64, - "name": "ANT_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1559:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 62, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1559:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1611:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 67, - "name": "BANCOR_FORMULA_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1630:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 65, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1630:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864373164646535653462656131393238303236633137373962646537656432376264376566336430636539383032653431313736333165623666613465643764", - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1682:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97300035740199545179483209714402723605156460151098702054530621441677950512509_by_1", - "typeString": "int_const 9730...(69 digits omitted)...2509" - }, - "value": "0xd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 70, - "name": "PRESALE_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1754:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 68, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1754:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835646539626264656166363538346332323063376237663139323233383362636438626263643462343838333230383061666439643565626639613034646635", - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1806:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42478066914483560976835553858914366218403074628322459335483500961293236456949_by_1", - "typeString": "int_const 4247...(69 digits omitted)...6949" - }, - "value": "0x5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df5" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 73, - "name": "MARKET_MAKER_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1878:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 71, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1878:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863326262383861623937346334373432323166313566363931656439646133386265326635643337333634313830636563303534303363363536393831626630", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1930:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88080036289854815949754831311424242545573509587395789005453016778907621792752_by_1", - "typeString": "int_const 8808...(69 digits omitted)...2752" - }, - "value": "0xc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 76, - "name": "ARAGON_FUNDRAISING_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2050:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2050:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835666338666361383861363936666137396366313634363065643635643561623131383165323461373963333463363638343862373130353165643635656136", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2102:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43324833812292885231902079401354644614911213641674798935905304746515416637094_by_1", - "typeString": "int_const 4332...(69 digits omitted)...7094" - }, - "value": "0x5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea6" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 79, - "name": "TAP_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2174:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 77, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307838323936376566616237313434623736346263396263613266333161373231323639623636313863306666346535303534353733373730306135653963396463", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2226:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59066573754848248697709013493230089917898630079112228020058297967688452524508_by_1", - "typeString": "int_const 5906...(69 digits omitted)...4508" - }, - "value": "0x82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc" - }, - "visibility": "private" - }, - { - "canonicalName": "FundraisingMultisigTemplate.Cache", - "id": 104, - "members": [ - { - "constant": false, - "id": 81, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2322:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2322:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "name": "boardTokenManager", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2343:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 85, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2378:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2378:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2407:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2430:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2455:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 90, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 93, - "name": "shareTokenManager", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2484:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2484:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 95, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2519:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2519:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2544:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2544:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2569:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 98, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2569:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 101, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2598:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2598:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 103, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2619:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2619:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Cache", - "nodeType": "StructDefinition", - "scope": 2242, - "src": "2299:345:0", - "visibility": "public" - }, - { - "constant": false, - "id": 107, - "name": "collaterals", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2650:28:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 106, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2650:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 111, - "name": "cache", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2684:40:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache)" - }, - "typeName": { - "id": 110, - "keyType": { - "id": 108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2693:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2684:26:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache)" - }, - "valueType": { - "contractScope": null, - "id": 109, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "2704:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 173, - "nodeType": "Block", - "src": "3085:333:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 133, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "3118:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - ], - "id": 132, - "name": "_ensureAragonIdIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29688, - "src": "3095:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3095:33:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "3095:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 137, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "3166:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - ], - "id": 136, - "name": "_ensureMiniMeFactoryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29626, - "src": "3138:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3138:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 139, - "nodeType": "ExpressionStatement", - "src": "3138:43:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 142, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3210:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 141, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3199:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3199:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 144, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3217:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3191:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3191:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 146, - "nodeType": "ExpressionStatement", - "src": "3191:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 149, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3265:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 148, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3254:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3254:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 151, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3272:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3246:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3246:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 153, - "nodeType": "ExpressionStatement", - "src": "3246:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 155, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3309:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 156, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3317:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3309:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 158, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3327:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3301:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "3301:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 164, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3374:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 161, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "3357:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3357:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3357:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "3357:22:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 170, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3406:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 167, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "3389:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3389:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3389:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 172, - "nodeType": "ExpressionStatement", - "src": "3389:22:0" - } - ] - }, - "documentation": null, - "id": 174, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 126, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "3020:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - { - "argumentTypes": null, - "id": 127, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 115, - "src": "3033:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - { - "argumentTypes": null, - "id": 128, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "3039:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 129, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "3055:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "id": 130, - "modifierName": { - "argumentTypes": null, - "id": 125, - "name": "BaseTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29711, - "src": "3007:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BaseTemplate_$29711_$", - "typeString": "type(contract BaseTemplate)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3007:58:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 113, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2752:35:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 112, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "2752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 115, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2797:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 114, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "2797:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 117, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2835:38:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "2835:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 119, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2883:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 118, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "2883:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "_dai", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2926:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2926:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 123, - "name": "_ant", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2964:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2964:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2742:256:0" - }, - "payable": false, - "returnParameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [], - "src": "3085:0:0" - }, - "scope": 2242, - "src": "2731:687:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 241, - "nodeType": "Block", - "src": "3693:605:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 191, - "name": "_boardMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 181, - "src": "3711:13:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3711:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3734:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3711:24:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 195, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3745:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 190, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3703:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "3703:61:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 199, - "name": "_boardVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3782:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3782:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3813:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3782:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3816:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 198, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3774:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3774:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "3774:61:0" - }, - { - "assignments": [ - 207, - 209 - ], - "declarations": [ - { - "constant": false, - "id": 207, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3869:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 206, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "3869:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 209, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3881:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 208, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3881:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 212, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 210, - "name": "_createDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28299, - "src": "3892:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Kernel_$26897_$_t_contract$_ACL_$21811_$", - "typeString": "function () returns (contract Kernel,contract ACL)" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3892:12:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Kernel_$26897_$_t_contract$_ACL_$21811_$", - "typeString": "tuple(contract Kernel,contract ACL)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3868:36:0" - }, - { - "assignments": [ - 214 - ], - "declarations": [ - { - "constant": false, - "id": 214, - "name": "boardToken", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3944:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 213, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3944:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 220, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 216, - "name": "_boardTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "3982:15:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 217, - "name": "_boardTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "3999:17:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 218, - "name": "BOARD_TOKEN_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "4018:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 215, - "name": "_createToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29611, - "src": "3969:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (string memory,string memory,uint8) returns (contract MiniMeToken)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3969:70:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3944:95:0" - }, - { - "assignments": [ - 222 - ], - "declarations": [ - { - "constant": false, - "id": 222, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "4079:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 221, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "4079:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 229, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 224, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4115:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 225, - "name": "boardToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 214, - "src": "4120:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 226, - "name": "_boardVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "4132:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 187, - "src": "4154:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 223, - "name": "_installBoardApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "4097:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$_t_uint64_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory,uint64) returns (contract TokenManager)" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4097:72:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4079:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 231, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "4220:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 232, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "4225:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 233, - "name": "_boardMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 181, - "src": "4229:13:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4244:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 230, - "name": "_mintTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29294, - 29345, - 29380 - ], - "referencedDeclaration": 29345, - "src": "4208:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_TokenManager_$19073_$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (contract ACL,contract TokenManager,address[] memory,uint256)" - } - }, - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4208:38:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 236, - "nodeType": "ExpressionStatement", - "src": "4208:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 238, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4287:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 237, - "name": "_cacheDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "4277:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4277:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 240, - "nodeType": "ExpressionStatement", - "src": "4277:14:0" - } - ] - }, - "documentation": "*** external functions ****", - "id": 242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "prepareInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "name": "_boardTokenName", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3496:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 175, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3496:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 178, - "name": "_boardTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3531:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 177, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3531:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 181, - "name": "_boardMembers", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3568:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3568:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 180, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3568:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 185, - "name": "_boardVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3601:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 182, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3601:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 184, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3608:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3601:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 187, - "name": "_financePeriod", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3641:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 186, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3486:185:0" - }, - "payable": false, - "returnParameters": { - "id": 189, - "nodeType": "ParameterList", - "parameters": [], - "src": "3693:0:0" - }, - "scope": 2242, - "src": "3462:836:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 287, - "nodeType": "Block", - "src": "4469:496:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 254, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4487:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4487:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4518:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4487:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 258, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "4521:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4479:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4479:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 260, - "nodeType": "ExpressionStatement", - "src": "4479:61:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 261, - "name": "_ensureBoardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2137, - "src": "4550:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4550:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 263, - "nodeType": "ExpressionStatement", - "src": "4550:23:0" - }, - { - "assignments": [ - 265 - ], - "declarations": [ - { - "constant": false, - "id": 265, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4584:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 264, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "4584:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 268, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 266, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "4597:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4584:24:0" - }, - { - "assignments": [ - 270 - ], - "declarations": [ - { - "constant": false, - "id": 270, - "name": "shareToken", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4648:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 269, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4648:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 276, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 272, - "name": "_shareTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "4686:15:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 273, - "name": "_shareTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "4703:17:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 274, - "name": "SHARE_TOKEN_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "4722:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 271, - "name": "_createToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29611, - "src": "4673:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (string memory,string memory,uint8) returns (contract MiniMeToken)" - } - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4673:70:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4648:95:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 265, - "src": "4801:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 279, - "name": "shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 270, - "src": "4806:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 280, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4818:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - ], - "id": 277, - "name": "_installShareApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "4783:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$__$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory)" - } - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4783:56:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 282, - "nodeType": "ExpressionStatement", - "src": "4783:56:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 284, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 265, - "src": "4954:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 283, - "name": "_setupBoardPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1446, - "src": "4931:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4931:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 286, - "nodeType": "ExpressionStatement", - "src": "4931:27:0" - } - ] - }, - "documentation": null, - "id": 288, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "installShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 244, - "name": "_shareTokenName", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4339:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 243, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4339:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 246, - "name": "_shareTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4374:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 245, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4374:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 250, - "name": "_shareVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4411:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 247, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4411:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 249, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4411:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4329:118:0" - }, - "payable": false, - "returnParameters": { - "id": 252, - "nodeType": "ParameterList", - "parameters": [], - "src": "4469:0:0" - }, - "scope": 2242, - "src": "4304:661:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 340, - "nodeType": "Block", - "src": "5402:624:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 313, - "name": "_ensureShareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2165, - "src": "5412:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "5412:23:0" - }, - { - "assignments": [ - 317 - ], - "declarations": [ - { - "constant": false, - "id": 317, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5446:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 316, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5446:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 320, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 318, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "5459:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5459:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5446:24:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 322, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "5553:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 323, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 290, - "src": "5570:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 324, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 292, - "src": "5589:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 325, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "5610:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 326, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "5637:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 327, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "5670:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 328, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 300, - "src": "5706:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 329, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "5737:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 330, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "5776:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 331, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "5799:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 332, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "5825:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 333, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "5861:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 321, - "name": "_installFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "5516:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract Kernel,uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64,uint256,uint256,uint256)" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5516:378:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "5516:378:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 337, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "6015:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 336, - "name": "_setupSharePermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5992:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "5992:27:0" - } - ] - }, - "documentation": null, - "id": 341, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "installFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 290, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5012:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5012:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 292, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5035:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 291, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5035:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 294, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5060:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5060:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 296, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5091:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 295, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5091:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 298, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5128:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 297, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5128:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 300, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5168:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5168:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 302, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5203:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5203:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 304, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5246:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 303, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5246:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 306, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5273:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5273:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 308, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5303:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5303:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 310, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5343:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5002:378:0" - }, - "payable": false, - "returnParameters": { - "id": 312, - "nodeType": "ParameterList", - "parameters": [], - "src": "5402:0:0" - }, - "scope": 2242, - "src": "4971:1055:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 794, - "nodeType": "Block", - "src": "6080:4269:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 344, - "name": "_ensureFundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "6090:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6090:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 346, - "nodeType": "ExpressionStatement", - "src": "6090:29:0" - }, - { - "assignments": [ - 348 - ], - "declarations": [ - { - "constant": false, - "id": 348, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6176:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 347, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "6176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 351, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 349, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "6190:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6190:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6176:25:0" - }, - { - "assignments": [ - 353 - ], - "declarations": [ - { - "constant": false, - "id": 353, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6211:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 352, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6211:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 359, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 355, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "6225:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "6225:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6225:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 354, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "6221:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6221:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6211:25:0" - }, - { - "assignments": [ - null, - 361, - null, - null - ], - "declarations": [ - null, - { - "constant": false, - "id": 361, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6250:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 360, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "6250:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null - ], - "id": 364, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 362, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "6274:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6274:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6247:44:0" - }, - { - "assignments": [ - null, - 366 - ], - "declarations": [ - null, - { - "constant": false, - "id": 366, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 365, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "6304:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 369, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 367, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "6326:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6326:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6301:42:0" - }, - { - "assignments": [ - 371, - 373, - 375, - 377, - 379 - ], - "declarations": [ - { - "constant": false, - "id": 371, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6354:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 370, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6354:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 373, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6369:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 372, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "6369:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 375, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6386:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 374, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "6386:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 377, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6411:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 376, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "6411:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 379, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6420:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 378, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "6420:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 382, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 380, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "6445:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6445:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6353:115:0" - }, - { - "assignments": [ - 386 - ], - "declarations": [ - { - "constant": false, - "id": 386, - "name": "grantees", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6498:25:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6498:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 385, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6498:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 392, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6540:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "6526:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 388, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6530:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6526:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6498:44:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 393, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6552:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 395, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6561:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6552:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 397, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "6574:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - ], - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6566:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6566:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6552:26:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "6552:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 401, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6588:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 403, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6597:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6588:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 405, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "6610:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6602:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6602:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6588:34:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 408, - "nodeType": "ExpressionStatement", - "src": "6588:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 412, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6653:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 413, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6666:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 414, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "SAFE_EXECUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10809, - "src": "6675:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6675:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 417, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6704:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 409, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6632:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6632:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6632:84:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "6632:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 423, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "6747:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 424, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6759:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 425, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10812, - "src": "6768:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6768:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6804:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 420, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6726:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6726:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6726:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 430, - "nodeType": "ExpressionStatement", - "src": "6726:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 432, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6845:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 433, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6850:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 434, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6860:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 435, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6869:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TRANSFER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19094, - "src": "6869:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6869:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 438, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6894:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 431, - "name": "_createPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28368, - "src": "6826:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address[] memory,address,bytes32,address)" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6826:80:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "6826:80:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 444, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "6956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 445, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "6968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 446, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "6977:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 8610, - "src": "6977:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6977:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 449, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6998:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 441, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6935:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6935:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6935:75:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 451, - "nodeType": "ExpressionStatement", - "src": "6935:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7041:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 456, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "7053:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 457, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "7062:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CONTRIBUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 8613, - "src": "7062:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7062:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7089:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 452, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7020:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7020:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7020:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "ExpressionStatement", - "src": "7020:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 466, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7156:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 467, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7168:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 468, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7181:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5915, - "src": "7181:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7181:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 471, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7206:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 463, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7135:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7135:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7135:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "7135:83:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 477, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7249:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 478, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7261:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 479, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7274:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5921, - "src": "7274:35:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:37:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 482, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7313:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 474, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7228:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7228:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7228:97:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 484, - "nodeType": "ExpressionStatement", - "src": "7228:97:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7356:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 489, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7368:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 490, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7381:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_FEES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5924, - "src": "7381:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7381:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 493, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7413:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 485, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7335:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7335:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7335:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "7335:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 499, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7456:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 500, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7468:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 501, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7481:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5927, - "src": "7481:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7481:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 504, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7522:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7435:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7435:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 506, - "nodeType": "ExpressionStatement", - "src": "7435:99:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7565:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 511, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7577:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 512, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7590:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5930, - "src": "7590:40:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7590:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7634:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 507, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7544:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7544:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7544:102:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "7544:102:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 521, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7677:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 522, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7689:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 523, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7702:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5933, - "src": "7702:40:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7702:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 526, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7746:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 518, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7656:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7656:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7656:102:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "7656:102:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 532, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7789:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 533, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7801:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 534, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7814:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_BUY_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5936, - "src": "7814:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7814:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 537, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7849:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 529, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7768:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7768:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:93:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "7768:93:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7892:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 544, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7904:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 545, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7917:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_SELL_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5939, - "src": "7917:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7917:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 548, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7953:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 540, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7871:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7871:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7871:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 550, - "nodeType": "ExpressionStatement", - "src": "7871:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 554, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8011:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 555, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8023:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 556, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8028:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9743, - "src": "8028:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8028:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 559, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8059:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7990:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7990:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "7990:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8102:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 566, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8114:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 567, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8119:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9746, - "src": "8119:45:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8119:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 570, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8168:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8081:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8081:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8081:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "8081:99:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8211:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 577, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8223:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 578, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8228:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9749, - "src": "8228:46:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8228:48:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 581, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8278:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 573, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8190:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8190:100:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 583, - "nodeType": "ExpressionStatement", - "src": "8190:100:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 587, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8321:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 588, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8333:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 589, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8338:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9752, - "src": "8338:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8338:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 592, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8367:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 584, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8300:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8300:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8300:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "8300:79:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8410:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 599, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8422:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 600, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8427:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9758, - "src": "8427:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8427:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8459:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 595, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8389:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8389:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8389:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 605, - "nodeType": "ExpressionStatement", - "src": "8389:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8502:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 610, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8514:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 611, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8519:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9761, - "src": "8519:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8519:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 614, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8550:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 606, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8481:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8481:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8481:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "8481:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 620, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8593:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 621, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8605:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WITHDRAW_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9764, - "src": "8610:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8610:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 625, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 617, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8572:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8572:71:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 627, - "nodeType": "ExpressionStatement", - "src": "8572:71:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 631, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8786:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 632, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8799:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 633, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8811:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2601, - "src": "8811:34:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8811:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 636, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8849:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8765:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8765:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8765:96:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 638, - "nodeType": "ExpressionStatement", - "src": "8765:96:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 642, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8892:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 643, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8905:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 644, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8917:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_FEES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2604, - "src": "8917:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8917:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 647, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8948:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 639, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8871:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8871:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8871:89:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 649, - "nodeType": "ExpressionStatement", - "src": "8871:89:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 653, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9102:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9115:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 655, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9127:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "9127:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9127:41:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9170:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 650, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9081:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9081:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9081:101:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 660, - "nodeType": "ExpressionStatement", - "src": "9081:101:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 664, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9213:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 665, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9226:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 666, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9238:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2613, - "src": "9238:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9238:41:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9281:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 661, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9192:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9192:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9192:101:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "9192:101:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 675, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9324:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 676, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9337:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 677, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2616, - "src": "9349:52:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9349:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 680, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9405:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 672, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9303:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9303:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9303:114:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 682, - "nodeType": "ExpressionStatement", - "src": "9303:114:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 686, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9448:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 687, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9461:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 688, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9473:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2619, - "src": "9473:53:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9473:55:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 691, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9530:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 683, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9427:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9427:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9427:115:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 693, - "nodeType": "ExpressionStatement", - "src": "9427:115:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 697, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9573:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 698, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9586:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 699, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9598:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_TOKEN_TAP_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2622, - "src": "9598:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9598:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 702, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 694, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9552:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9552:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9552:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 704, - "nodeType": "ExpressionStatement", - "src": "9552:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 708, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9674:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 709, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9687:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 710, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9699:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2625, - "src": "9699:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9699:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 713, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9735:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 705, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9653:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9653:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9653:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 715, - "nodeType": "ExpressionStatement", - "src": "9653:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 719, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 361, - "src": "9778:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 720, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9791:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 721, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9803:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_PRESALE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2628, - "src": "9803:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9803:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 724, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9835:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 716, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9757:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9757:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 726, - "nodeType": "ExpressionStatement", - "src": "9757:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 730, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "9878:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 731, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9887:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 732, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9899:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_TRADING_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2631, - "src": "9899:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9899:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 735, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9931:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 727, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9857:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9857:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9857:86:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 737, - "nodeType": "ExpressionStatement", - "src": "9857:86:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "9982:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9983:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9974:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9974:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 745, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9987:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 746, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9999:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CONTRIBUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2634, - "src": "9999:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9999:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 749, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10029:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 738, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9953:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9953:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9953:88:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "9953:88:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10080:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10081:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10072:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10072:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 759, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10085:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 760, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10097:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_BUY_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2637, - "src": "10097:30:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10097:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 763, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10131:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 752, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10051:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10051:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10051:92:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 765, - "nodeType": "ExpressionStatement", - "src": "10051:92:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10182:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10174:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 773, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10187:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 774, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10199:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_SELL_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2640, - "src": "10199:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10199:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 777, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10234:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 766, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10153:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10153:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10153:93:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "10153:93:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10285:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10286:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10277:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 787, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10290:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 788, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WITHDRAW_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2643, - "src": "10302:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10302:26:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 791, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10330:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10256:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10256:86:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 793, - "nodeType": "ExpressionStatement", - "src": "10256:86:0" - } - ] - }, - "documentation": null, - "id": 795, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setupFundraisingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 342, - "nodeType": "ParameterList", - "parameters": [], - "src": "6068:2:0" - }, - "payable": false, - "returnParameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "6080:0:0" - }, - "scope": 2242, - "src": "6032:4317:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 902, - "nodeType": "Block", - "src": "10596:925:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 818, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 797, - "src": "10620:3:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10614:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10614:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata", - "typeString": "bytes calldata" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10614:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10614:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 823, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10644:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 816, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10606:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 825, - "nodeType": "ExpressionStatement", - "src": "10606:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 827, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "10681:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10681:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10708:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10681:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 831, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10711:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 826, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10673:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 833, - "nodeType": "ExpressionStatement", - "src": "10673:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "10748:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10748:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10775:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10748:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 839, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10778:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10740:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10740:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "10740:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 843, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "10815:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10815:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10836:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10815:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 847, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10845:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 842, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10807:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10807:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 849, - "nodeType": "ExpressionStatement", - "src": "10807:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 850, - "name": "_ensureFundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "10874:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 852, - "nodeType": "ExpressionStatement", - "src": "10874:29:0" - }, - { - "assignments": [ - 854 - ], - "declarations": [ - { - "constant": false, - "id": 854, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10914:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 853, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "10914:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 857, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 855, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "10927:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10927:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10914:24:0" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10948:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 858, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "10948:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 865, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 861, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "10962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "10962:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10962:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 860, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "10958:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10958:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10948:24:0" - }, - { - "assignments": [ - null, - 867 - ], - "declarations": [ - null, - { - "constant": false, - "id": 867, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10985:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 866, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "10985:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 870, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 868, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "11007:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11007:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10982:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 872, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11082:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 873, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "11087:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 874, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "11105:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "11123:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 876, - "name": "_rateDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "11135:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 877, - "name": "_floorDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "11145:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 871, - "name": "_setupCollaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "11064:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract Kernel,uint256[2] memory,uint256[2] memory,uint256[2] memory,uint256,uint256)" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 879, - "nodeType": "ExpressionStatement", - "src": "11064:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 881, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "11251:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 882, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11256:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 883, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11269:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 880, - "name": "_createEvmScriptsRegistryPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29420, - "src": "11214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address)" - } - }, - "id": 884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11214:67:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 885, - "nodeType": "ExpressionStatement", - "src": "11214:67:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 887, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11375:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 888, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11380:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 889, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11393:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 886, - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28432, - 28474 - ], - "referencedDeclaration": 28474, - "src": "11324:50:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract Kernel,address,address)" - } - }, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11324:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "11324:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 893, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 797, - "src": "11450:3:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 895, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11463:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11455:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 892, - "name": "_registerID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29673, - "src": "11438:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address)" - } - }, - "id": 897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11438:30:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 898, - "nodeType": "ExpressionStatement", - "src": "11438:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 899, - "name": "_clearCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11501:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11501:13:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 901, - "nodeType": "ExpressionStatement", - "src": "11501:13:0" - } - ] - }, - "documentation": null, - "id": 903, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "finalizeInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 797, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10390:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 796, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 801, - "name": "_virtualSupplies", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10414:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 800, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10414:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 805, - "name": "_virtualBalances", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10451:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10451:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 804, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10459:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10451:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 809, - "name": "_slippages", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10488:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10488:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 808, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10496:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10488:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 811, - "name": "_rateDAI", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10519:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10519:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 813, - "name": "_floorDAI", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10548:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10380:194:0" - }, - "payable": false, - "returnParameters": { - "id": 815, - "nodeType": "ParameterList", - "parameters": [], - "src": "10596:0:0" - }, - "scope": 2242, - "src": "10355:1166:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "11745:431:0", - "statements": [ - { - "assignments": [ - 919 - ], - "declarations": [ - { - "constant": false, - "id": 919, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11755:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 918, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "11755:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 926, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 921, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11797:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 922, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "11803:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 923, - "name": "BOARD_TRANSFERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "11811:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 924, - "name": "BOARD_MAX_PER_ACCOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 34, - "src": "11831:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 920, - "name": "_installTokenManagerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29206, - "src": "11773:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,bool,uint256) returns (contract TokenManager)" - } - }, - "id": 925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11773:80:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11755:98:0" - }, - { - "assignments": [ - 928 - ], - "declarations": [ - { - "constant": false, - "id": 928, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11863:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 927, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "11863:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 934, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 930, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11897:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 931, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "11903:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 932, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "11911:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - ], - "id": 929, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28690, - "src": "11879:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory) returns (contract Voting)" - } - }, - "id": 933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:48:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11863:64:0" - }, - { - "assignments": [ - 936 - ], - "declarations": [ - { - "constant": false, - "id": 936, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11937:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 935, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "11937:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 940, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 938, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11968:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 937, - "name": "_installVaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28639, - "src": "11951:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_Vault_$19335_$", - "typeString": "function (contract Kernel) returns (contract Vault)" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11951:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11937:36:0" - }, - { - "assignments": [ - 942 - ], - "declarations": [ - { - "constant": false, - "id": 942, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11983:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 941, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "11983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 953, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 944, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "12020:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 945, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "12026:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 946, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "12033:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12051:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12033:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 950, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "12080:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12033:61:0", - "trueExpression": { - "argumentTypes": null, - "id": 949, - "name": "DEFAULT_FINANCE_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "12055:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 943, - "name": "_installFinanceApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29070, - "src": "12001:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_Vault_$19335_$_t_uint64_$returns$_t_contract$_Finance_$14010_$", - "typeString": "function (contract Kernel,contract Vault,uint64) returns (contract Finance)" - } - }, - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12001:94:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11983:112:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 955, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "12122:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 956, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "12126:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 957, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "12134:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 958, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "12141:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 954, - "name": "_cacheBoardApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1692, - "src": "12106:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$returns$__$", - "typeString": "function (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12106:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 960, - "nodeType": "ExpressionStatement", - "src": "12106:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 961, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "12167:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "functionReturnParameters": 917, - "id": 962, - "nodeType": "Return", - "src": "12160:9:0" - } - ] - }, - "documentation": "*** internal apps installation functions ****", - "id": 964, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installBoardApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 905, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11610:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 904, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "11610:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 907, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11623:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 906, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "11623:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 911, - "name": "_votingSettings", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11643:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 908, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11643:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 910, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11650:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "11643:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 913, - "name": "_financePeriod", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11670:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 912, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11670:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11609:83:0" - }, - "payable": false, - "returnParameters": { - "id": 917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 916, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11727:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 915, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "11727:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11726:14:0" - }, - "scope": 2242, - "src": "11583:593:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 997, - "nodeType": "Block", - "src": "12300:242:0", - "statements": [ - { - "assignments": [ - 976 - ], - "declarations": [ - { - "constant": false, - "id": 976, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12310:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 975, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "12310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 978, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "12352:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 979, - "name": "_shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "12358:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 980, - "name": "SHARE_TRANSFERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "12371:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 981, - "name": "SHARE_MAX_PER_ACCOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "12391:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 977, - "name": "_installTokenManagerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29206, - "src": "12328:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,bool,uint256) returns (contract TokenManager)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12328:85:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12310:103:0" - }, - { - "assignments": [ - 985 - ], - "declarations": [ - { - "constant": false, - "id": 985, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12423:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 984, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "12423:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 991, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 987, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "12457:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 988, - "name": "_shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "12463:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 989, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "12476:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - ], - "id": 986, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28690, - "src": "12439:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory) returns (contract Voting)" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12439:58:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12423:74:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 976, - "src": "12524:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 994, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "12528:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 992, - "name": "_cacheShareApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1723, - "src": "12508:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$returns$__$", - "typeString": "function (contract TokenManager,contract Voting)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12508:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 996, - "nodeType": "ExpressionStatement", - "src": "12508:27:0" - } - ] - }, - "documentation": null, - "id": 998, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12209:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 965, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "12209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "_shareToken", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12222:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 967, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "12222:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 972, - "name": "_shareVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12247:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 969, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12247:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 971, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12254:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "12247:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12208:70:0" - }, - "payable": false, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "12300:0:0" - }, - "scope": 2242, - "src": "12182:360:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1053, - "nodeType": "Block", - "src": "13002:480:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1026, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1000, - "src": "13036:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1025, - "name": "_proxifyFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "13012:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 1027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13012:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1028, - "nodeType": "ExpressionStatement", - "src": "13012:29:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1030, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "13084:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1031, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1004, - "src": "13103:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1032, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1006, - "src": "13124:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1033, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "13151:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1034, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "13184:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1035, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1012, - "src": "13220:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1036, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1014, - "src": "13251:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1037, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "13290:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 1029, - "name": "_initializePresale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "13052:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64)" - } - }, - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13052:257:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1039, - "nodeType": "ExpressionStatement", - "src": "13052:257:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1041, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "13342:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1040, - "name": "_initializeMarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "13319:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13319:36:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1043, - "nodeType": "ExpressionStatement", - "src": "13319:36:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1045, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "13380:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1046, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "13394:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1047, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1022, - "src": "13418:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1044, - "name": "_initializeTap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "13365:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256)" - } - }, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13365:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1049, - "nodeType": "ExpressionStatement", - "src": "13365:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1050, - "name": "_initializeController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "13452:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13452:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1052, - "nodeType": "ExpressionStatement", - "src": "13452:23:0" - } - ] - }, - "documentation": null, - "id": 1054, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1000, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12590:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 999, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "12590:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1002, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12612:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12612:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1004, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12635:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1003, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12635:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1006, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12660:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1008, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12691:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1007, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1010, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12728:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1009, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12728:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1012, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12768:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1014, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12803:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12803:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1016, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12846:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1015, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12846:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1018, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12873:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12873:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1020, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12903:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12903:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1022, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12943:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12580:400:0" - }, - "payable": false, - "returnParameters": { - "id": 1024, - "nodeType": "ParameterList", - "parameters": [], - "src": "13002:0:0" - }, - "scope": 2242, - "src": "12548:934:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1109, - "nodeType": "Block", - "src": "13543:434:0", - "statements": [ - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13553:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1059, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "13553:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1064, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13596:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1061, - "name": "_installNonDefaultAgentApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28578, - "src": "13569:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_Agent_$11529_$", - "typeString": "function (contract Kernel) returns (contract Agent)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13569:32:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13553:48:0" - }, - { - "assignments": [ - 1066 - ], - "declarations": [ - { - "constant": false, - "id": 1066, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13611:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1065, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "13611:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1073, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1069, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13650:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1070, - "name": "PRESALE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "13656:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1068, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13637:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13637:30:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1067, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "13629:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13629:39:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13611:57:0" - }, - { - "assignments": [ - 1075 - ], - "declarations": [ - { - "constant": false, - "id": 1075, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13678:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1074, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "13678:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1082, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1078, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13729:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "MARKET_MAKER_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "13735:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1077, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13716:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13716:35:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1076, - "name": "MarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "13704:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BatchedBancorMarketMaker_$8578_$", - "typeString": "type(contract BatchedBancorMarketMaker)" - } - }, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13704:48:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13678:74:0" - }, - { - "assignments": [ - 1084 - ], - "declarations": [ - { - "constant": false, - "id": 1084, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13762:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1083, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "13762:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1091, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1087, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13789:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1088, - "name": "TAP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "13795:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1086, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13776:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13776:26:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1085, - "name": "Tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10786, - "src": "13772:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tap_$10786_$", - "typeString": "type(contract Tap)" - } - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13772:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13762:41:0" - }, - { - "assignments": [ - 1093 - ], - "declarations": [ - { - "constant": false, - "id": 1093, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13813:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1092, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "13813:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1100, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13861:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1097, - "name": "ARAGON_FUNDRAISING_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "13867:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1095, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13848:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13848:41:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1094, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "13837:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 1099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13837:53:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13813:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1102, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "13923:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1103, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "13932:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1104, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "13941:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1105, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1084, - "src": "13954:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "id": 1106, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1093, - "src": "13959:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1101, - "name": "_cacheFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1784, - "src": "13901:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$returns$__$", - "typeString": "function (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:69:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1108, - "nodeType": "ExpressionStatement", - "src": "13901:69:0" - } - ] - }, - "documentation": null, - "id": 1110, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_proxifyFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1057, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1056, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13521:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1055, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "13521:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13520:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [], - "src": "13543:0:0" - }, - "scope": 2242, - "src": "13488:489:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1153, - "nodeType": "Block", - "src": "14357:427:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1132, - "name": "_controllerCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "14407:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract AragonFundraisingController)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14407:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1134, - "name": "_shareTMCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "14439:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function () view returns (contract TokenManager)" - } - }, - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14439:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1136, - "name": "_reserveCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "14468:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$", - "typeString": "function () view returns (contract Agent)" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14468:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1138, - "name": "_vaultCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2015, - "src": "14497:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Vault_$19335_$", - "typeString": "function () view returns (contract Vault)" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1140, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "14524:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1142, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14536:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14524:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "14552:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1144, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1114, - "src": "14571:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1145, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1116, - "src": "14592:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1146, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1118, - "src": "14619:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1147, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "14652:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1148, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "14688:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1149, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1124, - "src": "14719:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "14758:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1129, - "name": "_presaleCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "14367:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Presale_$9579_$", - "typeString": "function () view returns (contract Presale)" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14367:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 8927, - "src": "14367:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_TokenManager_$19073_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract TokenManager,address,address,address,uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64) external" - } - }, - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14367:410:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1152, - "nodeType": "ExpressionStatement", - "src": "14367:410:0" - } - ] - }, - "documentation": "*** internal apps initialization functions ****", - "id": 1154, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializePresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1112, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14078:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14078:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1114, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14101:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1113, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14101:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14126:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1118, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14157:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1117, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14157:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1120, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14194:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1119, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14194:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14234:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14234:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1124, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14269:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14269:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1126, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14312:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1125, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14312:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14068:267:0" - }, - "payable": false, - "returnParameters": { - "id": 1128, - "nodeType": "ParameterList", - "parameters": [], - "src": "14357:0:0" - }, - "scope": 2242, - "src": "14041:743:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1199, - "nodeType": "Block", - "src": "14853:444:0", - "statements": [ - { - "assignments": [ - 1160 - ], - "declarations": [ - { - "constant": false, - "id": 1160, - "name": "bancorFormula", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14863:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 1159, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "14863:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1166, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1163, - "name": "BANCOR_FORMULA_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "14931:17:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1162, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "14909:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14909:40:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1161, - "name": "IBancorFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5841, - "src": "14894:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBancorFormula_$5841_$", - "typeString": "type(contract IBancorFormula)" - } - }, - "id": 1165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14894:56:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14863:87:0" - }, - { - "assignments": [ - null, - null, - 1168, - null - ], - "declarations": [ - null, - null, - { - "constant": false, - "id": 1168, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14965:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1167, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "14965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1171, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1169, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "14987:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14987:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14961:43:0" - }, - { - "assignments": [ - 1173, - null - ], - "declarations": [ - { - "constant": false, - "id": 1173, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15015:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1172, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15015:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1176, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1174, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "15040:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15040:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15014:43:0" - }, - { - "assignments": [ - 1178, - null, - 1180, - null, - 1182 - ], - "declarations": [ - { - "constant": false, - "id": 1178, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15068:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1177, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15068:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - null, - { - "constant": false, - "id": 1180, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15084:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1179, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "15084:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - null, - { - "constant": false, - "id": 1182, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15110:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1181, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1185, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1183, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15135:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15135:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15067:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1189, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "15192:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1190, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "15204:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1191, - "name": "bancorFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1160, - "src": "15213:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - { - "argumentTypes": null, - "id": 1192, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1178, - "src": "15228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1193, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "15237:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1194, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "15250:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1195, - "name": "BUY_FEE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "15264:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1196, - "name": "SELL_FEE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58, - "src": "15277:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1186, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "15169:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 1188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 6375, - "src": "15169:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_TokenManager_$19073_$_t_contract$_IBancorFormula_$5841_$_t_contract$_Vault_$19335_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract TokenManager,contract IBancorFormula,contract Vault,address,uint256,uint256,uint256) external" - } - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15169:121:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1198, - "nodeType": "ExpressionStatement", - "src": "15169:121:0" - } - ] - }, - "documentation": null, - "id": 1200, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeMarketMaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1156, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14822:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14822:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14821:22:0" - }, - "payable": false, - "returnParameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [], - "src": "14853:0:0" - }, - "scope": 2242, - "src": "14790:507:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1234, - "nodeType": "Block", - "src": "15423:267:0", - "statements": [ - { - "assignments": [ - null, - null, - 1210, - null - ], - "declarations": [ - null, - null, - { - "constant": false, - "id": 1210, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15437:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1209, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "15437:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1213, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1211, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "15459:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15459:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15433:43:0" - }, - { - "assignments": [ - 1215, - null, - null, - 1217, - 1219 - ], - "declarations": [ - { - "constant": false, - "id": 1215, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15487:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1214, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15487:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - { - "constant": false, - "id": 1217, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15504:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1216, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "15504:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1219, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15513:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1218, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15513:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1222, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1220, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15538:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15538:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15486:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1226, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1219, - "src": "15587:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1227, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "15599:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1228, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "15608:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1229, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1202, - "src": "15621:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1230, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1204, - "src": "15635:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1231, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1206, - "src": "15659:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1223, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1217, - "src": "15572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 1225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 9959, - "src": "15572:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_Vault_$19335_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract Vault,address,uint256,uint256,uint256) external" - } - }, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15572:111:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1233, - "nodeType": "ExpressionStatement", - "src": "15572:111:0" - } - ] - }, - "documentation": null, - "id": 1235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1202, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15327:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1204, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15349:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15349:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15381:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15381:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15326:87:0" - }, - "payable": false, - "returnParameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [], - "src": "15423:0:0" - }, - "scope": 2242, - "src": "15303:387:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1279, - "nodeType": "Block", - "src": "15738:298:0", - "statements": [ - { - "assignments": [ - 1239, - 1241, - 1243, - 1245, - 1247 - ], - "declarations": [ - { - "constant": false, - "id": 1239, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15749:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1238, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15749:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1241, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1240, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "15764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1243, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15781:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1242, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "15781:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1245, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15806:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1244, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "15806:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1247, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15815:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1246, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15815:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1250, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1248, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15840:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15840:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15748:115:0" - }, - { - "assignments": [ - 1254 - ], - "declarations": [ - { - "constant": false, - "id": 1254, - "name": "toReset", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15873:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15873:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1253, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1260, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15914:1:0", - "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" - } - ], - "id": 1257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "15900:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 1255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1256, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15900:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15873:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1261, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "15926:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1263, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15934:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15926:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1264, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "15939:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1266, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15951:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15939:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15926:27:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1268, - "nodeType": "ExpressionStatement", - "src": "15926:27:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1272, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "15985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1273, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "15994:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1274, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1239, - "src": "16007:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1275, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "16016:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "id": 1276, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "16021:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1269, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "15963:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 2765, - "src": "15963:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IPresale_$9641_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Agent_$11529_$_t_contract$_ITap_$9706_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (contract IPresale,contract BatchedBancorMarketMaker,contract Agent,contract ITap,address[] memory) external" - } - }, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15963:66:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1278, - "nodeType": "ExpressionStatement", - "src": "15963:66:0" - } - ] - }, - "documentation": null, - "id": 1280, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1236, - "nodeType": "ParameterList", - "parameters": [], - "src": "15726:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1237, - "nodeType": "ParameterList", - "parameters": [], - "src": "15738:0:0" - }, - "scope": 2242, - "src": "15696:340:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1379, - "nodeType": "Block", - "src": "16329:1123:0", - "statements": [ - { - "assignments": [ - 1302 - ], - "declarations": [ - { - "constant": false, - "id": 1302, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16339:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1301, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "16339:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1308, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1304, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1282, - "src": "16353:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "16353:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16353:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1303, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "16349:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16349:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16339:25:0" - }, - { - "assignments": [ - null, - 1310 - ], - "declarations": [ - null, - { - "constant": false, - "id": 1310, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16377:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1309, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "16377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1313, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1311, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "16399:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16399:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16374:42:0" - }, - { - "assignments": [ - null, - null, - null, - null, - 1315 - ], - "declarations": [ - null, - null, - null, - null, - { - "constant": false, - "id": 1315, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16432:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1314, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "16432:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1318, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1316, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "16457:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16457:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16426:54:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1320, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "16591:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1322, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16604:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16596:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16596:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1324, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16617:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2607, - "src": "16617:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16617:38:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1319, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "16562:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16562:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1328, - "nodeType": "ExpressionStatement", - "src": "16562:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1332, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "16778:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1334, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16790:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16778:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1335, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "16806:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1337, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16823:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16806:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1338, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "16839:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1340, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16856:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16839:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1341, - "name": "DAI_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "16872:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1342, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "16903:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1344, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16914:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16903:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1345, - "name": "_rateDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "16930:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1346, - "name": "_floorDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "16952:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1329, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16735:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 3051, - "src": "16735:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256,uint256,uint256) external" - } - }, - "id": 1347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16735:236:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1348, - "nodeType": "ExpressionStatement", - "src": "16735:236:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1352, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "17097:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1354, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17109:1:0", - "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": "17097:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1355, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "17125:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1357, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17142:1:0", - "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": "17125:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1358, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "17158:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1360, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17175:1:0", - "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": "17158:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1361, - "name": "ANT_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "17191:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1362, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "17222:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1364, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17233:1:0", - "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": "17222:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17249:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17264:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "argumentTypes": null, - "id": 1349, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17054:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 3051, - "src": "17054:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256,uint256,uint256) external" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17054:221:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "17054:221:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1370, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "17363:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1371, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17368:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1372, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1310, - "src": "17380:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1373, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17393:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2607, - "src": "17393:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17393:38:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1376, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1310, - "src": "17433:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1369, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "17331:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17331:114:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1378, - "nodeType": "ExpressionStatement", - "src": "17331:114:0" - } - ] - }, - "documentation": "*** internal setup functions ****", - "id": 1380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupCollaterals", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1299, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1282, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16122:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1281, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16122:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1286, - "name": "_virtualSupplies", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16147:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1285, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16155:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16147:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1290, - "name": "_virtualBalances", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16184:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16184:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1289, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16184:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1294, - "name": "_slippages", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16221:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16221:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16229:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16221:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1296, - "name": "_rateDAI", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16252:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16252:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1298, - "name": "_floorDAI", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16281:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1297, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16281:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16112:195:0" - }, - "payable": false, - "returnParameters": { - "id": 1300, - "nodeType": "ParameterList", - "parameters": [], - "src": "16329:0:0" - }, - "scope": 2242, - "src": "16086:1366:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1445, - "nodeType": "Block", - "src": "17562:674:0", - "statements": [ - { - "assignments": [ - 1386 - ], - "declarations": [ - { - "constant": false, - "id": 1386, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17572:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1385, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "17572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1392, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1388, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "17586:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "17586:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17586:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1387, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "17582:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17582:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17572:25:0" - }, - { - "assignments": [ - 1394, - 1396, - 1398, - 1400 - ], - "declarations": [ - { - "constant": false, - "id": 1394, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17609:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1393, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "17609:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17631:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1395, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "17631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1398, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17651:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1397, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "17651:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1400, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17664:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1399, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "17664:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1403, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1401, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "17683:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17683:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17608:92:0" - }, - { - "assignments": [ - null, - 1405 - ], - "declarations": [ - null, - { - "constant": false, - "id": 1405, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17713:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1404, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "17713:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1408, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1406, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "17735:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17735:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17710:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1410, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17819:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1411, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "17824:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1412, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17833:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1413, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "17846:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1409, - "name": "_createTokenManagerPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29240, - "src": "17788:30:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_TokenManager_$19073_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract TokenManager,address,address)" - } - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17788:70:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1415, - "nodeType": "ExpressionStatement", - "src": "17788:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1417, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17911:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1418, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17916:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1419, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17929:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1420, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "17942:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1421, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "17951:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1416, - "name": "_createVotingPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28776, - "src": "17886:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Voting_$20320_$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Voting,address,address,address)" - } - }, - "id": 1422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17886:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1423, - "nodeType": "ExpressionStatement", - "src": "17886:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1425, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18014:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1426, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "18019:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1427, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1428, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18035:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1424, - "name": "_createVaultPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28662, - "src": "17990:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Vault_$19335_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Vault,address,address)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17990:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1430, - "nodeType": "ExpressionStatement", - "src": "17990:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1432, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18102:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1433, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18107:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1434, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "18116:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1435, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18129:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1431, - "name": "_createFinancePermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29104, - "src": "18076:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Finance_$14010_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Finance,address,address)" - } - }, - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18076:65:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1437, - "nodeType": "ExpressionStatement", - "src": "18076:65:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1439, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1440, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18195:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1441, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "18204:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1442, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18217:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1438, - "name": "_createFinanceCreatePaymentsPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29127, - "src": "18151:38:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Finance_$14010_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Finance,address,address)" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18151:78:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "18151:78:0" - } - ] - }, - "documentation": "*** internal permissions functions ****", - "id": 1446, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupBoardPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1382, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17540:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1381, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17540:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17539:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1384, - "nodeType": "ParameterList", - "parameters": [], - "src": "17562:0:0" - }, - "scope": 2242, - "src": "17508:728:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1570, - "nodeType": "Block", - "src": "18296:953:0", - "statements": [ - { - "assignments": [ - 1452 - ], - "declarations": [ - { - "constant": false, - "id": 1452, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18306:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1451, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "18306:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1458, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1454, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "18320:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "18320:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18320:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1453, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "18316:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18316:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18306:25:0" - }, - { - "assignments": [ - 1460, - null, - null, - null - ], - "declarations": [ - { - "constant": false, - "id": 1460, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18343:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1459, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "18343:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - null - ], - "id": 1463, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1461, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "18370:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18370:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18342:45:0" - }, - { - "assignments": [ - 1465, - 1467 - ], - "declarations": [ - { - "constant": false, - "id": 1465, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18398:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1464, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "18398:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1467, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18420:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1466, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "18420:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1470, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1468, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "18442:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18442:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18397:62:0" - }, - { - "assignments": [ - null, - 1472, - 1474, - null, - null - ], - "declarations": [ - null, - { - "constant": false, - "id": 1472, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18472:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1471, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "18472:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1474, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18489:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1473, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "18489:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null - ], - "id": 1477, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1475, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "18518:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18518:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18469:72:0" - }, - { - "assignments": [ - 1481 - ], - "declarations": [ - { - "constant": false, - "id": 1481, - "name": "grantees", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18577:25:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18577:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1480, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18577:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18619:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "18605:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 1482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18609:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1483, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18609:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18605:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18577:44:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1488, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "18631:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1490, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18640:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1492, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "18653:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18645:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18645:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18631:34:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1495, - "nodeType": "ExpressionStatement", - "src": "18631:34:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1496, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "18675:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1498, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18684:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18675:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1500, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18697:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18689:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18689:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18675:30:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "18675:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1507, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "18736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1508, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18749:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1509, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18758:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "18758:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18758:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18786:1:0", - "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" - } - ], - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18778:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1504, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18715:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18715:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18715:74:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1516, - "nodeType": "ExpressionStatement", - "src": "18715:74:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1520, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18820:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1521, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1522, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18838:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ISSUE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18207, - "src": "18838:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18838:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1525, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "18859:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1517, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18799:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18799:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18799:72:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "18799:72:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1531, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18902:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1532, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18911:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1533, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18920:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASSIGN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18212, - "src": "18920:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18920:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1536, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "18942:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1528, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18881:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18881:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18881:73:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1538, - "nodeType": "ExpressionStatement", - "src": "18881:73:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1542, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1543, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18994:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1544, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REVOKE_VESTINGS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18217, - "src": "19003:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19003:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1547, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19035:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1539, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18964:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18964:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18964:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1549, - "nodeType": "ExpressionStatement", - "src": "18964:83:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "19076:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1552, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "19081:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 1553, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1554, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19100:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "BURN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18222, - "src": "19100:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19100:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19129:1:0", - "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" - } - ], - "id": 1557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19121:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19121:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1550, - "name": "_createPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28368, - "src": "19057:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address[] memory,address,bytes32,address)" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19057:75:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1561, - "nodeType": "ExpressionStatement", - "src": "19057:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1563, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "19190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1564, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19195:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1565, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19208:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1566, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "19221:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1567, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19230:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1562, - "name": "_createShareVotingPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1620, - "src": "19160:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Voting_$20320_$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Voting,address,address,address)" - } - }, - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19160:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1569, - "nodeType": "ExpressionStatement", - "src": "19160:82:0" - } - ] - }, - "documentation": null, - "id": 1571, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupSharePermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1448, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18274:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1447, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "18274:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18273:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1450, - "nodeType": "ParameterList", - "parameters": [], - "src": "18296:0:0" - }, - "scope": 2242, - "src": "18242:1007:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1619, - "nodeType": "Block", - "src": "19456:306:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1587, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "19488:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1588, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1589, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19515:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_QUORUM_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19367, - "src": "19515:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19515:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1592, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "19545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1584, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19466:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19466:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19466:88:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1594, - "nodeType": "ExpressionStatement", - "src": "19466:88:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1598, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "19586:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1599, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1600, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19613:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_SUPPORT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19362, - "src": "19613:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19613:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19652:1:0", - "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" - } - ], - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19644:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19644:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1595, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19564:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19564:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19564:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1607, - "nodeType": "ExpressionStatement", - "src": "19564:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1611, - "name": "_createVotesGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1579, - "src": "19687:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1612, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1613, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19717:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VOTES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19357, - "src": "19717:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19717:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1616, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "19746:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1608, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19665:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19665:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "19665:90:0" - } - ] - }, - "documentation": null, - "id": 1620, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createShareVotingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1573, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19303:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1572, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "19303:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1575, - "name": "_voting", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19321:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1574, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "19321:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1577, - "name": "_settingsGrantee", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19345:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19345:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1579, - "name": "_createVotesGrantee", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19379:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19379:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1581, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19416:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19293:145:0" - }, - "payable": false, - "returnParameters": { - "id": 1583, - "nodeType": "ParameterList", - "parameters": [], - "src": "19456:0:0" - }, - "scope": 2242, - "src": "19255:507:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1640, - "nodeType": "Block", - "src": "19853:84:0", - "statements": [ - { - "assignments": [ - 1626 - ], - "declarations": [ - { - "constant": false, - "id": 1626, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "19863:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1625, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "19863:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1631, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1627, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "19881:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1630, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "19887:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19887:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19881:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19863:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1632, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "19909:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "19909:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1636, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1622, - "src": "19925:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19917:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19917:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19909:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1639, - "nodeType": "ExpressionStatement", - "src": "19909:21:0" - } - ] - }, - "documentation": "*** internal cache functions ****", - "id": 1641, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheDao", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1622, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "19831:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1621, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "19831:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19830:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1624, - "nodeType": "ParameterList", - "parameters": [], - "src": "19853:0:0" - }, - "scope": 2242, - "src": "19812:125:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1691, - "nodeType": "Block", - "src": "20053:223:0", - "statements": [ - { - "assignments": [ - 1653 - ], - "declarations": [ - { - "constant": false, - "id": 1653, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20063:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1652, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20063:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1658, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1654, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20081:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1657, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1655, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20087:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20087:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20081:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20063:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1659, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20109:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "20109:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1663, - "name": "_boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "20139:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20131:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20131:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20109:39:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1666, - "nodeType": "ExpressionStatement", - "src": "20109:39:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1667, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20158:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "20158:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1671, - "name": "_boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "20182:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20174:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20158:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "20158:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1675, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20205:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "20205:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1679, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "20223:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20215:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20215:15:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20205:25:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1682, - "nodeType": "ExpressionStatement", - "src": "20205:25:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1683, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20240:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "20240:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1687, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "20260:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20252:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20252:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20240:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1690, - "nodeType": "ExpressionStatement", - "src": "20240:29:0" - } - ] - }, - "documentation": null, - "id": 1692, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheBoardApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1643, - "name": "_boardTM", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "19968:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1642, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "19968:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1645, - "name": "_boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "19991:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1644, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "19991:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1647, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20012:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1646, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "20012:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1649, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20026:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1648, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "20026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19967:76:0" - }, - "payable": false, - "returnParameters": { - "id": 1651, - "nodeType": "ParameterList", - "parameters": [], - "src": "20053:0:0" - }, - "scope": 2242, - "src": "19943:333:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1722, - "nodeType": "Block", - "src": "20360:149:0", - "statements": [ - { - "assignments": [ - 1700 - ], - "declarations": [ - { - "constant": false, - "id": 1700, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20370:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1699, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20370:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1705, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1701, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20388:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1704, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20394:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20394:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20388:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20370:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1706, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "20416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "20416:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1710, - "name": "_shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "20446:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 1709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20438:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20438:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20416:39:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "20416:39:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1714, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "20465:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1716, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "20465:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1718, - "name": "_shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1696, - "src": "20489:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20481:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20481:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20465:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1721, - "nodeType": "ExpressionStatement", - "src": "20465:37:0" - } - ] - }, - "documentation": null, - "id": 1723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1694, - "name": "_shareTM", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20307:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1693, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "20307:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1696, - "name": "_shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20330:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1695, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "20330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20306:44:0" - }, - "payable": false, - "returnParameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [], - "src": "20360:0:0" - }, - "scope": 2242, - "src": "20282:227:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1783, - "nodeType": "Block", - "src": "20649:254:0", - "statements": [ - { - "assignments": [ - 1737 - ], - "declarations": [ - { - "constant": false, - "id": 1737, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20659:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1736, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20659:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1742, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1738, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20677:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1741, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1739, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20683:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20683:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20677:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20659:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1743, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20705:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "20705:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1747, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1725, - "src": "20725:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 1746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20717:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20717:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20705:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1750, - "nodeType": "ExpressionStatement", - "src": "20705:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1751, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20744:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "20744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1755, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1727, - "src": "20764:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 1754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20756:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20744:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1758, - "nodeType": "ExpressionStatement", - "src": "20744:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1759, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20783:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "20783:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "20807:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20799:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20799:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20783:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "20783:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1767, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20830:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "20830:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1771, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "20846:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - ], - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20838:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20838:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20830:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1774, - "nodeType": "ExpressionStatement", - "src": "20830:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1775, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20861:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "20861:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1779, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1733, - "src": "20884:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20876:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20876:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20861:35:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1782, - "nodeType": "ExpressionStatement", - "src": "20861:35:0" - } - ] - }, - "documentation": null, - "id": 1784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1725, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20546:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1724, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "20546:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "name": "_presale", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20562:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1726, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "20562:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1729, - "name": "_marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20580:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1728, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "20580:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1731, - "name": "_tap", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20606:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1730, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "20606:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1733, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20616:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1732, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "20616:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20545:94:0" - }, - "payable": false, - "returnParameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [], - "src": "20649:0:0" - }, - "scope": 2242, - "src": "20515:388:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1803, - "nodeType": "Block", - "src": "20965:82:0", - "statements": [ - { - "assignments": [ - 1790 - ], - "declarations": [ - { - "constant": false, - "id": 1790, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1804, - "src": "20975:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1789, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20975:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1791, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20993:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1794, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1792, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20999:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20999:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20993:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20975:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1796, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "21021:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1798, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "21034:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "21034:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1797, - "name": "Kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26897, - "src": "21027:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Kernel_$26897_$", - "typeString": "type(contract Kernel)" - } - }, - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21027:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "src": "21021:19:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1802, - "nodeType": "ExpressionStatement", - "src": "21021:19:0" - } - ] - }, - "documentation": null, - "id": 1804, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_daoCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1785, - "nodeType": "ParameterList", - "parameters": [], - "src": "20927:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1787, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 1804, - "src": "20953:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1786, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "20953:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20952:12:0" - }, - "scope": 2242, - "src": "20909:138:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1850, - "nodeType": "Block", - "src": "21175:221:0", - "statements": [ - { - "assignments": [ - 1816 - ], - "declarations": [ - { - "constant": false, - "id": 1816, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21185:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1815, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21185:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1821, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1817, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21203:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1820, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1818, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21209:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21203:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21185:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1822, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1807, - "src": "21231:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1824, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21254:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "21254:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1823, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "21241:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21241:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "21231:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1828, - "nodeType": "ExpressionStatement", - "src": "21231:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1829, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "21284:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1831, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21305:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "21305:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1830, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "21298:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21298:21:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "src": "21284:35:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1835, - "nodeType": "ExpressionStatement", - "src": "21284:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1836, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1811, - "src": "21329:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1838, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21343:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "21343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1837, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "21337:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21337:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "21329:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 1842, - "nodeType": "ExpressionStatement", - "src": "21329:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1843, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1813, - "src": "21361:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1845, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21379:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "21379:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1844, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "21371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21371:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "src": "21361:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 1849, - "nodeType": "ExpressionStatement", - "src": "21361:28:0" - } - ] - }, - "documentation": null, - "id": 1851, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_boardAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1805, - "nodeType": "ParameterList", - "parameters": [], - "src": "21077:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1807, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21103:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1806, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "21103:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1809, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21125:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1808, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "21125:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1811, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21145:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1810, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "21145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1813, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21158:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1812, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "21158:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21102:72:0" - }, - "scope": 2242, - "src": "21053:343:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1879, - "nodeType": "Block", - "src": "21494:151:0", - "statements": [ - { - "assignments": [ - 1859 - ], - "declarations": [ - { - "constant": false, - "id": 1859, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21504:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1858, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1864, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1860, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21522:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1863, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1861, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21528:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21528:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21522:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21504:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1865, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1854, - "src": "21550:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1867, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "21573:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "21573:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1866, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "21560:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21560:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "21550:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "21550:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1872, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1856, - "src": "21603:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1874, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "21624:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "21624:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1873, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "21617:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21617:21:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "src": "21603:35:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1878, - "nodeType": "ExpressionStatement", - "src": "21603:35:0" - } - ] - }, - "documentation": null, - "id": 1880, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_shareAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1852, - "nodeType": "ParameterList", - "parameters": [], - "src": "21426:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1854, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21452:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1853, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "21452:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1856, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21474:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1855, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "21474:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21451:42:0" - }, - "scope": 2242, - "src": "21402:243:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1935, - "nodeType": "Block", - "src": "21846:250:0", - "statements": [ - { - "assignments": [ - 1894 - ], - "declarations": [ - { - "constant": false, - "id": 1894, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21856:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1893, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21856:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1895, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1898, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1896, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21880:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21880:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21874:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21856:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1900, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "21902:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1902, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21918:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "21918:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1901, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "21912:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21912:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "21902:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 1906, - "nodeType": "ExpressionStatement", - "src": "21902:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1907, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "21938:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1909, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21956:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1910, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "21956:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1908, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "21948:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21948:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "src": "21938:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 1913, - "nodeType": "ExpressionStatement", - "src": "21938:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1914, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "21976:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1916, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "22002:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1915, - "name": "MarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "21990:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BatchedBancorMarketMaker_$8578_$", - "typeString": "type(contract BatchedBancorMarketMaker)" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21990:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "src": "21976:40:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 1920, - "nodeType": "ExpressionStatement", - "src": "21976:40:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1921, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "22026:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1923, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22036:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "22036:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1922, - "name": "Tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10786, - "src": "22032:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tap_$10786_$", - "typeString": "type(contract Tap)" - } - }, - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22032:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "src": "22026:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 1927, - "nodeType": "ExpressionStatement", - "src": "22026:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1928, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1891, - "src": "22052:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1930, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22076:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "22076:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1929, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "22065:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22065:24:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "src": "22052:37:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1934, - "nodeType": "ExpressionStatement", - "src": "22052:37:0" - } - ] - }, - "documentation": null, - "id": 1936, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_fundraisingAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1881, - "nodeType": "ParameterList", - "parameters": [], - "src": "21681:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1883, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21716:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1882, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "21716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1885, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21739:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1884, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "21739:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1887, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21764:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1886, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "21764:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1889, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21797:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1888, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "21797:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1891, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21814:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1890, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "21814:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21706:135:0" - }, - "scope": 2242, - "src": "21651:445:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1994, - "nodeType": "Block", - "src": "22134:390:0", - "statements": [ - { - "assignments": [ - 1940 - ], - "declarations": [ - { - "constant": false, - "id": 1940, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1995, - "src": "22144:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1939, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22144:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1945, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1941, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22162:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1944, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1942, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22168:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22168:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22162:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22144:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22190:12:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1946, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22197:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "22197:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1949, - "nodeType": "ExpressionStatement", - "src": "22190:12:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22212:26:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1950, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22219:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "22219:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1953, - "nodeType": "ExpressionStatement", - "src": "22212:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22248:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1954, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22255:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "22255:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1957, - "nodeType": "ExpressionStatement", - "src": "22248:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22278:14:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1958, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22285:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "22285:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1961, - "nodeType": "ExpressionStatement", - "src": "22278:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22302:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1962, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22309:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "22309:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1965, - "nodeType": "ExpressionStatement", - "src": "22302:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22328:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1966, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22335:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "22335:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1969, - "nodeType": "ExpressionStatement", - "src": "22328:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22358:26:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1970, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22365:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "22365:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1973, - "nodeType": "ExpressionStatement", - "src": "22358:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22394:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1974, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22401:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "22401:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1977, - "nodeType": "ExpressionStatement", - "src": "22394:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22420:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1978, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22427:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "22427:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1981, - "nodeType": "ExpressionStatement", - "src": "22420:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22446:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1982, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22453:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "22453:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1985, - "nodeType": "ExpressionStatement", - "src": "22446:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22476:12:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1986, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22483:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "22483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1989, - "nodeType": "ExpressionStatement", - "src": "22476:12:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22498:19:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1990, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22505:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "22505:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1993, - "nodeType": "ExpressionStatement", - "src": "22498:19:0" - } - ] - }, - "documentation": null, - "id": 1995, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_clearCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1937, - "nodeType": "ParameterList", - "parameters": [], - "src": "22122:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1938, - "nodeType": "ParameterList", - "parameters": [], - "src": "22134:0:0" - }, - "scope": 2242, - "src": "22102:422:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2014, - "nodeType": "Block", - "src": "22789:85:0", - "statements": [ - { - "assignments": [ - 2001 - ], - "declarations": [ - { - "constant": false, - "id": 2001, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2015, - "src": "22799:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2000, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22799:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2006, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2002, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22817:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2005, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2003, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22823:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22823:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22817:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22799:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2007, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "22845:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2009, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2001, - "src": "22859:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "22859:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2008, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "22853:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22853:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "22845:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 2013, - "nodeType": "ExpressionStatement", - "src": "22845:22:0" - } - ] - }, - "documentation": "NOTE\nthe following functions are only needed for the presale\ninitialization function [which we can't compile otherwise\nbecause of a `stack too deep` error]", - "id": 2015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_vaultCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1996, - "nodeType": "ParameterList", - "parameters": [], - "src": "22750:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1998, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 2015, - "src": "22776:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1997, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "22776:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22775:13:0" - }, - "scope": 2242, - "src": "22730:144:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2034, - "nodeType": "Block", - "src": "22950:106:0", - "statements": [ - { - "assignments": [ - 2021 - ], - "declarations": [ - { - "constant": false, - "id": 2021, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2035, - "src": "22960:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2020, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22960:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2026, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2022, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2025, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2023, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22984:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22984:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22978:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22960:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2027, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "23006:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2029, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2021, - "src": "23029:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "23029:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2028, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "23016:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 2031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23016:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "23006:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 2033, - "nodeType": "ExpressionStatement", - "src": "23006:43:0" - } - ] - }, - "documentation": null, - "id": 2035, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_shareTMCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2016, - "nodeType": "ParameterList", - "parameters": [], - "src": "22902:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2018, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 2035, - "src": "22928:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 2017, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "22928:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22927:22:0" - }, - "scope": 2242, - "src": "22880:176:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2054, - "nodeType": "Block", - "src": "23125:89:0", - "statements": [ - { - "assignments": [ - 2041 - ], - "declarations": [ - { - "constant": false, - "id": 2041, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2055, - "src": "23135:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2040, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23135:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2046, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2042, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23153:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2045, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2043, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23159:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23159:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23153:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23135:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2047, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "23181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2049, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2041, - "src": "23197:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "23197:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2048, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "23191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 2051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23191:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "23181:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 2053, - "nodeType": "ExpressionStatement", - "src": "23181:26:0" - } - ] - }, - "documentation": null, - "id": 2055, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_reserveCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2036, - "nodeType": "ParameterList", - "parameters": [], - "src": "23084:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2038, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 2055, - "src": "23110:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "23110:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23109:15:0" - }, - "scope": 2242, - "src": "23062:152:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2074, - "nodeType": "Block", - "src": "23285:91:0", - "statements": [ - { - "assignments": [ - 2061 - ], - "declarations": [ - { - "constant": false, - "id": 2061, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2075, - "src": "23295:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2060, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23295:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2066, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2062, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23313:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2065, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2063, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23319:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23319:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23313:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23295:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2067, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "23341:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2069, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "23359:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "23359:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2068, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "23351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23351:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "src": "23341:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 2073, - "nodeType": "ExpressionStatement", - "src": "23341:28:0" - } - ] - }, - "documentation": null, - "id": 2075, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_presaleCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [], - "src": "23242:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2058, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 2075, - "src": "23268:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 2057, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "23268:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23267:17:0" - }, - "scope": 2242, - "src": "23220:156:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2094, - "nodeType": "Block", - "src": "23456:100:0", - "statements": [ - { - "assignments": [ - 2081 - ], - "declarations": [ - { - "constant": false, - "id": 2081, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2095, - "src": "23466:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2080, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23466:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2082, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2085, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23490:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23490:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23484:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23466:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2087, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "23512:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2089, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "23536:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "23536:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2088, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "23525:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23525:24:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "src": "23512:37:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 2093, - "nodeType": "ExpressionStatement", - "src": "23512:37:0" - } - ] - }, - "documentation": null, - "id": 2095, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_controllerCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2076, - "nodeType": "ParameterList", - "parameters": [], - "src": "23407:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2078, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 2095, - "src": "23433:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 2077, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "23433:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23432:23:0" - }, - "scope": 2242, - "src": "23382:174:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2136, - "nodeType": "Block", - "src": "23653:278:0", - "statements": [ - { - "assignments": [ - 2099 - ], - "declarations": [ - { - "constant": false, - "id": 2099, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "23663:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2098, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23663:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2104, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2100, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23681:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2103, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23687:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23687:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23681:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23663:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2106, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "23729:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23760:1:0", - "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": 2108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23752:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23729:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2112, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23778:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "23778:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23803:1:0", - "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": 2114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23795:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23795:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23778:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:76:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2119, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23821:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "23821:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23840:1:0", - "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": 2121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23832:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23832:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23821:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:113:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2126, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "23858:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23879:1:0", - "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": 2128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23871:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23871:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23858:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:152:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2133, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "23895:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23708:216:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2135, - "nodeType": "ExpressionStatement", - "src": "23708:216:0" - } - ] - }, - "documentation": "*** internal check functions ****", - "id": 2137, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureBoardAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [], - "src": "23636:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "23653:0:0" - }, - "scope": 2242, - "src": "23606:325:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2164, - "nodeType": "Block", - "src": "23984:202:0", - "statements": [ - { - "assignments": [ - 2141 - ], - "declarations": [ - { - "constant": false, - "id": 2141, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2165, - "src": "23994:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2140, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23994:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2146, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2142, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "24012:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2145, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2143, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "24018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24012:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23994:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2148, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "24060:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "24060:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24091:1:0", - "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": 2150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24083:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24083:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24060:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2154, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "24109:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "24109:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24134:1:0", - "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": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24109:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24060:76:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2161, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "24150:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24039:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24039:140:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2163, - "nodeType": "ExpressionStatement", - "src": "24039:140:0" - } - ] - }, - "documentation": null, - "id": 2165, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureShareAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2138, - "nodeType": "ParameterList", - "parameters": [], - "src": "23967:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2139, - "nodeType": "ParameterList", - "parameters": [], - "src": "23984:0:0" - }, - "scope": 2242, - "src": "23937:249:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2213, - "nodeType": "Block", - "src": "24245:308:0", - "statements": [ - { - "assignments": [ - 2169 - ], - "declarations": [ - { - "constant": false, - "id": 2169, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "24255:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2168, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "24255:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2174, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2170, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "24273:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2173, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2171, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "24279:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24279:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24273:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24255:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2176, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24321:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "24321:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24342:1:0", - "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": 2178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24334:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24334:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24321:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2182, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24360:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "24360:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24381:1:0", - "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": 2184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24373:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24373:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24360:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:62:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2189, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24399:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "24399:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24424:1:0", - "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": 2191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24416:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24399:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:105:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2196, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24442:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "24442:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24459:1:0", - "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": 2198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24451:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24451:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:140:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2203, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24477:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "24477:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24501:1:0", - "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": 2205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24493:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24493:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24477:26:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:182:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2210, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "24517:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24300:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24300:246:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2212, - "nodeType": "ExpressionStatement", - "src": "24300:246:0" - } - ] - }, - "documentation": null, - "id": 2214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureFundraisingAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2166, - "nodeType": "ParameterList", - "parameters": [], - "src": "24228:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2167, - "nodeType": "ParameterList", - "parameters": [], - "src": "24245:0:0" - }, - "scope": 2242, - "src": "24192:361:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2240, - "nodeType": "Block", - "src": "24681:157:0", - "statements": [ - { - "assignments": [ - 2224 - ], - "declarations": [ - { - "constant": false, - "id": 2224, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24691:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24691:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2232, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2227, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24727:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2229, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24757:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2228, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "24735:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24735:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2225, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2216, - "src": "24707:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26531, - "src": "24707:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address) external returns (contract ERCProxy)" - } - }, - "id": 2231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24707:58:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24691:74:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2234, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "24794:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2235, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24801:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2233, - "name": "InstalledApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28216, - "src": "24781:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24781:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2237, - "nodeType": "EmitStatement", - "src": "24776:32:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2238, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "24826:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2222, - "id": 2239, - "nodeType": "Return", - "src": "24819:12:0" - } - ] - }, - "documentation": "*** internal utils functions ****", - "id": 2241, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_registerApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2216, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24625:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 2215, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "24625:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2218, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24638:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2217, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24638:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24624:29:0" - }, - "payable": false, - "returnParameters": { - "id": 2222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2221, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24672:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24672:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24671:9:0" - }, - "scope": 2242, - "src": "24603:235:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2243, - "src": "668:24172:0" - } - ], - "src": "0:24841:0" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/FundraisingMultisigTemplate.sol", - "exportedSymbols": { - "FundraisingMultisigTemplate": [ - 2242 - ] - }, - "id": 2243, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 23650, - "src": "25:60:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "file": "@aragon/templates-shared/contracts/BaseTemplate.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 29712, - "src": "86:61:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/Agent.sol", - "file": "@aragon/apps-agent/contracts/Agent.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 11530, - "src": "148:48:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "file": "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol", - "id": 5, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 5798, - "src": "197:72:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "file": "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol", - "id": 7, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 3336, - "src": "270:139:0", - "symbolAliases": [ - { - "foreign": 6, - "local": "Controller" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "file": "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol", - "id": 9, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 8579, - "src": "410:143:0", - "symbolAliases": [ - { - "foreign": 8, - "local": "MarketMaker" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-presale/contracts/Presale.sol", - "file": "@ablack/fundraising-presale/contracts/Presale.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 9580, - "src": "554:59:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-tap/contracts/Tap.sol", - "file": "@ablack/fundraising-tap/contracts/Tap.sol", - "id": 11, - "nodeType": "ImportDirective", - "scope": 2243, - "sourceUnit": 10787, - "src": "614:51:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "708:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 13, - "nodeType": "InheritanceSpecifier", - "src": "708:18:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14, - "name": "BaseTemplate", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 29711, - "src": "728:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseTemplate_$29711", - "typeString": "contract BaseTemplate" - } - }, - "id": 15, - "nodeType": "InheritanceSpecifier", - "src": "728:12:0" - } - ], - "contractDependencies": [ - 22375, - 23649, - 23825, - 29711 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2242, - "linearizedBaseContracts": [ - 2242, - 29711, - 23825, - 22375, - 23649 - ], - "name": "FundraisingMultisigTemplate", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 18, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "747:69:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 16, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "747:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "464d5f4241445f53455454494e4753", - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:17:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30d6b88df3f158c3e64fb0f5d99b53e92ec0ed2c801ad15381a27ddeddc3bdca", - "typeString": "literal_string \"FM_BAD_SETTINGS\"" - }, - "value": "FM_BAD_SETTINGS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 21, - "name": "ERROR_MISSING_CACHE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "822:70:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "822:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "464d5f4d495353494e475f4341434845", - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:18:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57d7868ba691513f5ce50de72e0b2fb3c1f89c517406622520aae3e308142dad", - "typeString": "literal_string \"FM_MISSING_CACHE\"" - }, - "value": "FM_MISSING_CACHE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24, - "name": "BOARD_TRANSFERABLE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "899:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "899:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "951:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 29, - "name": "BOARD_TOKEN_DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "962:60:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 25, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "962:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1020:1:0", - "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": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1014:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 28, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1014:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 34, - "name": "BOARD_MAX_PER_ACCOUNT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1028:62:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1088:1:0", - "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" - } - ], - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1080:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 33, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1080:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 37, - "name": "SHARE_TRANSFERABLE", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1097:56:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 35, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1097:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1149:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 42, - "name": "SHARE_TOKEN_DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1159:61:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 38, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1159:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3138", - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - } - ], - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1211:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1211:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 47, - "name": "SHARE_MAX_PER_ACCOUNT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1226:62:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1226:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1286:1:0", - "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": 44, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 52, - "name": "DEFAULT_FINANCE_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1295:67:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 48, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1295:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3330", - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1354:7:0", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - } - ], - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1347:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 51, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1347:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 55, - "name": "BUY_FEE_PCT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1369:53:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 53, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1369:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 58, - "name": "SELL_FEE_PCT", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1428:53:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1480:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 61, - "name": "DAI_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1488:58:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 59, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1488:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "313030303030", - "id": 60, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1540:6:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000_by_1", - "typeString": "int_const 100000" - }, - "value": "100000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 64, - "name": "ANT_RESERVE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1559:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 62, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1559:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1611:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 67, - "name": "BANCOR_FORMULA_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1630:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 65, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1630:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864373164646535653462656131393238303236633137373962646537656432376264376566336430636539383032653431313736333165623666613465643764", - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1682:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97300035740199545179483209714402723605156460151098702054530621441677950512509_by_1", - "typeString": "int_const 9730...(69 digits omitted)...2509" - }, - "value": "0xd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 70, - "name": "PRESALE_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1754:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 68, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1754:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835646539626264656166363538346332323063376237663139323233383362636438626263643462343838333230383061666439643565626639613034646635", - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1806:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42478066914483560976835553858914366218403074628322459335483500961293236456949_by_1", - "typeString": "int_const 4247...(69 digits omitted)...6949" - }, - "value": "0x5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df5" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 73, - "name": "MARKET_MAKER_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "1878:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 71, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1878:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863326262383861623937346334373432323166313566363931656439646133386265326635643337333634313830636563303534303363363536393831626630", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1930:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88080036289854815949754831311424242545573509587395789005453016778907621792752_by_1", - "typeString": "int_const 8808...(69 digits omitted)...2752" - }, - "value": "0xc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf0" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 76, - "name": "ARAGON_FUNDRAISING_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2050:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2050:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835666338666361383861363936666137396366313634363065643635643561623131383165323461373963333463363638343862373130353165643635656136", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2102:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_43324833812292885231902079401354644614911213641674798935905304746515416637094_by_1", - "typeString": "int_const 4332...(69 digits omitted)...7094" - }, - "value": "0x5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea6" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 79, - "name": "TAP_ID", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2174:118:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 77, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307838323936376566616237313434623736346263396263613266333161373231323639623636313863306666346535303534353733373730306135653963396463", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2226:66:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59066573754848248697709013493230089917898630079112228020058297967688452524508_by_1", - "typeString": "int_const 5906...(69 digits omitted)...4508" - }, - "value": "0x82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc" - }, - "visibility": "private" - }, - { - "canonicalName": "FundraisingMultisigTemplate.Cache", - "id": 104, - "members": [ - { - "constant": false, - "id": 81, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2322:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2322:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "name": "boardTokenManager", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2343:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 85, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2378:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2378:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2407:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2430:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2455:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 90, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 93, - "name": "shareTokenManager", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2484:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2484:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 95, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2519:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2519:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2544:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2544:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2569:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 98, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2569:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 101, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2598:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2598:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 103, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "2619:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2619:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Cache", - "nodeType": "StructDefinition", - "scope": 2242, - "src": "2299:345:0", - "visibility": "public" - }, - { - "constant": false, - "id": 107, - "name": "collaterals", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2650:28:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 106, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2650:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 111, - "name": "cache", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "2684:40:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache)" - }, - "typeName": { - "id": 110, - "keyType": { - "id": 108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2693:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2684:26:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache)" - }, - "valueType": { - "contractScope": null, - "id": 109, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "2704:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 173, - "nodeType": "Block", - "src": "3085:333:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 133, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "3118:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - ], - "id": 132, - "name": "_ensureAragonIdIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29688, - "src": "3095:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3095:33:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "3095:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 137, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "3166:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - ], - "id": 136, - "name": "_ensureMiniMeFactoryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29626, - "src": "3138:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3138:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 139, - "nodeType": "ExpressionStatement", - "src": "3138:43:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 142, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3210:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 141, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3199:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3199:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 144, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3217:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3191:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3191:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 146, - "nodeType": "ExpressionStatement", - "src": "3191:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 149, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3265:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 148, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "3254:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3254:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 151, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3272:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3246:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3246:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 153, - "nodeType": "ExpressionStatement", - "src": "3246:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 155, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3309:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 156, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3317:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3309:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 158, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3327:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3301:45:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "3301:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 164, - "name": "_dai", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "3374:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 161, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "3357:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3357:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3357:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "3357:22:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 170, - "name": "_ant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3406:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 167, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "3389:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3389:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3389:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 172, - "nodeType": "ExpressionStatement", - "src": "3389:22:0" - } - ] - }, - "documentation": null, - "id": 174, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 126, - "name": "_daoFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "3020:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - { - "argumentTypes": null, - "id": 127, - "name": "_ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 115, - "src": "3033:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - { - "argumentTypes": null, - "id": 128, - "name": "_miniMeFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "3039:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 129, - "name": "_aragonID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "3055:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - } - ], - "id": 130, - "modifierName": { - "argumentTypes": null, - "id": 125, - "name": "BaseTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29711, - "src": "3007:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BaseTemplate_$29711_$", - "typeString": "type(contract BaseTemplate)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3007:58:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 113, - "name": "_daoFactory", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2752:35:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - }, - "typeName": { - "contractScope": null, - "id": 112, - "name": "DAOFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26161, - "src": "2752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DAOFactory_$26161", - "typeString": "contract DAOFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 115, - "name": "_ens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2797:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - }, - "typeName": { - "contractScope": null, - "id": 114, - "name": "ENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27262, - "src": "2797:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ENS_$27262", - "typeString": "contract ENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 117, - "name": "_miniMeFactory", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2835:38:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "2835:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 119, - "name": "_aragonID", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2883:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - }, - "typeName": { - "contractScope": null, - "id": 118, - "name": "IFIFSResolvingRegistrar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20478, - "src": "2883:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFIFSResolvingRegistrar_$20478", - "typeString": "contract IFIFSResolvingRegistrar" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "_dai", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2926:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2926:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 123, - "name": "_ant", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2964:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2964:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2742:256:0" - }, - "payable": false, - "returnParameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [], - "src": "3085:0:0" - }, - "scope": 2242, - "src": "2731:687:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 241, - "nodeType": "Block", - "src": "3693:605:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 191, - "name": "_boardMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 181, - "src": "3711:13:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3711:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3734:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3711:24:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 195, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3745:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 190, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3703:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "3703:61:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 199, - "name": "_boardVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3782:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3782:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3813:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3782:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3816:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 198, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3774:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3774:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "3774:61:0" - }, - { - "assignments": [ - 207, - 209 - ], - "declarations": [ - { - "constant": false, - "id": 207, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3869:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 206, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "3869:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 209, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3881:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 208, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "3881:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 212, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 210, - "name": "_createDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28299, - "src": "3892:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_contract$_Kernel_$26897_$_t_contract$_ACL_$21811_$", - "typeString": "function () returns (contract Kernel,contract ACL)" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3892:12:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Kernel_$26897_$_t_contract$_ACL_$21811_$", - "typeString": "tuple(contract Kernel,contract ACL)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3868:36:0" - }, - { - "assignments": [ - 214 - ], - "declarations": [ - { - "constant": false, - "id": 214, - "name": "boardToken", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3944:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 213, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3944:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 220, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 216, - "name": "_boardTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "3982:15:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 217, - "name": "_boardTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "3999:17:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 218, - "name": "BOARD_TOKEN_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "4018:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 215, - "name": "_createToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29611, - "src": "3969:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (string memory,string memory,uint8) returns (contract MiniMeToken)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3969:70:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3944:95:0" - }, - { - "assignments": [ - 222 - ], - "declarations": [ - { - "constant": false, - "id": 222, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "4079:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 221, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "4079:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 229, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 224, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4115:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 225, - "name": "boardToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 214, - "src": "4120:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 226, - "name": "_boardVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "4132:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 187, - "src": "4154:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 223, - "name": "_installBoardApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "4097:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$_t_uint64_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory,uint64) returns (contract TokenManager)" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4097:72:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4079:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 231, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "4220:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 232, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "4225:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 233, - "name": "_boardMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 181, - "src": "4229:13:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4244:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 230, - "name": "_mintTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29294, - 29345, - 29380 - ], - "referencedDeclaration": 29345, - "src": "4208:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_TokenManager_$19073_$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (contract ACL,contract TokenManager,address[] memory,uint256)" - } - }, - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4208:38:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 236, - "nodeType": "ExpressionStatement", - "src": "4208:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 238, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4287:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 237, - "name": "_cacheDao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "4277:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4277:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 240, - "nodeType": "ExpressionStatement", - "src": "4277:14:0" - } - ] - }, - "documentation": "*** external functions ****", - "id": 242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "prepareInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "name": "_boardTokenName", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3496:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 175, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3496:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 178, - "name": "_boardTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3531:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 177, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3531:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 181, - "name": "_boardMembers", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3568:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3568:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 180, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3568:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 185, - "name": "_boardVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3601:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 182, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3601:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 184, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3608:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3601:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 187, - "name": "_financePeriod", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "3641:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 186, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3486:185:0" - }, - "payable": false, - "returnParameters": { - "id": 189, - "nodeType": "ParameterList", - "parameters": [], - "src": "3693:0:0" - }, - "scope": 2242, - "src": "3462:836:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 287, - "nodeType": "Block", - "src": "4469:496:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 254, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4487:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4487:27:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4518:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4487:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 258, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "4521:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4479:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4479:61:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 260, - "nodeType": "ExpressionStatement", - "src": "4479:61:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 261, - "name": "_ensureBoardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2137, - "src": "4550:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4550:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 263, - "nodeType": "ExpressionStatement", - "src": "4550:23:0" - }, - { - "assignments": [ - 265 - ], - "declarations": [ - { - "constant": false, - "id": 265, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4584:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 264, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "4584:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 268, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 266, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "4597:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4584:24:0" - }, - { - "assignments": [ - 270 - ], - "declarations": [ - { - "constant": false, - "id": 270, - "name": "shareToken", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4648:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 269, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4648:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 276, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 272, - "name": "_shareTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "4686:15:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 273, - "name": "_shareTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "4703:17:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 274, - "name": "SHARE_TOKEN_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "4722:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 271, - "name": "_createToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29611, - "src": "4673:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (string memory,string memory,uint8) returns (contract MiniMeToken)" - } - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4673:70:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4648:95:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 265, - "src": "4801:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 279, - "name": "shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 270, - "src": "4806:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 280, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4818:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3] calldata" - } - ], - "id": 277, - "name": "_installShareApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "4783:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$__$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory)" - } - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4783:56:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 282, - "nodeType": "ExpressionStatement", - "src": "4783:56:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 284, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 265, - "src": "4954:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 283, - "name": "_setupBoardPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1446, - "src": "4931:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4931:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 286, - "nodeType": "ExpressionStatement", - "src": "4931:27:0" - } - ] - }, - "documentation": null, - "id": 288, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "installShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 244, - "name": "_shareTokenName", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4339:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 243, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4339:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 246, - "name": "_shareTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4374:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 245, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4374:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 250, - "name": "_shareVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 288, - "src": "4411:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_calldata_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 247, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4411:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 249, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4411:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4329:118:0" - }, - "payable": false, - "returnParameters": { - "id": 252, - "nodeType": "ParameterList", - "parameters": [], - "src": "4469:0:0" - }, - "scope": 2242, - "src": "4304:661:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 340, - "nodeType": "Block", - "src": "5402:624:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 313, - "name": "_ensureShareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2165, - "src": "5412:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "5412:23:0" - }, - { - "assignments": [ - 317 - ], - "declarations": [ - { - "constant": false, - "id": 317, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5446:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 316, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "5446:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 320, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 318, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "5459:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5459:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5446:24:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 322, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "5553:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 323, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 290, - "src": "5570:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 324, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 292, - "src": "5589:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 325, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "5610:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 326, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "5637:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 327, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "5670:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 328, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 300, - "src": "5706:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 329, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "5737:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 330, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "5776:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 331, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "5799:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 332, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "5825:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 333, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "5861:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 321, - "name": "_installFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "5516:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract Kernel,uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64,uint256,uint256,uint256)" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5516:378:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "5516:378:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 337, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "6015:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 336, - "name": "_setupSharePermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5992:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "5992:27:0" - } - ] - }, - "documentation": null, - "id": 341, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "installFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 290, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5012:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5012:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 292, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5035:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 291, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5035:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 294, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5060:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5060:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 296, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5091:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 295, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5091:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 298, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5128:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 297, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5128:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 300, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5168:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5168:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 302, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5203:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5203:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 304, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5246:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 303, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5246:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 306, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5273:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5273:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 308, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5303:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5303:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 310, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5343:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5002:378:0" - }, - "payable": false, - "returnParameters": { - "id": 312, - "nodeType": "ParameterList", - "parameters": [], - "src": "5402:0:0" - }, - "scope": 2242, - "src": "4971:1055:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 794, - "nodeType": "Block", - "src": "6080:4269:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 344, - "name": "_ensureFundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "6090:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6090:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 346, - "nodeType": "ExpressionStatement", - "src": "6090:29:0" - }, - { - "assignments": [ - 348 - ], - "declarations": [ - { - "constant": false, - "id": 348, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6176:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 347, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "6176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 351, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 349, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "6190:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6190:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6176:25:0" - }, - { - "assignments": [ - 353 - ], - "declarations": [ - { - "constant": false, - "id": 353, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6211:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 352, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "6211:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 359, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 355, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "6225:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "6225:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6225:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 354, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "6221:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6221:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6211:25:0" - }, - { - "assignments": [ - null, - 361, - null, - null - ], - "declarations": [ - null, - { - "constant": false, - "id": 361, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6250:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 360, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "6250:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null - ], - "id": 364, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 362, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "6274:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6274:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6247:44:0" - }, - { - "assignments": [ - null, - 366 - ], - "declarations": [ - null, - { - "constant": false, - "id": 366, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 365, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "6304:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 369, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 367, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "6326:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6326:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6301:42:0" - }, - { - "assignments": [ - 371, - 373, - 375, - 377, - 379 - ], - "declarations": [ - { - "constant": false, - "id": 371, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6354:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 370, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "6354:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 373, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6369:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 372, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "6369:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 375, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6386:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 374, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "6386:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 377, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6411:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 376, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "6411:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 379, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6420:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 378, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "6420:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 382, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 380, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "6445:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6445:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6353:115:0" - }, - { - "assignments": [ - 386 - ], - "declarations": [ - { - "constant": false, - "id": 386, - "name": "grantees", - "nodeType": "VariableDeclaration", - "scope": 795, - "src": "6498:25:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6498:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 385, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6498:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 392, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6540:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "6526:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6530:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 388, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6530:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6526:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6498:44:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 393, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6552:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 395, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6561:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6552:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 397, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "6574:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - ], - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6566:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6566:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6552:26:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "6552:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 401, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6588:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 403, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6597:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6588:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 405, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "6610:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6602:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6602:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6588:34:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 408, - "nodeType": "ExpressionStatement", - "src": "6588:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 412, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6653:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 413, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6666:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 414, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "SAFE_EXECUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10809, - "src": "6675:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6675:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 417, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6704:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 409, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6632:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6632:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6632:84:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "6632:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 423, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "6747:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 424, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6759:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 425, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_PROTECTED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 10812, - "src": "6768:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6768:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6804:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 420, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6726:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6726:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6726:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 430, - "nodeType": "ExpressionStatement", - "src": "6726:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 432, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6845:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 433, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6850:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 434, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6860:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 435, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "6869:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "TRANSFER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19094, - "src": "6869:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6869:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 438, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6894:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 431, - "name": "_createPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28368, - "src": "6826:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address[] memory,address,bytes32,address)" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6826:80:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "6826:80:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 444, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "6956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 445, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "6968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 446, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "6977:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 8610, - "src": "6977:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6977:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 449, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "6998:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 441, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "6935:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "6935:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6935:75:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 451, - "nodeType": "ExpressionStatement", - "src": "6935:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7041:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 456, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "7053:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 457, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "7062:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CONTRIBUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 8613, - "src": "7062:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7062:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7089:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 452, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7020:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7020:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7020:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "ExpressionStatement", - "src": "7020:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 466, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7156:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 467, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7168:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 468, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7181:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5915, - "src": "7181:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7181:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 471, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7206:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 463, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7135:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7135:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7135:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "7135:83:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 477, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7249:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 478, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7261:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 479, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7274:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5921, - "src": "7274:35:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:37:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 482, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7313:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 474, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7228:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7228:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7228:97:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 484, - "nodeType": "ExpressionStatement", - "src": "7228:97:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7356:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 489, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7368:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 490, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7381:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_FEES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5924, - "src": "7381:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7381:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 493, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7413:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 485, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7335:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7335:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7335:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "7335:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 499, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7456:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 500, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7468:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 501, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7481:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5927, - "src": "7481:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7481:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 504, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7522:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7435:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7435:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 506, - "nodeType": "ExpressionStatement", - "src": "7435:99:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7565:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 511, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7577:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 512, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7590:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5930, - "src": "7590:40:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7590:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7634:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 507, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7544:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7544:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7544:102:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "7544:102:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 521, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7677:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 522, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7689:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 523, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7702:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5933, - "src": "7702:40:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7702:42:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 526, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7746:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 518, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7656:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7656:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7656:102:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "7656:102:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 532, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7789:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 533, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7801:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 534, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7814:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_BUY_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5936, - "src": "7814:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7814:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 537, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7849:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 529, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7768:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7768:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:93:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "7768:93:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "7892:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 544, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7904:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 545, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "7917:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_SELL_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 5939, - "src": "7917:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7917:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 548, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "7953:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 540, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7871:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7871:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7871:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 550, - "nodeType": "ExpressionStatement", - "src": "7871:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 554, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8011:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 555, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8023:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 556, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8028:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9743, - "src": "8028:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8028:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 559, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8059:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "7990:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "7990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7990:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "7990:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8102:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 566, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8114:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 567, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8119:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9746, - "src": "8119:45:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8119:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 570, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8168:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 562, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8081:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8081:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8081:99:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "8081:99:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8211:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 577, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8223:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 578, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8228:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9749, - "src": "8228:46:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8228:48:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 581, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8278:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 573, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8190:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8190:100:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 583, - "nodeType": "ExpressionStatement", - "src": "8190:100:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 587, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8321:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 588, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8333:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 589, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8338:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9752, - "src": "8338:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8338:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 592, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8367:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 584, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8300:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8300:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8300:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "8300:79:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8410:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 599, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8422:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 600, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8427:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9758, - "src": "8427:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8427:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8459:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 595, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8389:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8389:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8389:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 605, - "nodeType": "ExpressionStatement", - "src": "8389:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8502:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 610, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8514:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 611, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8519:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9761, - "src": "8519:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8519:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 614, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8550:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 606, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8481:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8481:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8481:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "8481:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 620, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8593:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 621, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8605:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "8610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WITHDRAW_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 9764, - "src": "8610:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8610:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 625, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 617, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8572:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8572:71:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 627, - "nodeType": "ExpressionStatement", - "src": "8572:71:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 631, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8786:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 632, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8799:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 633, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8811:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2601, - "src": "8811:34:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8811:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 636, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8849:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8765:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8765:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8765:96:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 638, - "nodeType": "ExpressionStatement", - "src": "8765:96:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 642, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8892:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 643, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8905:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 644, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "8917:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_FEES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2604, - "src": "8917:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8917:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 647, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8948:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 639, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "8871:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "8871:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8871:89:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 649, - "nodeType": "ExpressionStatement", - "src": "8871:89:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 653, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9102:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9115:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 655, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9127:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REMOVE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "9127:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9127:41:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9170:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 650, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9081:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9081:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9081:101:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 660, - "nodeType": "ExpressionStatement", - "src": "9081:101:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 664, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9213:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 665, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9226:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 666, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9238:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2613, - "src": "9238:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9238:41:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9281:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 661, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9192:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9192:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9192:101:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "9192:101:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 675, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9324:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 676, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9337:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 677, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2616, - "src": "9349:52:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9349:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 680, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9405:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 672, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9303:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9303:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9303:114:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 682, - "nodeType": "ExpressionStatement", - "src": "9303:114:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 686, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9448:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 687, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9461:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 688, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9473:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2619, - "src": "9473:53:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9473:55:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 691, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9530:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 683, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9427:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9427:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9427:115:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 693, - "nodeType": "ExpressionStatement", - "src": "9427:115:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 697, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9573:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 698, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9586:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 699, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9598:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_TOKEN_TAP_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2622, - "src": "9598:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9598:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 702, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 694, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9552:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9552:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9552:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 704, - "nodeType": "ExpressionStatement", - "src": "9552:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 708, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9674:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 709, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9687:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 710, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9699:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "UPDATE_TOKEN_TAP_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2625, - "src": "9699:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9699:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 713, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9735:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 705, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9653:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9653:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9653:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 715, - "nodeType": "ExpressionStatement", - "src": "9653:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 719, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 361, - "src": "9778:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 720, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9791:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 721, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9803:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_PRESALE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2628, - "src": "9803:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9803:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 724, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9835:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 716, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9757:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9757:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 726, - "nodeType": "ExpressionStatement", - "src": "9757:90:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 730, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "9878:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 731, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9887:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 732, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9899:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_TRADING_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2631, - "src": "9899:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9899:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 735, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "9931:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 727, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9857:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9857:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9857:86:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 737, - "nodeType": "ExpressionStatement", - "src": "9857:86:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "9982:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9983:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9974:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9974:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 745, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9987:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 746, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "9999:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CONTRIBUTE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2634, - "src": "9999:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9999:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 749, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10029:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 738, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "9953:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "9953:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9953:88:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "9953:88:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10080:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10081:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10072:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10072:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 759, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10085:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 760, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10097:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_BUY_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2637, - "src": "10097:30:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10097:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 763, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10131:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 752, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10051:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10051:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10051:92:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 765, - "nodeType": "ExpressionStatement", - "src": "10051:92:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10182:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10174:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 773, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10187:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 774, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10199:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "OPEN_SELL_ORDER_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2640, - "src": "10199:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10199:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 777, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10234:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 766, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10153:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10153:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10153:93:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "10153:93:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "10285:2:0", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10286:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10277:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 787, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10290:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 788, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "10302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WITHDRAW_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2643, - "src": "10302:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10302:26:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 791, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "10330:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "10256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "10256:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10256:86:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 793, - "nodeType": "ExpressionStatement", - "src": "10256:86:0" - } - ] - }, - "documentation": null, - "id": 795, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setupFundraisingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 342, - "nodeType": "ParameterList", - "parameters": [], - "src": "6068:2:0" - }, - "payable": false, - "returnParameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "6080:0:0" - }, - "scope": 2242, - "src": "6032:4317:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 902, - "nodeType": "Block", - "src": "10596:925:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 818, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 797, - "src": "10620:3:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10614:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": "bytes" - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10614:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata", - "typeString": "bytes calldata" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10614:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10614:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 823, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10644:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 816, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10606:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 825, - "nodeType": "ExpressionStatement", - "src": "10606:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 827, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "10681:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10681:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10708:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10681:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 831, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10711:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 826, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10673:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10673:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 833, - "nodeType": "ExpressionStatement", - "src": "10673:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "10748:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10748:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10775:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10748:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 839, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10778:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10740:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10740:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "10740:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 843, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "10815:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10815:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10836:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10815:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 847, - "name": "ERROR_BAD_SETTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "10845:18:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 842, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10807:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10807:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 849, - "nodeType": "ExpressionStatement", - "src": "10807:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 850, - "name": "_ensureFundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "10874:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 852, - "nodeType": "ExpressionStatement", - "src": "10874:29:0" - }, - { - "assignments": [ - 854 - ], - "declarations": [ - { - "constant": false, - "id": 854, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10914:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 853, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "10914:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 857, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 855, - "name": "_daoCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "10927:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Kernel_$26897_$", - "typeString": "function () view returns (contract Kernel)" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10927:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10914:24:0" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10948:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 858, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "10948:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 865, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 861, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "10962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "10962:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10962:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 860, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "10958:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10958:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10948:24:0" - }, - { - "assignments": [ - null, - 867 - ], - "declarations": [ - null, - { - "constant": false, - "id": 867, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10985:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 866, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "10985:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 870, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 868, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "11007:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11007:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10982:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 872, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11082:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 873, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "11087:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 874, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "11105:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "11123:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 876, - "name": "_rateDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "11135:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 877, - "name": "_floorDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "11145:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 871, - "name": "_setupCollaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "11064:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract Kernel,uint256[2] memory,uint256[2] memory,uint256[2] memory,uint256,uint256)" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 879, - "nodeType": "ExpressionStatement", - "src": "11064:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 881, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "11251:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 882, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11256:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 883, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11269:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 880, - "name": "_createEvmScriptsRegistryPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29420, - "src": "11214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address)" - } - }, - "id": 884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11214:67:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 885, - "nodeType": "ExpressionStatement", - "src": "11214:67:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 887, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11375:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 888, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11380:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 889, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "11393:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 886, - "name": "_transferRootPermissionsFromTemplateAndFinalizeDAO", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28432, - 28474 - ], - "referencedDeclaration": 28474, - "src": "11324:50:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract Kernel,address,address)" - } - }, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11324:81:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "11324:81:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 893, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 797, - "src": "11450:3:0", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 895, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 854, - "src": "11463:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11455:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 892, - "name": "_registerID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29673, - "src": "11438:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address)" - } - }, - "id": 897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11438:30:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 898, - "nodeType": "ExpressionStatement", - "src": "11438:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 899, - "name": "_clearCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11501:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11501:13:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 901, - "nodeType": "ExpressionStatement", - "src": "11501:13:0" - } - ] - }, - "documentation": null, - "id": 903, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "finalizeInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 797, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10390:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 796, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 801, - "name": "_virtualSupplies", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10414:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 800, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10414:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 805, - "name": "_virtualBalances", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10451:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10451:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 804, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10459:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10451:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 809, - "name": "_slippages", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10488:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10488:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 808, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10496:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "10488:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 811, - "name": "_rateDAI", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10519:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10519:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 813, - "name": "_floorDAI", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "10548:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10380:194:0" - }, - "payable": false, - "returnParameters": { - "id": 815, - "nodeType": "ParameterList", - "parameters": [], - "src": "10596:0:0" - }, - "scope": 2242, - "src": "10355:1166:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "11745:431:0", - "statements": [ - { - "assignments": [ - 919 - ], - "declarations": [ - { - "constant": false, - "id": 919, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11755:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 918, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "11755:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 926, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 921, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11797:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 922, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "11803:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 923, - "name": "BOARD_TRANSFERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "11811:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 924, - "name": "BOARD_MAX_PER_ACCOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 34, - "src": "11831:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 920, - "name": "_installTokenManagerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29206, - "src": "11773:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,bool,uint256) returns (contract TokenManager)" - } - }, - "id": 925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11773:80:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11755:98:0" - }, - { - "assignments": [ - 928 - ], - "declarations": [ - { - "constant": false, - "id": 928, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11863:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 927, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "11863:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 934, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 930, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11897:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 931, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "11903:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 932, - "name": "_votingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "11911:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - ], - "id": 929, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28690, - "src": "11879:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory) returns (contract Voting)" - } - }, - "id": 933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:48:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11863:64:0" - }, - { - "assignments": [ - 936 - ], - "declarations": [ - { - "constant": false, - "id": 936, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11937:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 935, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "11937:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 940, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 938, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11968:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 937, - "name": "_installVaultApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28639, - "src": "11951:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_Vault_$19335_$", - "typeString": "function (contract Kernel) returns (contract Vault)" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11951:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11937:36:0" - }, - { - "assignments": [ - 942 - ], - "declarations": [ - { - "constant": false, - "id": 942, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11983:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 941, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "11983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 953, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 944, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "12020:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 945, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "12026:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 946, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "12033:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12051:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12033:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 950, - "name": "_financePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "12080:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12033:61:0", - "trueExpression": { - "argumentTypes": null, - "id": 949, - "name": "DEFAULT_FINANCE_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "12055:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 943, - "name": "_installFinanceApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29070, - "src": "12001:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_Vault_$19335_$_t_uint64_$returns$_t_contract$_Finance_$14010_$", - "typeString": "function (contract Kernel,contract Vault,uint64) returns (contract Finance)" - } - }, - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12001:94:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11983:112:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 955, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "12122:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 956, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "12126:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 957, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "12134:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 958, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "12141:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 954, - "name": "_cacheBoardApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1692, - "src": "12106:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$returns$__$", - "typeString": "function (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12106:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 960, - "nodeType": "ExpressionStatement", - "src": "12106:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 961, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "12167:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "functionReturnParameters": 917, - "id": 962, - "nodeType": "Return", - "src": "12160:9:0" - } - ] - }, - "documentation": "*** internal apps installation functions ****", - "id": 964, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installBoardApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 905, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11610:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 904, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "11610:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 907, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11623:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 906, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "11623:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 911, - "name": "_votingSettings", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11643:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 908, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11643:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 910, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11650:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "11643:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 913, - "name": "_financePeriod", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11670:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 912, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11670:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11609:83:0" - }, - "payable": false, - "returnParameters": { - "id": 917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 916, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 964, - "src": "11727:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 915, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "11727:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11726:14:0" - }, - "scope": 2242, - "src": "11583:593:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 997, - "nodeType": "Block", - "src": "12300:242:0", - "statements": [ - { - "assignments": [ - 976 - ], - "declarations": [ - { - "constant": false, - "id": 976, - "name": "tm", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12310:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 975, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "12310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 978, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "12352:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 979, - "name": "_shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "12358:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 980, - "name": "SHARE_TRANSFERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "12371:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 981, - "name": "SHARE_MAX_PER_ACCOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "12391:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 977, - "name": "_installTokenManagerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29206, - "src": "12328:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_bool_$_t_uint256_$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function (contract Kernel,contract MiniMeToken,bool,uint256) returns (contract TokenManager)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12328:85:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12310:103:0" - }, - { - "assignments": [ - 985 - ], - "declarations": [ - { - "constant": false, - "id": 985, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12423:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 984, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "12423:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 991, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 987, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "12457:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 988, - "name": "_shareToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "12463:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 989, - "name": "_shareVotingSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "12476:20:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3] memory" - } - ], - "id": 986, - "name": "_installVotingApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 28690, - 28729 - ], - "referencedDeclaration": 28690, - "src": "12439:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_contract$_MiniMeToken_$17093_$_t_array$_t_uint64_$3_memory_ptr_$returns$_t_contract$_Voting_$20320_$", - "typeString": "function (contract Kernel,contract MiniMeToken,uint64[3] memory) returns (contract Voting)" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12439:58:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12423:74:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "tm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 976, - "src": "12524:2:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 994, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "12528:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 992, - "name": "_cacheShareApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1723, - "src": "12508:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$returns$__$", - "typeString": "function (contract TokenManager,contract Voting)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12508:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 996, - "nodeType": "ExpressionStatement", - "src": "12508:27:0" - } - ] - }, - "documentation": null, - "id": 998, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12209:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 965, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "12209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "_shareToken", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12222:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 967, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "12222:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 972, - "name": "_shareVotingSettings", - "nodeType": "VariableDeclaration", - "scope": 998, - "src": "12247:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_memory_ptr", - "typeString": "uint64[3]" - }, - "typeName": { - "baseType": { - "id": 969, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12247:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 971, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12254:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "12247:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint64_$3_storage_ptr", - "typeString": "uint64[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12208:70:0" - }, - "payable": false, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "12300:0:0" - }, - "scope": 2242, - "src": "12182:360:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1053, - "nodeType": "Block", - "src": "13002:480:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1026, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1000, - "src": "13036:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1025, - "name": "_proxifyFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "13012:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$__$", - "typeString": "function (contract Kernel)" - } - }, - "id": 1027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13012:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1028, - "nodeType": "ExpressionStatement", - "src": "13012:29:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1030, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "13084:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1031, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1004, - "src": "13103:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1032, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1006, - "src": "13124:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1033, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "13151:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1034, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "13184:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1035, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1012, - "src": "13220:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1036, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1014, - "src": "13251:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1037, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "13290:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 1029, - "name": "_initializePresale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "13052:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64)" - } - }, - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13052:257:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1039, - "nodeType": "ExpressionStatement", - "src": "13052:257:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1041, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "13342:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1040, - "name": "_initializeMarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "13319:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13319:36:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1043, - "nodeType": "ExpressionStatement", - "src": "13319:36:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1045, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "13380:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1046, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "13394:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1047, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1022, - "src": "13418:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1044, - "name": "_initializeTap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "13365:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256)" - } - }, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13365:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1049, - "nodeType": "ExpressionStatement", - "src": "13365:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1050, - "name": "_initializeController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "13452:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13452:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1052, - "nodeType": "ExpressionStatement", - "src": "13452:23:0" - } - ] - }, - "documentation": null, - "id": 1054, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_installFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1000, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12590:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 999, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "12590:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1002, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12612:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12612:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1004, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12635:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1003, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12635:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1006, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12660:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1008, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12691:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1007, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1010, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12728:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1009, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12728:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1012, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12768:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1014, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12803:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12803:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1016, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12846:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1015, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12846:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1018, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12873:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12873:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1020, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12903:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12903:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1022, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "12943:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12580:400:0" - }, - "payable": false, - "returnParameters": { - "id": 1024, - "nodeType": "ParameterList", - "parameters": [], - "src": "13002:0:0" - }, - "scope": 2242, - "src": "12548:934:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1109, - "nodeType": "Block", - "src": "13543:434:0", - "statements": [ - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13553:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1059, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "13553:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1064, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13596:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1061, - "name": "_installNonDefaultAgentApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28578, - "src": "13569:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$returns$_t_contract$_Agent_$11529_$", - "typeString": "function (contract Kernel) returns (contract Agent)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13569:32:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13553:48:0" - }, - { - "assignments": [ - 1066 - ], - "declarations": [ - { - "constant": false, - "id": 1066, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13611:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1065, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "13611:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1073, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1069, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13650:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1070, - "name": "PRESALE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "13656:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1068, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13637:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13637:30:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1067, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "13629:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13629:39:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13611:57:0" - }, - { - "assignments": [ - 1075 - ], - "declarations": [ - { - "constant": false, - "id": 1075, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13678:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1074, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "13678:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1082, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1078, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13729:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "MARKET_MAKER_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "13735:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1077, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13716:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13716:35:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1076, - "name": "MarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "13704:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BatchedBancorMarketMaker_$8578_$", - "typeString": "type(contract BatchedBancorMarketMaker)" - } - }, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13704:48:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13678:74:0" - }, - { - "assignments": [ - 1084 - ], - "declarations": [ - { - "constant": false, - "id": 1084, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13762:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1083, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "13762:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1091, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1087, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13789:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1088, - "name": "TAP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "13795:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1086, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13776:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13776:26:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1085, - "name": "Tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10786, - "src": "13772:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tap_$10786_$", - "typeString": "type(contract Tap)" - } - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13772:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13762:41:0" - }, - { - "assignments": [ - 1093 - ], - "declarations": [ - { - "constant": false, - "id": 1093, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13813:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1092, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "13813:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1100, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "13861:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 1097, - "name": "ARAGON_FUNDRAISING_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "13867:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1095, - "name": "_registerApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "13848:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Kernel_$26897_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (contract Kernel,bytes32) returns (address)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13848:41:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1094, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "13837:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 1099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13837:53:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13813:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1102, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "13923:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1103, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "13932:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1104, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "13941:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1105, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1084, - "src": "13954:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "id": 1106, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1093, - "src": "13959:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1101, - "name": "_cacheFundraisingApps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1784, - "src": "13901:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$returns$__$", - "typeString": "function (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:69:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1108, - "nodeType": "ExpressionStatement", - "src": "13901:69:0" - } - ] - }, - "documentation": null, - "id": 1110, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_proxifyFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1057, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1056, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "13521:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1055, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "13521:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13520:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [], - "src": "13543:0:0" - }, - "scope": 2242, - "src": "13488:489:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1153, - "nodeType": "Block", - "src": "14357:427:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1132, - "name": "_controllerCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "14407:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract AragonFundraisingController)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14407:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1134, - "name": "_shareTMCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "14439:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$", - "typeString": "function () view returns (contract TokenManager)" - } - }, - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14439:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1136, - "name": "_reserveCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "14468:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$", - "typeString": "function () view returns (contract Agent)" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14468:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1138, - "name": "_vaultCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2015, - "src": "14497:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Vault_$19335_$", - "typeString": "function () view returns (contract Vault)" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1140, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "14524:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1142, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14536:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14524:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "14552:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1144, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1114, - "src": "14571:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1145, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1116, - "src": "14592:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1146, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1118, - "src": "14619:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1147, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "14652:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 1148, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "14688:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1149, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1124, - "src": "14719:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "14758:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1129, - "name": "_presaleCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "14367:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Presale_$9579_$", - "typeString": "function () view returns (contract Presale)" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14367:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 8927, - "src": "14367:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_TokenManager_$19073_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint64_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint256_$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract TokenManager,address,address,address,uint256,uint64,uint256,uint64,uint64,uint256,uint256,uint64) external" - } - }, - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14367:410:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1152, - "nodeType": "ExpressionStatement", - "src": "14367:410:0" - } - ] - }, - "documentation": "*** internal apps initialization functions ****", - "id": 1154, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializePresale", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1112, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14078:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14078:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1114, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14101:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1113, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14101:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14126:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1118, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14157:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1117, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14157:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1120, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14194:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1119, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14194:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14234:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14234:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1124, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14269:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14269:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1126, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "14312:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1125, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "14312:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14068:267:0" - }, - "payable": false, - "returnParameters": { - "id": 1128, - "nodeType": "ParameterList", - "parameters": [], - "src": "14357:0:0" - }, - "scope": 2242, - "src": "14041:743:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1199, - "nodeType": "Block", - "src": "14853:444:0", - "statements": [ - { - "assignments": [ - 1160 - ], - "declarations": [ - { - "constant": false, - "id": 1160, - "name": "bancorFormula", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14863:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - "typeName": { - "contractScope": null, - "id": 1159, - "name": "IBancorFormula", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5841, - "src": "14863:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1166, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1163, - "name": "BANCOR_FORMULA_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "14931:17:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1162, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "14909:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14909:40:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1161, - "name": "IBancorFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5841, - "src": "14894:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBancorFormula_$5841_$", - "typeString": "type(contract IBancorFormula)" - } - }, - "id": 1165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14894:56:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14863:87:0" - }, - { - "assignments": [ - null, - null, - 1168, - null - ], - "declarations": [ - null, - null, - { - "constant": false, - "id": 1168, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14965:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1167, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "14965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1171, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1169, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "14987:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14987:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14961:43:0" - }, - { - "assignments": [ - 1173, - null - ], - "declarations": [ - { - "constant": false, - "id": 1173, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15015:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1172, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "15015:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1176, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1174, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "15040:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15040:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15014:43:0" - }, - { - "assignments": [ - 1178, - null, - 1180, - null, - 1182 - ], - "declarations": [ - { - "constant": false, - "id": 1178, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15068:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1177, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15068:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - null, - { - "constant": false, - "id": 1180, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15084:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1179, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "15084:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - null, - { - "constant": false, - "id": 1182, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "15110:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1181, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1185, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1183, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15135:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15135:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15067:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1189, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "15192:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1190, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "15204:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1191, - "name": "bancorFormula", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1160, - "src": "15213:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - } - }, - { - "argumentTypes": null, - "id": 1192, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1178, - "src": "15228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1193, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "15237:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1194, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "15250:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1195, - "name": "BUY_FEE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "15264:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1196, - "name": "SELL_FEE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58, - "src": "15277:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_IBancorFormula_$5841", - "typeString": "contract IBancorFormula" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1186, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "15169:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 1188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 6375, - "src": "15169:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_TokenManager_$19073_$_t_contract$_IBancorFormula_$5841_$_t_contract$_Vault_$19335_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract TokenManager,contract IBancorFormula,contract Vault,address,uint256,uint256,uint256) external" - } - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15169:121:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1198, - "nodeType": "ExpressionStatement", - "src": "15169:121:0" - } - ] - }, - "documentation": null, - "id": 1200, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeMarketMaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1156, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1200, - "src": "14822:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14822:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14821:22:0" - }, - "payable": false, - "returnParameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [], - "src": "14853:0:0" - }, - "scope": 2242, - "src": "14790:507:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1234, - "nodeType": "Block", - "src": "15423:267:0", - "statements": [ - { - "assignments": [ - null, - null, - 1210, - null - ], - "declarations": [ - null, - null, - { - "constant": false, - "id": 1210, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15437:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1209, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "15437:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 1213, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1211, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "15459:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15459:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15433:43:0" - }, - { - "assignments": [ - 1215, - null, - null, - 1217, - 1219 - ], - "declarations": [ - { - "constant": false, - "id": 1215, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15487:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1214, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15487:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - { - "constant": false, - "id": 1217, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15504:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1216, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "15504:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1219, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15513:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1218, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15513:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1222, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1220, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15538:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15538:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15486:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1226, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1219, - "src": "15587:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1227, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "15599:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1228, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "15608:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1229, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1202, - "src": "15621:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1230, - "name": "_maxTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1204, - "src": "15635:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1231, - "name": "_maxTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1206, - "src": "15659:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1223, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1217, - "src": "15572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 1225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 9959, - "src": "15572:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IAragonFundraisingController_$9606_$_t_contract$_Vault_$19335_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (contract IAragonFundraisingController,contract Vault,address,uint256,uint256,uint256) external" - } - }, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15572:111:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1233, - "nodeType": "ExpressionStatement", - "src": "15572:111:0" - } - ] - }, - "documentation": null, - "id": 1235, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeTap", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1202, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15327:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1204, - "name": "_maxTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15349:30:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15349:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "_maxTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 1235, - "src": "15381:31:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15381:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15326:87:0" - }, - "payable": false, - "returnParameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [], - "src": "15423:0:0" - }, - "scope": 2242, - "src": "15303:387:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1279, - "nodeType": "Block", - "src": "15738:298:0", - "statements": [ - { - "assignments": [ - 1239, - 1241, - 1243, - 1245, - 1247 - ], - "declarations": [ - { - "constant": false, - "id": 1239, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15749:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1238, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "15749:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1241, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1240, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "15764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1243, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15781:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1242, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "15781:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1245, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15806:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1244, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "15806:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1247, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15815:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1246, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "15815:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1250, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1248, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "15840:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15840:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15748:115:0" - }, - { - "assignments": [ - 1254 - ], - "declarations": [ - { - "constant": false, - "id": 1254, - "name": "toReset", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "15873:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15873:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1253, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1260, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15914:1:0", - "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" - } - ], - "id": 1257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "15900:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 1255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1256, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15900:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15873:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1261, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "15926:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1263, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15934:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15926:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1264, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "15939:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1266, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15951:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15939:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15926:27:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1268, - "nodeType": "ExpressionStatement", - "src": "15926:27:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1272, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "15985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1273, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "15994:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1274, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1239, - "src": "16007:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - { - "argumentTypes": null, - "id": 1275, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "16016:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - { - "argumentTypes": null, - "id": 1276, - "name": "toReset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "16021:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1269, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "15963:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 2765, - "src": "15963:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IPresale_$9641_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Agent_$11529_$_t_contract$_ITap_$9706_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (contract IPresale,contract BatchedBancorMarketMaker,contract Agent,contract ITap,address[] memory) external" - } - }, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15963:66:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1278, - "nodeType": "ExpressionStatement", - "src": "15963:66:0" - } - ] - }, - "documentation": null, - "id": 1280, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_initializeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1236, - "nodeType": "ParameterList", - "parameters": [], - "src": "15726:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1237, - "nodeType": "ParameterList", - "parameters": [], - "src": "15738:0:0" - }, - "scope": 2242, - "src": "15696:340:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1379, - "nodeType": "Block", - "src": "16329:1123:0", - "statements": [ - { - "assignments": [ - 1302 - ], - "declarations": [ - { - "constant": false, - "id": 1302, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16339:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1301, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "16339:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1308, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1304, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1282, - "src": "16353:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "16353:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16353:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1303, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "16349:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16349:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16339:25:0" - }, - { - "assignments": [ - null, - 1310 - ], - "declarations": [ - null, - { - "constant": false, - "id": 1310, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16377:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1309, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "16377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1313, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1311, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "16399:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16399:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16374:42:0" - }, - { - "assignments": [ - null, - null, - null, - null, - 1315 - ], - "declarations": [ - null, - null, - null, - null, - { - "constant": false, - "id": 1315, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16432:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1314, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "16432:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1318, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1316, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "16457:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16457:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16426:54:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1320, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "16591:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1322, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16604:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16596:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16596:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1324, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16617:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2607, - "src": "16617:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16617:38:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1319, - "name": "_createPermissionForTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28391, - "src": "16562:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (contract ACL,address,bytes32)" - } - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16562:94:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1328, - "nodeType": "ExpressionStatement", - "src": "16562:94:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1332, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "16778:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1334, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16790:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16778:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1335, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "16806:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1337, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16823:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16806:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1338, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "16839:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1340, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16856:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16839:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1341, - "name": "DAI_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "16872:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1342, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "16903:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1344, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16914:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16903:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1345, - "name": "_rateDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "16930:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1346, - "name": "_floorDAI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "16952:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1329, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "16735:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 3051, - "src": "16735:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256,uint256,uint256) external" - } - }, - "id": 1347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16735:236:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1348, - "nodeType": "ExpressionStatement", - "src": "16735:236:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1352, - "name": "collaterals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "17097:11:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1354, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17109:1:0", - "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": "17097:14:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1355, - "name": "_virtualSupplies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "17125:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1357, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17142:1:0", - "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": "17125:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1358, - "name": "_virtualBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "17158:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1360, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17175:1:0", - "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": "17158:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1361, - "name": "ANT_RESERVE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "17191:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1362, - "name": "_slippages", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "17222:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 1364, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17233:1:0", - "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": "17222:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17249:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17264:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "argumentTypes": null, - "id": 1349, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17054:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addCollateralToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 3051, - "src": "17054:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint32,uint256,uint256,uint256) external" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17054:221:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "17054:221:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1370, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "17363:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1371, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17368:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - { - "argumentTypes": null, - "id": 1372, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1310, - "src": "17380:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1373, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "17393:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ADD_COLLATERAL_TOKEN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 2607, - "src": "17393:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17393:38:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1376, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1310, - "src": "17433:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1369, - "name": "_transferPermissionFromTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28514, - "src": "17331:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address,address,bytes32,address)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17331:114:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1378, - "nodeType": "ExpressionStatement", - "src": "17331:114:0" - } - ] - }, - "documentation": "*** internal setup functions ****", - "id": 1380, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupCollaterals", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1299, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1282, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16122:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1281, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "16122:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1286, - "name": "_virtualSupplies", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16147:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1285, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16155:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16147:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1290, - "name": "_virtualBalances", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16184:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16184:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1289, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16184:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1294, - "name": "_slippages", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16221:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16221:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16229:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16221:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1296, - "name": "_rateDAI", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16252:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16252:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1298, - "name": "_floorDAI", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "16281:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1297, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16281:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16112:195:0" - }, - "payable": false, - "returnParameters": { - "id": 1300, - "nodeType": "ParameterList", - "parameters": [], - "src": "16329:0:0" - }, - "scope": 2242, - "src": "16086:1366:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1445, - "nodeType": "Block", - "src": "17562:674:0", - "statements": [ - { - "assignments": [ - 1386 - ], - "declarations": [ - { - "constant": false, - "id": 1386, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17572:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1385, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "17572:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1392, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1388, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "17586:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "17586:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17586:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1387, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "17582:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17582:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17572:25:0" - }, - { - "assignments": [ - 1394, - 1396, - 1398, - 1400 - ], - "declarations": [ - { - "constant": false, - "id": 1394, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17609:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1393, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "17609:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17631:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1395, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "17631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1398, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17651:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1397, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "17651:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1400, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17664:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1399, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "17664:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1403, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1401, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "17683:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17683:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17608:92:0" - }, - { - "assignments": [ - null, - 1405 - ], - "declarations": [ - null, - { - "constant": false, - "id": 1405, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17713:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1404, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "17713:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1408, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1406, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "17735:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17735:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17710:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1410, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17819:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1411, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "17824:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1412, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17833:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1413, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "17846:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1409, - "name": "_createTokenManagerPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29240, - "src": "17788:30:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_TokenManager_$19073_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract TokenManager,address,address)" - } - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17788:70:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1415, - "nodeType": "ExpressionStatement", - "src": "17788:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1417, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17911:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1418, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17916:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1419, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "17929:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1420, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "17942:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1421, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "17951:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1416, - "name": "_createVotingPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28776, - "src": "17886:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Voting_$20320_$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Voting,address,address,address)" - } - }, - "id": 1422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17886:77:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1423, - "nodeType": "ExpressionStatement", - "src": "17886:77:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1425, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18014:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1426, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "18019:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - { - "argumentTypes": null, - "id": 1427, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1428, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18035:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1424, - "name": "_createVaultPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28662, - "src": "17990:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Vault_$19335_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Vault,address,address)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17990:57:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1430, - "nodeType": "ExpressionStatement", - "src": "17990:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1432, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18102:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1433, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18107:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1434, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "18116:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1435, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18129:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1431, - "name": "_createFinancePermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29104, - "src": "18076:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Finance_$14010_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Finance,address,address)" - } - }, - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18076:65:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1437, - "nodeType": "ExpressionStatement", - "src": "18076:65:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1439, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "18190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1440, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "18195:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - { - "argumentTypes": null, - "id": 1441, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "18204:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1442, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "18217:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1438, - "name": "_createFinanceCreatePaymentsPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29127, - "src": "18151:38:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Finance_$14010_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Finance,address,address)" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18151:78:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "18151:78:0" - } - ] - }, - "documentation": "*** internal permissions functions ****", - "id": 1446, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupBoardPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1382, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "17540:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1381, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "17540:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17539:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1384, - "nodeType": "ParameterList", - "parameters": [], - "src": "17562:0:0" - }, - "scope": 2242, - "src": "17508:728:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1570, - "nodeType": "Block", - "src": "18296:953:0", - "statements": [ - { - "assignments": [ - 1452 - ], - "declarations": [ - { - "constant": false, - "id": 1452, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18306:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1451, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "18306:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1458, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1454, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "18320:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "acl", - "nodeType": "MemberAccess", - "referencedDeclaration": 26767, - "src": "18320:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view external returns (contract IACL)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18320:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 1453, - "name": "ACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21811, - "src": "18316:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ACL_$21811_$", - "typeString": "type(contract ACL)" - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18316:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18306:25:0" - }, - { - "assignments": [ - 1460, - null, - null, - null - ], - "declarations": [ - { - "constant": false, - "id": 1460, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18343:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1459, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "18343:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - null - ], - "id": 1463, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1461, - "name": "_boardAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "18370:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "function () view returns (contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18370:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$_t_contract$_Vault_$19335_$_t_contract$_Finance_$14010_$", - "typeString": "tuple(contract TokenManager,contract Voting,contract Vault,contract Finance)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18342:45:0" - }, - { - "assignments": [ - 1465, - 1467 - ], - "declarations": [ - { - "constant": false, - "id": 1465, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18398:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1464, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "18398:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1467, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18420:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1466, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "18420:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1470, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1468, - "name": "_shareAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "18442:15:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "function () view returns (contract TokenManager,contract Voting)" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18442:17:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_TokenManager_$19073_$_t_contract$_Voting_$20320_$", - "typeString": "tuple(contract TokenManager,contract Voting)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18397:62:0" - }, - { - "assignments": [ - null, - 1472, - 1474, - null, - null - ], - "declarations": [ - null, - { - "constant": false, - "id": 1472, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18472:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1471, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "18472:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1474, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18489:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1473, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "18489:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null - ], - "id": 1477, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1475, - "name": "_fundraisingAppsCache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "18518:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "function () view returns (contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18518:23:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_Agent_$11529_$_t_contract$_Presale_$9579_$_t_contract$_BatchedBancorMarketMaker_$8578_$_t_contract$_Tap_$10786_$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "tuple(contract Agent,contract Presale,contract BatchedBancorMarketMaker,contract Tap,contract AragonFundraisingController)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18469:72:0" - }, - { - "assignments": [ - 1481 - ], - "declarations": [ - { - "constant": false, - "id": 1481, - "name": "grantees", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18577:25:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18577:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1480, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18577:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18619:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "18605:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 1482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18609:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1483, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18609:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18605:16:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18577:44:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1488, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "18631:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1490, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18640:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18631:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1492, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "18653:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18645:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18645:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18631:34:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1495, - "nodeType": "ExpressionStatement", - "src": "18631:34:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1496, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "18675:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1498, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18684:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18675:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1500, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18697:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18689:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18689:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18675:30:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "18675:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1507, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "18736:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - { - "argumentTypes": null, - "id": 1508, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18749:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1509, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18758:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MINT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18202, - "src": "18758:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18758:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18786:1:0", - "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" - } - ], - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18778:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1504, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18715:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18715:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18715:74:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1516, - "nodeType": "ExpressionStatement", - "src": "18715:74:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1520, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18820:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1521, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18829:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1522, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18838:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ISSUE_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18207, - "src": "18838:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18838:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1525, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "18859:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1517, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18799:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18799:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18799:72:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "18799:72:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1531, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18902:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1532, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18911:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1533, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18920:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASSIGN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18212, - "src": "18920:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18920:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1536, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "18942:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1528, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18881:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18881:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18881:73:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1538, - "nodeType": "ExpressionStatement", - "src": "18881:73:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1542, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "18985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - { - "argumentTypes": null, - "id": 1543, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "18994:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1544, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "REVOKE_VESTINGS_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18217, - "src": "19003:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19003:30:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1547, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19035:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "expression": { - "argumentTypes": null, - "id": 1539, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "18964:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "18964:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18964:83:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1549, - "nodeType": "ExpressionStatement", - "src": "18964:83:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1551, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "19076:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1552, - "name": "grantees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "19081:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 1553, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1554, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "19100:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "BURN_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 18222, - "src": "19100:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19100:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19129:1:0", - "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" - } - ], - "id": 1557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19121:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19121:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1550, - "name": "_createPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28368, - "src": "19057:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (contract ACL,address[] memory,address,bytes32,address)" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19057:75:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1561, - "nodeType": "ExpressionStatement", - "src": "19057:75:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1563, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1452, - "src": "19190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - { - "argumentTypes": null, - "id": 1564, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19195:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1565, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19208:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "id": 1566, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "19221:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - { - "argumentTypes": null, - "id": 1567, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "19230:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1562, - "name": "_createShareVotingPermissions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1620, - "src": "19160:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ACL_$21811_$_t_contract$_Voting_$20320_$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (contract ACL,contract Voting,address,address,address)" - } - }, - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19160:82:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1569, - "nodeType": "ExpressionStatement", - "src": "19160:82:0" - } - ] - }, - "documentation": null, - "id": 1571, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setupSharePermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1448, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "18274:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1447, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "18274:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18273:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1450, - "nodeType": "ParameterList", - "parameters": [], - "src": "18296:0:0" - }, - "scope": 2242, - "src": "18242:1007:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1619, - "nodeType": "Block", - "src": "19456:306:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1587, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "19488:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1588, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1589, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19515:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_QUORUM_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19367, - "src": "19515:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19515:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1592, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "19545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1584, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19466:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19466:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19466:88:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1594, - "nodeType": "ExpressionStatement", - "src": "19466:88:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1598, - "name": "_settingsGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "19586:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1599, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19604:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1600, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19613:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MODIFY_SUPPORT_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19362, - "src": "19613:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19613:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19652:1:0", - "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" - } - ], - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19644:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19644:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1595, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19564:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19564:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19564:91:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1607, - "nodeType": "ExpressionStatement", - "src": "19564:91:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1611, - "name": "_createVotesGrantee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1579, - "src": "19687:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1612, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1613, - "name": "_voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "19717:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "CREATE_VOTES_ROLE", - "nodeType": "MemberAccess", - "referencedDeclaration": 19357, - "src": "19717:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19717:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1616, - "name": "_manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "19746:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1608, - "name": "_acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1573, - "src": "19665:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 20737, - "src": "19665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,address,bytes32,address) external" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19665:90:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "19665:90:0" - } - ] - }, - "documentation": null, - "id": 1620, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_createShareVotingPermissions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1573, - "name": "_acl", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19303:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - }, - "typeName": { - "contractScope": null, - "id": 1572, - "name": "ACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 21811, - "src": "19303:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACL_$21811", - "typeString": "contract ACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1575, - "name": "_voting", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19321:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1574, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "19321:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1577, - "name": "_settingsGrantee", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19345:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19345:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1579, - "name": "_createVotesGrantee", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19379:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19379:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1581, - "name": "_manager", - "nodeType": "VariableDeclaration", - "scope": 1620, - "src": "19416:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19293:145:0" - }, - "payable": false, - "returnParameters": { - "id": 1583, - "nodeType": "ParameterList", - "parameters": [], - "src": "19456:0:0" - }, - "scope": 2242, - "src": "19255:507:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1640, - "nodeType": "Block", - "src": "19853:84:0", - "statements": [ - { - "assignments": [ - 1626 - ], - "declarations": [ - { - "constant": false, - "id": 1626, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "19863:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1625, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "19863:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1631, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1627, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "19881:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1630, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "19887:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19887:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19881:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19863:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1632, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "19909:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "19909:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1636, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1622, - "src": "19925:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 1635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19917:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19917:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19909:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1639, - "nodeType": "ExpressionStatement", - "src": "19909:21:0" - } - ] - }, - "documentation": "*** internal cache functions ****", - "id": 1641, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheDao", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1622, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "19831:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1621, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "19831:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19830:13:0" - }, - "payable": false, - "returnParameters": { - "id": 1624, - "nodeType": "ParameterList", - "parameters": [], - "src": "19853:0:0" - }, - "scope": 2242, - "src": "19812:125:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1691, - "nodeType": "Block", - "src": "20053:223:0", - "statements": [ - { - "assignments": [ - 1653 - ], - "declarations": [ - { - "constant": false, - "id": 1653, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20063:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1652, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20063:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1658, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1654, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20081:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1657, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1655, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20087:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20087:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20081:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20063:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1659, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20109:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "20109:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1663, - "name": "_boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "20139:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20131:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20131:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20109:39:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1666, - "nodeType": "ExpressionStatement", - "src": "20109:39:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1667, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20158:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "20158:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1671, - "name": "_boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "20182:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20174:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20174:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20158:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "20158:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1675, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20205:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "20205:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1679, - "name": "_vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "20223:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20215:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20215:15:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20205:25:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1682, - "nodeType": "ExpressionStatement", - "src": "20205:25:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1683, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "20240:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "20240:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1687, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "20260:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20252:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20252:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20240:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1690, - "nodeType": "ExpressionStatement", - "src": "20240:29:0" - } - ] - }, - "documentation": null, - "id": 1692, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheBoardApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1643, - "name": "_boardTM", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "19968:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1642, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "19968:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1645, - "name": "_boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "19991:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1644, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "19991:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1647, - "name": "_vault", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20012:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1646, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "20012:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1649, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 1692, - "src": "20026:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1648, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "20026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19967:76:0" - }, - "payable": false, - "returnParameters": { - "id": 1651, - "nodeType": "ParameterList", - "parameters": [], - "src": "20053:0:0" - }, - "scope": 2242, - "src": "19943:333:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1722, - "nodeType": "Block", - "src": "20360:149:0", - "statements": [ - { - "assignments": [ - 1700 - ], - "declarations": [ - { - "constant": false, - "id": 1700, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20370:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1699, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20370:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1705, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1701, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20388:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1704, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20394:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20394:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20388:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20370:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1706, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "20416:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "20416:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1710, - "name": "_shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "20446:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 1709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20438:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20438:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20416:39:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "20416:39:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1714, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "20465:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1716, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "20465:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1718, - "name": "_shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1696, - "src": "20489:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - ], - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20481:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20481:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20465:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1721, - "nodeType": "ExpressionStatement", - "src": "20465:37:0" - } - ] - }, - "documentation": null, - "id": 1723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheShareApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1694, - "name": "_shareTM", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20307:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1693, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "20307:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1696, - "name": "_shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "20330:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1695, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "20330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20306:44:0" - }, - "payable": false, - "returnParameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [], - "src": "20360:0:0" - }, - "scope": 2242, - "src": "20282:227:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1783, - "nodeType": "Block", - "src": "20649:254:0", - "statements": [ - { - "assignments": [ - 1737 - ], - "declarations": [ - { - "constant": false, - "id": 1737, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20659:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1736, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20659:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1742, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1738, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20677:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1741, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1739, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20683:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20683:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20677:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20659:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1743, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20705:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "20705:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1747, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1725, - "src": "20725:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - ], - "id": 1746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20717:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20717:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20705:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1750, - "nodeType": "ExpressionStatement", - "src": "20705:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1751, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20744:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "20744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1755, - "name": "_presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1727, - "src": "20764:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 1754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20756:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20744:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1758, - "nodeType": "ExpressionStatement", - "src": "20744:29:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1759, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20783:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "20783:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "20807:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - ], - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20799:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20799:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20783:37:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "20783:37:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1767, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20830:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "20830:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1771, - "name": "_tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "20846:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - ], - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20838:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20838:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20830:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1774, - "nodeType": "ExpressionStatement", - "src": "20830:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1775, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "20861:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "20861:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1779, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1733, - "src": "20884:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - ], - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20876:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20876:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20861:35:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1782, - "nodeType": "ExpressionStatement", - "src": "20861:35:0" - } - ] - }, - "documentation": null, - "id": 1784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_cacheFundraisingApps", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1725, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20546:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1724, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "20546:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "name": "_presale", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20562:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1726, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "20562:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1729, - "name": "_marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20580:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1728, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "20580:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1731, - "name": "_tap", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20606:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1730, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "20606:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1733, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "20616:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1732, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "20616:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20545:94:0" - }, - "payable": false, - "returnParameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [], - "src": "20649:0:0" - }, - "scope": 2242, - "src": "20515:388:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1803, - "nodeType": "Block", - "src": "20965:82:0", - "statements": [ - { - "assignments": [ - 1790 - ], - "declarations": [ - { - "constant": false, - "id": 1790, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1804, - "src": "20975:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1789, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "20975:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1791, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "20993:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1794, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1792, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20999:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20999:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20993:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20975:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1796, - "name": "dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "21021:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1798, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "21034:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "21034:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1797, - "name": "Kernel", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26897, - "src": "21027:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Kernel_$26897_$", - "typeString": "type(contract Kernel)" - } - }, - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21027:13:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "src": "21021:19:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 1802, - "nodeType": "ExpressionStatement", - "src": "21021:19:0" - } - ] - }, - "documentation": null, - "id": 1804, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_daoCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1785, - "nodeType": "ParameterList", - "parameters": [], - "src": "20927:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1787, - "name": "dao", - "nodeType": "VariableDeclaration", - "scope": 1804, - "src": "20953:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 1786, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "20953:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20952:12:0" - }, - "scope": 2242, - "src": "20909:138:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1850, - "nodeType": "Block", - "src": "21175:221:0", - "statements": [ - { - "assignments": [ - 1816 - ], - "declarations": [ - { - "constant": false, - "id": 1816, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21185:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1815, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21185:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1821, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1817, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21203:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1820, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1818, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21209:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21203:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21185:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1822, - "name": "boardTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1807, - "src": "21231:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1824, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21254:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "21254:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1823, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "21241:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21241:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "21231:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1828, - "nodeType": "ExpressionStatement", - "src": "21231:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1829, - "name": "boardVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "21284:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1831, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21305:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "21305:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1830, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "21298:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21298:21:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "src": "21284:35:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1835, - "nodeType": "ExpressionStatement", - "src": "21284:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1836, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1811, - "src": "21329:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1838, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21343:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "21343:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1837, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "21337:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21337:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "21329:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 1842, - "nodeType": "ExpressionStatement", - "src": "21329:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1843, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1813, - "src": "21361:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1845, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "21379:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "21379:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1844, - "name": "Finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14010, - "src": "21371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Finance_$14010_$", - "typeString": "type(contract Finance)" - } - }, - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21371:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "src": "21361:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 1849, - "nodeType": "ExpressionStatement", - "src": "21361:28:0" - } - ] - }, - "documentation": null, - "id": 1851, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_boardAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1805, - "nodeType": "ParameterList", - "parameters": [], - "src": "21077:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1807, - "name": "boardTM", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21103:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1806, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "21103:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1809, - "name": "boardVoting", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21125:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1808, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "21125:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1811, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21145:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1810, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "21145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1813, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 1851, - "src": "21158:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 1812, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "21158:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21102:72:0" - }, - "scope": 2242, - "src": "21053:343:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1879, - "nodeType": "Block", - "src": "21494:151:0", - "statements": [ - { - "assignments": [ - 1859 - ], - "declarations": [ - { - "constant": false, - "id": 1859, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21504:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1858, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1864, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1860, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21522:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1863, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1861, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21528:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21528:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21522:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21504:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1865, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1854, - "src": "21550:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1867, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "21573:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "21573:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1866, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "21560:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21560:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "21550:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "21550:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1872, - "name": "shareVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1856, - "src": "21603:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1874, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "21624:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "21624:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1873, - "name": "Voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20320, - "src": "21617:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Voting_$20320_$", - "typeString": "type(contract Voting)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21617:21:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "src": "21603:35:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "id": 1878, - "nodeType": "ExpressionStatement", - "src": "21603:35:0" - } - ] - }, - "documentation": null, - "id": 1880, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_shareAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1852, - "nodeType": "ParameterList", - "parameters": [], - "src": "21426:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1854, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21452:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 1853, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "21452:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1856, - "name": "shareVoting", - "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "21474:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - }, - "typeName": { - "contractScope": null, - "id": 1855, - "name": "Voting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20320, - "src": "21474:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Voting_$20320", - "typeString": "contract Voting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21451:42:0" - }, - "scope": 2242, - "src": "21402:243:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1935, - "nodeType": "Block", - "src": "21846:250:0", - "statements": [ - { - "assignments": [ - 1894 - ], - "declarations": [ - { - "constant": false, - "id": 1894, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21856:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1893, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "21856:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1895, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "21874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1898, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1896, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "21880:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21880:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21874:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21856:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1900, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "21902:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1902, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21918:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "21918:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1901, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "21912:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21912:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "21902:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 1906, - "nodeType": "ExpressionStatement", - "src": "21902:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1907, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "21938:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1909, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21956:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1910, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "21956:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1908, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "21948:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21948:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "src": "21938:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 1913, - "nodeType": "ExpressionStatement", - "src": "21938:28:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1914, - "name": "marketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "21976:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1916, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "22002:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1915, - "name": "MarketMaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "21990:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BatchedBancorMarketMaker_$8578_$", - "typeString": "type(contract BatchedBancorMarketMaker)" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21990:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "src": "21976:40:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "id": 1920, - "nodeType": "ExpressionStatement", - "src": "21976:40:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1921, - "name": "tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "22026:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1923, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22036:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "22036:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1922, - "name": "Tap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10786, - "src": "22032:3:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tap_$10786_$", - "typeString": "type(contract Tap)" - } - }, - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22032:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "src": "22026:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "id": 1927, - "nodeType": "ExpressionStatement", - "src": "22026:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1928, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1891, - "src": "22052:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1930, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "22076:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "22076:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1929, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "22065:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22065:24:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "src": "22052:37:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 1934, - "nodeType": "ExpressionStatement", - "src": "22052:37:0" - } - ] - }, - "documentation": null, - "id": 1936, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_fundraisingAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1881, - "nodeType": "ParameterList", - "parameters": [], - "src": "21681:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1883, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21716:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 1882, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "21716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1885, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21739:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 1884, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "21739:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1887, - "name": "marketMaker", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21764:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - }, - "typeName": { - "contractScope": null, - "id": 1886, - "name": "MarketMaker", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8578, - "src": "21764:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BatchedBancorMarketMaker_$8578", - "typeString": "contract BatchedBancorMarketMaker" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1889, - "name": "tap", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21797:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - }, - "typeName": { - "contractScope": null, - "id": 1888, - "name": "Tap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10786, - "src": "21797:3:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Tap_$10786", - "typeString": "contract Tap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1891, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 1936, - "src": "21814:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 1890, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "21814:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21706:135:0" - }, - "scope": 2242, - "src": "21651:445:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1994, - "nodeType": "Block", - "src": "22134:390:0", - "statements": [ - { - "assignments": [ - 1940 - ], - "declarations": [ - { - "constant": false, - "id": 1940, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 1995, - "src": "22144:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 1939, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22144:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1945, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1941, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22162:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 1944, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1942, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22168:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22168:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22162:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22144:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22190:12:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1946, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22197:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "dao", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "22197:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1949, - "nodeType": "ExpressionStatement", - "src": "22190:12:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22212:26:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1950, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22219:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "22219:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1953, - "nodeType": "ExpressionStatement", - "src": "22212:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22248:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1954, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22255:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "22255:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1957, - "nodeType": "ExpressionStatement", - "src": "22248:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22278:14:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1958, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22285:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "22285:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1961, - "nodeType": "ExpressionStatement", - "src": "22278:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22302:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1962, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22309:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "22309:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1965, - "nodeType": "ExpressionStatement", - "src": "22302:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22328:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1966, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22335:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "22335:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1969, - "nodeType": "ExpressionStatement", - "src": "22328:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22358:26:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1970, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22365:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "22365:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1973, - "nodeType": "ExpressionStatement", - "src": "22358:26:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22394:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1974, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22401:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "22401:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1977, - "nodeType": "ExpressionStatement", - "src": "22394:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22420:16:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1978, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22427:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "22427:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1981, - "nodeType": "ExpressionStatement", - "src": "22420:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22446:20:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1982, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22453:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "22453:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1985, - "nodeType": "ExpressionStatement", - "src": "22446:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22476:12:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1986, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22483:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "22483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1989, - "nodeType": "ExpressionStatement", - "src": "22476:12:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22498:19:0", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1990, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "22505:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "22505:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1993, - "nodeType": "ExpressionStatement", - "src": "22498:19:0" - } - ] - }, - "documentation": null, - "id": 1995, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_clearCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1937, - "nodeType": "ParameterList", - "parameters": [], - "src": "22122:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1938, - "nodeType": "ParameterList", - "parameters": [], - "src": "22134:0:0" - }, - "scope": 2242, - "src": "22102:422:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2014, - "nodeType": "Block", - "src": "22789:85:0", - "statements": [ - { - "assignments": [ - 2001 - ], - "declarations": [ - { - "constant": false, - "id": 2001, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2015, - "src": "22799:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2000, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22799:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2006, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2002, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22817:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2005, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2003, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22823:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22823:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22817:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22799:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2007, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "22845:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2009, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2001, - "src": "22859:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "22859:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2008, - "name": "Vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19335, - "src": "22853:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Vault_$19335_$", - "typeString": "type(contract Vault)" - } - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22853:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "22845:22:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 2013, - "nodeType": "ExpressionStatement", - "src": "22845:22:0" - } - ] - }, - "documentation": "NOTE\nthe following functions are only needed for the presale\ninitialization function [which we can't compile otherwise\nbecause of a `stack too deep` error]", - "id": 2015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_vaultCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1996, - "nodeType": "ParameterList", - "parameters": [], - "src": "22750:2:0" - }, - "payable": false, - "returnParameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1998, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 2015, - "src": "22776:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 1997, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "22776:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22775:13:0" - }, - "scope": 2242, - "src": "22730:144:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2034, - "nodeType": "Block", - "src": "22950:106:0", - "statements": [ - { - "assignments": [ - 2021 - ], - "declarations": [ - { - "constant": false, - "id": 2021, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2035, - "src": "22960:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2020, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "22960:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2026, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2022, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "22978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2025, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2023, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "22984:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22984:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22978:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22960:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2027, - "name": "shareTM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "23006:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2029, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2021, - "src": "23029:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "23029:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2028, - "name": "TokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19073, - "src": "23016:12:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenManager_$19073_$", - "typeString": "type(contract TokenManager)" - } - }, - "id": 2031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23016:33:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "23006:43:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 2033, - "nodeType": "ExpressionStatement", - "src": "23006:43:0" - } - ] - }, - "documentation": null, - "id": 2035, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_shareTMCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2016, - "nodeType": "ParameterList", - "parameters": [], - "src": "22902:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2018, - "name": "shareTM", - "nodeType": "VariableDeclaration", - "scope": 2035, - "src": "22928:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 2017, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "22928:12:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22927:22:0" - }, - "scope": 2242, - "src": "22880:176:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2054, - "nodeType": "Block", - "src": "23125:89:0", - "statements": [ - { - "assignments": [ - 2041 - ], - "declarations": [ - { - "constant": false, - "id": 2041, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2055, - "src": "23135:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2040, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23135:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2046, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2042, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23153:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2045, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2043, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23159:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23159:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23153:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23135:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2047, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "23181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2049, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2041, - "src": "23197:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "23197:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2048, - "name": "Agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11529, - "src": "23191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Agent_$11529_$", - "typeString": "type(contract Agent)" - } - }, - "id": 2051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23191:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "src": "23181:26:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "id": 2053, - "nodeType": "ExpressionStatement", - "src": "23181:26:0" - } - ] - }, - "documentation": null, - "id": 2055, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_reserveCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2036, - "nodeType": "ParameterList", - "parameters": [], - "src": "23084:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2038, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 2055, - "src": "23110:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Agent", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11529, - "src": "23110:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Agent_$11529", - "typeString": "contract Agent" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23109:15:0" - }, - "scope": 2242, - "src": "23062:152:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2074, - "nodeType": "Block", - "src": "23285:91:0", - "statements": [ - { - "assignments": [ - 2061 - ], - "declarations": [ - { - "constant": false, - "id": 2061, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2075, - "src": "23295:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2060, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23295:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2066, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2062, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23313:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2065, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2063, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23319:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23319:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23313:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23295:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2067, - "name": "presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "23341:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2069, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "23359:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "23359:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2068, - "name": "Presale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "23351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Presale_$9579_$", - "typeString": "type(contract Presale)" - } - }, - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23351:18:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "src": "23341:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "id": 2073, - "nodeType": "ExpressionStatement", - "src": "23341:28:0" - } - ] - }, - "documentation": null, - "id": 2075, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_presaleCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [], - "src": "23242:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2058, - "name": "presale", - "nodeType": "VariableDeclaration", - "scope": 2075, - "src": "23268:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - }, - "typeName": { - "contractScope": null, - "id": 2057, - "name": "Presale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9579, - "src": "23268:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23267:17:0" - }, - "scope": 2242, - "src": "23220:156:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2094, - "nodeType": "Block", - "src": "23456:100:0", - "statements": [ - { - "assignments": [ - 2081 - ], - "declarations": [ - { - "constant": false, - "id": 2081, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2095, - "src": "23466:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2080, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23466:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2082, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2085, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23490:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23490:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23484:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23466:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2087, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "23512:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2089, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "23536:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "23536:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2088, - "name": "Controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "23525:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AragonFundraisingController_$3335_$", - "typeString": "type(contract AragonFundraisingController)" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23525:24:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "src": "23512:37:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "id": 2093, - "nodeType": "ExpressionStatement", - "src": "23512:37:0" - } - ] - }, - "documentation": null, - "id": 2095, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_controllerCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2076, - "nodeType": "ParameterList", - "parameters": [], - "src": "23407:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2078, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 2095, - "src": "23433:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 2077, - "name": "Controller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3335, - "src": "23433:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonFundraisingController_$3335", - "typeString": "contract AragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23432:23:0" - }, - "scope": 2242, - "src": "23382:174:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2136, - "nodeType": "Block", - "src": "23653:278:0", - "statements": [ - { - "assignments": [ - 2099 - ], - "declarations": [ - { - "constant": false, - "id": 2099, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "23663:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2098, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23663:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2104, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2100, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "23681:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2103, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23687:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23687:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23681:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23663:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2106, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "23729:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23760:1:0", - "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": 2108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23752:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23729:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2112, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23778:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "boardVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "23778:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23803:1:0", - "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": 2114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23795:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23795:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23778:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:76:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2119, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23821:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vault", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "23821:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23840:1:0", - "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": 2121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23832:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23832:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23821:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:113:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2126, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "23858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finance", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "23858:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23879:1:0", - "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": 2128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23871:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23871:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23858:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23729:152:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2133, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "23895:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23708:216:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2135, - "nodeType": "ExpressionStatement", - "src": "23708:216:0" - } - ] - }, - "documentation": "*** internal check functions ****", - "id": 2137, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureBoardAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [], - "src": "23636:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "23653:0:0" - }, - "scope": 2242, - "src": "23606:325:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2164, - "nodeType": "Block", - "src": "23984:202:0", - "statements": [ - { - "assignments": [ - 2141 - ], - "declarations": [ - { - "constant": false, - "id": 2141, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2165, - "src": "23994:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2140, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "23994:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2146, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2142, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "24012:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2145, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2143, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "24018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24012:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23994:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2148, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "24060:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareTokenManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "24060:19:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24091:1:0", - "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": 2150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24083:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24083:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24060:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2154, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "24109:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "shareVoting", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "24109:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24134:1:0", - "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": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24126:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24109:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24060:76:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2161, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "24150:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24039:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24039:140:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2163, - "nodeType": "ExpressionStatement", - "src": "24039:140:0" - } - ] - }, - "documentation": null, - "id": 2165, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureShareAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2138, - "nodeType": "ParameterList", - "parameters": [], - "src": "23967:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2139, - "nodeType": "ParameterList", - "parameters": [], - "src": "23984:0:0" - }, - "scope": 2242, - "src": "23937:249:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2213, - "nodeType": "Block", - "src": "24245:308:0", - "statements": [ - { - "assignments": [ - 2169 - ], - "declarations": [ - { - "constant": false, - "id": 2169, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "24255:15:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - }, - "typeName": { - "contractScope": null, - "id": 2168, - "name": "Cache", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 104, - "src": "24255:5:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2174, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2170, - "name": "cache", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "24273:5:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Cache_$104_storage_$", - "typeString": "mapping(address => struct FundraisingMultisigTemplate.Cache storage ref)" - } - }, - "id": 2173, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2171, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "24279:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24279:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24273:17:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage", - "typeString": "struct FundraisingMultisigTemplate.Cache storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24255:35:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2176, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24321:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reserve", - "nodeType": "MemberAccess", - "referencedDeclaration": 95, - "src": "24321:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24342:1:0", - "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": 2178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24334:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24334:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24321:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2182, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24360:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "presale", - "nodeType": "MemberAccess", - "referencedDeclaration": 97, - "src": "24360:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24381:1:0", - "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": 2184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24373:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24373:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24360:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:62:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2189, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24399:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketMaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "24399:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24424:1:0", - "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": 2191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24416:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24399:27:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:105:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2196, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24442:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tap", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "24442:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24459:1:0", - "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": 2198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24451:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24451:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:140:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2203, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "24477:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Cache_$104_storage_ptr", - "typeString": "struct FundraisingMultisigTemplate.Cache storage pointer" - } - }, - "id": 2204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 103, - "src": "24477:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24501:1:0", - "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": 2205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24493:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24493:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24477:26:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "24321:182:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2210, - "name": "ERROR_MISSING_CACHE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "24517:19:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 2175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24300:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24300:246:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2212, - "nodeType": "ExpressionStatement", - "src": "24300:246:0" - } - ] - }, - "documentation": null, - "id": 2214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureFundraisingAppsCache", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2166, - "nodeType": "ParameterList", - "parameters": [], - "src": "24228:2:0" - }, - "payable": false, - "returnParameters": { - "id": 2167, - "nodeType": "ParameterList", - "parameters": [], - "src": "24245:0:0" - }, - "scope": 2242, - "src": "24192:361:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2240, - "nodeType": "Block", - "src": "24681:157:0", - "statements": [ - { - "assignments": [ - 2224 - ], - "declarations": [ - { - "constant": false, - "id": 2224, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24691:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24691:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2232, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2227, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24727:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2229, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24757:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2228, - "name": "_latestVersionAppBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29564, - "src": "24735:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24735:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2225, - "name": "_dao", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2216, - "src": "24707:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newAppInstance", - "nodeType": "MemberAccess", - "referencedDeclaration": 26531, - "src": "24707:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address) external returns (contract ERCProxy)" - } - }, - "id": 2231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24707:58:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24691:74:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2234, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "24794:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2235, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "24801:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2233, - "name": "InstalledApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28216, - "src": "24781:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24781:27:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2237, - "nodeType": "EmitStatement", - "src": "24776:32:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 2238, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "24826:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2222, - "id": 2239, - "nodeType": "Return", - "src": "24819:12:0" - } - ] - }, - "documentation": "*** internal utils functions ****", - "id": 2241, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_registerApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2216, - "name": "_dao", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24625:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - "typeName": { - "contractScope": null, - "id": 2215, - "name": "Kernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26897, - "src": "24625:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2218, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24638:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2217, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24638:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24624:29:0" - }, - "payable": false, - "returnParameters": { - "id": 2222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2221, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2241, - "src": "24672:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24672:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24671:9:0" - }, - "scope": 2242, - "src": "24603:235:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2243, - "src": "668:24172:0" - } - ], - "src": "0:24841:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.709Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IACL.json b/templates/multisig/build/contracts/IACL.json deleted file mode 100644 index b1158a2..0000000 --- a/templates/multisig/build/contracts/IACL.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "contractName": "IACL", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "permissionsCreator", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "who", - "type": "address" - }, - { - "name": "where", - "type": "address" - }, - { - "name": "what", - "type": "bytes32" - }, - { - "name": "how", - "type": "bytes" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ninterface IACL {\n function initialize(address permissionsCreator) external;\n\n // TODO: this should be external\n // See https://github.com/ethereum/solidity/issues/4832\n function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);\n}\n", - "sourcePath": "@aragon/os/contracts/acl/IACL.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "exportedSymbols": { - "IACL": [ - 22332 - ] - }, - "id": 22333, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22313, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:30" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 22332, - "linearizedBaseContracts": [ - 22332 - ], - "name": "IACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 22318, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22315, - "name": "permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 22318, - "src": "112:26:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "112:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "111:28:30" - }, - "payable": false, - "returnParameters": { - "id": 22317, - "nodeType": "ParameterList", - "parameters": [], - "src": "148:0:30" - }, - "scope": 22332, - "src": "92:57:30", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 22331, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22320, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "275:11:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "275:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22322, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "288:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22321, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "288:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22324, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "303:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22323, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "303:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22326, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "317:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22325, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "317:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "274:53:30" - }, - "payable": false, - "returnParameters": { - "id": 22330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22329, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "349:4:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22328, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "349:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "348:6:30" - }, - "scope": 22332, - "src": "252:103:30", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 22333, - "src": "71:286:30" - } - ], - "src": "44:314:30" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "exportedSymbols": { - "IACL": [ - 22332 - ] - }, - "id": 22333, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22313, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:30" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 22332, - "linearizedBaseContracts": [ - 22332 - ], - "name": "IACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 22318, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22315, - "name": "permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 22318, - "src": "112:26:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "112:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "111:28:30" - }, - "payable": false, - "returnParameters": { - "id": 22317, - "nodeType": "ParameterList", - "parameters": [], - "src": "148:0:30" - }, - "scope": 22332, - "src": "92:57:30", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 22331, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22320, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "275:11:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "275:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22322, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "288:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22321, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "288:7:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22324, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "303:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22323, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "303:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22326, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "317:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22325, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "317:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "274:53:30" - }, - "payable": false, - "returnParameters": { - "id": 22330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22329, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22331, - "src": "349:4:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22328, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "349:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "348:6:30" - }, - "scope": 22332, - "src": "252:103:30", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 22333, - "src": "71:286:30" - } - ], - "src": "44:314:30" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.199Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IACLOracle.json b/templates/multisig/build/contracts/IACLOracle.json deleted file mode 100644 index 359d79d..0000000 --- a/templates/multisig/build/contracts/IACLOracle.json +++ /dev/null @@ -1,473 +0,0 @@ -{ - "contractName": "IACLOracle", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "who", - "type": "address" - }, - { - "name": "where", - "type": "address" - }, - { - "name": "what", - "type": "bytes32" - }, - { - "name": "how", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ninterface IACLOracle {\n function canPerform(address who, address where, bytes32 what, uint256[] how) external view returns (bool);\n}\n", - "sourcePath": "@aragon/os/contracts/acl/IACLOracle.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/acl/IACLOracle.sol", - "exportedSymbols": { - "IACLOracle": [ - 22349 - ] - }, - "id": 22350, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22334, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:31" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 22349, - "linearizedBaseContracts": [ - 22349 - ], - "name": "IACLOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 22348, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canPerform", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22336, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "118:11:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "118:7:31", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22338, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "131:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "131:7:31", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22340, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "146:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22339, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "146:7:31", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22343, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "160:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "160:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22342, - "length": null, - "nodeType": "ArrayTypeName", - "src": "160:9:31", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "117:57:31" - }, - "payable": false, - "returnParameters": { - "id": 22347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22346, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "198:4:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22345, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "198:4:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "197:6:31" - }, - "scope": 22349, - "src": "98:106:31", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 22350, - "src": "71:135:31" - } - ], - "src": "44:163:31" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/acl/IACLOracle.sol", - "exportedSymbols": { - "IACLOracle": [ - 22349 - ] - }, - "id": 22350, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22334, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:31" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 22349, - "linearizedBaseContracts": [ - 22349 - ], - "name": "IACLOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 22348, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canPerform", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22336, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "118:11:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "118:7:31", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22338, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "131:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "131:7:31", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22340, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "146:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22339, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "146:7:31", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22343, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "160:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 22341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "160:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22342, - "length": null, - "nodeType": "ArrayTypeName", - "src": "160:9:31", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "117:57:31" - }, - "payable": false, - "returnParameters": { - "id": 22347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22346, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22348, - "src": "198:4:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22345, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "198:4:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "197:6:31" - }, - "scope": 22349, - "src": "98:106:31", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 22350, - "src": "71:135:31" - } - ], - "src": "44:163:31" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.195Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IAragonFundraisingController.json b/templates/multisig/build/contracts/IAragonFundraisingController.json deleted file mode 100644 index 2ee48a7..0000000 --- a/templates/multisig/build/contracts/IAragonFundraisingController.json +++ /dev/null @@ -1,717 +0,0 @@ -{ - "contractName": "IAragonFundraisingController", - "abi": [ - { - "constant": false, - "inputs": [], - "name": "openTrading", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "updateTappedAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_collateral", - "type": "address" - } - ], - "name": "collateralsToBeClaimed", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_token", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n\ncontract IAragonFundraisingController {\n function openTrading() external;\n function updateTappedAmount(address _token) external;\n function collateralsToBeClaimed(address _collateral) public view returns (uint256);\n function balanceOf(address _who, address _token) public view returns (uint256);\n}\n", - "sourcePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "ast": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "exportedSymbols": { - "IAragonFundraisingController": [ - 9606 - ] - }, - "id": 9607, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9581, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9606, - "linearizedBaseContracts": [ - 9606 - ], - "name": "IAragonFundraisingController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9584, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "openTrading", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9582, - "nodeType": "ParameterList", - "parameters": [], - "src": "90:2:9" - }, - "payable": false, - "returnParameters": { - "id": 9583, - "nodeType": "ParameterList", - "parameters": [], - "src": "101:0:9" - }, - "scope": 9606, - "src": "70:32:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9589, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9586, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9589, - "src": "135:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "135:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "134:16:9" - }, - "payable": false, - "returnParameters": { - "id": 9588, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:0:9" - }, - "scope": 9606, - "src": "107:53:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9596, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "collateralsToBeClaimed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9591, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 9596, - "src": "197:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "197:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "196:21:9" - }, - "payable": false, - "returnParameters": { - "id": 9595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9594, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9596, - "src": "239:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:9:9" - }, - "scope": 9606, - "src": "165:83:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9605, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9598, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "272:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "272:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9600, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "286:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "286:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "271:30:9" - }, - "payable": false, - "returnParameters": { - "id": 9604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9603, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "323:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "323:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "322:9:9" - }, - "scope": 9606, - "src": "253:79:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9607, - "src": "26:308:9" - } - ], - "src": "0:335:9" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "exportedSymbols": { - "IAragonFundraisingController": [ - 9606 - ] - }, - "id": 9607, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9581, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9606, - "linearizedBaseContracts": [ - 9606 - ], - "name": "IAragonFundraisingController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9584, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "openTrading", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9582, - "nodeType": "ParameterList", - "parameters": [], - "src": "90:2:9" - }, - "payable": false, - "returnParameters": { - "id": 9583, - "nodeType": "ParameterList", - "parameters": [], - "src": "101:0:9" - }, - "scope": 9606, - "src": "70:32:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9589, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9586, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9589, - "src": "135:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "135:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "134:16:9" - }, - "payable": false, - "returnParameters": { - "id": 9588, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:0:9" - }, - "scope": 9606, - "src": "107:53:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9596, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "collateralsToBeClaimed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9591, - "name": "_collateral", - "nodeType": "VariableDeclaration", - "scope": 9596, - "src": "197:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "197:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "196:21:9" - }, - "payable": false, - "returnParameters": { - "id": 9595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9594, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9596, - "src": "239:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:9:9" - }, - "scope": 9606, - "src": "165:83:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9605, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9598, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "272:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "272:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9600, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "286:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "286:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "271:30:9" - }, - "payable": false, - "returnParameters": { - "id": 9604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9603, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9605, - "src": "323:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "323:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "322:9:9" - }, - "scope": 9606, - "src": "253:79:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9607, - "src": "26:308:9" - } - ], - "src": "0:335:9" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.198Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IBancorFormula.json b/templates/multisig/build/contracts/IBancorFormula.json deleted file mode 100644 index 4be74a3..0000000 --- a/templates/multisig/build/contracts/IBancorFormula.json +++ /dev/null @@ -1,1213 +0,0 @@ -{ - "contractName": "IBancorFormula", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_depositAmount", - "type": "uint256" - } - ], - "name": "calculatePurchaseReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_supply", - "type": "uint256" - }, - { - "name": "_connectorBalance", - "type": "uint256" - }, - { - "name": "_connectorWeight", - "type": "uint32" - }, - { - "name": "_sellAmount", - "type": "uint256" - } - ], - "name": "calculateSaleReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_fromConnectorBalance", - "type": "uint256" - }, - { - "name": "_fromConnectorWeight", - "type": "uint32" - }, - { - "name": "_toConnectorBalance", - "type": "uint256" - }, - { - "name": "_toConnectorWeight", - "type": "uint32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "calculateCrossConnectorReturn", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n/*\n Bancor Formula interface\n*/\ncontract IBancorFormula {\n function calculatePurchaseReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _depositAmount) public view returns (uint256);\n function calculateSaleReturn(uint256 _supply, uint256 _connectorBalance, uint32 _connectorWeight, uint256 _sellAmount) public view returns (uint256);\n function calculateCrossConnectorReturn(uint256 _fromConnectorBalance, uint32 _fromConnectorWeight, uint256 _toConnectorBalance, uint32 _toConnectorWeight, uint256 _amount) public view returns (uint256);\n}", - "sourcePath": "@ablack/fundraising-bancor-formula/contracts/interfaces/IBancorFormula.sol", - "ast": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/interfaces/IBancorFormula.sol", - "exportedSymbols": { - "IBancorFormula": [ - 5841 - ] - }, - "id": 5842, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5799, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 5841, - "linearizedBaseContracts": [ - 5841 - ], - "name": "IBancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 5812, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5801, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "123:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "123:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5803, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "140:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "140:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5805, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "167:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5804, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "167:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5807, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "192:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:93:5" - }, - "payable": false, - "returnParameters": { - "id": 5811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5810, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "237:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:9:5" - }, - "scope": 5841, - "src": "90:156:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 5825, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5814, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "280:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5816, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "297:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5818, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "324:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5817, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "324:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5820, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "349:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "279:90:5" - }, - "payable": false, - "returnParameters": { - "id": 5824, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5823, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "391:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "391:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "390:9:5" - }, - "scope": 5841, - "src": "251:149:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 5840, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5827, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "444:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "444:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5829, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "475:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5828, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "475:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5831, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "504:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5833, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "533:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5832, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "533:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5835, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "560:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:133:5" - }, - "payable": false, - "returnParameters": { - "id": 5839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5838, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "598:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "598:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "597:9:5" - }, - "scope": 5841, - "src": "405:202:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 5842, - "src": "60:549:5" - } - ], - "src": "0:609:5" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/interfaces/IBancorFormula.sol", - "exportedSymbols": { - "IBancorFormula": [ - 5841 - ] - }, - "id": 5842, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5799, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 5841, - "linearizedBaseContracts": [ - 5841 - ], - "name": "IBancorFormula", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 5812, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculatePurchaseReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5801, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "123:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "123:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5803, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "140:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "140:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5805, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "167:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5804, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "167:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5807, - "name": "_depositAmount", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "192:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:93:5" - }, - "payable": false, - "returnParameters": { - "id": 5811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5810, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5812, - "src": "237:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:9:5" - }, - "scope": 5841, - "src": "90:156:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 5825, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateSaleReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5814, - "name": "_supply", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "280:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5816, - "name": "_connectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "297:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5818, - "name": "_connectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "324:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5817, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "324:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5820, - "name": "_sellAmount", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "349:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "279:90:5" - }, - "payable": false, - "returnParameters": { - "id": 5824, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5823, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5825, - "src": "391:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "391:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "390:9:5" - }, - "scope": 5841, - "src": "251:149:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 5840, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "calculateCrossConnectorReturn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5827, - "name": "_fromConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "444:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "444:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5829, - "name": "_fromConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "475:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5828, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "475:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5831, - "name": "_toConnectorBalance", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "504:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5833, - "name": "_toConnectorWeight", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "533:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5832, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "533:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5835, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "560:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:133:5" - }, - "payable": false, - "returnParameters": { - "id": 5839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5838, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5840, - "src": "598:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "598:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "597:9:5" - }, - "scope": 5841, - "src": "405:202:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 5842, - "src": "60:549:5" - } - ], - "src": "0:609:5" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.212Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IERC165.json b/templates/multisig/build/contracts/IERC165.json deleted file mode 100644 index 7f7f1c8..0000000 --- a/templates/multisig/build/contracts/IERC165.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "contractName": "IERC165", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n\ninterface IERC165 {\n function supportsInterface(bytes4 interfaceId) external pure returns (bool);\n}\n", - "sourcePath": "@aragon/apps-agent/contracts/standards/IERC165.sol", - "ast": { - "absolutePath": "@aragon/apps-agent/contracts/standards/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 11973 - ] - }, - "id": 11974, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11965, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 11973, - "linearizedBaseContracts": [ - 11973 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 11972, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11967, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 11972, - "src": "77:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11966, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "77:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "76:20:16" - }, - "payable": false, - "returnParameters": { - "id": 11971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11972, - "src": "120:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11969, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "120:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "119:6:16" - }, - "scope": 11973, - "src": "50:76:16", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 11974, - "src": "26:102:16" - } - ], - "src": "0:129:16" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-agent/contracts/standards/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 11973 - ] - }, - "id": 11974, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11965, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 11973, - "linearizedBaseContracts": [ - 11973 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 11972, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11967, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 11972, - "src": "77:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11966, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "77:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "76:20:16" - }, - "payable": false, - "returnParameters": { - "id": 11971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11972, - "src": "120:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11969, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "120:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "119:6:16" - }, - "scope": 11973, - "src": "50:76:16", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 11974, - "src": "26:102:16" - } - ], - "src": "0:129:16" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.195Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IEVMScriptExecutor.json b/templates/multisig/build/contracts/IEVMScriptExecutor.json deleted file mode 100644 index f3c57ab..0000000 --- a/templates/multisig/build/contracts/IEVMScriptExecutor.json +++ /dev/null @@ -1,543 +0,0 @@ -{ - "contractName": "IEVMScriptExecutor", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "script", - "type": "bytes" - }, - { - "name": "input", - "type": "bytes" - }, - { - "name": "blacklist", - "type": "address[]" - } - ], - "name": "execScript", - "outputs": [ - { - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "executorType", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ninterface IEVMScriptExecutor {\n function execScript(bytes script, bytes input, address[] blacklist) external returns (bytes);\n function executorType() external pure returns (bytes32);\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "exportedSymbols": { - "IEVMScriptExecutor": [ - 25131 - ] - }, - "id": 25132, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25113, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:61" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25131, - "linearizedBaseContracts": [ - 25131 - ], - "name": "IEVMScriptExecutor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25125, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "execScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25115, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "126:12:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25114, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "126:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25117, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "140:11:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25116, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "140:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25120, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "153:19:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "153:7:61", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "153:9:61", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "125:48:61" - }, - "payable": false, - "returnParameters": { - "id": 25124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25123, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "192:5:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25122, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "192:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "191:7:61" - }, - "scope": 25131, - "src": "106:93:61", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25130, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "executorType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25126, - "nodeType": "ParameterList", - "parameters": [], - "src": "225:2:61" - }, - "payable": false, - "returnParameters": { - "id": 25129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25128, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25130, - "src": "251:7:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25127, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "251:7:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "250:9:61" - }, - "scope": 25131, - "src": "204:56:61", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 25132, - "src": "71:191:61" - } - ], - "src": "44:219:61" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "exportedSymbols": { - "IEVMScriptExecutor": [ - 25131 - ] - }, - "id": 25132, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25113, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:61" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25131, - "linearizedBaseContracts": [ - 25131 - ], - "name": "IEVMScriptExecutor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25125, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "execScript", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25115, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "126:12:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25114, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "126:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25117, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "140:11:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25116, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "140:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25120, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "153:19:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 25118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "153:7:61", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 25119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "153:9:61", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "125:48:61" - }, - "payable": false, - "returnParameters": { - "id": 25124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25123, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25125, - "src": "192:5:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25122, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "192:5:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "191:7:61" - }, - "scope": 25131, - "src": "106:93:61", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25130, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "executorType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25126, - "nodeType": "ParameterList", - "parameters": [], - "src": "225:2:61" - }, - "payable": false, - "returnParameters": { - "id": 25129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25128, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25130, - "src": "251:7:61", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25127, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "251:7:61", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "250:9:61" - }, - "scope": 25131, - "src": "204:56:61", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 25132, - "src": "71:191:61" - } - ], - "src": "44:219:61" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.201Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IEVMScriptRegistry.json b/templates/multisig/build/contracts/IEVMScriptRegistry.json deleted file mode 100644 index a3c1eda..0000000 --- a/templates/multisig/build/contracts/IEVMScriptRegistry.json +++ /dev/null @@ -1,752 +0,0 @@ -{ - "contractName": "IEVMScriptRegistry", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "executor", - "type": "address" - } - ], - "name": "addScriptExecutor", - "outputs": [ - { - "name": "id", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "executorId", - "type": "uint256" - } - ], - "name": "disableScriptExecutor", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "script", - "type": "bytes" - } - ], - "name": "getScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./IEVMScriptExecutor.sol\";\n\n\ncontract EVMScriptRegistryConstants {\n /* Hardcoded constants to save gas\n bytes32 internal constant EVMSCRIPT_REGISTRY_APP_ID = apmNamehash(\"evmreg\");\n */\n bytes32 internal constant EVMSCRIPT_REGISTRY_APP_ID = 0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61;\n}\n\n\ninterface IEVMScriptRegistry {\n function addScriptExecutor(IEVMScriptExecutor executor) external returns (uint id);\n function disableScriptExecutor(uint256 executorId) external;\n\n // TODO: this should be external\n // See https://github.com/ethereum/solidity/issues/4832\n function getScriptExecutor(bytes script) public view returns (IEVMScriptExecutor);\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistryConstants": [ - 25138 - ], - "IEVMScriptRegistry": [ - 25158 - ] - }, - "id": 25159, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25133, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:62" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 25134, - "nodeType": "ImportDirective", - "scope": 25159, - "sourceUnit": 25132, - "src": "70:34:62", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25138, - "linearizedBaseContracts": [ - 25138 - ], - "name": "EVMScriptRegistryConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25137, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 25138, - "src": "276:120:62", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "276:7:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864646263666435363466363432616235363237636636386239623764333734666234663861333665393431613735643839633837393938636566303362643631", - "id": 25136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "330:66:62", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100295055253822236757776785641620620126240610315818972729696126418245724126561_by_1", - "typeString": "int_const 1002...(70 digits omitted)...6561" - }, - "value": "0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61" - }, - "visibility": "internal" - } - ], - "scope": 25159, - "src": "107:292:62" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25158, - "linearizedBaseContracts": [ - 25158 - ], - "name": "IEVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25145, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25140, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "464:27:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25139, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "464:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:29:62" - }, - "payable": false, - "returnParameters": { - "id": 25144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25143, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "511:7:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25142, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "511:4:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:9:62" - }, - "scope": 25158, - "src": "437:83:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25150, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25147, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 25150, - "src": "556:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "555:20:62" - }, - "payable": false, - "returnParameters": { - "id": 25149, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:62" - }, - "scope": 25158, - "src": "525:60:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25157, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25152, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "715:12:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25151, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "715:5:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "714:14:62" - }, - "payable": false, - "returnParameters": { - "id": 25156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25155, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "750:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25154, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "750:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "749:20:62" - }, - "scope": 25158, - "src": "688:82:62", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25159, - "src": "402:370:62" - } - ], - "src": "44:729:62" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol", - "exportedSymbols": { - "EVMScriptRegistryConstants": [ - 25138 - ], - "IEVMScriptRegistry": [ - 25158 - ] - }, - "id": 25159, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25133, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:62" - }, - { - "absolutePath": "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol", - "file": "./IEVMScriptExecutor.sol", - "id": 25134, - "nodeType": "ImportDirective", - "scope": 25159, - "sourceUnit": 25132, - "src": "70:34:62", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 25138, - "linearizedBaseContracts": [ - 25138 - ], - "name": "EVMScriptRegistryConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 25137, - "name": "EVMSCRIPT_REGISTRY_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 25138, - "src": "276:120:62", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25135, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "276:7:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864646263666435363466363432616235363237636636386239623764333734666234663861333665393431613735643839633837393938636566303362643631", - "id": 25136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "330:66:62", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100295055253822236757776785641620620126240610315818972729696126418245724126561_by_1", - "typeString": "int_const 1002...(70 digits omitted)...6561" - }, - "value": "0xddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd61" - }, - "visibility": "internal" - } - ], - "scope": 25159, - "src": "107:292:62" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 25158, - "linearizedBaseContracts": [ - 25158 - ], - "name": "IEVMScriptRegistry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 25145, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25140, - "name": "executor", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "464:27:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25139, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "464:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:29:62" - }, - "payable": false, - "returnParameters": { - "id": 25144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25143, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 25145, - "src": "511:7:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25142, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "511:4:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "510:9:62" - }, - "scope": 25158, - "src": "437:83:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25150, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "disableScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25147, - "name": "executorId", - "nodeType": "VariableDeclaration", - "scope": 25150, - "src": "556:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:62", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "555:20:62" - }, - "payable": false, - "returnParameters": { - "id": 25149, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:62" - }, - "scope": 25158, - "src": "525:60:62", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 25157, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getScriptExecutor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25152, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "715:12:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25151, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "715:5:62", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "714:14:62" - }, - "payable": false, - "returnParameters": { - "id": 25156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25155, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25157, - "src": "750:18:62", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - }, - "typeName": { - "contractScope": null, - "id": 25154, - "name": "IEVMScriptExecutor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25131, - "src": "750:18:62", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEVMScriptExecutor_$25131", - "typeString": "contract IEVMScriptExecutor" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "749:20:62" - }, - "scope": 25158, - "src": "688:82:62", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 25159, - "src": "402:370:62" - } - ], - "src": "44:729:62" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.207Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IFIFSResolvingRegistrar.json b/templates/multisig/build/contracts/IFIFSResolvingRegistrar.json deleted file mode 100644 index 17f6a1f..0000000 --- a/templates/multisig/build/contracts/IFIFSResolvingRegistrar.json +++ /dev/null @@ -1,544 +0,0 @@ -{ - "contractName": "IFIFSResolvingRegistrar", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_subnode", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_subnode", - "type": "bytes32" - }, - { - "name": "_owner", - "type": "address" - }, - { - "name": "_resolver", - "type": "address" - } - ], - "name": "registerWithResolver", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\nimport \"./ens/IPublicResolver.sol\";\n\n\ninterface IFIFSResolvingRegistrar {\n function register(bytes32 _subnode, address _owner) external;\n function registerWithResolver(bytes32 _subnode, address _owner, IPublicResolver _resolver) public;\n}\n", - "sourcePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "ast": { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "exportedSymbols": { - "IFIFSResolvingRegistrar": [ - 20478 - ] - }, - "id": 20479, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20460, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:26" - }, - { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "file": "./ens/IPublicResolver.sol", - "id": 20461, - "nodeType": "ImportDirective", - "scope": 20479, - "sourceUnit": 20517, - "src": "25:35:26", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 20478, - "linearizedBaseContracts": [ - 20478 - ], - "name": "IFIFSResolvingRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 20468, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "register", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20463, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20468, - "src": "121:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20462, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "121:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20465, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20468, - "src": "139:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "120:34:26" - }, - "payable": false, - "returnParameters": { - "id": 20467, - "nodeType": "ParameterList", - "parameters": [], - "src": "163:0:26" - }, - "scope": 20478, - "src": "103:61:26", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 20477, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerWithResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20470, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "199:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20469, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "199:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20472, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "217:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20471, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "217:7:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20474, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "233:25:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20473, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "233:15:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "198:61:26" - }, - "payable": false, - "returnParameters": { - "id": 20476, - "nodeType": "ParameterList", - "parameters": [], - "src": "266:0:26" - }, - "scope": 20478, - "src": "169:98:26", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 20479, - "src": "63:206:26" - } - ], - "src": "0:270:26" - }, - "legacyAST": { - "absolutePath": "@aragon/id/contracts/IFIFSResolvingRegistrar.sol", - "exportedSymbols": { - "IFIFSResolvingRegistrar": [ - 20478 - ] - }, - "id": 20479, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20460, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:26" - }, - { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "file": "./ens/IPublicResolver.sol", - "id": 20461, - "nodeType": "ImportDirective", - "scope": 20479, - "sourceUnit": 20517, - "src": "25:35:26", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 20478, - "linearizedBaseContracts": [ - 20478 - ], - "name": "IFIFSResolvingRegistrar", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 20468, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "register", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20463, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20468, - "src": "121:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20462, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "121:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20465, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20468, - "src": "139:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "120:34:26" - }, - "payable": false, - "returnParameters": { - "id": 20467, - "nodeType": "ParameterList", - "parameters": [], - "src": "163:0:26" - }, - "scope": 20478, - "src": "103:61:26", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 20477, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerWithResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20470, - "name": "_subnode", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "199:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20469, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "199:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20472, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "217:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20471, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "217:7:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20474, - "name": "_resolver", - "nodeType": "VariableDeclaration", - "scope": 20477, - "src": "233:25:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - }, - "typeName": { - "contractScope": null, - "id": 20473, - "name": "IPublicResolver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 20516, - "src": "233:15:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPublicResolver_$20516", - "typeString": "contract IPublicResolver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "198:61:26" - }, - "payable": false, - "returnParameters": { - "id": 20476, - "nodeType": "ParameterList", - "parameters": [], - "src": "266:0:26" - }, - "scope": 20478, - "src": "169:98:26", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 20479, - "src": "63:206:26" - } - ], - "src": "0:270:26" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.199Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IFeed.json b/templates/multisig/build/contracts/IFeed.json deleted file mode 100644 index 7e70bbd..0000000 --- a/templates/multisig/build/contracts/IFeed.json +++ /dev/null @@ -1,523 +0,0 @@ -{ - "contractName": "IFeed", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "ratePrecision", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "base", - "type": "address" - }, - { - "name": "quote", - "type": "address" - } - ], - "name": "get", - "outputs": [ - { - "name": "xrt", - "type": "uint128" - }, - { - "name": "when", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.18;\n\ninterface IFeed {\n function ratePrecision() external pure returns (uint256);\n function get(address base, address quote) external view returns (uint128 xrt, uint64 when);\n}\n", - "sourcePath": "@aragon/ppf-contracts/contracts/IFeed.sol", - "ast": { - "absolutePath": "@aragon/ppf-contracts/contracts/IFeed.sol", - "exportedSymbols": { - "IFeed": [ - 28118 - ] - }, - "id": 28119, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28101, - "literals": [ - "solidity", - "^", - "0.4", - ".18" - ], - "nodeType": "PragmaDirective", - "src": "0:24:83" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 28118, - "linearizedBaseContracts": [ - 28118 - ], - "name": "IFeed", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 28106, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ratePrecision", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28102, - "nodeType": "ParameterList", - "parameters": [], - "src": "70:2:83" - }, - "payable": false, - "returnParameters": { - "id": 28105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28104, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28106, - "src": "96:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "96:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "95:9:83" - }, - "scope": 28118, - "src": "48:57:83", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 28117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28108, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "123:12:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "123:7:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28110, - "name": "quote", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "137:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "137:7:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:29:83" - }, - "payable": false, - "returnParameters": { - "id": 28116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28113, - "name": "xrt", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "175:11:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 28112, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "175:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28115, - "name": "when", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "188:11:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28114, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "188:6:83", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "174:26:83" - }, - "scope": 28118, - "src": "110:91:83", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28119, - "src": "26:177:83" - } - ], - "src": "0:204:83" - }, - "legacyAST": { - "absolutePath": "@aragon/ppf-contracts/contracts/IFeed.sol", - "exportedSymbols": { - "IFeed": [ - 28118 - ] - }, - "id": 28119, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 28101, - "literals": [ - "solidity", - "^", - "0.4", - ".18" - ], - "nodeType": "PragmaDirective", - "src": "0:24:83" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 28118, - "linearizedBaseContracts": [ - 28118 - ], - "name": "IFeed", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 28106, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ratePrecision", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28102, - "nodeType": "ParameterList", - "parameters": [], - "src": "70:2:83" - }, - "payable": false, - "returnParameters": { - "id": 28105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28104, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28106, - "src": "96:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "96:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "95:9:83" - }, - "scope": 28118, - "src": "48:57:83", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 28117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28108, - "name": "base", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "123:12:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "123:7:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28110, - "name": "quote", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "137:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "137:7:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:29:83" - }, - "payable": false, - "returnParameters": { - "id": 28116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28113, - "name": "xrt", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "175:11:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 28112, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "175:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28115, - "name": "when", - "nodeType": "VariableDeclaration", - "scope": 28117, - "src": "188:11:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 28114, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "188:6:83", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "174:26:83" - }, - "scope": 28118, - "src": "110:91:83", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28119, - "src": "26:177:83" - } - ], - "src": "0:204:83" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.197Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IForwarder.json b/templates/multisig/build/contracts/IForwarder.json deleted file mode 100644 index 6bbe398..0000000 --- a/templates/multisig/build/contracts/IForwarder.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "contractName": "IForwarder", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "isForwarder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "sender", - "type": "address" - }, - { - "name": "evmCallScript", - "type": "bytes" - } - ], - "name": "canForward", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "evmCallScript", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ninterface IForwarder {\n function isForwarder() external pure returns (bool);\n\n // TODO: this should be external\n // See https://github.com/ethereum/solidity/issues/4832\n function canForward(address sender, bytes evmCallScript) public view returns (bool);\n\n // TODO: this should be external\n // See https://github.com/ethereum/solidity/issues/4832\n function forward(bytes evmCallScript) public;\n}\n", - "sourcePath": "@aragon/os/contracts/common/IForwarder.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "exportedSymbols": { - "IForwarder": [ - 23671 - ] - }, - "id": 23672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23651, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:46" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 23671, - "linearizedBaseContracts": [ - 23671 - ], - "name": "IForwarder", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 23656, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23652, - "nodeType": "ParameterList", - "parameters": [], - "src": "118:2:46" - }, - "payable": false, - "returnParameters": { - "id": 23655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23654, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23656, - "src": "144:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23653, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "144:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "143:6:46" - }, - "scope": 23671, - "src": "98:52:46", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23665, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23658, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "273:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23660, - "name": "evmCallScript", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "289:19:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23659, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "289:5:46", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:37:46" - }, - "payable": false, - "returnParameters": { - "id": 23664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23663, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "331:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23662, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "331:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "330:6:46" - }, - "scope": 23671, - "src": "253:84:46", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 23670, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23667, - "name": "evmCallScript", - "nodeType": "VariableDeclaration", - "scope": 23670, - "src": "457:19:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23666, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "457:5:46", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "456:21:46" - }, - "payable": false, - "returnParameters": { - "id": 23669, - "nodeType": "ParameterList", - "parameters": [], - "src": "484:0:46" - }, - "scope": 23671, - "src": "440:45:46", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 23672, - "src": "71:416:46" - } - ], - "src": "44:444:46" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "exportedSymbols": { - "IForwarder": [ - 23671 - ] - }, - "id": 23672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23651, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:46" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 23671, - "linearizedBaseContracts": [ - 23671 - ], - "name": "IForwarder", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 23656, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23652, - "nodeType": "ParameterList", - "parameters": [], - "src": "118:2:46" - }, - "payable": false, - "returnParameters": { - "id": 23655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23654, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23656, - "src": "144:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23653, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "144:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "143:6:46" - }, - "scope": 23671, - "src": "98:52:46", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23665, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23658, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "273:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23660, - "name": "evmCallScript", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "289:19:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23659, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "289:5:46", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:37:46" - }, - "payable": false, - "returnParameters": { - "id": 23664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23663, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23665, - "src": "331:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23662, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "331:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "330:6:46" - }, - "scope": 23671, - "src": "253:84:46", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 23670, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23667, - "name": "evmCallScript", - "nodeType": "VariableDeclaration", - "scope": 23670, - "src": "457:19:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23666, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "457:5:46", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "456:21:46" - }, - "payable": false, - "returnParameters": { - "id": 23669, - "nodeType": "ParameterList", - "parameters": [], - "src": "484:0:46" - }, - "scope": 23671, - "src": "440:45:46", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 23672, - "src": "71:416:46" - } - ], - "src": "44:444:46" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.200Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IKernel.json b/templates/multisig/build/contracts/IKernel.json deleted file mode 100644 index c090f02..0000000 --- a/templates/multisig/build/contracts/IKernel.json +++ /dev/null @@ -1,1513 +0,0 @@ -{ - "contractName": "IKernel", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "namespace", - "type": "bytes32" - }, - { - "indexed": true, - "name": "appId", - "type": "bytes32" - }, - { - "indexed": false, - "name": "app", - "type": "address" - } - ], - "name": "SetApp", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "acl", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "who", - "type": "address" - }, - { - "name": "where", - "type": "address" - }, - { - "name": "what", - "type": "bytes32" - }, - { - "name": "how", - "type": "bytes" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "namespace", - "type": "bytes32" - }, - { - "name": "appId", - "type": "bytes32" - }, - { - "name": "app", - "type": "address" - } - ], - "name": "setApp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "namespace", - "type": "bytes32" - }, - { - "name": "appId", - "type": "bytes32" - } - ], - "name": "getApp", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../acl/IACL.sol\";\nimport \"../common/IVaultRecoverable.sol\";\n\n\ninterface IKernelEvents {\n event SetApp(bytes32 indexed namespace, bytes32 indexed appId, address app);\n}\n\n\n// This should be an interface, but interfaces can't inherit yet :(\ncontract IKernel is IKernelEvents, IVaultRecoverable {\n function acl() public view returns (IACL);\n function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);\n\n function setApp(bytes32 namespace, bytes32 appId, address app) public;\n function getApp(bytes32 namespace, bytes32 appId) public view returns (address);\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/IKernel.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "exportedSymbols": { - "IKernel": [ - 26405 - ], - "IKernelEvents": [ - 26364 - ] - }, - "id": 26406, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26353, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:71" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26354, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 22333, - "src": "70:25:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "../common/IVaultRecoverable.sol", - "id": 26355, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 23700, - "src": "96:41:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": true, - "id": 26364, - "linearizedBaseContracts": [ - 26364 - ], - "name": "IKernelEvents", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26363, - "name": "SetApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 26362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26357, - "indexed": true, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "183:25:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "183:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26359, - "indexed": true, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "210:21:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26361, - "indexed": false, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "233:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:63:71" - }, - "src": "170:76:71" - } - ], - "scope": 26406, - "src": "140:108:71" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26365, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "339:13:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26366, - "nodeType": "InheritanceSpecifier", - "src": "339:13:71" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26367, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "354:17:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 26368, - "nodeType": "InheritanceSpecifier", - "src": "354:17:71" - } - ], - "contractDependencies": [ - 23699, - 26364 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 26405, - "linearizedBaseContracts": [ - 26405, - 23699, - 26364 - ], - "name": "IKernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 26373, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26369, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:71" - }, - "payable": false, - "returnParameters": { - "id": 26372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26371, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26373, - "src": "414:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26370, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "414:4:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:6:71" - }, - "scope": 26405, - "src": "378:42:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26386, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26375, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "448:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26377, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "461:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "461:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26379, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "476:12:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26378, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "476:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26381, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "490:9:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "490:5:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:53:71" - }, - "payable": false, - "returnParameters": { - "id": 26385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "522:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "522:4:71", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "521:6:71" - }, - "scope": 26405, - "src": "425:103:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26395, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26388, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "550:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "550:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26390, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "569:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "569:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26392, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "584:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "584:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:47:71" - }, - "payable": false, - "returnParameters": { - "id": 26394, - "nodeType": "ParameterList", - "parameters": [], - "src": "603:0:71" - }, - "scope": 26405, - "src": "534:70:71", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26404, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26397, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "625:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "625:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26399, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "644:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:34:71" - }, - "payable": false, - "returnParameters": { - "id": 26403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "680:7:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:9:71" - }, - "scope": 26405, - "src": "609:80:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26406, - "src": "319:372:71" - } - ], - "src": "44:648:71" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "exportedSymbols": { - "IKernel": [ - 26405 - ], - "IKernelEvents": [ - 26364 - ] - }, - "id": 26406, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26353, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:71" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26354, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 22333, - "src": "70:25:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "../common/IVaultRecoverable.sol", - "id": 26355, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 23700, - "src": "96:41:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": true, - "id": 26364, - "linearizedBaseContracts": [ - 26364 - ], - "name": "IKernelEvents", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26363, - "name": "SetApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 26362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26357, - "indexed": true, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "183:25:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "183:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26359, - "indexed": true, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "210:21:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26361, - "indexed": false, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "233:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:63:71" - }, - "src": "170:76:71" - } - ], - "scope": 26406, - "src": "140:108:71" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26365, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "339:13:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26366, - "nodeType": "InheritanceSpecifier", - "src": "339:13:71" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26367, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "354:17:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 26368, - "nodeType": "InheritanceSpecifier", - "src": "354:17:71" - } - ], - "contractDependencies": [ - 23699, - 26364 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 26405, - "linearizedBaseContracts": [ - 26405, - 23699, - 26364 - ], - "name": "IKernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 26373, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26369, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:71" - }, - "payable": false, - "returnParameters": { - "id": 26372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26371, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26373, - "src": "414:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26370, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "414:4:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:6:71" - }, - "scope": 26405, - "src": "378:42:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26386, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26375, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "448:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26377, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "461:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "461:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26379, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "476:12:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26378, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "476:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26381, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "490:9:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "490:5:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:53:71" - }, - "payable": false, - "returnParameters": { - "id": 26385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "522:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "522:4:71", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "521:6:71" - }, - "scope": 26405, - "src": "425:103:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26395, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26388, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "550:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "550:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26390, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "569:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "569:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26392, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "584:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "584:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:47:71" - }, - "payable": false, - "returnParameters": { - "id": 26394, - "nodeType": "ParameterList", - "parameters": [], - "src": "603:0:71" - }, - "scope": 26405, - "src": "534:70:71", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26404, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26397, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "625:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "625:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26399, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "644:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:34:71" - }, - "payable": false, - "returnParameters": { - "id": 26403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "680:7:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:9:71" - }, - "scope": 26405, - "src": "609:80:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26406, - "src": "319:372:71" - } - ], - "src": "44:648:71" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.217Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IKernelEvents.json b/templates/multisig/build/contracts/IKernelEvents.json deleted file mode 100644 index 3523f7e..0000000 --- a/templates/multisig/build/contracts/IKernelEvents.json +++ /dev/null @@ -1,1354 +0,0 @@ -{ - "contractName": "IKernelEvents", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "namespace", - "type": "bytes32" - }, - { - "indexed": true, - "name": "appId", - "type": "bytes32" - }, - { - "indexed": false, - "name": "app", - "type": "address" - } - ], - "name": "SetApp", - "type": "event" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058205563ad51edc20a3e0196b18457321cc8171fc7e6b58c93dbb1bb66679ba9d4bd0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058205563ad51edc20a3e0196b18457321cc8171fc7e6b58c93dbb1bb66679ba9d4bd0029", - "sourceMap": "140:108:71:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;140:108:71;;;;;;;", - "deployedSourceMap": "140:108:71:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../acl/IACL.sol\";\nimport \"../common/IVaultRecoverable.sol\";\n\n\ninterface IKernelEvents {\n event SetApp(bytes32 indexed namespace, bytes32 indexed appId, address app);\n}\n\n\n// This should be an interface, but interfaces can't inherit yet :(\ncontract IKernel is IKernelEvents, IVaultRecoverable {\n function acl() public view returns (IACL);\n function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);\n\n function setApp(bytes32 namespace, bytes32 appId, address app) public;\n function getApp(bytes32 namespace, bytes32 appId) public view returns (address);\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/IKernel.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "exportedSymbols": { - "IKernel": [ - 26405 - ], - "IKernelEvents": [ - 26364 - ] - }, - "id": 26406, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26353, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:71" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26354, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 22333, - "src": "70:25:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "../common/IVaultRecoverable.sol", - "id": 26355, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 23700, - "src": "96:41:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": true, - "id": 26364, - "linearizedBaseContracts": [ - 26364 - ], - "name": "IKernelEvents", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26363, - "name": "SetApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 26362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26357, - "indexed": true, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "183:25:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "183:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26359, - "indexed": true, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "210:21:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26361, - "indexed": false, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "233:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:63:71" - }, - "src": "170:76:71" - } - ], - "scope": 26406, - "src": "140:108:71" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26365, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "339:13:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26366, - "nodeType": "InheritanceSpecifier", - "src": "339:13:71" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26367, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "354:17:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 26368, - "nodeType": "InheritanceSpecifier", - "src": "354:17:71" - } - ], - "contractDependencies": [ - 23699, - 26364 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 26405, - "linearizedBaseContracts": [ - 26405, - 23699, - 26364 - ], - "name": "IKernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 26373, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26369, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:71" - }, - "payable": false, - "returnParameters": { - "id": 26372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26371, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26373, - "src": "414:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26370, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "414:4:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:6:71" - }, - "scope": 26405, - "src": "378:42:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26386, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26375, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "448:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26377, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "461:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "461:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26379, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "476:12:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26378, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "476:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26381, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "490:9:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "490:5:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:53:71" - }, - "payable": false, - "returnParameters": { - "id": 26385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "522:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "522:4:71", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "521:6:71" - }, - "scope": 26405, - "src": "425:103:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26395, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26388, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "550:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "550:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26390, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "569:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "569:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26392, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "584:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "584:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:47:71" - }, - "payable": false, - "returnParameters": { - "id": 26394, - "nodeType": "ParameterList", - "parameters": [], - "src": "603:0:71" - }, - "scope": 26405, - "src": "534:70:71", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26404, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26397, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "625:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "625:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26399, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "644:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:34:71" - }, - "payable": false, - "returnParameters": { - "id": 26403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "680:7:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:9:71" - }, - "scope": 26405, - "src": "609:80:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26406, - "src": "319:372:71" - } - ], - "src": "44:648:71" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "exportedSymbols": { - "IKernel": [ - 26405 - ], - "IKernelEvents": [ - 26364 - ] - }, - "id": 26406, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26353, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:71" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26354, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 22333, - "src": "70:25:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "../common/IVaultRecoverable.sol", - "id": 26355, - "nodeType": "ImportDirective", - "scope": 26406, - "sourceUnit": 23700, - "src": "96:41:71", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": true, - "id": 26364, - "linearizedBaseContracts": [ - 26364 - ], - "name": "IKernelEvents", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 26363, - "name": "SetApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 26362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26357, - "indexed": true, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "183:25:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "183:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26359, - "indexed": true, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "210:21:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26361, - "indexed": false, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26363, - "src": "233:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "182:63:71" - }, - "src": "170:76:71" - } - ], - "scope": 26406, - "src": "140:108:71" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26365, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "339:13:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26366, - "nodeType": "InheritanceSpecifier", - "src": "339:13:71" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26367, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "354:17:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 26368, - "nodeType": "InheritanceSpecifier", - "src": "354:17:71" - } - ], - "contractDependencies": [ - 23699, - 26364 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 26405, - "linearizedBaseContracts": [ - 26405, - 23699, - 26364 - ], - "name": "IKernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 26373, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26369, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:71" - }, - "payable": false, - "returnParameters": { - "id": 26372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26371, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26373, - "src": "414:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26370, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "414:4:71", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:6:71" - }, - "scope": 26405, - "src": "378:42:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26386, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26375, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "448:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "448:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26377, - "name": "where", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "461:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "461:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26379, - "name": "what", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "476:12:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26378, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "476:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26381, - "name": "how", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "490:9:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "490:5:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "447:53:71" - }, - "payable": false, - "returnParameters": { - "id": 26385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26386, - "src": "522:4:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "522:4:71", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "521:6:71" - }, - "scope": 26405, - "src": "425:103:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26395, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26388, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "550:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26387, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "550:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26390, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "569:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "569:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26392, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26395, - "src": "584:11:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "584:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:47:71" - }, - "payable": false, - "returnParameters": { - "id": 26394, - "nodeType": "ParameterList", - "parameters": [], - "src": "603:0:71" - }, - "scope": 26405, - "src": "534:70:71", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 26404, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26397, - "name": "namespace", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "625:17:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26396, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "625:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26399, - "name": "appId", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "644:13:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:71", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:34:71" - }, - "payable": false, - "returnParameters": { - "id": 26403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26402, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26404, - "src": "680:7:71", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:71", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:9:71" - }, - "scope": 26405, - "src": "609:80:71", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 26406, - "src": "319:372:71" - } - ], - "src": "44:648:71" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.217Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IPresale.json b/templates/multisig/build/contracts/IPresale.json deleted file mode 100644 index 1a3fa86..0000000 --- a/templates/multisig/build/contracts/IPresale.json +++ /dev/null @@ -1,907 +0,0 @@ -{ - "contractName": "IPresale", - "abi": [ - { - "constant": false, - "inputs": [], - "name": "open", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "close", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_contributor", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "contribute", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_contributor", - "type": "address" - }, - { - "name": "_vestedPurchaseId", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_value", - "type": "uint256" - } - ], - "name": "contributionToTokens", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "contributionToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n\ncontract IPresale {\n function open() external;\n function close() external;\n function contribute(address _contributor, uint256 _value) external payable;\n function refund(address _contributor, uint256 _vestedPurchaseId) external;\n function contributionToTokens(uint256 _value) public view returns (uint256);\n function contributionToken() public view returns (address);\n }", - "sourcePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "ast": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "exportedSymbols": { - "IPresale": [ - 9641 - ] - }, - "id": 9642, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9608, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9641, - "linearizedBaseContracts": [ - 9641 - ], - "name": "IPresale", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9611, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9609, - "nodeType": "ParameterList", - "parameters": [], - "src": "63:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9610, - "nodeType": "ParameterList", - "parameters": [], - "src": "74:0:10" - }, - "scope": 9641, - "src": "50:25:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9614, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9612, - "nodeType": "ParameterList", - "parameters": [], - "src": "94:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9613, - "nodeType": "ParameterList", - "parameters": [], - "src": "105:0:10" - }, - "scope": 9641, - "src": "80:26:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9621, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9616, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9621, - "src": "131:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9615, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "131:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9618, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9621, - "src": "153:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9617, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "153:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "130:38:10" - }, - "payable": true, - "returnParameters": { - "id": 9620, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:0:10" - }, - "scope": 9641, - "src": "111:75:10", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9628, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9623, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9628, - "src": "207:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9625, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9628, - "src": "229:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "229:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "206:49:10" - }, - "payable": false, - "returnParameters": { - "id": 9627, - "nodeType": "ParameterList", - "parameters": [], - "src": "264:0:10" - }, - "scope": 9641, - "src": "191:74:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9635, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contributionToTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9630, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9635, - "src": "300:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "300:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "299:16:10" - }, - "payable": false, - "returnParameters": { - "id": 9634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9633, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9635, - "src": "337:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "336:9:10" - }, - "scope": 9641, - "src": "270:76:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9640, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9636, - "nodeType": "ParameterList", - "parameters": [], - "src": "377:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9638, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9640, - "src": "401:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "400:9:10" - }, - "scope": 9641, - "src": "351:59:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9642, - "src": "26:387:10" - } - ], - "src": "0:413:10" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "exportedSymbols": { - "IPresale": [ - 9641 - ] - }, - "id": 9642, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9608, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9641, - "linearizedBaseContracts": [ - 9641 - ], - "name": "IPresale", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9611, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9609, - "nodeType": "ParameterList", - "parameters": [], - "src": "63:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9610, - "nodeType": "ParameterList", - "parameters": [], - "src": "74:0:10" - }, - "scope": 9641, - "src": "50:25:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9614, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9612, - "nodeType": "ParameterList", - "parameters": [], - "src": "94:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9613, - "nodeType": "ParameterList", - "parameters": [], - "src": "105:0:10" - }, - "scope": 9641, - "src": "80:26:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9621, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9616, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9621, - "src": "131:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9615, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "131:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9618, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9621, - "src": "153:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9617, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "153:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "130:38:10" - }, - "payable": true, - "returnParameters": { - "id": 9620, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:0:10" - }, - "scope": 9641, - "src": "111:75:10", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9628, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9623, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9628, - "src": "207:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9625, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9628, - "src": "229:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "229:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "206:49:10" - }, - "payable": false, - "returnParameters": { - "id": 9627, - "nodeType": "ParameterList", - "parameters": [], - "src": "264:0:10" - }, - "scope": 9641, - "src": "191:74:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9635, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contributionToTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9630, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9635, - "src": "300:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "300:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "299:16:10" - }, - "payable": false, - "returnParameters": { - "id": 9634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9633, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9635, - "src": "337:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "336:9:10" - }, - "scope": 9641, - "src": "270:76:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9640, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9636, - "nodeType": "ParameterList", - "parameters": [], - "src": "377:2:10" - }, - "payable": false, - "returnParameters": { - "id": 9639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9638, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9640, - "src": "401:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "400:9:10" - }, - "scope": 9641, - "src": "351:59:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9642, - "src": "26:387:10" - } - ], - "src": "0:413:10" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.203Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IPublicResolver.json b/templates/multisig/build/contracts/IPublicResolver.json deleted file mode 100644 index 401f84f..0000000 --- a/templates/multisig/build/contracts/IPublicResolver.json +++ /dev/null @@ -1,1019 +0,0 @@ -{ - "contractName": "IPublicResolver", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "addr", - "outputs": [ - { - "name": "ret", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "addr", - "type": "address" - } - ], - "name": "setAddr", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "hash", - "outputs": [ - { - "name": "ret", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "hash", - "type": "bytes32" - } - ], - "name": "setHash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.0;\n\n\ninterface IPublicResolver {\n function supportsInterface(bytes4 interfaceID) constant returns (bool);\n function addr(bytes32 node) constant returns (address ret);\n function setAddr(bytes32 node, address addr);\n function hash(bytes32 node) constant returns (bytes32 ret);\n function setHash(bytes32 node, bytes32 hash);\n}\n", - "sourcePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "ast": { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "exportedSymbols": { - "IPublicResolver": [ - 20516 - ] - }, - "id": 20517, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20480, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:27" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 20516, - "linearizedBaseContracts": [ - 20516 - ], - "name": "IPublicResolver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 20487, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20482, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 20487, - "src": "85:18:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 20481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "85:6:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "84:20:27" - }, - "payable": false, - "returnParameters": { - "id": 20486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20487, - "src": "123:4:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "123:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:6:27" - }, - "scope": 20516, - "src": "58:71:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20494, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20489, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20494, - "src": "148:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20488, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "148:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "147:14:27" - }, - "payable": false, - "returnParameters": { - "id": 20493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20492, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 20494, - "src": "180:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "180:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:13:27" - }, - "scope": 20516, - "src": "134:59:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20501, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20496, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20501, - "src": "215:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20495, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "215:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20498, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 20501, - "src": "229:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20497, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "229:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "214:28:27" - }, - "payable": false, - "returnParameters": { - "id": 20500, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:0:27" - }, - "scope": 20516, - "src": "198:45:27", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20508, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20503, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20508, - "src": "262:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20502, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "262:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "261:14:27" - }, - "payable": false, - "returnParameters": { - "id": 20507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20506, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 20508, - "src": "294:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20505, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "294:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:13:27" - }, - "scope": 20516, - "src": "248:59:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20515, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20510, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20515, - "src": "329:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20509, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "329:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20512, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 20515, - "src": "343:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20511, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "343:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "328:28:27" - }, - "payable": false, - "returnParameters": { - "id": 20514, - "nodeType": "ParameterList", - "parameters": [], - "src": "356:0:27" - }, - "scope": 20516, - "src": "312:45:27", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 20517, - "src": "26:333:27" - } - ], - "src": "0:360:27" - }, - "legacyAST": { - "absolutePath": "@aragon/id/contracts/ens/IPublicResolver.sol", - "exportedSymbols": { - "IPublicResolver": [ - 20516 - ] - }, - "id": 20517, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 20480, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:27" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 20516, - "linearizedBaseContracts": [ - 20516 - ], - "name": "IPublicResolver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 20487, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20482, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 20487, - "src": "85:18:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 20481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "85:6:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "84:20:27" - }, - "payable": false, - "returnParameters": { - "id": 20486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20487, - "src": "123:4:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "123:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "122:6:27" - }, - "scope": 20516, - "src": "58:71:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20494, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20489, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20494, - "src": "148:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20488, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "148:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "147:14:27" - }, - "payable": false, - "returnParameters": { - "id": 20493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20492, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 20494, - "src": "180:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "180:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:13:27" - }, - "scope": 20516, - "src": "134:59:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20501, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20496, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20501, - "src": "215:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20495, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "215:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20498, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 20501, - "src": "229:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20497, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "229:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "214:28:27" - }, - "payable": false, - "returnParameters": { - "id": 20500, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:0:27" - }, - "scope": 20516, - "src": "198:45:27", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20508, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20503, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20508, - "src": "262:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20502, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "262:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "261:14:27" - }, - "payable": false, - "returnParameters": { - "id": 20507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20506, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 20508, - "src": "294:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20505, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "294:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:13:27" - }, - "scope": 20516, - "src": "248:59:27", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 20515, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20510, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 20515, - "src": "329:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20509, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "329:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20512, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 20515, - "src": "343:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 20511, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "343:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "328:28:27" - }, - "payable": false, - "returnParameters": { - "id": 20514, - "nodeType": "ParameterList", - "parameters": [], - "src": "356:0:27" - }, - "scope": 20516, - "src": "312:45:27", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 20517, - "src": "26:333:27" - } - ], - "src": "0:360:27" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.205Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ITap.json b/templates/multisig/build/contracts/ITap.json deleted file mode 100644 index a8e3259..0000000 --- a/templates/multisig/build/contracts/ITap.json +++ /dev/null @@ -1,1700 +0,0 @@ -{ - "contractName": "ITap", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "updateBeneficiary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapRateIncreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "addTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "updateTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "resetTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "updateTappedAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "getMaximumWithdrawal", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "rates", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity 0.4.24;\n\n\ncontract ITap {\n function updateBeneficiary(address _beneficiary) external;\n function updateMaximumTapRateIncreasePct(uint256 _maximumTapRateIncreasePct) external;\n function updateMaximumTapFloorDecreasePct(uint256 _maximumTapFloorDecreasePct) external;\n function addTappedToken(address _token, uint256 _rate, uint256 _floor) external;\n function updateTappedToken(address _token, uint256 _rate, uint256 _floor) external;\n function resetTappedToken(address _token) external;\n function updateTappedAmount(address _token) external;\n function withdraw(address _token) external;\n function getMaximumWithdrawal(address _token) public view returns (uint256);\n function rates(address _token) public view returns (uint256);\n }", - "sourcePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "ast": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "exportedSymbols": { - "ITap": [ - 9706 - ] - }, - "id": 9707, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9643, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:11" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9706, - "linearizedBaseContracts": [ - 9706 - ], - "name": "ITap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9648, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9646, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9645, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9648, - "src": "74:20:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "74:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "73:22:11" - }, - "payable": false, - "returnParameters": { - "id": 9647, - "nodeType": "ParameterList", - "parameters": [], - "src": "104:0:11" - }, - "scope": 9706, - "src": "47:58:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9653, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9650, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9653, - "src": "152:34:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "152:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "151:36:11" - }, - "payable": false, - "returnParameters": { - "id": 9652, - "nodeType": "ParameterList", - "parameters": [], - "src": "196:0:11" - }, - "scope": 9706, - "src": "111:86:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9658, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9655, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9658, - "src": "245:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "245:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "244:37:11" - }, - "payable": false, - "returnParameters": { - "id": 9657, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:0:11" - }, - "scope": 9706, - "src": "203:88:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9667, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9665, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9660, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "321:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9662, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "337:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9664, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "352:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "352:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:47:11" - }, - "payable": false, - "returnParameters": { - "id": 9666, - "nodeType": "ParameterList", - "parameters": [], - "src": "376:0:11" - }, - "scope": 9706, - "src": "297:80:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9676, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9669, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "410:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "410:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9671, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "426:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9673, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "441:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "441:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "409:47:11" - }, - "payable": false, - "returnParameters": { - "id": 9675, - "nodeType": "ParameterList", - "parameters": [], - "src": "465:0:11" - }, - "scope": 9706, - "src": "383:83:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9681, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9678, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9681, - "src": "498:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "498:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9680, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:0:11" - }, - "scope": 9706, - "src": "472:51:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9686, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9683, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9686, - "src": "557:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "557:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "556:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9685, - "nodeType": "ParameterList", - "parameters": [], - "src": "581:0:11" - }, - "scope": 9706, - "src": "529:53:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9691, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9688, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9691, - "src": "606:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "606:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "605:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9690, - "nodeType": "ParameterList", - "parameters": [], - "src": "630:0:11" - }, - "scope": 9706, - "src": "588:43:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9698, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9693, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9698, - "src": "667:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "666:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9698, - "src": "704:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "703:9:11" - }, - "scope": 9706, - "src": "637:76:11", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9705, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "rates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9700, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9705, - "src": "734:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "734:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "733:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9705, - "src": "771:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "771:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "770:9:11" - }, - "scope": 9706, - "src": "719:61:11", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9707, - "src": "26:757:11" - } - ], - "src": "0:783:11" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "exportedSymbols": { - "ITap": [ - 9706 - ] - }, - "id": 9707, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9643, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:11" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 9706, - "linearizedBaseContracts": [ - 9706 - ], - "name": "ITap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 9648, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9646, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9645, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9648, - "src": "74:20:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "74:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "73:22:11" - }, - "payable": false, - "returnParameters": { - "id": 9647, - "nodeType": "ParameterList", - "parameters": [], - "src": "104:0:11" - }, - "scope": 9706, - "src": "47:58:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9653, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9650, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9653, - "src": "152:34:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "152:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "151:36:11" - }, - "payable": false, - "returnParameters": { - "id": 9652, - "nodeType": "ParameterList", - "parameters": [], - "src": "196:0:11" - }, - "scope": 9706, - "src": "111:86:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9658, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9655, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9658, - "src": "245:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "245:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "244:37:11" - }, - "payable": false, - "returnParameters": { - "id": 9657, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:0:11" - }, - "scope": 9706, - "src": "203:88:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9667, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9665, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9660, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "321:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9662, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "337:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9664, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 9667, - "src": "352:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "352:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:47:11" - }, - "payable": false, - "returnParameters": { - "id": 9666, - "nodeType": "ParameterList", - "parameters": [], - "src": "376:0:11" - }, - "scope": 9706, - "src": "297:80:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9676, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9669, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "410:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "410:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9671, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "426:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9673, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 9676, - "src": "441:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "441:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "409:47:11" - }, - "payable": false, - "returnParameters": { - "id": 9675, - "nodeType": "ParameterList", - "parameters": [], - "src": "465:0:11" - }, - "scope": 9706, - "src": "383:83:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9681, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9678, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9681, - "src": "498:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "498:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9680, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:0:11" - }, - "scope": 9706, - "src": "472:51:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9686, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9683, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9686, - "src": "557:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "557:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "556:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9685, - "nodeType": "ParameterList", - "parameters": [], - "src": "581:0:11" - }, - "scope": 9706, - "src": "529:53:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9691, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9688, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9691, - "src": "606:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "606:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "605:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9690, - "nodeType": "ParameterList", - "parameters": [], - "src": "630:0:11" - }, - "scope": 9706, - "src": "588:43:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 9698, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9693, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9698, - "src": "667:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "666:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9698, - "src": "704:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "703:9:11" - }, - "scope": 9706, - "src": "637:76:11", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 9705, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "rates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9700, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9705, - "src": "734:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "734:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "733:16:11" - }, - "payable": false, - "returnParameters": { - "id": 9704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9705, - "src": "771:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "771:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "770:9:11" - }, - "scope": 9706, - "src": "719:61:11", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 9707, - "src": "26:757:11" - } - ], - "src": "0:783:11" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.218Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ITokenController.json b/templates/multisig/build/contracts/ITokenController.json deleted file mode 100644 index 1ca9d72..0000000 --- a/templates/multisig/build/contracts/ITokenController.json +++ /dev/null @@ -1,879 +0,0 @@ -{ - "contractName": "ITokenController", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "proxyPayment", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "onTransfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "onApprove", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.24;\n\n/// @dev The token controller contract must implement these functions\n\n\ninterface ITokenController {\n /// @notice Called when `_owner` sends ether to the MiniMe Token contract\n /// @param _owner The address that sent the ether to create tokens\n /// @return True if the ether is accepted, false if it throws\n function proxyPayment(address _owner) external payable returns(bool);\n\n /// @notice Notifies the controller about a token transfer allowing the\n /// controller to react if desired\n /// @param _from The origin of the transfer\n /// @param _to The destination of the transfer\n /// @param _amount The amount of the transfer\n /// @return False if the controller does not authorize the transfer\n function onTransfer(address _from, address _to, uint _amount) external returns(bool);\n\n /// @notice Notifies the controller about an approval allowing the\n /// controller to react if desired\n /// @param _owner The address that calls `approve()`\n /// @param _spender The spender in the `approve()` call\n /// @param _amount The amount in the `approve()` call\n /// @return False if the controller does not authorize the approval\n function onApprove(address _owner, address _spender, uint _amount) external returns(bool);\n}\n", - "sourcePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "ast": { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "exportedSymbols": { - "ITokenController": [ - 16027 - ] - }, - "id": 16028, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 15997, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev The token controller contract must implement these functions", - "fullyImplemented": false, - "id": 16027, - "linearizedBaseContracts": [ - 16027 - ], - "name": "ITokenController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Called when `_owner` sends ether to the MiniMe Token contract\n @param _owner The address that sent the ether to create tokens\n @return True if the ether is accepted, false if it throws", - "id": 16004, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "proxyPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15999, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16004, - "src": "368:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "368:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "367:16:19" - }, - "payable": true, - "returnParameters": { - "id": 16003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16002, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16004, - "src": "409:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16001, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "409:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "408:6:19" - }, - "scope": 16027, - "src": "346:69:19", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Notifies the controller about a token transfer allowing the\n controller to react if desired\n @param _from The origin of the transfer\n @param _to The destination of the transfer\n @param _amount The amount of the transfer\n @return False if the controller does not authorize the transfer", - "id": 16015, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "onTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16006, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "778:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16008, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "793:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "793:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16010, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "806:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16009, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "806:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:42:19" - }, - "payable": false, - "returnParameters": { - "id": 16014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16013, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "837:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16012, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "837:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "836:6:19" - }, - "scope": 16027, - "src": "758:85:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Notifies the controller about an approval allowing the\n controller to react if desired\n @param _owner The address that calls `approve()`\n @param _spender The spender in the `approve()` call\n @param _amount The amount in the `approve()` call\n @return False if the controller does not authorize the approval", - "id": 16026, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "onApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16017, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1226:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1226:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16019, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1242:16:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16021, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1260:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16020, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1260:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:48:19" - }, - "payable": false, - "returnParameters": { - "id": 16025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16024, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1291:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16023, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1291:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1290:6:19" - }, - "scope": 16027, - "src": "1207:90:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 16028, - "src": "98:1201:19" - } - ], - "src": "0:1300:19" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "exportedSymbols": { - "ITokenController": [ - 16027 - ] - }, - "id": 16028, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 15997, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev The token controller contract must implement these functions", - "fullyImplemented": false, - "id": 16027, - "linearizedBaseContracts": [ - 16027 - ], - "name": "ITokenController", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Called when `_owner` sends ether to the MiniMe Token contract\n @param _owner The address that sent the ether to create tokens\n @return True if the ether is accepted, false if it throws", - "id": 16004, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "proxyPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15999, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16004, - "src": "368:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "368:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "367:16:19" - }, - "payable": true, - "returnParameters": { - "id": 16003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16002, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16004, - "src": "409:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16001, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "409:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "408:6:19" - }, - "scope": 16027, - "src": "346:69:19", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Notifies the controller about a token transfer allowing the\n controller to react if desired\n @param _from The origin of the transfer\n @param _to The destination of the transfer\n @param _amount The amount of the transfer\n @return False if the controller does not authorize the transfer", - "id": 16015, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "onTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16006, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "778:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16008, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "793:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "793:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16010, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "806:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16009, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "806:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:42:19" - }, - "payable": false, - "returnParameters": { - "id": 16014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16013, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16015, - "src": "837:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16012, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "837:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "836:6:19" - }, - "scope": 16027, - "src": "758:85:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Notifies the controller about an approval allowing the\n controller to react if desired\n @param _owner The address that calls `approve()`\n @param _spender The spender in the `approve()` call\n @param _amount The amount in the `approve()` call\n @return False if the controller does not authorize the approval", - "id": 16026, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "onApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16017, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1226:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1226:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16019, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1242:16:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16021, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1260:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16020, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1260:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:48:19" - }, - "payable": false, - "returnParameters": { - "id": 16025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16024, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16026, - "src": "1291:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16023, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1291:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1290:6:19" - }, - "scope": 16027, - "src": "1207:90:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 16028, - "src": "98:1201:19" - } - ], - "src": "0:1300:19" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.204Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IVaultRecoverable.json b/templates/multisig/build/contracts/IVaultRecoverable.json deleted file mode 100644 index ee9ee29..0000000 --- a/templates/multisig/build/contracts/IVaultRecoverable.json +++ /dev/null @@ -1,751 +0,0 @@ -{ - "contractName": "IVaultRecoverable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ninterface IVaultRecoverable {\n event RecoverToVault(address indexed vault, address indexed token, uint256 amount);\n\n function transferToVault(address token) external;\n\n function allowRecoverability(address token) external view returns (bool);\n function getRecoveryVault() external view returns (address);\n}\n", - "sourcePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "exportedSymbols": { - "IVaultRecoverable": [ - 23699 - ] - }, - "id": 23700, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23673, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:47" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 23699, - "linearizedBaseContracts": [ - 23699 - ], - "name": "IVaultRecoverable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 23681, - "name": "RecoverToVault", - "nodeType": "EventDefinition", - "parameters": { - "id": 23680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23675, - "indexed": true, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "126:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "126:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23677, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "149:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "149:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23679, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "172:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "125:62:47" - }, - "src": "105:83:47" - }, - { - "body": null, - "documentation": null, - "id": 23686, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23683, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23686, - "src": "219:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:15:47" - }, - "payable": false, - "returnParameters": { - "id": 23685, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:0:47" - }, - "scope": 23699, - "src": "194:49:47", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23693, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23688, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23693, - "src": "278:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "278:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "277:15:47" - }, - "payable": false, - "returnParameters": { - "id": 23692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23691, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23693, - "src": "316:4:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "316:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:6:47" - }, - "scope": 23699, - "src": "249:73:47", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23698, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23694, - "nodeType": "ParameterList", - "parameters": [], - "src": "352:2:47" - }, - "payable": false, - "returnParameters": { - "id": 23697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23698, - "src": "378:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "377:9:47" - }, - "scope": 23699, - "src": "327:60:47", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 23700, - "src": "71:318:47" - } - ], - "src": "44:346:47" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "exportedSymbols": { - "IVaultRecoverable": [ - 23699 - ] - }, - "id": 23700, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23673, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:47" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 23699, - "linearizedBaseContracts": [ - 23699 - ], - "name": "IVaultRecoverable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 23681, - "name": "RecoverToVault", - "nodeType": "EventDefinition", - "parameters": { - "id": 23680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23675, - "indexed": true, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "126:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "126:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23677, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "149:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "149:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23679, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 23681, - "src": "172:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "125:62:47" - }, - "src": "105:83:47" - }, - { - "body": null, - "documentation": null, - "id": 23686, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23683, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23686, - "src": "219:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:15:47" - }, - "payable": false, - "returnParameters": { - "id": 23685, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:0:47" - }, - "scope": 23699, - "src": "194:49:47", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23693, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23688, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 23693, - "src": "278:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "278:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "277:15:47" - }, - "payable": false, - "returnParameters": { - "id": 23692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23691, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23693, - "src": "316:4:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "316:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:6:47" - }, - "scope": 23699, - "src": "249:73:47", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 23698, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23694, - "nodeType": "ParameterList", - "parameters": [], - "src": "352:2:47" - }, - "payable": false, - "returnParameters": { - "id": 23697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23698, - "src": "378:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "377:9:47" - }, - "scope": 23699, - "src": "327:60:47", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 23700, - "src": "71:318:47" - } - ], - "src": "44:346:47" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.200Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Initializable.json b/templates/multisig/build/contracts/Initializable.json deleted file mode 100644 index 12a3c6c..0000000 --- a/templates/multisig/build/contracts/Initializable.json +++ /dev/null @@ -1,2416 +0,0 @@ -{ - "contractName": "Initializable", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061011d806100206000396000f30060806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac08114604d5780638b3dd749146073575b600080fd5b348015605857600080fd5b50605f6097565b604080519115158252519081900360200190f35b348015607e57600080fd5b50608560bb565b60408051918252519081900360200190f35b60008060a060bb565b9050801580159060b557508060b260e9565b10155b91505090565b600060e47febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60ed565b905090565b4390565b54905600a165627a7a723058200f1f3cc5833ec90ff1dafc7243297effd290965e9d4ed3d2d05a9e85f9d07baa0029", - "deployedBytecode": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac08114604d5780638b3dd749146073575b600080fd5b348015605857600080fd5b50605f6097565b604080519115158252519081900360200190f35b348015607e57600080fd5b50608560bb565b60408051918252519081900360200190f35b60008060a060bb565b9050801580159060b557508060b260e9565b10155b91505090565b600060e47febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60ed565b905090565b4390565b54905600a165627a7a723058200f1f3cc5833ec90ff1dafc7243297effd290965e9d4ed3d2d05a9e85f9d07baa0029", - "sourceMap": "136:1758:48:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;136:1758:48;;;;;;;", - "deployedSourceMap": "136:1758:48:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;881:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;;;;;;;;;;;;;;;;;1128:208;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;881:137::-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;347:94:53:-;422:12;347:94;:::o;519:134:55:-;630:15;;620:27::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./TimeHelpers.sol\";\nimport \"./UnstructuredStorage.sol\";\n\n\ncontract Initializable is TimeHelpers {\n using UnstructuredStorage for bytes32;\n\n // keccak256(\"aragonOS.initializable.initializationBlock\")\n bytes32 internal constant INITIALIZATION_BLOCK_POSITION = 0xebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e;\n\n string private constant ERROR_ALREADY_INITIALIZED = \"INIT_ALREADY_INITIALIZED\";\n string private constant ERROR_NOT_INITIALIZED = \"INIT_NOT_INITIALIZED\";\n\n modifier onlyInit {\n require(getInitializationBlock() == 0, ERROR_ALREADY_INITIALIZED);\n _;\n }\n\n modifier isInitialized {\n require(hasInitialized(), ERROR_NOT_INITIALIZED);\n _;\n }\n\n /**\n * @return Block number in which the contract was initialized\n */\n function getInitializationBlock() public view returns (uint256) {\n return INITIALIZATION_BLOCK_POSITION.getStorageUint256();\n }\n\n /**\n * @return Whether the contract has been initialized by the time of the current block\n */\n function hasInitialized() public view returns (bool) {\n uint256 initializationBlock = getInitializationBlock();\n return initializationBlock != 0 && getBlockNumber() >= initializationBlock;\n }\n\n /**\n * @dev Function to be called by top level contract after initialization has finished.\n */\n function initialized() internal onlyInit {\n INITIALIZATION_BLOCK_POSITION.setStorageUint256(getBlockNumber());\n }\n\n /**\n * @dev Function to be called by top level contract after initialization to enable the contract\n * at a future block number rather than immediately.\n */\n function initializedAt(uint256 _blockNumber) internal onlyInit {\n INITIALIZATION_BLOCK_POSITION.setStorageUint256(_blockNumber);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/Initializable.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "exportedSymbols": { - "Initializable": [ - 23797 - ] - }, - "id": 23798, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23701, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:48" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "./TimeHelpers.sol", - "id": 23702, - "nodeType": "ImportDirective", - "scope": 23798, - "sourceUnit": 24155, - "src": "70:27:48", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "./UnstructuredStorage.sol", - "id": 23703, - "nodeType": "ImportDirective", - "scope": 23798, - "sourceUnit": 24261, - "src": "98:35:48", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23704, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "162:11:48", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 23705, - "nodeType": "InheritanceSpecifier", - "src": "162:11:48" - } - ], - "contractDependencies": [ - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23797, - "linearizedBaseContracts": [ - 23797, - 24154 - ], - "name": "Initializable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23708, - "libraryName": { - "contractScope": null, - "id": 23706, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "186:19:48", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "180:38:48", - "typeName": { - "id": 23707, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23711, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "287:124:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23709, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "287:7:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865626230356233383661386433343838326238373131643135366634363336393039383364633437383135393830666238326165656666316161343335373965", - "id": 23710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:66:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106605114080364359579522388881656407901251981291752319576997573973948972095390_by_1", - "typeString": "int_const 1066...(70 digits omitted)...5390" - }, - "value": "0xebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 23714, - "name": "ERROR_ALREADY_INITIALIZED", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "418:78:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23712, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "418:6:48", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "494e49545f414c52454144595f494e495449414c495a4544", - "id": 23713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:26:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7a2bad6ae343e37d141d3f47355bee0a9a7371affceb8638867384a5d0ab0e73", - "typeString": "literal_string \"INIT_ALREADY_INITIALIZED\"" - }, - "value": "INIT_ALREADY_INITIALIZED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23717, - "name": "ERROR_NOT_INITIALIZED", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "502:70:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23715, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "502:6:48", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "494e49545f4e4f545f494e495449414c495a4544", - "id": 23716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "550:22:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0447b08a3c6a0d1d9310f95dd98634a89b7d8ccef436579bfc11a41060965373", - "typeString": "literal_string \"INIT_NOT_INITIALIZED\"" - }, - "value": "INIT_NOT_INITIALIZED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23728, - "nodeType": "Block", - "src": "597:93:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23720, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "615:22:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:24:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:1:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "615:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23724, - "name": "ERROR_ALREADY_INITIALIZED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23714, - "src": "646:25:48", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "607:7:48", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "607:65:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23726, - "nodeType": "ExpressionStatement", - "src": "607:65:48" - }, - { - "id": 23727, - "nodeType": "PlaceholderStatement", - "src": "682:1:48" - } - ] - }, - "documentation": null, - "id": 23729, - "name": "onlyInit", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23718, - "nodeType": "ParameterList", - "parameters": [], - "src": "597:0:48" - }, - "src": "579:111:48", - "visibility": "internal" - }, - { - "body": { - "id": 23738, - "nodeType": "Block", - "src": "719:76:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23732, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "737:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "737:16:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23734, - "name": "ERROR_NOT_INITIALIZED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23717, - "src": "755:21:48", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "729:7:48", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "729:48:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23736, - "nodeType": "ExpressionStatement", - "src": "729:48:48" - }, - { - "id": 23737, - "nodeType": "PlaceholderStatement", - "src": "787:1:48" - } - ] - }, - "documentation": null, - "id": 23739, - "name": "isInitialized", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23730, - "nodeType": "ParameterList", - "parameters": [], - "src": "719:0:48" - }, - "src": "696:99:48", - "visibility": "internal" - }, - { - "body": { - "id": 23748, - "nodeType": "Block", - "src": "945:73:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23744, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "962:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24223, - "src": "962:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 23746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "962:49:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23743, - "id": 23747, - "nodeType": "Return", - "src": "955:56:48" - } - ] - }, - "documentation": "@return Block number in which the contract was initialized", - "id": 23749, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getInitializationBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23740, - "nodeType": "ParameterList", - "parameters": [], - "src": "912:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23742, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23749, - "src": "936:7:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "936:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "935:9:48" - }, - "scope": 23797, - "src": "881:137:48", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23768, - "nodeType": "Block", - "src": "1181:155:48", - "statements": [ - { - "assignments": [ - 23755 - ], - "declarations": [ - { - "constant": false, - "id": 23755, - "name": "initializationBlock", - "nodeType": "VariableDeclaration", - "scope": 23769, - "src": "1191:27:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1191:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23756, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "1221:22:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1221:24:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1191:54:48" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23759, - "name": "initializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23755, - "src": "1262:19:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1262:24:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23762, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "1290:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1290:16:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 23764, - "name": "initializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23755, - "src": "1310:19:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1290:39:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1262:67:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23753, - "id": 23767, - "nodeType": "Return", - "src": "1255:74:48" - } - ] - }, - "documentation": "@return Whether the contract has been initialized by the time of the current block", - "id": 23769, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasInitialized", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23750, - "nodeType": "ParameterList", - "parameters": [], - "src": "1151:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23752, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23769, - "src": "1175:4:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23751, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1175:4:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1174:6:48" - }, - "scope": 23797, - "src": "1128:208:48", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23781, - "nodeType": "Block", - "src": "1488:82:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23777, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "1546:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1546:16:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23774, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "1498:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24259, - "src": "1498:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 23779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1498:65:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23780, - "nodeType": "ExpressionStatement", - "src": "1498:65:48" - } - ] - }, - "documentation": "@dev Function to be called by top level contract after initialization has finished.", - "id": 23782, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23772, - "modifierName": { - "argumentTypes": null, - "id": 23771, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1479:8:48", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1479:8:48" - } - ], - "name": "initialized", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23770, - "nodeType": "ParameterList", - "parameters": [], - "src": "1467:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23773, - "nodeType": "ParameterList", - "parameters": [], - "src": "1488:0:48" - }, - "scope": 23797, - "src": "1447:123:48", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23795, - "nodeType": "Block", - "src": "1814:78:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23792, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23784, - "src": "1872:12:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23789, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "1824:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24259, - "src": "1824:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 23793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1824:61:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23794, - "nodeType": "ExpressionStatement", - "src": "1824:61:48" - } - ] - }, - "documentation": "@dev Function to be called by top level contract after initialization to enable the contract\n at a future block number rather than immediately.", - "id": 23796, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23787, - "modifierName": { - "argumentTypes": null, - "id": 23786, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1805:8:48", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1805:8:48" - } - ], - "name": "initializedAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23784, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 23796, - "src": "1774:20:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1774:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1773:22:48" - }, - "payable": false, - "returnParameters": { - "id": 23788, - "nodeType": "ParameterList", - "parameters": [], - "src": "1814:0:48" - }, - "scope": 23797, - "src": "1751:141:48", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23798, - "src": "136:1758:48" - } - ], - "src": "44:1851:48" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "exportedSymbols": { - "Initializable": [ - 23797 - ] - }, - "id": 23798, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23701, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:48" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "./TimeHelpers.sol", - "id": 23702, - "nodeType": "ImportDirective", - "scope": 23798, - "sourceUnit": 24155, - "src": "70:27:48", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "./UnstructuredStorage.sol", - "id": 23703, - "nodeType": "ImportDirective", - "scope": 23798, - "sourceUnit": 24261, - "src": "98:35:48", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23704, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "162:11:48", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 23705, - "nodeType": "InheritanceSpecifier", - "src": "162:11:48" - } - ], - "contractDependencies": [ - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23797, - "linearizedBaseContracts": [ - 23797, - 24154 - ], - "name": "Initializable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23708, - "libraryName": { - "contractScope": null, - "id": 23706, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "186:19:48", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "180:38:48", - "typeName": { - "id": 23707, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "210:7:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23711, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "287:124:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23709, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "287:7:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865626230356233383661386433343838326238373131643135366634363336393039383364633437383135393830666238326165656666316161343335373965", - "id": 23710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:66:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106605114080364359579522388881656407901251981291752319576997573973948972095390_by_1", - "typeString": "int_const 1066...(70 digits omitted)...5390" - }, - "value": "0xebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 23714, - "name": "ERROR_ALREADY_INITIALIZED", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "418:78:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23712, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "418:6:48", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "494e49545f414c52454144595f494e495449414c495a4544", - "id": 23713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:26:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7a2bad6ae343e37d141d3f47355bee0a9a7371affceb8638867384a5d0ab0e73", - "typeString": "literal_string \"INIT_ALREADY_INITIALIZED\"" - }, - "value": "INIT_ALREADY_INITIALIZED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23717, - "name": "ERROR_NOT_INITIALIZED", - "nodeType": "VariableDeclaration", - "scope": 23797, - "src": "502:70:48", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23715, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "502:6:48", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "494e49545f4e4f545f494e495449414c495a4544", - "id": 23716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "550:22:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0447b08a3c6a0d1d9310f95dd98634a89b7d8ccef436579bfc11a41060965373", - "typeString": "literal_string \"INIT_NOT_INITIALIZED\"" - }, - "value": "INIT_NOT_INITIALIZED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23728, - "nodeType": "Block", - "src": "597:93:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23720, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "615:22:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:24:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:1:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "615:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23724, - "name": "ERROR_ALREADY_INITIALIZED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23714, - "src": "646:25:48", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "607:7:48", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "607:65:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23726, - "nodeType": "ExpressionStatement", - "src": "607:65:48" - }, - { - "id": 23727, - "nodeType": "PlaceholderStatement", - "src": "682:1:48" - } - ] - }, - "documentation": null, - "id": 23729, - "name": "onlyInit", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23718, - "nodeType": "ParameterList", - "parameters": [], - "src": "597:0:48" - }, - "src": "579:111:48", - "visibility": "internal" - }, - { - "body": { - "id": 23738, - "nodeType": "Block", - "src": "719:76:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23732, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "737:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 23733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "737:16:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23734, - "name": "ERROR_NOT_INITIALIZED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23717, - "src": "755:21:48", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "729:7:48", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "729:48:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23736, - "nodeType": "ExpressionStatement", - "src": "729:48:48" - }, - { - "id": 23737, - "nodeType": "PlaceholderStatement", - "src": "787:1:48" - } - ] - }, - "documentation": null, - "id": 23739, - "name": "isInitialized", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23730, - "nodeType": "ParameterList", - "parameters": [], - "src": "719:0:48" - }, - "src": "696:99:48", - "visibility": "internal" - }, - { - "body": { - "id": 23748, - "nodeType": "Block", - "src": "945:73:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23744, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "962:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24223, - "src": "962:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 23746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "962:49:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 23743, - "id": 23747, - "nodeType": "Return", - "src": "955:56:48" - } - ] - }, - "documentation": "@return Block number in which the contract was initialized", - "id": 23749, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getInitializationBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23740, - "nodeType": "ParameterList", - "parameters": [], - "src": "912:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23742, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23749, - "src": "936:7:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "936:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "935:9:48" - }, - "scope": 23797, - "src": "881:137:48", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23768, - "nodeType": "Block", - "src": "1181:155:48", - "statements": [ - { - "assignments": [ - 23755 - ], - "declarations": [ - { - "constant": false, - "id": 23755, - "name": "initializationBlock", - "nodeType": "VariableDeclaration", - "scope": 23769, - "src": "1191:27:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1191:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23756, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "1221:22:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1221:24:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1191:54:48" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23759, - "name": "initializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23755, - "src": "1262:19:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:48", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1262:24:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23762, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "1290:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1290:16:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 23764, - "name": "initializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23755, - "src": "1310:19:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1290:39:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1262:67:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23753, - "id": 23767, - "nodeType": "Return", - "src": "1255:74:48" - } - ] - }, - "documentation": "@return Whether the contract has been initialized by the time of the current block", - "id": 23769, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasInitialized", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23750, - "nodeType": "ParameterList", - "parameters": [], - "src": "1151:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23752, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23769, - "src": "1175:4:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23751, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1175:4:48", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1174:6:48" - }, - "scope": 23797, - "src": "1128:208:48", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23781, - "nodeType": "Block", - "src": "1488:82:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23777, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "1546:14:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1546:16:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23774, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "1498:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24259, - "src": "1498:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 23779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1498:65:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23780, - "nodeType": "ExpressionStatement", - "src": "1498:65:48" - } - ] - }, - "documentation": "@dev Function to be called by top level contract after initialization has finished.", - "id": 23782, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23772, - "modifierName": { - "argumentTypes": null, - "id": 23771, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1479:8:48", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1479:8:48" - } - ], - "name": "initialized", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23770, - "nodeType": "ParameterList", - "parameters": [], - "src": "1467:2:48" - }, - "payable": false, - "returnParameters": { - "id": 23773, - "nodeType": "ParameterList", - "parameters": [], - "src": "1488:0:48" - }, - "scope": 23797, - "src": "1447:123:48", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 23795, - "nodeType": "Block", - "src": "1814:78:48", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23792, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23784, - "src": "1872:12:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23789, - "name": "INITIALIZATION_BLOCK_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23711, - "src": "1824:29:48", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageUint256", - "nodeType": "MemberAccess", - "referencedDeclaration": 24259, - "src": "1824:47:48", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 23793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1824:61:48", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23794, - "nodeType": "ExpressionStatement", - "src": "1824:61:48" - } - ] - }, - "documentation": "@dev Function to be called by top level contract after initialization to enable the contract\n at a future block number rather than immediately.", - "id": 23796, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23787, - "modifierName": { - "argumentTypes": null, - "id": 23786, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1805:8:48", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1805:8:48" - } - ], - "name": "initializedAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23784, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 23796, - "src": "1774:20:48", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1774:7:48", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1773:22:48" - }, - "payable": false, - "returnParameters": { - "id": 23788, - "nodeType": "ParameterList", - "parameters": [], - "src": "1814:0:48" - }, - "scope": 23797, - "src": "1751:141:48", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23798, - "src": "136:1758:48" - } - ], - "src": "44:1851:48" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.239Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/IsContract.json b/templates/multisig/build/contracts/IsContract.json deleted file mode 100644 index e359a76..0000000 --- a/templates/multisig/build/contracts/IsContract.json +++ /dev/null @@ -1,761 +0,0 @@ -{ - "contractName": "IsContract", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820bea44af5ebc3300815e574fc92da0964db14ee33159b9c9d0ffe01c18f3d9ffd0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820bea44af5ebc3300815e574fc92da0964db14ee33159b9c9d0ffe01c18f3d9ffd0029", - "sourceMap": "71:601:49:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:601:49;;;;;;;", - "deployedSourceMap": "71:601:49:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract IsContract {\n /*\n * NOTE: this should NEVER be used for authentication\n * (see pitfalls: https://github.com/fergarrui/ethereum-security/tree/master/contracts/extcodesize).\n *\n * This is only intended to be used as a sanity check that an address is actually a contract,\n * RATHER THAN an address not being a contract.\n */\n function isContract(address _target) internal view returns (bool) {\n if (_target == address(0)) {\n return false;\n }\n\n uint256 size;\n assembly { size := extcodesize(_target) }\n return size > 0;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/IsContract.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "exportedSymbols": { - "IsContract": [ - 23825 - ] - }, - "id": 23826, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23799, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:49" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23825, - "linearizedBaseContracts": [ - 23825 - ], - "name": "IsContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23823, - "nodeType": "Block", - "src": "492:178:49", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 23810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23806, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23801, - "src": "506:7:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "525:1:49", - "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": 23807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:49", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:10:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "506:21:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23814, - "nodeType": "IfStatement", - "src": "502:64:49", - "trueBody": { - "id": 23813, - "nodeType": "Block", - "src": "529:37:49", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "550:5:49", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23805, - "id": 23812, - "nodeType": "Return", - "src": "543:12:49" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23816, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "576:12:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:49", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23817, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "576:12:49" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 23816, - "isOffset": false, - "isSlot": false, - "src": "609:4:49", - "valueSize": 1 - } - }, - { - "_target": { - "declaration": 23801, - "isOffset": false, - "isSlot": false, - "src": "629:7:49", - "valueSize": 1 - } - } - ], - "id": 23818, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_target)\n}", - "src": "598:56:49" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23819, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23816, - "src": "655:4:49", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "662:1:49", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "655:8:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23805, - "id": 23822, - "nodeType": "Return", - "src": "648:15:49" - } - ] - }, - "documentation": null, - "id": 23824, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23801, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "446:15:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23800, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "446:7:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "445:17:49" - }, - "payable": false, - "returnParameters": { - "id": 23805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23804, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "486:4:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23803, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "486:4:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "485:6:49" - }, - "scope": 23825, - "src": "426:244:49", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23826, - "src": "71:601:49" - } - ], - "src": "44:629:49" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "exportedSymbols": { - "IsContract": [ - 23825 - ] - }, - "id": 23826, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23799, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:49" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23825, - "linearizedBaseContracts": [ - 23825 - ], - "name": "IsContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 23823, - "nodeType": "Block", - "src": "492:178:49", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 23810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23806, - "name": "_target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23801, - "src": "506:7:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 23808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "525:1:49", - "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": 23807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "517:7:49", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 23809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:10:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "506:21:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23814, - "nodeType": "IfStatement", - "src": "502:64:49", - "trueBody": { - "id": 23813, - "nodeType": "Block", - "src": "529:37:49", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "550:5:49", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 23805, - "id": 23812, - "nodeType": "Return", - "src": "543:12:49" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23816, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "576:12:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:49", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23817, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "576:12:49" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 23816, - "isOffset": false, - "isSlot": false, - "src": "609:4:49", - "valueSize": 1 - } - }, - { - "_target": { - "declaration": 23801, - "isOffset": false, - "isSlot": false, - "src": "629:7:49", - "valueSize": 1 - } - } - ], - "id": 23818, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_target)\n}", - "src": "598:56:49" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 23819, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23816, - "src": "655:4:49", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "662:1:49", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "655:8:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23805, - "id": 23822, - "nodeType": "Return", - "src": "648:15:49" - } - ] - }, - "documentation": null, - "id": 23824, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23801, - "name": "_target", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "446:15:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23800, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "446:7:49", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "445:17:49" - }, - "payable": false, - "returnParameters": { - "id": 23805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23804, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23824, - "src": "486:4:49", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23803, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "486:4:49", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "485:6:49" - }, - "scope": 23825, - "src": "426:244:49", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23826, - "src": "71:601:49" - } - ], - "src": "44:629:49" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.207Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Kernel.json b/templates/multisig/build/contracts/Kernel.json deleted file mode 100644 index 0f12253..0000000 --- a/templates/multisig/build/contracts/Kernel.json +++ /dev/null @@ -1,13605 +0,0 @@ -{ - "contractName": "Kernel", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - }, - { - "name": "", - "type": "bytes32" - } - ], - "name": "apps", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "recoveryVaultAppId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "APP_MANAGER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_initializePayload", - "type": "bytes" - } - ], - "name": "newAppProxy", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_kernel", - "type": "address" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "newAppProxyPinned", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "name": "_shouldPetrify", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "name": "isUpgradeable", - "type": "bool" - }, - { - "indexed": false, - "name": "appId", - "type": "bytes32" - } - ], - "name": "NewAppProxy", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "namespace", - "type": "bytes32" - }, - { - "indexed": true, - "name": "appId", - "type": "bytes32" - }, - { - "indexed": false, - "name": "app", - "type": "address" - } - ], - "name": "SetApp", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_baseAcl", - "type": "address" - }, - { - "name": "_permissionsCreator", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_appBase", - "type": "address" - }, - { - "name": "_initializePayload", - "type": "bytes" - }, - { - "name": "_setDefault", - "type": "bool" - } - ], - "name": "newAppInstance", - "outputs": [ - { - "name": "appProxy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_appBase", - "type": "address" - } - ], - "name": "newAppInstance", - "outputs": [ - { - "name": "appProxy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_appBase", - "type": "address" - } - ], - "name": "newPinnedAppInstance", - "outputs": [ - { - "name": "appProxy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_appBase", - "type": "address" - }, - { - "name": "_initializePayload", - "type": "bytes" - }, - { - "name": "_setDefault", - "type": "bool" - } - ], - "name": "newPinnedAppInstance", - "outputs": [ - { - "name": "appProxy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_namespace", - "type": "bytes32" - }, - { - "name": "_appId", - "type": "bytes32" - }, - { - "name": "_app", - "type": "address" - } - ], - "name": "setApp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_recoveryVaultAppId", - "type": "bytes32" - } - ], - "name": "setRecoveryVaultAppId", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CORE_NAMESPACE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "APP_BASES_NAMESPACE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "APP_ADDR_NAMESPACE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "KERNEL_APP_ID", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "DEFAULT_ACL_APP_ID", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_namespace", - "type": "bytes32" - }, - { - "name": "_appId", - "type": "bytes32" - } - ], - "name": "getApp", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "acl", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_who", - "type": "address" - }, - { - "name": "_where", - "type": "address" - }, - { - "name": "_what", - "type": "bytes32" - }, - { - "name": "_how", - "type": "bytes" - } - ], - "name": "hasPermission", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405160208062002c63833981016040525180156200003e576200003e64010000000062000045810204565b5062000263565b620000586401000000006200014d810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000134576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000f8578181015183820152602001620000de565b50505050905090810190601f168015620001265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200014b6000196401000000006200017c810204565b565b60006200017760008051602062002c43833981519152640100000000620018736200025b82021704565b905090565b6200018f6401000000006200014d810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200022e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000f8578181015183820152602001620000de565b506200025860008051602062002c438339815191528264010000000062001a776200025f82021704565b50565b5490565b9055565b6129d080620002736000396000f3006080604052600436106200016d5763ffffffff60e060020a6000350416630803fac08114620001725780631113ed0d146200019e578063178e607914620001c857806332f0a3b514620001e0578063397edd4114620002145780634558850c1462000284578063485cc95514620002a2578063756f604914620002ce5780637e7db6e114620002e657806380cd5ac3146200030a57806386070cfe14620003315780638b3dd74914620003495780638c61757d14620003615780638ea8dc9d146200037c578063958fde8214620003945780639d4941d814620003bb578063ae5b254014620003df578063be00bbd81462000409578063c050a7a61462000427578063d162f8b01462000497578063db8a61d41462000503578063de287359146200051b578063de4796ed1462000533578063e156a8f3146200054b578063e8187ff01462000572578063ede658b0146200058a578063fdef910614620005f6578063ff289fc51462000668575b600080fd5b3480156200017f57600080fd5b506200018a6200068f565b604080519115158252519081900360200190f35b348015620001ab57600080fd5b50620001b6620006bd565b60408051918252519081900360200190f35b348015620001d557600080fd5b50620001b6620006e1565b348015620001ed57600080fd5b50620001f8620006f4565b60408051600160a060020a039092168252519081900360200190f35b3480156200022157600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f89482359460248035600160a060020a03169536959460649492019190819084018382808284375094975050505091351515925062000731915050565b3480156200029157600080fd5b50620001f860043560243562000884565b348015620002af57600080fd5b50620002cc600160a060020a0360043581169060243516620008a7565b005b348015620002db57600080fd5b50620001b662000a5a565b348015620002f357600080fd5b506200018a600160a060020a036004351662000a7e565b3480156200031757600080fd5b50620001f8600435600160a060020a036024351662000a84565b3480156200033e57600080fd5b50620001b662000b64565b3480156200035657600080fd5b50620001b662000b6a565b3480156200036e57600080fd5b50620002cc60043562000b9c565b3480156200038957600080fd5b50620001b662000c59565b348015620003a157600080fd5b50620001f8600435600160a060020a036024351662000c6c565b348015620003c857600080fd5b50620002cc600160a060020a036004351662000d43565b348015620003ec57600080fd5b50620002cc600435602435600160a060020a036044351662000fe8565b3480156200041657600080fd5b50620001f8600435602435620010a3565b3480156200043457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f89482359460248035600160a060020a031695369594606494920191908190840183828082843750949750505050913515159250620010c7915050565b348015620004a457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f8948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750620011a39650505050505050565b3480156200051057600080fd5b50620001b6620012ae565b3480156200052857600080fd5b50620001f8620012c1565b3480156200054057600080fd5b506200018a620012ed565b3480156200055857600080fd5b50620001f8600160a060020a036004351660243562001302565b3480156200057f57600080fd5b50620001b662001328565b3480156200059757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f8948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506200133b9650505050505050565b3480156200060357600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526200018a94600160a060020a038135811695602480359092169560443595369560849401918190840183828082843750949750620014469650505050505050565b3480156200067557600080fd5b50620001f8600160a060020a036004351660243562001589565b6000806200069c62000b6a565b90508015801590620006b7575080620006b4620015a8565b10155b91505090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c90565b6000805160206200298583398151915290565b60015460009081527f9e3eae70920eeef6013879bf9155b985893698c145361c31365929723678b2576020526040902054600160a060020a031690565b6000600080516020620029058339815191526200075e6000805160206200292583398151915287620015ac565b620007763330846200077085620015ba565b62001446565b60408051808201909152601281526000805160206200296583398151915260208201529015156200082b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620007ef578181015183820152602001620007d5565b50505050905090810190601f1680156200081d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5062000848600080516020620029258339815191528888620015c4565b620008553088876200133b565b925083156200087a576200087a60008051602062002985833981519152888562000fe8565b5050949350505050565b6000602081815292815260408082209093529081522054600160a060020a031681565b6000620008b362000b6a565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200093b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200094662001693565b6200097160008051602062002925833981519152600080516020620029458339815191528562001764565b6200098c306000805160206200294583398151915262001302565b905080600160a060020a031663c4d66de8836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b158015620009ea57600080fd5b505af1158015620009ff573d6000803e3d6000fd5b5062000a3192506000805160206200298583398151915291506000805160206200294583398151915290508362001764565b50507f7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d160015550565b7fc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f890565b50600190565b60006000805160206200290583398151915262000ab16000805160206200292583398151915285620015ac565b62000ac33330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000b3b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506040805160008082526020820190925262000b5b918791879162000731565b95945050505050565b60015481565b600062000b977febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e62001873565b905090565b6000805160206200290583398151915262000bc76000805160206200298583398151915283620015ac565b62000bd93330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000c515760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b505050600155565b6000805160206200290583398151915281565b60006000805160206200290583398151915262000c996000805160206200292583398151915285620015ac565b62000cab3330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000d235760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506040805160008082526020820190925262000b5b9187918791620010c7565b600080600062000d538462000a7e565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151562000ddc5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b5062000de7620006f4565b925062000df48362001877565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151562000e7d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b50600160a060020a038416151562000ed15760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801562000eca573d6000803e3d6000fd5b5062000f97565b508262000eee600160a060020a0382163063ffffffff620018a616565b915062000f0c600160a060020a038216848463ffffffff620019ab16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151562000f955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008051602062002905833981519152620010048484620015ac565b620010163330846200077085620015ba565b60408051808201909152601281526000805160206200296583398151915260208201529015156200108e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200109c85858562001764565b5050505050565b600091825260208281526040808420928452919052902054600160a060020a031690565b600060008051602062002905833981519152620010f46000805160206200292583398151915287620015ac565b620011063330846200077085620015ba565b60408051808201909152601281526000805160206200296583398151915260208201529015156200117e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200119b600080516020620029258339815191528888620015c4565b620008553088875b600080848484620011b362001b00565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001206578181015183820152602001620011ec565b50505050905090810190601f168015620012345780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001258573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b6000805160206200292583398151915290565b600062000b976000805160206200298583398151915260008051602062002945833981519152620010a3565b6000600019620012fc62000b6a565b14905090565b604080516000808252602082019092526200132190849084906200133b565b9392505050565b6000805160206200294583398151915290565b6000808484846200134b62001b11565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b838110156200139e57818101518382015260200162001384565b50505050905090810190601f168015620013cc5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080158015620013f0573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b60008062001453620012c1565b9050600160a060020a038116158015906200157f57506040517ffdef9106000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081528782166024840152604483018790526080606484019081528651608485015286519285169363fdef9106938b938b938b938b9360a490910190602085019080838360005b83811015620014ff578181015183820152602001620014e5565b50505050905090810190601f1680156200152d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156200155057600080fd5b505af115801562001565573d6000803e3d6000fd5b505050506040513d60208110156200157c57600080fd5b50515b9695505050505050565b60408051600080825260208201909252620013219084908490620011a3565b4390565b606062001321838362001a1a565b8051602002815290565b6000620015d28484620010a3565b9050600160a060020a03811615620016805760408051808201909152601981527f4b45524e454c5f494e56414c49445f4150505f4348414e4745000000000000006020820152600160a060020a0382811690841614620016795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200168d565b6200168d84848462001764565b50505050565b6200169d62000b6a565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620017255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200176262001734620015a8565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff62001a7716565b565b6200176f8162001877565b60408051808201909152601781527f4b45524e454c5f4150505f4e4f545f434f4e54524143540000000000000000006020820152901515620017f85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b50600083815260208181526040808320858452825291829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03851690811790915582519081529151849286927f2ec1ae0a449b7ae354b9dacfb3ade6b6332ba26b7fcbb935835fa39dd7263b2392918290030190a3505050565b5490565b600080600160a060020a0383161515620018955760009150620018a0565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818062001913868462001a7b565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515620019a15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009062000b5b858262001aad565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151562001a4b57fe5b60209081029091010152805182908290600190811062001a6757fe5b6020908102909101015292915050565b9055565b6000806000806040516020818751602089018a5afa9250600083111562001aa157805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111562001af6573d801562001ae2576020811462001aec5762001af4565b6001935062001af4565b600183511493505b505b5090949350505050565b6040516106f98062001b2383390190565b6040516106e9806200221c833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bb6d92708f3d4817afc106147d969e229ced5c46e65e0a5002a0d391287762bd0f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0fe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a4b45524e454c5f415554485f4641494c45440000000000000000000000000000d6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fba165627a7a723058207e0d1f24e843dd2a8725c956869f737f2c65b6405249db2a5d3bc9f398b86fc60029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106200016d5763ffffffff60e060020a6000350416630803fac08114620001725780631113ed0d146200019e578063178e607914620001c857806332f0a3b514620001e0578063397edd4114620002145780634558850c1462000284578063485cc95514620002a2578063756f604914620002ce5780637e7db6e114620002e657806380cd5ac3146200030a57806386070cfe14620003315780638b3dd74914620003495780638c61757d14620003615780638ea8dc9d146200037c578063958fde8214620003945780639d4941d814620003bb578063ae5b254014620003df578063be00bbd81462000409578063c050a7a61462000427578063d162f8b01462000497578063db8a61d41462000503578063de287359146200051b578063de4796ed1462000533578063e156a8f3146200054b578063e8187ff01462000572578063ede658b0146200058a578063fdef910614620005f6578063ff289fc51462000668575b600080fd5b3480156200017f57600080fd5b506200018a6200068f565b604080519115158252519081900360200190f35b348015620001ab57600080fd5b50620001b6620006bd565b60408051918252519081900360200190f35b348015620001d557600080fd5b50620001b6620006e1565b348015620001ed57600080fd5b50620001f8620006f4565b60408051600160a060020a039092168252519081900360200190f35b3480156200022157600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f89482359460248035600160a060020a03169536959460649492019190819084018382808284375094975050505091351515925062000731915050565b3480156200029157600080fd5b50620001f860043560243562000884565b348015620002af57600080fd5b50620002cc600160a060020a0360043581169060243516620008a7565b005b348015620002db57600080fd5b50620001b662000a5a565b348015620002f357600080fd5b506200018a600160a060020a036004351662000a7e565b3480156200031757600080fd5b50620001f8600435600160a060020a036024351662000a84565b3480156200033e57600080fd5b50620001b662000b64565b3480156200035657600080fd5b50620001b662000b6a565b3480156200036e57600080fd5b50620002cc60043562000b9c565b3480156200038957600080fd5b50620001b662000c59565b348015620003a157600080fd5b50620001f8600435600160a060020a036024351662000c6c565b348015620003c857600080fd5b50620002cc600160a060020a036004351662000d43565b348015620003ec57600080fd5b50620002cc600435602435600160a060020a036044351662000fe8565b3480156200041657600080fd5b50620001f8600435602435620010a3565b3480156200043457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f89482359460248035600160a060020a031695369594606494920191908190840183828082843750949750505050913515159250620010c7915050565b348015620004a457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f8948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750620011a39650505050505050565b3480156200051057600080fd5b50620001b6620012ae565b3480156200052857600080fd5b50620001f8620012c1565b3480156200054057600080fd5b506200018a620012ed565b3480156200055857600080fd5b50620001f8600160a060020a036004351660243562001302565b3480156200057f57600080fd5b50620001b662001328565b3480156200059757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452620001f8948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506200133b9650505050505050565b3480156200060357600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526200018a94600160a060020a038135811695602480359092169560443595369560849401918190840183828082843750949750620014469650505050505050565b3480156200067557600080fd5b50620001f8600160a060020a036004351660243562001589565b6000806200069c62000b6a565b90508015801590620006b7575080620006b4620015a8565b10155b91505090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c90565b6000805160206200298583398151915290565b60015460009081527f9e3eae70920eeef6013879bf9155b985893698c145361c31365929723678b2576020526040902054600160a060020a031690565b6000600080516020620029058339815191526200075e6000805160206200292583398151915287620015ac565b620007763330846200077085620015ba565b62001446565b60408051808201909152601281526000805160206200296583398151915260208201529015156200082b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620007ef578181015183820152602001620007d5565b50505050905090810190601f1680156200081d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5062000848600080516020620029258339815191528888620015c4565b620008553088876200133b565b925083156200087a576200087a60008051602062002985833981519152888562000fe8565b5050949350505050565b6000602081815292815260408082209093529081522054600160a060020a031681565b6000620008b362000b6a565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200093b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200094662001693565b6200097160008051602062002925833981519152600080516020620029458339815191528562001764565b6200098c306000805160206200294583398151915262001302565b905080600160a060020a031663c4d66de8836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b158015620009ea57600080fd5b505af1158015620009ff573d6000803e3d6000fd5b5062000a3192506000805160206200298583398151915291506000805160206200294583398151915290508362001764565b50507f7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d160015550565b7fc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f890565b50600190565b60006000805160206200290583398151915262000ab16000805160206200292583398151915285620015ac565b62000ac33330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000b3b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506040805160008082526020820190925262000b5b918791879162000731565b95945050505050565b60015481565b600062000b977febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e62001873565b905090565b6000805160206200290583398151915262000bc76000805160206200298583398151915283620015ac565b62000bd93330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000c515760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b505050600155565b6000805160206200290583398151915281565b60006000805160206200290583398151915262000c996000805160206200292583398151915285620015ac565b62000cab3330846200077085620015ba565b604080518082019091526012815260008051602062002965833981519152602082015290151562000d235760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506040805160008082526020820190925262000b5b9187918791620010c7565b600080600062000d538462000a7e565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151562000ddc5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b5062000de7620006f4565b925062000df48362001877565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151562000e7d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b50600160a060020a038416151562000ed15760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801562000eca573d6000803e3d6000fd5b5062000f97565b508262000eee600160a060020a0382163063ffffffff620018a616565b915062000f0c600160a060020a038216848463ffffffff620019ab16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151562000f955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008051602062002905833981519152620010048484620015ac565b620010163330846200077085620015ba565b60408051808201909152601281526000805160206200296583398151915260208201529015156200108e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200109c85858562001764565b5050505050565b600091825260208281526040808420928452919052902054600160a060020a031690565b600060008051602062002905833981519152620010f46000805160206200292583398151915287620015ac565b620011063330846200077085620015ba565b60408051808201909152601281526000805160206200296583398151915260208201529015156200117e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200119b600080516020620029258339815191528888620015c4565b620008553088875b600080848484620011b362001b00565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b8381101562001206578181015183820152602001620011ec565b50505050905090810190601f168015620012345780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801562001258573d6000803e3d6000fd5b5060408051600160a060020a03831681526000602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b6000805160206200292583398151915290565b600062000b976000805160206200298583398151915260008051602062002945833981519152620010a3565b6000600019620012fc62000b6a565b14905090565b604080516000808252602082019092526200132190849084906200133b565b9392505050565b6000805160206200294583398151915290565b6000808484846200134b62001b11565b600160a060020a038416815260208082018490526060604083018181528451918401919091528351909160808401919085019080838360005b838110156200139e57818101518382015260200162001384565b50505050905090810190601f168015620013cc5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080158015620013f0573d6000803e3d6000fd5b5060408051600160a060020a03831681526001602082015280820187905290519192507fd880e726dced8808d727f02dd0e6fdd3a945b24bfee77e13367bcbe61ddbaf47919081900360600190a1949350505050565b60008062001453620012c1565b9050600160a060020a038116158015906200157f57506040517ffdef9106000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081528782166024840152604483018790526080606484019081528651608485015286519285169363fdef9106938b938b938b938b9360a490910190602085019080838360005b83811015620014ff578181015183820152602001620014e5565b50505050905090810190601f1680156200152d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156200155057600080fd5b505af115801562001565573d6000803e3d6000fd5b505050506040513d60208110156200157c57600080fd5b50515b9695505050505050565b60408051600080825260208201909252620013219084908490620011a3565b4390565b606062001321838362001a1a565b8051602002815290565b6000620015d28484620010a3565b9050600160a060020a03811615620016805760408051808201909152601981527f4b45524e454c5f494e56414c49445f4150505f4348414e4745000000000000006020820152600160a060020a0382811690841614620016795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200168d565b6200168d84848462001764565b50505050565b6200169d62000b6a565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015620017255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b506200176262001734620015a8565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff62001a7716565b565b6200176f8162001877565b60408051808201909152601781527f4b45524e454c5f4150505f4e4f545f434f4e54524143540000000000000000006020820152901515620017f85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b50600083815260208181526040808320858452825291829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03851690811790915582519081529151849286927f2ec1ae0a449b7ae354b9dacfb3ade6b6332ba26b7fcbb935835fa39dd7263b2392918290030190a3505050565b5490565b600080600160a060020a0383161515620018955760009150620018a0565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818062001913868462001a7b565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515620019a15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015620007ef578181015183820152602001620007d5565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009062000b5b858262001aad565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151562001a4b57fe5b60209081029091010152805182908290600190811062001a6757fe5b6020908102909101015292915050565b9055565b6000806000806040516020818751602089018a5afa9250600083111562001aa157805191505b50909590945092505050565b6000806040516020818551602087016000895af1600081111562001af6573d801562001ae2576020811462001aec5762001af4565b6001935062001af4565b600183511493505b505b5090949350505050565b6040516106f98062001b2383390190565b6040516106e9806200221c833901905600608060405234801561001057600080fd5b506040516106f93803806106f98339810160409081528151602083015191830151909201828282600061004b8464010000000061017a810204565b61005d836401000000006101a2810204565b61006f836401000000006101d9810204565b90506000825111156101185761008d816401000000006102a9810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b50505050610145610137836101d9640100000000026401000000009004565b6401000000006102d6810204565b6101676101596401000000006102fb810204565b6401000000006102a9810204565b151561017257600080fd5b505050610354565b61019f6000805160206106b98339815191528264010000000061032261032682021704565b50565b61019f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b8264010000000061032261032682021704565b60006101ec64010000000061032a810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505192915050565b600080600160a060020a03831615156102c557600091506102d0565b823b90506000811191505b50919050565b61019f6000805160206106d98339815191528264010000000061032261032682021704565b60006103216000805160206106d98339815191526401000000006102b561035082021704565b905090565b9055565b60006103216000805160206106b98339815191526401000000006102b561035082021704565b5490565b610356806103636000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061021d945050505050565b50005b34801561013757600080fd5b5061014061025e565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b50610140610263565b3480156101da57600080fd5b5061019061028e565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102b5565b905090565b600061020e6102b9565b6000610228836102e4565b151561023357600080fd5b612710905060008083516020850186855a03f43d604051816000823e82801561025a578282f35b8282fd5b600190565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102b5565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b600061020e7fdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e6102b5565b60008073ffffffffffffffffffffffffffffffffffffffff8316151561030d5760009150610318565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a7230582087dbcc548140837392cd2b6157b038075b0c708beb8c5a3e630708bb5efe70b700294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bdee64df20d65e53d7f51cb6ab6d921a0a6a638a91e942e1d8d02df28e31c038e608060405234801561001057600080fd5b506040516106e93803806106e98339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106c9833981519152826401000000006103d361028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d361028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106c98339815191526401000000006102bd6102af82021704565b905090565b5490565b610407806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101e3565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb610213565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610225945050505050565b50005b34801561013757600080fd5b50610140610266565b60408051918252519081900360200190f35b34801561015e57600080fd5b506101676101e3565b604080519115158252519081900360200190f35b34801561018757600080fd5b50610190610213565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b600061020e7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102bd565b905090565b600061020e61022061026b565b6102c1565b600061023083610395565b151561023b57600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610262578282f35b8282fd5b600290565b600061020e7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6102bd565b600061020e7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b5490565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b9055565b90555600a165627a7a72305820d7599b4332d11e92faf91db8535dd467741af3269bcbd84fa64cefe9d1947ae600294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137bb6d92708f3d4817afc106147d969e229ced5c46e65e0a5002a0d391287762bd0f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0fe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a4b45524e454c5f415554485f4641494c45440000000000000000000000000000d6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fba165627a7a723058207e0d1f24e843dd2a8725c956869f737f2c65b6405249db2a5d3bc9f398b86fc60029", - "sourceMap": "441:10209:72:-;;;1305:110;8:9:-1;5:2;;;30:1;27;20:12;5:2;1305:110:72;;;;;;;;;;;;;1355:54;;;;1389:9;:7;;;;:9;:::i;:::-;1305:110;441:10209;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;441:10209:72:-;;;;;;;", - "deployedSourceMap": "441:10209:72:-;;;;;;;;;-1:-1:-1;;;441:10209:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;7920:87:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7920:87:72;;;;;;;;;;;;;;;;;;;;7816:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7816:99:72;;;;8631:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8631:133:72;;;;;;;;-1:-1:-1;;;;;8631:133:72;;;;;;;;;;;;;;3739:675;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3739:675:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3739:675:72;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3739:675:72;;-1:-1:-1;;;;3739:675:72;;;;;-1:-1:-1;3739:675:72;;-1:-1:-1;;3739:675:72;93:61:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;93:61:75;;;;;;;1819:537:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1819:537:72;-1:-1:-1;;;;;1819:537:72;;;;;;;;;;;;7614:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7614:91:72;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;2693:262:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2693:262:72;;;-1:-1:-1;;;;;2693:262:72;;;;;160:33:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:33:75;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;7233:220:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7233:220:72;;;;;729:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;729:109:72;;;;4763:274;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4763:274:72;;;-1:-1:-1;;;;;4763:274:72;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;6884:191:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6884:191:72;;;;;-1:-1:-1;;;;;6884:191:72;;;;;8368:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8368:130:72;;;;;;;5832:687;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5832:687:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5832:687:72;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5832:687:72;;-1:-1:-1;;;;5832:687:72;;;;;-1:-1:-1;5832:687:72;;-1:-1:-1;;5832:687:72;1875:292:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1875:292:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1875:292:67;;-1:-1:-1;1875:292:67;;-1:-1:-1;;;;;;;1875:292:67;7710:101:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7710:101:72;;;;8844:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8844:132:72;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;433:157:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;433:157:67;-1:-1:-1;;;;;433:157:67;;;;;;;8012:99:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8012:99:72;;;;866:300:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;866:300:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;866:300:67;;-1:-1:-1;866:300:67;;-1:-1:-1;;;;;;;866:300:67;9423:311:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9423:311:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9423:311:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9423:311:72;;-1:-1:-1;9423:311:72;;-1:-1:-1;;;;;;;9423:311:72;1384:164:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1384:164:67;-1:-1:-1;;;;;1384:164:67;;;;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;7920:87:72:-;426:66:73;7920:87:72;:::o;7816:99::-;-1:-1:-1;;;;;;;;;;;7816:99:72;:::o;8631:133::-;8711:25;8738:18;8680:7;8706:51;;;:31;;:51;:31;:51;;;-1:-1:-1;;;;;8706:51:72;8631:133;:::o;3739:675::-;3945:17;-1:-1:-1;;;;;;;;;;;3887:39:72;-1:-1:-1;;;;;;;;;;;3919:6:72;3887:3;:39::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;:::-;10482:13;:107::i;:::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3978:58:72;-1:-1:-1;;;;;;;;;;;4019:6:72;4027:8;3978:12;:58::i;:::-;4057:45;4069:4;4075:6;4083:18;4057:11;:45::i;:::-;4046:56;;4319:11;4315:93;;;4346:51;-1:-1:-1;;;;;;;;;;;4380:6:72;4388:8;4346:6;:51::i;:::-;3739:675;;;;;;;;:::o;93:61:75:-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;93:61:75;;:::o;1819:537:72:-;2108:8;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1909:13:72;:11;:13::i;:::-;1957:72;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;2020:8:72;1957:7;:72::i;:::-;2124:44;2136:4;-1:-1:-1;;;;;;;;;;;2124:11:72;:44::i;:::-;2108:61;;2179:3;-1:-1:-1;;;;;2179:14:72;;2194:19;2179:35;;;;;-1:-1:-1;;;2179:35:72;;;;;;;-1:-1:-1;;;;;2179:35:72;-1:-1:-1;;;;;2179:35:72;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2179:35:72;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2224:66:72;;-1:-1:-1;;;;;;;;;;;;1368:66:73;-1:-1:-1;;;;;;;;;;;;552:66:73;-1:-1:-1;2286:3:72;2224:7;:66::i;:::-;-1:-1:-1;;680:66:73;2322:27:72;2301:48;-1:-1:-1;1819:537:72:o;7614:91::-;1115:66:73;7614:91:72;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;2693:262:72:-;2855:17;-1:-1:-1;;;;;;;;;;;2797:39:72;-1:-1:-1;;;;;;;;;;;2829:6:72;2797:3;:39::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;10482:107::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10461:169:72;-1:-1:-1;2928:12:72;;;2938:1;2928:12;;;;;;;;;2895:53;;2910:6;;2918:8;;2895:14;:53::i;:::-;2888:60;2693:262;-1:-1:-1;;;;;2693:262:72:o;160:33:75:-;;;;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;7233:220:72:-;-1:-1:-1;;;;;;;;;;;7339:51:72;-1:-1:-1;;;;;;;;;;;7370:19:72;7339:3;:51::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;10482:107::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10461:169:72;-1:-1:-1;;;7406:18:72;:40;7233:220::o;729:109::-;-1:-1:-1;;;;;;;;;;;729:109:72;:::o;4763:274::-;4931:17;-1:-1:-1;;;;;;;;;;;4873:39:72;-1:-1:-1;;;;;;;;;;;4905:6:72;4873:3;:39::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;10482:107::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10461:169:72;-1:-1:-1;5010:12:72;;;5020:1;5010:12;;;;;;;;;4971:59;;4992:6;;5000:8;;4971:20;:59::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;6884:191:72:-;-1:-1:-1;;;;;;;;;;;6996:23:72;7000:10;7012:6;6996:3;:23::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;10482:107::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10461:169:72;;7035:33;7043:10;7055:6;7063:4;7035:7;:33::i;:::-;6884:191;;;;;:::o;8368:130::-;8441:7;8467:16;;;;;;;;;;;:24;;;;;;;;;-1:-1:-1;;;;;8467:24:72;;8368:130::o;5832:687::-;6044:17;-1:-1:-1;;;;;;;;;;;5986:39:72;-1:-1:-1;;;;;;;;;;;6018:6:72;5986:3;:39::i;:::-;10482:107;10496:10;10516:4;10523:5;10530:58;10580:7;10530:49;:58::i;10482:107::-;10603:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10603:17:72;;;;;10461:169;;;;;;-1:-1:-1;;;;;10461:169:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10461:169:72;-1:-1:-1;6077:58:72;-1:-1:-1;;;;;;;;;;;6118:6:72;6126:8;6077:12;:58::i;:::-;6156:51;6174:4;6180:6;6188:18;1875:292:67;1977:14;2003:20;2045:7;2054:6;2062:18;2026:55;;:::i;:::-;-1:-1:-1;;;;;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2026:55:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2096:42:67;;;-1:-1:-1;;;;;2096:42:67;;;;2124:5;2096:42;;;;;;;;;;;;2003:78;;-1:-1:-1;2096:42:67;;;;;;;;;;2155:5;1875:292;-1:-1:-1;;;;1875:292:67:o;7710:101:72:-;-1:-1:-1;;;;;;;;;;;7710:101:72;:::o;8844:132::-;8880:4;8908:60;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;8908:6:72;:60::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;433:157:67:-;570:12;;;503:19;570:12;;;;;;;;;541:42;;553:7;;562:6;;541:11;:42::i;:::-;534:49;433:157;-1:-1:-1;;;433:157:67:o;8012:99:72:-;-1:-1:-1;;;;;;;;;;;8012:99:72;:::o;866:300:67:-;962:19;993:25;1045:7;1054:6;1062:18;1021:60;;:::i;:::-;-1:-1:-1;;;;;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1021:60:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1096:41:67;;;-1:-1:-1;;;;;1096:41:67;;;;1124:4;1096:41;;;;;;;;;;;;993:88;;-1:-1:-1;1096:41:67;;;;;;;;;;1154:5;866:300;-1:-1:-1;;;;866:300:67:o;9423:311:72:-;9524:4;9540:15;9558:5;:3;:5::i;:::-;9540:23;-1:-1:-1;;;;;;9580:33:72;;;;;;:147;;-1:-1:-1;9676:51:72;;;;;-1:-1:-1;;;;;9676:51:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;;;9701:4;;9707:6;;9715:5;;9722:4;;9676:51;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9676:51:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9676:51:72;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9676:51:72;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9676:51:72;9580:147;9573:154;9423:311;-1:-1:-1;;;;;;9423:311:72:o;1384:164:67:-;1528:12;;;1460:14;1528:12;;;;;;;;;1493:48;;1511:7;;1520:6;;1493:17;:48::i;347:94:53:-;422:12;347:94;:::o;303:126:29:-;363:11;393:29;405:2;418;393:3;:29::i;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;9976:414:72:-;10067:11;10081:26;10088:10;10100:6;10081;:26::i;:::-;10067:40;-1:-1:-1;;;;;;10121:17:72;;;10117:267;;10284:24;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10271:11:72;;;;;;;10263:46;;;;-1:-1:-1;;;;;10263:46:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10263:46:72;;10117:267;;;10340:33;10348:10;10360:6;10368:4;10340:7;:33::i;:::-;9976:414;;;;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;9740:230:72:-;9834:16;9845:4;9834:10;:16::i;:::-;9852:22;;;;;;;;;;;;;;;;;;9826:49;;;;;;-1:-1:-1;;;;;9826:49:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9826:49:72;-1:-1:-1;9885:4:72;:16;;;;;;;;;;;:24;;;;;;;;;:31;;-1:-1:-1;;9885:31:72;-1:-1:-1;;;;;9885:31:72;;;;;;;;9931:32;;;;;;;9885:24;;:16;;9931:32;;;;;;;;;9740:230;;;:::o;519:134:55:-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;1028:119:55:-;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;441:10209:72:-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"./IKernel.sol\";\nimport \"./KernelConstants.sol\";\nimport \"./KernelStorage.sol\";\nimport \"../acl/IACL.sol\";\nimport \"../acl/ACLSyntaxSugar.sol\";\nimport \"../common/ConversionHelpers.sol\";\nimport \"../common/IsContract.sol\";\nimport \"../common/Petrifiable.sol\";\nimport \"../common/VaultRecoverable.sol\";\nimport \"../factory/AppProxyFactory.sol\";\nimport \"../lib/misc/ERCProxy.sol\";\n\n\n// solium-disable-next-line max-len\ncontract Kernel is IKernel, KernelStorage, KernelAppIds, KernelNamespaceConstants, Petrifiable, IsContract, VaultRecoverable, AppProxyFactory, ACLSyntaxSugar {\n /* Hardcoded constants to save gas\n bytes32 public constant APP_MANAGER_ROLE = keccak256(\"APP_MANAGER_ROLE\");\n */\n bytes32 public constant APP_MANAGER_ROLE = 0xb6d92708f3d4817afc106147d969e229ced5c46e65e0a5002a0d391287762bd0;\n\n string private constant ERROR_APP_NOT_CONTRACT = \"KERNEL_APP_NOT_CONTRACT\";\n string private constant ERROR_INVALID_APP_CHANGE = \"KERNEL_INVALID_APP_CHANGE\";\n string private constant ERROR_AUTH_FAILED = \"KERNEL_AUTH_FAILED\";\n\n /**\n * @dev Constructor that allows the deployer to choose if the base instance should be petrified immediately.\n * @param _shouldPetrify Immediately petrify this instance so that it can never be initialized\n */\n constructor(bool _shouldPetrify) public {\n if (_shouldPetrify) {\n petrify();\n }\n }\n\n /**\n * @dev Initialize can only be called once. It saves the block number in which it was initialized.\n * @notice Initialize this kernel instance along with its ACL and set `_permissionsCreator` as the entity that can create other permissions\n * @param _baseAcl Address of base ACL app\n * @param _permissionsCreator Entity that will be given permission over createPermission\n */\n function initialize(IACL _baseAcl, address _permissionsCreator) public onlyInit {\n initialized();\n\n // Set ACL base\n _setApp(KERNEL_APP_BASES_NAMESPACE, KERNEL_DEFAULT_ACL_APP_ID, _baseAcl);\n\n // Create ACL instance and attach it as the default ACL app\n IACL acl = IACL(newAppProxy(this, KERNEL_DEFAULT_ACL_APP_ID));\n acl.initialize(_permissionsCreator);\n _setApp(KERNEL_APP_ADDR_NAMESPACE, KERNEL_DEFAULT_ACL_APP_ID, acl);\n\n recoveryVaultAppId = KERNEL_DEFAULT_VAULT_APP_ID;\n }\n\n /**\n * @dev Create a new instance of an app linked to this kernel\n * @notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`\n * @param _appId Identifier for app\n * @param _appBase Address of the app's base implementation\n * @return AppProxy instance\n */\n function newAppInstance(bytes32 _appId, address _appBase)\n public\n auth(APP_MANAGER_ROLE, arr(KERNEL_APP_BASES_NAMESPACE, _appId))\n returns (ERCProxy appProxy)\n {\n return newAppInstance(_appId, _appBase, new bytes(0), false);\n }\n\n /**\n * @dev Create a new instance of an app linked to this kernel and set its base\n * implementation if it was not already set\n * @notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n * @param _appId Identifier for app\n * @param _appBase Address of the app's base implementation\n * @param _initializePayload Payload for call made by the proxy during its construction to initialize\n * @param _setDefault Whether the app proxy app is the default one.\n * Useful when the Kernel needs to know of an instance of a particular app,\n * like Vault for escape hatch mechanism.\n * @return AppProxy instance\n */\n function newAppInstance(bytes32 _appId, address _appBase, bytes _initializePayload, bool _setDefault)\n public\n auth(APP_MANAGER_ROLE, arr(KERNEL_APP_BASES_NAMESPACE, _appId))\n returns (ERCProxy appProxy)\n {\n _setAppIfNew(KERNEL_APP_BASES_NAMESPACE, _appId, _appBase);\n appProxy = newAppProxy(this, _appId, _initializePayload);\n // By calling setApp directly and not the internal functions, we make sure the params are checked\n // and it will only succeed if sender has permissions to set something to the namespace.\n if (_setDefault) {\n setApp(KERNEL_APP_ADDR_NAMESPACE, _appId, appProxy);\n }\n }\n\n /**\n * @dev Create a new pinned instance of an app linked to this kernel\n * @notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`.\n * @param _appId Identifier for app\n * @param _appBase Address of the app's base implementation\n * @return AppProxy instance\n */\n function newPinnedAppInstance(bytes32 _appId, address _appBase)\n public\n auth(APP_MANAGER_ROLE, arr(KERNEL_APP_BASES_NAMESPACE, _appId))\n returns (ERCProxy appProxy)\n {\n return newPinnedAppInstance(_appId, _appBase, new bytes(0), false);\n }\n\n /**\n * @dev Create a new pinned instance of an app linked to this kernel and set\n * its base implementation if it was not already set\n * @notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n * @param _appId Identifier for app\n * @param _appBase Address of the app's base implementation\n * @param _initializePayload Payload for call made by the proxy during its construction to initialize\n * @param _setDefault Whether the app proxy app is the default one.\n * Useful when the Kernel needs to know of an instance of a particular app,\n * like Vault for escape hatch mechanism.\n * @return AppProxy instance\n */\n function newPinnedAppInstance(bytes32 _appId, address _appBase, bytes _initializePayload, bool _setDefault)\n public\n auth(APP_MANAGER_ROLE, arr(KERNEL_APP_BASES_NAMESPACE, _appId))\n returns (ERCProxy appProxy)\n {\n _setAppIfNew(KERNEL_APP_BASES_NAMESPACE, _appId, _appBase);\n appProxy = newAppProxyPinned(this, _appId, _initializePayload);\n // By calling setApp directly and not the internal functions, we make sure the params are checked\n // and it will only succeed if sender has permissions to set something to the namespace.\n if (_setDefault) {\n setApp(KERNEL_APP_ADDR_NAMESPACE, _appId, appProxy);\n }\n }\n\n /**\n * @dev Set the resolving address of an app instance or base implementation\n * @notice Set the resolving address of `_appId` in namespace `_namespace` to `_app`\n * @param _namespace App namespace to use\n * @param _appId Identifier for app\n * @param _app Address of the app instance or base implementation\n * @return ID of app\n */\n function setApp(bytes32 _namespace, bytes32 _appId, address _app)\n public\n auth(APP_MANAGER_ROLE, arr(_namespace, _appId))\n {\n _setApp(_namespace, _appId, _app);\n }\n\n /**\n * @dev Set the default vault id for the escape hatch mechanism\n * @param _recoveryVaultAppId Identifier of the recovery vault app\n */\n function setRecoveryVaultAppId(bytes32 _recoveryVaultAppId)\n public\n auth(APP_MANAGER_ROLE, arr(KERNEL_APP_ADDR_NAMESPACE, _recoveryVaultAppId))\n {\n recoveryVaultAppId = _recoveryVaultAppId;\n }\n\n // External access to default app id and namespace constants to mimic default getters for constants\n /* solium-disable function-order, mixedcase */\n function CORE_NAMESPACE() external pure returns (bytes32) { return KERNEL_CORE_NAMESPACE; }\n function APP_BASES_NAMESPACE() external pure returns (bytes32) { return KERNEL_APP_BASES_NAMESPACE; }\n function APP_ADDR_NAMESPACE() external pure returns (bytes32) { return KERNEL_APP_ADDR_NAMESPACE; }\n function KERNEL_APP_ID() external pure returns (bytes32) { return KERNEL_CORE_APP_ID; }\n function DEFAULT_ACL_APP_ID() external pure returns (bytes32) { return KERNEL_DEFAULT_ACL_APP_ID; }\n /* solium-enable function-order, mixedcase */\n\n /**\n * @dev Get the address of an app instance or base implementation\n * @param _namespace App namespace to use\n * @param _appId Identifier for app\n * @return Address of the app\n */\n function getApp(bytes32 _namespace, bytes32 _appId) public view returns (address) {\n return apps[_namespace][_appId];\n }\n\n /**\n * @dev Get the address of the recovery Vault instance (to recover funds)\n * @return Address of the Vault\n */\n function getRecoveryVault() public view returns (address) {\n return apps[KERNEL_APP_ADDR_NAMESPACE][recoveryVaultAppId];\n }\n\n /**\n * @dev Get the installed ACL app\n * @return ACL app\n */\n function acl() public view returns (IACL) {\n return IACL(getApp(KERNEL_APP_ADDR_NAMESPACE, KERNEL_DEFAULT_ACL_APP_ID));\n }\n\n /**\n * @dev Function called by apps to check ACL on kernel or to check permission status\n * @param _who Sender of the original call\n * @param _where Address of the app\n * @param _what Identifier for a group of actions in app\n * @param _how Extra data for ACL auth\n * @return Boolean indicating whether the ACL allows the role or not.\n * Always returns false if the kernel hasn't been initialized yet.\n */\n function hasPermission(address _who, address _where, bytes32 _what, bytes _how) public view returns (bool) {\n IACL defaultAcl = acl();\n return address(defaultAcl) != address(0) && // Poor man's initialization check (saves gas)\n defaultAcl.hasPermission(_who, _where, _what, _how);\n }\n\n function _setApp(bytes32 _namespace, bytes32 _appId, address _app) internal {\n require(isContract(_app), ERROR_APP_NOT_CONTRACT);\n apps[_namespace][_appId] = _app;\n emit SetApp(_namespace, _appId, _app);\n }\n\n function _setAppIfNew(bytes32 _namespace, bytes32 _appId, address _app) internal {\n address app = getApp(_namespace, _appId);\n if (app != address(0)) {\n // The only way to set an app is if it passes the isContract check, so no need to check it again\n require(app == _app, ERROR_INVALID_APP_CHANGE);\n } else {\n _setApp(_namespace, _appId, _app);\n }\n }\n\n modifier auth(bytes32 _role, uint256[] memory _params) {\n require(\n hasPermission(msg.sender, address(this), _role, ConversionHelpers.dangerouslyCastUintArrayToBytes(_params)),\n ERROR_AUTH_FAILED\n );\n _;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/Kernel.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "exportedSymbols": { - "Kernel": [ - 26897 - ] - }, - "id": 26898, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26407, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:72" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "./IKernel.sol", - "id": 26408, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26406, - "src": "25:23:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "./KernelConstants.sol", - "id": 26409, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26920, - "src": "49:31:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "file": "./KernelStorage.sol", - "id": 26410, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26999, - "src": "81:29:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26411, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 22333, - "src": "111:25:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "../acl/ACLSyntaxSugar.sol", - "id": 26412, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 22312, - "src": "137:35:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 26413, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23517, - "src": "173:41:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 26414, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23826, - "src": "215:34:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "file": "../common/Petrifiable.sol", - "id": 26415, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23859, - "src": "250:35:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "file": "../common/VaultRecoverable.sol", - "id": 26416, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 24377, - "src": "286:40:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 26417, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 25962, - "src": "327:40:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "file": "../lib/misc/ERCProxy.sol", - "id": 26418, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 28031, - "src": "368:34:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26419, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "460:7:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 26420, - "nodeType": "InheritanceSpecifier", - "src": "460:7:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26421, - "name": "KernelStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26998, - "src": "469:13:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelStorage_$26998", - "typeString": "contract KernelStorage" - } - }, - "id": 26422, - "nodeType": "InheritanceSpecifier", - "src": "469:13:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26423, - "name": "KernelAppIds", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26909, - "src": "484:12:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelAppIds_$26909", - "typeString": "contract KernelAppIds" - } - }, - "id": 26424, - "nodeType": "InheritanceSpecifier", - "src": "484:12:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26425, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "498:24:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 26426, - "nodeType": "InheritanceSpecifier", - "src": "498:24:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26427, - "name": "Petrifiable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23858, - "src": "524:11:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Petrifiable_$23858", - "typeString": "contract Petrifiable" - } - }, - "id": 26428, - "nodeType": "InheritanceSpecifier", - "src": "524:11:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26429, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "537:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 26430, - "nodeType": "InheritanceSpecifier", - "src": "537:10:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26431, - "name": "VaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24376, - "src": "549:16:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - }, - "id": 26432, - "nodeType": "InheritanceSpecifier", - "src": "549:16:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26433, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "567:15:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 26434, - "nodeType": "InheritanceSpecifier", - "src": "567:15:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26435, - "name": "ACLSyntaxSugar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22236, - "src": "584:14:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLSyntaxSugar_$22236", - "typeString": "contract ACLSyntaxSugar" - } - }, - "id": 26436, - "nodeType": "InheritanceSpecifier", - "src": "584:14:72" - } - ], - "contractDependencies": [ - 22236, - 23649, - 23699, - 23797, - 23825, - 23858, - 24154, - 24376, - 25961, - 26364, - 26405, - 26909, - 26919, - 26998 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26897, - "linearizedBaseContracts": [ - 26897, - 22236, - 25961, - 24376, - 23825, - 23649, - 23858, - 23797, - 24154, - 26919, - 26909, - 26998, - 26405, - 23699, - 26364 - ], - "name": "Kernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26439, - "name": "APP_MANAGER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "729:109:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26437, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "729:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862366439323730386633643438313761666331303631343764393639653232396365643563343665363565306135303032613064333931323837373632626430", - "id": 26438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "772:66:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82704613664676796936649533353167530996754393993849268174999512363230727384016_by_1", - "typeString": "int_const 8270...(69 digits omitted)...4016" - }, - "value": "0xb6d92708f3d4817afc106147d969e229ced5c46e65e0a5002a0d391287762bd0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 26442, - "name": "ERROR_APP_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "845:74:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26440, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "845:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f4150505f4e4f545f434f4e5452414354", - "id": 26441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894:25:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9836ab188560c8863264933b2423feee77bc53fbabf48ddf22703b0c91862812", - "typeString": "literal_string \"KERNEL_APP_NOT_CONTRACT\"" - }, - "value": "KERNEL_APP_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26445, - "name": "ERROR_INVALID_APP_CHANGE", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "925:78:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26443, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "925:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f494e56414c49445f4150505f4348414e4745", - "id": 26444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "976:27:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4acfdbe2a685f787d10384f7152f5de5d8b0224aa0b8e04fb5d376ed2b3e513", - "typeString": "literal_string \"KERNEL_INVALID_APP_CHANGE\"" - }, - "value": "KERNEL_INVALID_APP_CHANGE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26448, - "name": "ERROR_AUTH_FAILED", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "1009:64:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26446, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1009:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f415554485f4641494c4544", - "id": 26447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1053:20:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2f44e6c32cf650dbae4931fdeafb7f4804fc17f8169bd4fb754968e09d978601", - "typeString": "literal_string \"KERNEL_AUTH_FAILED\"" - }, - "value": "KERNEL_AUTH_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 26459, - "nodeType": "Block", - "src": "1345:70:72", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 26453, - "name": "_shouldPetrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26450, - "src": "1359:14:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26458, - "nodeType": "IfStatement", - "src": "1355:54:72", - "trueBody": { - "id": 26457, - "nodeType": "Block", - "src": "1375:34:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26454, - "name": "petrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23857, - "src": "1389:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 26455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1389:9:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26456, - "nodeType": "ExpressionStatement", - "src": "1389:9:72" - } - ] - } - } - ] - }, - "documentation": "@dev Constructor that allows the deployer to choose if the base instance should be petrified immediately.\n@param _shouldPetrify Immediately petrify this instance so that it can never be initialized", - "id": 26460, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26450, - "name": "_shouldPetrify", - "nodeType": "VariableDeclaration", - "scope": 26460, - "src": "1317:19:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26449, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1317:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1316:21:72" - }, - "payable": false, - "returnParameters": { - "id": 26452, - "nodeType": "ParameterList", - "parameters": [], - "src": "1345:0:72" - }, - "scope": 26897, - "src": "1305:110:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26503, - "nodeType": "Block", - "src": "1899:457:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26469, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1909:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 26470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1909:13:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26471, - "nodeType": "ExpressionStatement", - "src": "1909:13:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26473, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "1965:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26474, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "1993:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26475, - "name": "_baseAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26462, - "src": "2020:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26472, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "1957:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1957:72:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26477, - "nodeType": "ExpressionStatement", - "src": "1957:72:72" - }, - { - "assignments": [ - 26479 - ], - "declarations": [ - { - "constant": false, - "id": 26479, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "2108:8:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26478, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "2108:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26486, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26482, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "2136:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26483, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "2142:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26481, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "2124:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 26484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2124:44:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 26480, - "name": "IACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22332, - "src": "2119:4:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACL_$22332_$", - "typeString": "type(contract IACL)" - } - }, - "id": 26485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2119:50:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2108:61:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26490, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26464, - "src": "2194:19:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26487, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26479, - "src": "2179:3:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22318, - "src": "2179:14:72", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 26491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2179:35:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26492, - "nodeType": "ExpressionStatement", - "src": "2179:35:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26494, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "2232:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26495, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "2259:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26496, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26479, - "src": "2286:3:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26493, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "2224:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2224:66:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26498, - "nodeType": "ExpressionStatement", - "src": "2224:66:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26499, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "2301:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26500, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26908, - "src": "2322:27:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2301:48:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 26502, - "nodeType": "ExpressionStatement", - "src": "2301:48:72" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize this kernel instance along with its ACL and set `_permissionsCreator` as the entity that can create other permissions\n@param _baseAcl Address of base ACL app\n@param _permissionsCreator Entity that will be given permission over createPermission", - "id": 26504, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 26467, - "modifierName": { - "argumentTypes": null, - "id": 26466, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1890:8:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1890:8:72" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26462, - "name": "_baseAcl", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "1839:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26461, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "1839:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26464, - "name": "_permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "1854:27:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1854:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1838:44:72" - }, - "payable": false, - "returnParameters": { - "id": 26468, - "nodeType": "ParameterList", - "parameters": [], - "src": "1899:0:72" - }, - "scope": 26897, - "src": "1819:537:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26530, - "nodeType": "Block", - "src": "2878:77:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26521, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26506, - "src": "2910:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26522, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26508, - "src": "2918:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2938:1:72", - "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": 26524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2928:9:72", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 26523, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2932:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 26526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2928:12:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 26527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2942:5:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26520, - "name": "newAppInstance", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26531, - 26575 - ], - "referencedDeclaration": 26575, - "src": "2895:14:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) returns (contract ERCProxy)" - } - }, - "id": 26528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2895:53:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "functionReturnParameters": 26519, - "id": 26529, - "nodeType": "Return", - "src": "2888:60:72" - } - ] - }, - "documentation": "@dev Create a new instance of an app linked to this kernel\n@notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@return AppProxy instance", - "id": 26531, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26511, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "2779:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26513, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "2801:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26514, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26506, - "src": "2829:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26512, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "2797:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26516, - "modifierName": { - "argumentTypes": null, - "id": 26510, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "2774:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2774:63:72" - } - ], - "name": "newAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26506, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2717:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26505, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2717:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26508, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2733:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2733:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2716:34:72" - }, - "payable": false, - "returnParameters": { - "id": 26519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26518, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2855:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26517, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "2855:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2854:19:72" - }, - "scope": 26897, - "src": "2693:262:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26574, - "nodeType": "Block", - "src": "3968:446:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26552, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "3991:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26553, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4019:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26554, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26535, - "src": "4027:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26551, - "name": "_setAppIfNew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26871, - "src": "3978:12:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:58:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26556, - "nodeType": "ExpressionStatement", - "src": "3978:58:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26557, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26549, - "src": "4046:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26559, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "4069:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26560, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4075:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26561, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26537, - "src": "4083:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26558, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25910, - "src": "4057:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - } - }, - "id": 26562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4057:45:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "src": "4046:56:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 26564, - "nodeType": "ExpressionStatement", - "src": "4046:56:72" - }, - { - "condition": { - "argumentTypes": null, - "id": 26565, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26539, - "src": "4319:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26573, - "nodeType": "IfStatement", - "src": "4315:93:72", - "trueBody": { - "id": 26572, - "nodeType": "Block", - "src": "4332:76:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26567, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "4353:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26568, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4380:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26569, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26549, - "src": "4388:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26566, - "name": "setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26669 - ], - "referencedDeclaration": 26669, - "src": "4346:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:51:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26571, - "nodeType": "ExpressionStatement", - "src": "4346:51:72" - } - ] - } - } - ] - }, - "documentation": "@dev Create a new instance of an app linked to this kernel and set its base\n implementation if it was not already set\n@notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@param _initializePayload Payload for call made by the proxy during its construction to initialize\n@param _setDefault Whether the app proxy app is the default one.\n Useful when the Kernel needs to know of an instance of a particular app,\n like Vault for escape hatch mechanism.\n@return AppProxy instance", - "id": 26575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26542, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "3869:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26544, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "3891:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26545, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "3919:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26543, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "3887:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3887:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26547, - "modifierName": { - "argumentTypes": null, - "id": 26541, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "3864:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3864:63:72" - } - ], - "name": "newAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26533, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3763:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26532, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3763:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26535, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3779:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3779:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26537, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3797:24:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26536, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3797:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26539, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3823:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3823:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3762:78:72" - }, - "payable": false, - "returnParameters": { - "id": 26550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26549, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3945:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26548, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "3945:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3944:19:72" - }, - "scope": 26897, - "src": "3739:675:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26601, - "nodeType": "Block", - "src": "4954:83:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26592, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26577, - "src": "4992:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26593, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26579, - "src": "5000:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5020:1:72", - "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": 26595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5010:9:72", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 26594, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5014:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 26597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5010:12:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 26598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5024:5:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26591, - "name": "newPinnedAppInstance", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26602, - 26646 - ], - "referencedDeclaration": 26646, - "src": "4971:20:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) returns (contract ERCProxy)" - } - }, - "id": 26599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4971:59:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "functionReturnParameters": 26590, - "id": 26600, - "nodeType": "Return", - "src": "4964:66:72" - } - ] - }, - "documentation": "@dev Create a new pinned instance of an app linked to this kernel\n@notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`.\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@return AppProxy instance", - "id": 26602, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26582, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "4855:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26584, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "4877:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26585, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26577, - "src": "4905:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26583, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "4873:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4873:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26587, - "modifierName": { - "argumentTypes": null, - "id": 26581, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "4850:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4850:63:72" - } - ], - "name": "newPinnedAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26577, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4793:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26576, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4793:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26579, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4809:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4809:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4792:34:72" - }, - "payable": false, - "returnParameters": { - "id": 26590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26589, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4931:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26588, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "4931:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4930:19:72" - }, - "scope": 26897, - "src": "4763:274:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26645, - "nodeType": "Block", - "src": "6067:452:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26623, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "6090:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26624, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6118:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26625, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26606, - "src": "6126:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26622, - "name": "_setAppIfNew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26871, - "src": "6077:12:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6077:58:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26627, - "nodeType": "ExpressionStatement", - "src": "6077:58:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26628, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26620, - "src": "6145:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26630, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "6174:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26631, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6180:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26632, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26608, - "src": "6188:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26629, - "name": "newAppProxyPinned", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25929, - 25960 - ], - "referencedDeclaration": 25960, - "src": "6156:17:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - } - }, - "id": 26633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6156:51:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "src": "6145:62:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 26635, - "nodeType": "ExpressionStatement", - "src": "6145:62:72" - }, - { - "condition": { - "argumentTypes": null, - "id": 26636, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26610, - "src": "6424:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26644, - "nodeType": "IfStatement", - "src": "6420:93:72", - "trueBody": { - "id": 26643, - "nodeType": "Block", - "src": "6437:76:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26638, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "6458:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26639, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6485:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26640, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26620, - "src": "6493:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26637, - "name": "setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26669 - ], - "referencedDeclaration": 26669, - "src": "6451:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6451:51:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26642, - "nodeType": "ExpressionStatement", - "src": "6451:51:72" - } - ] - } - } - ] - }, - "documentation": "@dev Create a new pinned instance of an app linked to this kernel and set\n its base implementation if it was not already set\n@notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@param _initializePayload Payload for call made by the proxy during its construction to initialize\n@param _setDefault Whether the app proxy app is the default one.\n Useful when the Kernel needs to know of an instance of a particular app,\n like Vault for escape hatch mechanism.\n@return AppProxy instance", - "id": 26646, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26613, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "5968:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26615, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "5990:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26616, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6018:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26614, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "5986:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5986:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26618, - "modifierName": { - "argumentTypes": null, - "id": 26612, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "5963:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5963:63:72" - } - ], - "name": "newPinnedAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26604, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5862:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26603, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5862:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26606, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5878:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5878:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26608, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5896:24:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26607, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5896:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26610, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5922:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26609, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5922:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5861:78:72" - }, - "payable": false, - "returnParameters": { - "id": 26621, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26620, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "6044:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26619, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "6044:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6043:19:72" - }, - "scope": 26897, - "src": "5832:687:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26668, - "nodeType": "Block", - "src": "7025:50:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26663, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26648, - "src": "7043:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26664, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26650, - "src": "7055:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26665, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26652, - "src": "7063:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26662, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "7035:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7035:33:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26667, - "nodeType": "ExpressionStatement", - "src": "7035:33:72" - } - ] - }, - "documentation": "@dev Set the resolving address of an app instance or base implementation\n@notice Set the resolving address of `_appId` in namespace `_namespace` to `_app`\n@param _namespace App namespace to use\n@param _appId Identifier for app\n@param _app Address of the app instance or base implementation\n@return ID of app", - "id": 26669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26655, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "6978:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26657, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26648, - "src": "7000:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26658, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26650, - "src": "7012:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26656, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "6996:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:23:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26660, - "modifierName": { - "argumentTypes": null, - "id": 26654, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "6973:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6973:47:72" - } - ], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26648, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6900:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26647, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6900:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26650, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6920:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26649, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6920:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26652, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6936:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26651, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6936:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6899:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26661, - "nodeType": "ParameterList", - "parameters": [], - "src": "7025:0:72" - }, - "scope": 26897, - "src": "6884:191:72", - "stateMutability": "nonpayable", - "superFunction": 26395, - "visibility": "public" - }, - { - "body": { - "id": 26685, - "nodeType": "Block", - "src": "7396:57:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26681, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "7406:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26682, - "name": "_recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26671, - "src": "7427:19:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7406:40:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 26684, - "nodeType": "ExpressionStatement", - "src": "7406:40:72" - } - ] - }, - "documentation": "@dev Set the default vault id for the escape hatch mechanism\n@param _recoveryVaultAppId Identifier of the recovery vault app", - "id": 26686, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26674, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "7321:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26676, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "7343:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26677, - "name": "_recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26671, - "src": "7370:19:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26675, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "7339:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7339:51:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26679, - "modifierName": { - "argumentTypes": null, - "id": 26673, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "7316:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7316:75:72" - } - ], - "name": "setRecoveryVaultAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26671, - "name": "_recoveryVaultAppId", - "nodeType": "VariableDeclaration", - "scope": 26686, - "src": "7264:27:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26670, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7264:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7263:29:72" - }, - "payable": false, - "returnParameters": { - "id": 26680, - "nodeType": "ParameterList", - "parameters": [], - "src": "7396:0:72" - }, - "scope": 26897, - "src": "7233:220:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26693, - "nodeType": "Block", - "src": "7672:33:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26691, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "7681:21:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26690, - "id": 26692, - "nodeType": "Return", - "src": "7674:28:72" - } - ] - }, - "documentation": null, - "id": 26694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "CORE_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26687, - "nodeType": "ParameterList", - "parameters": [], - "src": "7637:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26689, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26694, - "src": "7663:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26688, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7663:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7662:9:72" - }, - "scope": 26897, - "src": "7614:91:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26701, - "nodeType": "Block", - "src": "7773:38:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26699, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "7782:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26698, - "id": 26700, - "nodeType": "Return", - "src": "7775:33:72" - } - ] - }, - "documentation": null, - "id": 26702, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "APP_BASES_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26695, - "nodeType": "ParameterList", - "parameters": [], - "src": "7738:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26697, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26702, - "src": "7764:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26696, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7764:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7763:9:72" - }, - "scope": 26897, - "src": "7710:101:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26709, - "nodeType": "Block", - "src": "7878:37:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26707, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "7887:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26706, - "id": 26708, - "nodeType": "Return", - "src": "7880:32:72" - } - ] - }, - "documentation": null, - "id": 26710, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "APP_ADDR_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26703, - "nodeType": "ParameterList", - "parameters": [], - "src": "7843:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26705, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26710, - "src": "7869:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26704, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7869:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7868:9:72" - }, - "scope": 26897, - "src": "7816:99:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26717, - "nodeType": "Block", - "src": "7977:30:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26715, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "7986:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26714, - "id": 26716, - "nodeType": "Return", - "src": "7979:25:72" - } - ] - }, - "documentation": null, - "id": 26718, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "KERNEL_APP_ID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26711, - "nodeType": "ParameterList", - "parameters": [], - "src": "7942:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26713, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26718, - "src": "7968:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26712, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7968:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7967:9:72" - }, - "scope": 26897, - "src": "7920:87:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26725, - "nodeType": "Block", - "src": "8074:37:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26723, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "8083:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26722, - "id": 26724, - "nodeType": "Return", - "src": "8076:32:72" - } - ] - }, - "documentation": null, - "id": 26726, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "DEFAULT_ACL_APP_ID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26719, - "nodeType": "ParameterList", - "parameters": [], - "src": "8039:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26726, - "src": "8065:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26720, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8065:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8064:9:72" - }, - "scope": 26897, - "src": "8012:99:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26741, - "nodeType": "Block", - "src": "8450:48:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26735, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "8467:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26737, - "indexExpression": { - "argumentTypes": null, - "id": 26736, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26728, - "src": "8472:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8467:16:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26739, - "indexExpression": { - "argumentTypes": null, - "id": 26738, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26730, - "src": "8484:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8467:24:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26734, - "id": 26740, - "nodeType": "Return", - "src": "8460:31:72" - } - ] - }, - "documentation": "@dev Get the address of an app instance or base implementation\n@param _namespace App namespace to use\n@param _appId Identifier for app\n@return Address of the app", - "id": 26742, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26728, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8384:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26727, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8384:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26730, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8404:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26729, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8404:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8383:36:72" - }, - "payable": false, - "returnParameters": { - "id": 26734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26733, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8441:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8441:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8440:9:72" - }, - "scope": 26897, - "src": "8368:130:72", - "stateMutability": "view", - "superFunction": 26404, - "visibility": "public" - }, - { - "body": { - "id": 26753, - "nodeType": "Block", - "src": "8689:75:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26747, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "8706:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26749, - "indexExpression": { - "argumentTypes": null, - "id": 26748, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "8711:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8706:31:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26751, - "indexExpression": { - "argumentTypes": null, - "id": 26750, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "8738:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8706:51:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26746, - "id": 26752, - "nodeType": "Return", - "src": "8699:58:72" - } - ] - }, - "documentation": "@dev Get the address of the recovery Vault instance (to recover funds)\n@return Address of the Vault", - "id": 26754, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26743, - "nodeType": "ParameterList", - "parameters": [], - "src": "8656:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26745, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26754, - "src": "8680:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26744, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8680:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8679:9:72" - }, - "scope": 26897, - "src": "8631:133:72", - "stateMutability": "view", - "superFunction": 24375, - "visibility": "public" - }, - { - "body": { - "id": 26766, - "nodeType": "Block", - "src": "8886:90:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26761, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "8915:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26762, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "8942:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26760, - "name": "getApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26742 - ], - "referencedDeclaration": 26742, - "src": "8908:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view returns (address)" - } - }, - "id": 26763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8908:60:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26759, - "name": "IACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22332, - "src": "8903:4:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACL_$22332_$", - "typeString": "type(contract IACL)" - } - }, - "id": 26764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:66:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "functionReturnParameters": 26758, - "id": 26765, - "nodeType": "Return", - "src": "8896:73:72" - } - ] - }, - "documentation": "@dev Get the installed ACL app\n@return ACL app", - "id": 26767, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26755, - "nodeType": "ParameterList", - "parameters": [], - "src": "8856:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26757, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26767, - "src": "8880:4:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26756, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "8880:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8879:6:72" - }, - "scope": 26897, - "src": "8844:132:72", - "stateMutability": "view", - "superFunction": 26373, - "visibility": "public" - }, - { - "body": { - "id": 26801, - "nodeType": "Block", - "src": "9530:204:72", - "statements": [ - { - "assignments": [ - 26781 - ], - "declarations": [ - { - "constant": false, - "id": 26781, - "name": "defaultAcl", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9540:15:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26780, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "9540:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26784, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26782, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26767 - ], - "referencedDeclaration": 26767, - "src": "9558:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view returns (contract IACL)" - } - }, - "id": 26783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9558:5:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9540:23:72" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 26799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26786, - "name": "defaultAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26781, - "src": "9588:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9580:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9580:19:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9611:1:72", - "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": 26788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9603:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9603:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9580:33:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26794, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26769, - "src": "9701:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26795, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26771, - "src": "9707:6:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26796, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26773, - "src": "9715:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26797, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26775, - "src": "9722:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26792, - "name": "defaultAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26781, - "src": "9676:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 22331, - "src": "9676:24:72", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view external returns (bool)" - } - }, - "id": 26798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9676:51:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9580:147:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 26779, - "id": 26800, - "nodeType": "Return", - "src": "9573:154:72" - } - ] - }, - "documentation": "@dev Function called by apps to check ACL on kernel or to check permission status\n@param _who Sender of the original call\n@param _where Address of the app\n@param _what Identifier for a group of actions in app\n@param _how Extra data for ACL auth\n@return Boolean indicating whether the ACL allows the role or not.\n Always returns false if the kernel hasn't been initialized yet.", - "id": 26802, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26769, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9446:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9446:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26771, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9460:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9460:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26773, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9476:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26772, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9476:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26775, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9491:10:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26774, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9491:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9445:57:72" - }, - "payable": false, - "returnParameters": { - "id": 26779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26778, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9524:4:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26777, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9524:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9523:6:72" - }, - "scope": 26897, - "src": "9423:311:72", - "stateMutability": "view", - "superFunction": 26386, - "visibility": "public" - }, - { - "body": { - "id": 26832, - "nodeType": "Block", - "src": "9816:154:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26813, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9845:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26812, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9834:10:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 26814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9834:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26815, - "name": "ERROR_APP_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26442, - "src": "9852:22:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26811, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9826:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9826:49:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26817, - "nodeType": "ExpressionStatement", - "src": "9826:49:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26818, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "9885:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26821, - "indexExpression": { - "argumentTypes": null, - "id": 26819, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26804, - "src": "9890:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9885:16:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26822, - "indexExpression": { - "argumentTypes": null, - "id": 26820, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26806, - "src": "9902:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9885:24:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26823, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9912:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9885:31:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 26825, - "nodeType": "ExpressionStatement", - "src": "9885:31:72" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26827, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26804, - "src": "9938:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26828, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26806, - "src": "9950:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26829, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9958:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26826, - "name": "SetApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26363, - "src": "9931:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9931:32:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26831, - "nodeType": "EmitStatement", - "src": "9926:37:72" - } - ] - }, - "documentation": null, - "id": 26833, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26804, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9757:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26803, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9757:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26806, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9777:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26805, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9777:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26808, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9793:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9793:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9756:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26810, - "nodeType": "ParameterList", - "parameters": [], - "src": "9816:0:72" - }, - "scope": 26897, - "src": "9740:230:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 26870, - "nodeType": "Block", - "src": "10057:333:72", - "statements": [ - { - "assignments": [ - 26843 - ], - "declarations": [ - { - "constant": false, - "id": 26843, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10067:11:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10067:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26848, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26845, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26835, - "src": "10088:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26846, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26837, - "src": "10100:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26844, - "name": "getApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26742 - ], - "referencedDeclaration": 26742, - "src": "10081:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view returns (address)" - } - }, - "id": 26847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10081:26:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10067:40:72" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 26849, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26843, - "src": "10121:3:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10136:1:72", - "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": 26850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10128:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10128:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10121:17:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 26868, - "nodeType": "Block", - "src": "10326:58:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26863, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26835, - "src": "10348:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26864, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26837, - "src": "10360:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26865, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26839, - "src": "10368:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26862, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "10340:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10340:33:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26867, - "nodeType": "ExpressionStatement", - "src": "10340:33:72" - } - ] - }, - "id": 26869, - "nodeType": "IfStatement", - "src": "10117:267:72", - "trueBody": { - "id": 26861, - "nodeType": "Block", - "src": "10140:180:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 26855, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26843, - "src": "10271:3:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 26856, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26839, - "src": "10278:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10271:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26858, - "name": "ERROR_INVALID_APP_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26445, - "src": "10284:24:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26854, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10263:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:46:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26860, - "nodeType": "ExpressionStatement", - "src": "10263:46:72" - } - ] - } - } - ] - }, - "documentation": null, - "id": 26871, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setAppIfNew", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26835, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "9998:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26834, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9998:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26837, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10018:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26836, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10018:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26839, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10034:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10034:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9997:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26841, - "nodeType": "ParameterList", - "parameters": [], - "src": "10057:0:72" - }, - "scope": 26897, - "src": "9976:414:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 26895, - "nodeType": "Block", - "src": "10451:197:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 26880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10496:3:72", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 26881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10496:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26883, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "10516:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 26882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10508:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10508:13:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26885, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26873, - "src": "10523:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26888, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26876, - "src": "10580:7:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26886, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "10530:17:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 26887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastUintArrayToBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 23488, - "src": "10530:49:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256[] memory) pure returns (bytes memory)" - } - }, - "id": 26889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10530:58:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26879, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26802 - ], - "referencedDeclaration": 26802, - "src": "10482:13:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view returns (bool)" - } - }, - "id": 26890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10482:107:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26891, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26448, - "src": "10603:17:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26878, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10461:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:169:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26893, - "nodeType": "ExpressionStatement", - "src": "10461:169:72" - }, - { - "id": 26894, - "nodeType": "PlaceholderStatement", - "src": "10640:1:72" - } - ] - }, - "documentation": null, - "id": 26896, - "name": "auth", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 26877, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26873, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 26896, - "src": "10410:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26872, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10410:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26876, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 26896, - "src": "10425:24:72", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 26874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10425:7:72", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 26875, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10425:9:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10409:41:72" - }, - "src": "10396:252:72", - "visibility": "internal" - } - ], - "scope": 26898, - "src": "441:10209:72" - } - ], - "src": "0:10651:72" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol", - "exportedSymbols": { - "Kernel": [ - 26897 - ] - }, - "id": 26898, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26407, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:72" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "./IKernel.sol", - "id": 26408, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26406, - "src": "25:23:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "./KernelConstants.sol", - "id": 26409, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26920, - "src": "49:31:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "file": "./KernelStorage.sol", - "id": 26410, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 26999, - "src": "81:29:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/IACL.sol", - "file": "../acl/IACL.sol", - "id": 26411, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 22333, - "src": "111:25:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol", - "file": "../acl/ACLSyntaxSugar.sol", - "id": 26412, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 22312, - "src": "137:35:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol", - "file": "../common/ConversionHelpers.sol", - "id": 26413, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23517, - "src": "173:41:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 26414, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23826, - "src": "215:34:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "file": "../common/Petrifiable.sol", - "id": 26415, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 23859, - "src": "250:35:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "file": "../common/VaultRecoverable.sol", - "id": 26416, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 24377, - "src": "286:40:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol", - "file": "../factory/AppProxyFactory.sol", - "id": 26417, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 25962, - "src": "327:40:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/misc/ERCProxy.sol", - "file": "../lib/misc/ERCProxy.sol", - "id": 26418, - "nodeType": "ImportDirective", - "scope": 26898, - "sourceUnit": 28031, - "src": "368:34:72", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26419, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "460:7:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "id": 26420, - "nodeType": "InheritanceSpecifier", - "src": "460:7:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26421, - "name": "KernelStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26998, - "src": "469:13:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelStorage_$26998", - "typeString": "contract KernelStorage" - } - }, - "id": 26422, - "nodeType": "InheritanceSpecifier", - "src": "469:13:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26423, - "name": "KernelAppIds", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26909, - "src": "484:12:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelAppIds_$26909", - "typeString": "contract KernelAppIds" - } - }, - "id": 26424, - "nodeType": "InheritanceSpecifier", - "src": "484:12:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26425, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "498:24:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 26426, - "nodeType": "InheritanceSpecifier", - "src": "498:24:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26427, - "name": "Petrifiable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23858, - "src": "524:11:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Petrifiable_$23858", - "typeString": "contract Petrifiable" - } - }, - "id": 26428, - "nodeType": "InheritanceSpecifier", - "src": "524:11:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26429, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "537:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 26430, - "nodeType": "InheritanceSpecifier", - "src": "537:10:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26431, - "name": "VaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24376, - "src": "549:16:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - }, - "id": 26432, - "nodeType": "InheritanceSpecifier", - "src": "549:16:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26433, - "name": "AppProxyFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 25961, - "src": "567:15:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyFactory_$25961", - "typeString": "contract AppProxyFactory" - } - }, - "id": 26434, - "nodeType": "InheritanceSpecifier", - "src": "567:15:72" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26435, - "name": "ACLSyntaxSugar", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22236, - "src": "584:14:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ACLSyntaxSugar_$22236", - "typeString": "contract ACLSyntaxSugar" - } - }, - "id": 26436, - "nodeType": "InheritanceSpecifier", - "src": "584:14:72" - } - ], - "contractDependencies": [ - 22236, - 23649, - 23699, - 23797, - 23825, - 23858, - 24154, - 24376, - 25961, - 26364, - 26405, - 26909, - 26919, - 26998 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26897, - "linearizedBaseContracts": [ - 26897, - 22236, - 25961, - 24376, - 23825, - 23649, - 23858, - 23797, - 24154, - 26919, - 26909, - 26998, - 26405, - 23699, - 26364 - ], - "name": "Kernel", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26439, - "name": "APP_MANAGER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "729:109:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26437, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "729:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307862366439323730386633643438313761666331303631343764393639653232396365643563343665363565306135303032613064333931323837373632626430", - "id": 26438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "772:66:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_82704613664676796936649533353167530996754393993849268174999512363230727384016_by_1", - "typeString": "int_const 8270...(69 digits omitted)...4016" - }, - "value": "0xb6d92708f3d4817afc106147d969e229ced5c46e65e0a5002a0d391287762bd0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 26442, - "name": "ERROR_APP_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "845:74:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26440, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "845:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f4150505f4e4f545f434f4e5452414354", - "id": 26441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894:25:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9836ab188560c8863264933b2423feee77bc53fbabf48ddf22703b0c91862812", - "typeString": "literal_string \"KERNEL_APP_NOT_CONTRACT\"" - }, - "value": "KERNEL_APP_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26445, - "name": "ERROR_INVALID_APP_CHANGE", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "925:78:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26443, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "925:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f494e56414c49445f4150505f4348414e4745", - "id": 26444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "976:27:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4acfdbe2a685f787d10384f7152f5de5d8b0224aa0b8e04fb5d376ed2b3e513", - "typeString": "literal_string \"KERNEL_INVALID_APP_CHANGE\"" - }, - "value": "KERNEL_INVALID_APP_CHANGE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 26448, - "name": "ERROR_AUTH_FAILED", - "nodeType": "VariableDeclaration", - "scope": 26897, - "src": "1009:64:72", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 26446, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1009:6:72", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4b45524e454c5f415554485f4641494c4544", - "id": 26447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1053:20:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2f44e6c32cf650dbae4931fdeafb7f4804fc17f8169bd4fb754968e09d978601", - "typeString": "literal_string \"KERNEL_AUTH_FAILED\"" - }, - "value": "KERNEL_AUTH_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 26459, - "nodeType": "Block", - "src": "1345:70:72", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 26453, - "name": "_shouldPetrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26450, - "src": "1359:14:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26458, - "nodeType": "IfStatement", - "src": "1355:54:72", - "trueBody": { - "id": 26457, - "nodeType": "Block", - "src": "1375:34:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26454, - "name": "petrify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23857, - "src": "1389:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 26455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1389:9:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26456, - "nodeType": "ExpressionStatement", - "src": "1389:9:72" - } - ] - } - } - ] - }, - "documentation": "@dev Constructor that allows the deployer to choose if the base instance should be petrified immediately.\n@param _shouldPetrify Immediately petrify this instance so that it can never be initialized", - "id": 26460, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26450, - "name": "_shouldPetrify", - "nodeType": "VariableDeclaration", - "scope": 26460, - "src": "1317:19:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26449, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1317:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1316:21:72" - }, - "payable": false, - "returnParameters": { - "id": 26452, - "nodeType": "ParameterList", - "parameters": [], - "src": "1345:0:72" - }, - "scope": 26897, - "src": "1305:110:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26503, - "nodeType": "Block", - "src": "1899:457:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26469, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1909:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 26470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1909:13:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26471, - "nodeType": "ExpressionStatement", - "src": "1909:13:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26473, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "1965:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26474, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "1993:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26475, - "name": "_baseAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26462, - "src": "2020:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26472, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "1957:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1957:72:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26477, - "nodeType": "ExpressionStatement", - "src": "1957:72:72" - }, - { - "assignments": [ - 26479 - ], - "declarations": [ - { - "constant": false, - "id": 26479, - "name": "acl", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "2108:8:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26478, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "2108:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26486, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26482, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "2136:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26483, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "2142:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26481, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25879, - "src": "2124:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32) returns (contract AppProxyUpgradeable)" - } - }, - "id": 26484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2124:44:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - ], - "id": 26480, - "name": "IACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22332, - "src": "2119:4:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACL_$22332_$", - "typeString": "type(contract IACL)" - } - }, - "id": 26485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2119:50:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2108:61:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26490, - "name": "_permissionsCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26464, - "src": "2194:19:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 26487, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26479, - "src": "2179:3:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 22318, - "src": "2179:14:72", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 26491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2179:35:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26492, - "nodeType": "ExpressionStatement", - "src": "2179:35:72" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26494, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "2232:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26495, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "2259:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26496, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26479, - "src": "2286:3:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26493, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "2224:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2224:66:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26498, - "nodeType": "ExpressionStatement", - "src": "2224:66:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26499, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "2301:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26500, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26908, - "src": "2322:27:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2301:48:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 26502, - "nodeType": "ExpressionStatement", - "src": "2301:48:72" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize this kernel instance along with its ACL and set `_permissionsCreator` as the entity that can create other permissions\n@param _baseAcl Address of base ACL app\n@param _permissionsCreator Entity that will be given permission over createPermission", - "id": 26504, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 26467, - "modifierName": { - "argumentTypes": null, - "id": 26466, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1890:8:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1890:8:72" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26462, - "name": "_baseAcl", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "1839:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26461, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "1839:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26464, - "name": "_permissionsCreator", - "nodeType": "VariableDeclaration", - "scope": 26504, - "src": "1854:27:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1854:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1838:44:72" - }, - "payable": false, - "returnParameters": { - "id": 26468, - "nodeType": "ParameterList", - "parameters": [], - "src": "1899:0:72" - }, - "scope": 26897, - "src": "1819:537:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26530, - "nodeType": "Block", - "src": "2878:77:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26521, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26506, - "src": "2910:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26522, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26508, - "src": "2918:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2938:1:72", - "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": 26524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2928:9:72", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 26523, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2932:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 26526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2928:12:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 26527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2942:5:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26520, - "name": "newAppInstance", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26531, - 26575 - ], - "referencedDeclaration": 26575, - "src": "2895:14:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) returns (contract ERCProxy)" - } - }, - "id": 26528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2895:53:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "functionReturnParameters": 26519, - "id": 26529, - "nodeType": "Return", - "src": "2888:60:72" - } - ] - }, - "documentation": "@dev Create a new instance of an app linked to this kernel\n@notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@return AppProxy instance", - "id": 26531, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26511, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "2779:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26513, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "2801:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26514, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26506, - "src": "2829:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26512, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "2797:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26516, - "modifierName": { - "argumentTypes": null, - "id": 26510, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "2774:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2774:63:72" - } - ], - "name": "newAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26506, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2717:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26505, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2717:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26508, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2733:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2733:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2716:34:72" - }, - "payable": false, - "returnParameters": { - "id": 26519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26518, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26531, - "src": "2855:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26517, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "2855:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2854:19:72" - }, - "scope": 26897, - "src": "2693:262:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26574, - "nodeType": "Block", - "src": "3968:446:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26552, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "3991:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26553, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4019:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26554, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26535, - "src": "4027:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26551, - "name": "_setAppIfNew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26871, - "src": "3978:12:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:58:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26556, - "nodeType": "ExpressionStatement", - "src": "3978:58:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26557, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26549, - "src": "4046:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26559, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "4069:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26560, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4075:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26561, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26537, - "src": "4083:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26558, - "name": "newAppProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25879, - 25910 - ], - "referencedDeclaration": 25910, - "src": "4057:11:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyUpgradeable_$23267_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)" - } - }, - "id": 26562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4057:45:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyUpgradeable_$23267", - "typeString": "contract AppProxyUpgradeable" - } - }, - "src": "4046:56:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 26564, - "nodeType": "ExpressionStatement", - "src": "4046:56:72" - }, - { - "condition": { - "argumentTypes": null, - "id": 26565, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26539, - "src": "4319:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26573, - "nodeType": "IfStatement", - "src": "4315:93:72", - "trueBody": { - "id": 26572, - "nodeType": "Block", - "src": "4332:76:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26567, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "4353:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26568, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "4380:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26569, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26549, - "src": "4388:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26566, - "name": "setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26669 - ], - "referencedDeclaration": 26669, - "src": "4346:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:51:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26571, - "nodeType": "ExpressionStatement", - "src": "4346:51:72" - } - ] - } - } - ] - }, - "documentation": "@dev Create a new instance of an app linked to this kernel and set its base\n implementation if it was not already set\n@notice Create a new upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@param _initializePayload Payload for call made by the proxy during its construction to initialize\n@param _setDefault Whether the app proxy app is the default one.\n Useful when the Kernel needs to know of an instance of a particular app,\n like Vault for escape hatch mechanism.\n@return AppProxy instance", - "id": 26575, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26542, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "3869:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26544, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "3891:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26545, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26533, - "src": "3919:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26543, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "3887:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3887:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26547, - "modifierName": { - "argumentTypes": null, - "id": 26541, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "3864:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3864:63:72" - } - ], - "name": "newAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26533, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3763:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26532, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3763:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26535, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3779:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3779:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26537, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3797:24:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26536, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3797:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26539, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3823:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3823:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3762:78:72" - }, - "payable": false, - "returnParameters": { - "id": 26550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26549, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26575, - "src": "3945:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26548, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "3945:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3944:19:72" - }, - "scope": 26897, - "src": "3739:675:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26601, - "nodeType": "Block", - "src": "4954:83:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26592, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26577, - "src": "4992:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26593, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26579, - "src": "5000:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5020:1:72", - "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": 26595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5010:9:72", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 26594, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5014:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 26597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5010:12:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 26598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5024:5:72", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26591, - "name": "newPinnedAppInstance", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26602, - 26646 - ], - "referencedDeclaration": 26646, - "src": "4971:20:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$28030_$", - "typeString": "function (bytes32,address,bytes memory,bool) returns (contract ERCProxy)" - } - }, - "id": 26599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4971:59:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "functionReturnParameters": 26590, - "id": 26600, - "nodeType": "Return", - "src": "4964:66:72" - } - ] - }, - "documentation": "@dev Create a new pinned instance of an app linked to this kernel\n@notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`.\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@return AppProxy instance", - "id": 26602, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26582, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "4855:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26584, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "4877:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26585, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26577, - "src": "4905:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26583, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "4873:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4873:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26587, - "modifierName": { - "argumentTypes": null, - "id": 26581, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "4850:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4850:63:72" - } - ], - "name": "newPinnedAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26577, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4793:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26576, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4793:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26579, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4809:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4809:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4792:34:72" - }, - "payable": false, - "returnParameters": { - "id": 26590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26589, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26602, - "src": "4931:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26588, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "4931:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4930:19:72" - }, - "scope": 26897, - "src": "4763:274:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26645, - "nodeType": "Block", - "src": "6067:452:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26623, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "6090:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26624, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6118:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26625, - "name": "_appBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26606, - "src": "6126:8:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26622, - "name": "_setAppIfNew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26871, - "src": "6077:12:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6077:58:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26627, - "nodeType": "ExpressionStatement", - "src": "6077:58:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26628, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26620, - "src": "6145:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26630, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "6174:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - }, - { - "argumentTypes": null, - "id": 26631, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6180:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26632, - "name": "_initializePayload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26608, - "src": "6188:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26629, - "name": "newAppProxyPinned", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 25929, - 25960 - ], - "referencedDeclaration": 25960, - "src": "6156:17:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$26405_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AppProxyPinned_$23227_$", - "typeString": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)" - } - }, - "id": 26633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6156:51:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppProxyPinned_$23227", - "typeString": "contract AppProxyPinned" - } - }, - "src": "6145:62:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "id": 26635, - "nodeType": "ExpressionStatement", - "src": "6145:62:72" - }, - { - "condition": { - "argumentTypes": null, - "id": 26636, - "name": "_setDefault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26610, - "src": "6424:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 26644, - "nodeType": "IfStatement", - "src": "6420:93:72", - "trueBody": { - "id": 26643, - "nodeType": "Block", - "src": "6437:76:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26638, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "6458:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26639, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6485:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26640, - "name": "appProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26620, - "src": "6493:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - ], - "id": 26637, - "name": "setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26669 - ], - "referencedDeclaration": 26669, - "src": "6451:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6451:51:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26642, - "nodeType": "ExpressionStatement", - "src": "6451:51:72" - } - ] - } - } - ] - }, - "documentation": "@dev Create a new pinned instance of an app linked to this kernel and set\n its base implementation if it was not already set\n@notice Create a new non-upgradeable instance of `_appId` app linked to the Kernel, setting its code to `_appBase`. `_setDefault ? 'Also sets it as the default app instance.':''`\n@param _appId Identifier for app\n@param _appBase Address of the app's base implementation\n@param _initializePayload Payload for call made by the proxy during its construction to initialize\n@param _setDefault Whether the app proxy app is the default one.\n Useful when the Kernel needs to know of an instance of a particular app,\n like Vault for escape hatch mechanism.\n@return AppProxy instance", - "id": 26646, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26613, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "5968:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26615, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "5990:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26616, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26604, - "src": "6018:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26614, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "5986:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5986:39:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26618, - "modifierName": { - "argumentTypes": null, - "id": 26612, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "5963:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5963:63:72" - } - ], - "name": "newPinnedAppInstance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26604, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5862:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26603, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5862:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26606, - "name": "_appBase", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5878:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5878:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26608, - "name": "_initializePayload", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5896:24:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26607, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5896:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26610, - "name": "_setDefault", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "5922:16:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26609, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5922:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5861:78:72" - }, - "payable": false, - "returnParameters": { - "id": 26621, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26620, - "name": "appProxy", - "nodeType": "VariableDeclaration", - "scope": 26646, - "src": "6044:17:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - }, - "typeName": { - "contractScope": null, - "id": 26619, - "name": "ERCProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28030, - "src": "6044:8:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERCProxy_$28030", - "typeString": "contract ERCProxy" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6043:19:72" - }, - "scope": 26897, - "src": "5832:687:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26668, - "nodeType": "Block", - "src": "7025:50:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26663, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26648, - "src": "7043:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26664, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26650, - "src": "7055:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26665, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26652, - "src": "7063:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26662, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "7035:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7035:33:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26667, - "nodeType": "ExpressionStatement", - "src": "7035:33:72" - } - ] - }, - "documentation": "@dev Set the resolving address of an app instance or base implementation\n@notice Set the resolving address of `_appId` in namespace `_namespace` to `_app`\n@param _namespace App namespace to use\n@param _appId Identifier for app\n@param _app Address of the app instance or base implementation\n@return ID of app", - "id": 26669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26655, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "6978:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26657, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26648, - "src": "7000:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26658, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26650, - "src": "7012:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26656, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "6996:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:23:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26660, - "modifierName": { - "argumentTypes": null, - "id": 26654, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "6973:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6973:47:72" - } - ], - "name": "setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26648, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6900:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26647, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6900:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26650, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6920:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26649, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6920:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26652, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26669, - "src": "6936:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26651, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6936:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6899:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26661, - "nodeType": "ParameterList", - "parameters": [], - "src": "7025:0:72" - }, - "scope": 26897, - "src": "6884:191:72", - "stateMutability": "nonpayable", - "superFunction": 26395, - "visibility": "public" - }, - { - "body": { - "id": 26685, - "nodeType": "Block", - "src": "7396:57:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 26681, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "7406:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26682, - "name": "_recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26671, - "src": "7427:19:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7406:40:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 26684, - "nodeType": "ExpressionStatement", - "src": "7406:40:72" - } - ] - }, - "documentation": "@dev Set the default vault id for the escape hatch mechanism\n@param _recoveryVaultAppId Identifier of the recovery vault app", - "id": 26686, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 26674, - "name": "APP_MANAGER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26439, - "src": "7321:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26676, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "7343:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26677, - "name": "_recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26671, - "src": "7370:19:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26675, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21861, - "src": "7339:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes32,bytes32) pure returns (uint256[] memory)" - } - }, - "id": 26678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7339:51:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 26679, - "modifierName": { - "argumentTypes": null, - "id": 26673, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26896, - "src": "7316:4:72", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7316:75:72" - } - ], - "name": "setRecoveryVaultAppId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26671, - "name": "_recoveryVaultAppId", - "nodeType": "VariableDeclaration", - "scope": 26686, - "src": "7264:27:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26670, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7264:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7263:29:72" - }, - "payable": false, - "returnParameters": { - "id": 26680, - "nodeType": "ParameterList", - "parameters": [], - "src": "7396:0:72" - }, - "scope": 26897, - "src": "7233:220:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26693, - "nodeType": "Block", - "src": "7672:33:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26691, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "7681:21:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26690, - "id": 26692, - "nodeType": "Return", - "src": "7674:28:72" - } - ] - }, - "documentation": null, - "id": 26694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "CORE_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26687, - "nodeType": "ParameterList", - "parameters": [], - "src": "7637:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26689, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26694, - "src": "7663:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26688, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7663:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7662:9:72" - }, - "scope": 26897, - "src": "7614:91:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26701, - "nodeType": "Block", - "src": "7773:38:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26699, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26915, - "src": "7782:26:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26698, - "id": 26700, - "nodeType": "Return", - "src": "7775:33:72" - } - ] - }, - "documentation": null, - "id": 26702, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "APP_BASES_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26695, - "nodeType": "ParameterList", - "parameters": [], - "src": "7738:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26697, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26702, - "src": "7764:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26696, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7764:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7763:9:72" - }, - "scope": 26897, - "src": "7710:101:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26709, - "nodeType": "Block", - "src": "7878:37:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26707, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "7887:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26706, - "id": 26708, - "nodeType": "Return", - "src": "7880:32:72" - } - ] - }, - "documentation": null, - "id": 26710, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "APP_ADDR_NAMESPACE", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26703, - "nodeType": "ParameterList", - "parameters": [], - "src": "7843:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26705, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26710, - "src": "7869:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26704, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7869:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7868:9:72" - }, - "scope": 26897, - "src": "7816:99:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26717, - "nodeType": "Block", - "src": "7977:30:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26715, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "7986:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26714, - "id": 26716, - "nodeType": "Return", - "src": "7979:25:72" - } - ] - }, - "documentation": null, - "id": 26718, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "KERNEL_APP_ID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26711, - "nodeType": "ParameterList", - "parameters": [], - "src": "7942:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26713, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26718, - "src": "7968:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26712, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7968:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7967:9:72" - }, - "scope": 26897, - "src": "7920:87:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26725, - "nodeType": "Block", - "src": "8074:37:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26723, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "8083:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 26722, - "id": 26724, - "nodeType": "Return", - "src": "8076:32:72" - } - ] - }, - "documentation": null, - "id": 26726, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "DEFAULT_ACL_APP_ID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26719, - "nodeType": "ParameterList", - "parameters": [], - "src": "8039:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26726, - "src": "8065:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26720, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8065:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8064:9:72" - }, - "scope": 26897, - "src": "8012:99:72", - "stateMutability": "pure", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 26741, - "nodeType": "Block", - "src": "8450:48:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26735, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "8467:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26737, - "indexExpression": { - "argumentTypes": null, - "id": 26736, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26728, - "src": "8472:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8467:16:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26739, - "indexExpression": { - "argumentTypes": null, - "id": 26738, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26730, - "src": "8484:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8467:24:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26734, - "id": 26740, - "nodeType": "Return", - "src": "8460:31:72" - } - ] - }, - "documentation": "@dev Get the address of an app instance or base implementation\n@param _namespace App namespace to use\n@param _appId Identifier for app\n@return Address of the app", - "id": 26742, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26728, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8384:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26727, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8384:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26730, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8404:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26729, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8404:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8383:36:72" - }, - "payable": false, - "returnParameters": { - "id": 26734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26733, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26742, - "src": "8441:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8441:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8440:9:72" - }, - "scope": 26897, - "src": "8368:130:72", - "stateMutability": "view", - "superFunction": 26404, - "visibility": "public" - }, - { - "body": { - "id": 26753, - "nodeType": "Block", - "src": "8689:75:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26747, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "8706:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26749, - "indexExpression": { - "argumentTypes": null, - "id": 26748, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "8711:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8706:31:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26751, - "indexExpression": { - "argumentTypes": null, - "id": 26750, - "name": "recoveryVaultAppId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26997, - "src": "8738:18:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8706:51:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26746, - "id": 26752, - "nodeType": "Return", - "src": "8699:58:72" - } - ] - }, - "documentation": "@dev Get the address of the recovery Vault instance (to recover funds)\n@return Address of the Vault", - "id": 26754, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26743, - "nodeType": "ParameterList", - "parameters": [], - "src": "8656:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26745, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26754, - "src": "8680:7:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26744, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8680:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8679:9:72" - }, - "scope": 26897, - "src": "8631:133:72", - "stateMutability": "view", - "superFunction": 24375, - "visibility": "public" - }, - { - "body": { - "id": 26766, - "nodeType": "Block", - "src": "8886:90:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26761, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26918, - "src": "8915:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26762, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26905, - "src": "8942:25:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26760, - "name": "getApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26742 - ], - "referencedDeclaration": 26742, - "src": "8908:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view returns (address)" - } - }, - "id": 26763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8908:60:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26759, - "name": "IACL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22332, - "src": "8903:4:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IACL_$22332_$", - "typeString": "type(contract IACL)" - } - }, - "id": 26764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:66:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "functionReturnParameters": 26758, - "id": 26765, - "nodeType": "Return", - "src": "8896:73:72" - } - ] - }, - "documentation": "@dev Get the installed ACL app\n@return ACL app", - "id": 26767, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "acl", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26755, - "nodeType": "ParameterList", - "parameters": [], - "src": "8856:2:72" - }, - "payable": false, - "returnParameters": { - "id": 26758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26757, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26767, - "src": "8880:4:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26756, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "8880:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8879:6:72" - }, - "scope": 26897, - "src": "8844:132:72", - "stateMutability": "view", - "superFunction": 26373, - "visibility": "public" - }, - { - "body": { - "id": 26801, - "nodeType": "Block", - "src": "9530:204:72", - "statements": [ - { - "assignments": [ - 26781 - ], - "declarations": [ - { - "constant": false, - "id": 26781, - "name": "defaultAcl", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9540:15:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - }, - "typeName": { - "contractScope": null, - "id": 26780, - "name": "IACL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22332, - "src": "9540:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26784, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26782, - "name": "acl", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26767 - ], - "referencedDeclaration": 26767, - "src": "9558:3:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IACL_$22332_$", - "typeString": "function () view returns (contract IACL)" - } - }, - "id": 26783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9558:5:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9540:23:72" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 26799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26786, - "name": "defaultAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26781, - "src": "9588:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - ], - "id": 26785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9580:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9580:19:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9611:1:72", - "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": 26788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9603:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9603:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9580:33:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26794, - "name": "_who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26769, - "src": "9701:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26795, - "name": "_where", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26771, - "src": "9707:6:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26796, - "name": "_what", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26773, - "src": "9715:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26797, - "name": "_how", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26775, - "src": "9722:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26792, - "name": "defaultAcl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26781, - "src": "9676:10:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IACL_$22332", - "typeString": "contract IACL" - } - }, - "id": 26793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "hasPermission", - "nodeType": "MemberAccess", - "referencedDeclaration": 22331, - "src": "9676:24:72", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view external returns (bool)" - } - }, - "id": 26798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9676:51:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9580:147:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 26779, - "id": 26800, - "nodeType": "Return", - "src": "9573:154:72" - } - ] - }, - "documentation": "@dev Function called by apps to check ACL on kernel or to check permission status\n@param _who Sender of the original call\n@param _where Address of the app\n@param _what Identifier for a group of actions in app\n@param _how Extra data for ACL auth\n@return Boolean indicating whether the ACL allows the role or not.\n Always returns false if the kernel hasn't been initialized yet.", - "id": 26802, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "hasPermission", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26769, - "name": "_who", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9446:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9446:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26771, - "name": "_where", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9460:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9460:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26773, - "name": "_what", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9476:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26772, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9476:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26775, - "name": "_how", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9491:10:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 26774, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9491:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9445:57:72" - }, - "payable": false, - "returnParameters": { - "id": 26779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26778, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26802, - "src": "9524:4:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 26777, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9524:4:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9523:6:72" - }, - "scope": 26897, - "src": "9423:311:72", - "stateMutability": "view", - "superFunction": 26386, - "visibility": "public" - }, - { - "body": { - "id": 26832, - "nodeType": "Block", - "src": "9816:154:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26813, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9845:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26812, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "9834:10:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 26814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9834:16:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26815, - "name": "ERROR_APP_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26442, - "src": "9852:22:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26811, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9826:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9826:49:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26817, - "nodeType": "ExpressionStatement", - "src": "9826:49:72" - }, - { - "expression": { - "argumentTypes": null, - "id": 26824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26818, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "9885:4:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26821, - "indexExpression": { - "argumentTypes": null, - "id": 26819, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26804, - "src": "9890:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9885:16:72", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26822, - "indexExpression": { - "argumentTypes": null, - "id": 26820, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26806, - "src": "9902:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9885:24:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26823, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9912:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9885:31:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 26825, - "nodeType": "ExpressionStatement", - "src": "9885:31:72" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26827, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26804, - "src": "9938:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26828, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26806, - "src": "9950:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26829, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26808, - "src": "9958:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26826, - "name": "SetApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26363, - "src": "9931:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9931:32:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26831, - "nodeType": "EmitStatement", - "src": "9926:37:72" - } - ] - }, - "documentation": null, - "id": 26833, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26804, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9757:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26803, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9757:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26806, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9777:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26805, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9777:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26808, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26833, - "src": "9793:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9793:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9756:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26810, - "nodeType": "ParameterList", - "parameters": [], - "src": "9816:0:72" - }, - "scope": 26897, - "src": "9740:230:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 26870, - "nodeType": "Block", - "src": "10057:333:72", - "statements": [ - { - "assignments": [ - 26843 - ], - "declarations": [ - { - "constant": false, - "id": 26843, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10067:11:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10067:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 26848, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26845, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26835, - "src": "10088:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26846, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26837, - "src": "10100:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 26844, - "name": "getApp", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26742 - ], - "referencedDeclaration": 26742, - "src": "10081:6:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,bytes32) view returns (address)" - } - }, - "id": 26847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10081:26:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10067:40:72" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 26849, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26843, - "src": "10121:3:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 26851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10136:1:72", - "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": 26850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10128:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10128:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10121:17:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 26868, - "nodeType": "Block", - "src": "10326:58:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26863, - "name": "_namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26835, - "src": "10348:10:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26864, - "name": "_appId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26837, - "src": "10360:6:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26865, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26839, - "src": "10368:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26862, - "name": "_setApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26833, - "src": "10340:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10340:33:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26867, - "nodeType": "ExpressionStatement", - "src": "10340:33:72" - } - ] - }, - "id": 26869, - "nodeType": "IfStatement", - "src": "10117:267:72", - "trueBody": { - "id": 26861, - "nodeType": "Block", - "src": "10140:180:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 26857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 26855, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26843, - "src": "10271:3:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 26856, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26839, - "src": "10278:4:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10271:11:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26858, - "name": "ERROR_INVALID_APP_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26445, - "src": "10284:24:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26854, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10263:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:46:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26860, - "nodeType": "ExpressionStatement", - "src": "10263:46:72" - } - ] - } - } - ] - }, - "documentation": null, - "id": 26871, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setAppIfNew", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26835, - "name": "_namespace", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "9998:18:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26834, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9998:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26837, - "name": "_appId", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10018:14:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26836, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10018:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26839, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 26871, - "src": "10034:12:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10034:7:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9997:50:72" - }, - "payable": false, - "returnParameters": { - "id": 26841, - "nodeType": "ParameterList", - "parameters": [], - "src": "10057:0:72" - }, - "scope": 26897, - "src": "9976:414:72", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 26895, - "nodeType": "Block", - "src": "10451:197:72", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 26880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10496:3:72", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 26881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10496:10:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26883, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29917, - "src": "10516:4:72", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Kernel_$26897", - "typeString": "contract Kernel" - } - ], - "id": 26882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10508:7:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10508:13:72", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26885, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26873, - "src": "10523:5:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26888, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26876, - "src": "10580:7:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 26886, - "name": "ConversionHelpers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23516, - "src": "10530:17:72", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ConversionHelpers_$23516_$", - "typeString": "type(library ConversionHelpers)" - } - }, - "id": 26887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dangerouslyCastUintArrayToBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 23488, - "src": "10530:49:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256[] memory) pure returns (bytes memory)" - } - }, - "id": 26889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10530:58:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 26879, - "name": "hasPermission", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 26802 - ], - "referencedDeclaration": 26802, - "src": "10482:13:72", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,bytes32,bytes memory) view returns (bool)" - } - }, - "id": 26890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10482:107:72", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 26891, - "name": "ERROR_AUTH_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26448, - "src": "10603:17:72", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 26878, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10461:7:72", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 26892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:169:72", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26893, - "nodeType": "ExpressionStatement", - "src": "10461:169:72" - }, - { - "id": 26894, - "nodeType": "PlaceholderStatement", - "src": "10640:1:72" - } - ] - }, - "documentation": null, - "id": 26896, - "name": "auth", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 26877, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26873, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 26896, - "src": "10410:13:72", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26872, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10410:7:72", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 26876, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 26896, - "src": "10425:24:72", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 26874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10425:7:72", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 26875, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10425:9:72", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10409:41:72" - }, - "src": "10396:252:72", - "visibility": "internal" - } - ], - "scope": 26898, - "src": "441:10209:72" - } - ], - "src": "0:10651:72" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.352Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/KernelAppIds.json b/templates/multisig/build/contracts/KernelAppIds.json deleted file mode 100644 index d9223e7..0000000 --- a/templates/multisig/build/contracts/KernelAppIds.json +++ /dev/null @@ -1,655 +0,0 @@ -{ - "contractName": "KernelAppIds", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820b0e78d9abd60bcd12924c59c8a83d67ebe941475f246e258865c5bb8e73cc3280029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820b0e78d9abd60bcd12924c59c8a83d67ebe941475f246e258865c5bb8e73cc3280029", - "sourceMap": "71:678:73:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:678:73;;;;;;;", - "deployedSourceMap": "71:678:73:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract KernelAppIds {\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_CORE_APP_ID = apmNamehash(\"kernel\");\n bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = apmNamehash(\"acl\");\n bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = apmNamehash(\"vault\");\n */\n bytes32 internal constant KERNEL_CORE_APP_ID = 0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c;\n bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = 0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a;\n bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = 0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1;\n}\n\n\ncontract KernelNamespaceConstants {\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_CORE_NAMESPACE = keccak256(\"core\");\n bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = keccak256(\"base\");\n bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = keccak256(\"app\");\n */\n bytes32 internal constant KERNEL_CORE_NAMESPACE = 0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8;\n bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f;\n bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = 0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb;\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "exportedSymbols": { - "KernelAppIds": [ - 26909 - ], - "KernelNamespaceConstants": [ - 26919 - ] - }, - "id": 26920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26899, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26909, - "linearizedBaseContracts": [ - 26909 - ], - "name": "KernelAppIds", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26902, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "379:113:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26900, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "379:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833623462663662663361643530303065636630663938396435626566646535383563363836306665613365353734613466616234633439643163313737643963", - "id": 26901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "426:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_26820674581417955770618996886606012287057497523217723680490657072951651171740_by_1", - "typeString": "int_const 2682...(69 digits omitted)...1740" - }, - "value": "0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26905, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "498:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26903, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "498:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865333236323337356634356136653230323662376537623138633262383037343334663235303866653161326133646662343933633764663866346161643661", - "id": 26904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102742401558032346476295342465683194059973100356111151994489339464177083395434_by_1", - "typeString": "int_const 1027...(70 digits omitted)...5434" - }, - "value": "0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26908, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "624:122:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26906, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "624:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 26907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "680:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "71:678:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26919, - "linearizedBaseContracts": [ - 26919 - ], - "name": "KernelNamespaceConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26912, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1065:116:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1065:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863363831613835333036333734613561623237663062626333383532393661353462636433313461313934386236636636316334656131626334346262396638", - "id": 26911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1115:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89787029022559609585059478019362941095301484731214564604685658211633205066232_by_1", - "typeString": "int_const 8978...(69 digits omitted)...6232" - }, - "value": "0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26915, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1187:121:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1187:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866316633656234306635626331616431333434373136636564386238613034333164383430623537383361656131666430313738366263323666333561633066", - "id": 26914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1242:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109438364007015322736766724051813704643042782151430130119908516857056060615695_by_1", - "typeString": "int_const 1094...(70 digits omitted)...5695" - }, - "value": "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26918, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1314:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1314:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864366630323863613065386564623461386339373537636134666463636162323566613165303331376461313138383130386637643264656531343930326662", - "id": 26917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1368:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97219274409662057620501307944052205416727314792190185427402972704265227272955_by_1", - "typeString": "int_const 9721...(69 digits omitted)...2955" - }, - "value": "0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "752:685:73" - } - ], - "src": "44:1394:73" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "exportedSymbols": { - "KernelAppIds": [ - 26909 - ], - "KernelNamespaceConstants": [ - 26919 - ] - }, - "id": 26920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26899, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26909, - "linearizedBaseContracts": [ - 26909 - ], - "name": "KernelAppIds", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26902, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "379:113:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26900, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "379:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833623462663662663361643530303065636630663938396435626566646535383563363836306665613365353734613466616234633439643163313737643963", - "id": 26901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "426:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_26820674581417955770618996886606012287057497523217723680490657072951651171740_by_1", - "typeString": "int_const 2682...(69 digits omitted)...1740" - }, - "value": "0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26905, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "498:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26903, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "498:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865333236323337356634356136653230323662376537623138633262383037343334663235303866653161326133646662343933633764663866346161643661", - "id": 26904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102742401558032346476295342465683194059973100356111151994489339464177083395434_by_1", - "typeString": "int_const 1027...(70 digits omitted)...5434" - }, - "value": "0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26908, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "624:122:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26906, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "624:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 26907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "680:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "71:678:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26919, - "linearizedBaseContracts": [ - 26919 - ], - "name": "KernelNamespaceConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26912, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1065:116:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1065:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863363831613835333036333734613561623237663062626333383532393661353462636433313461313934386236636636316334656131626334346262396638", - "id": 26911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1115:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89787029022559609585059478019362941095301484731214564604685658211633205066232_by_1", - "typeString": "int_const 8978...(69 digits omitted)...6232" - }, - "value": "0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26915, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1187:121:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1187:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866316633656234306635626331616431333434373136636564386238613034333164383430623537383361656131666430313738366263323666333561633066", - "id": 26914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1242:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109438364007015322736766724051813704643042782151430130119908516857056060615695_by_1", - "typeString": "int_const 1094...(70 digits omitted)...5695" - }, - "value": "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26918, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1314:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1314:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864366630323863613065386564623461386339373537636134666463636162323566613165303331376461313138383130386637643264656531343930326662", - "id": 26917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1368:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97219274409662057620501307944052205416727314792190185427402972704265227272955_by_1", - "typeString": "int_const 9721...(69 digits omitted)...2955" - }, - "value": "0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "752:685:73" - } - ], - "src": "44:1394:73" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.208Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/KernelNamespaceConstants.json b/templates/multisig/build/contracts/KernelNamespaceConstants.json deleted file mode 100644 index af43242..0000000 --- a/templates/multisig/build/contracts/KernelNamespaceConstants.json +++ /dev/null @@ -1,655 +0,0 @@ -{ - "contractName": "KernelNamespaceConstants", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058201400f1f05add7f58b2e226f5fb01a6675b707eb7a676f78bfe48f55abedc97e90029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058201400f1f05add7f58b2e226f5fb01a6675b707eb7a676f78bfe48f55abedc97e90029", - "sourceMap": "752:685:73:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;752:685:73;;;;;;;", - "deployedSourceMap": "752:685:73:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\ncontract KernelAppIds {\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_CORE_APP_ID = apmNamehash(\"kernel\");\n bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = apmNamehash(\"acl\");\n bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = apmNamehash(\"vault\");\n */\n bytes32 internal constant KERNEL_CORE_APP_ID = 0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c;\n bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = 0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a;\n bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = 0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1;\n}\n\n\ncontract KernelNamespaceConstants {\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_CORE_NAMESPACE = keccak256(\"core\");\n bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = keccak256(\"base\");\n bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = keccak256(\"app\");\n */\n bytes32 internal constant KERNEL_CORE_NAMESPACE = 0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8;\n bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f;\n bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = 0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb;\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "exportedSymbols": { - "KernelAppIds": [ - 26909 - ], - "KernelNamespaceConstants": [ - 26919 - ] - }, - "id": 26920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26899, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26909, - "linearizedBaseContracts": [ - 26909 - ], - "name": "KernelAppIds", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26902, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "379:113:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26900, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "379:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833623462663662663361643530303065636630663938396435626566646535383563363836306665613365353734613466616234633439643163313737643963", - "id": 26901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "426:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_26820674581417955770618996886606012287057497523217723680490657072951651171740_by_1", - "typeString": "int_const 2682...(69 digits omitted)...1740" - }, - "value": "0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26905, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "498:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26903, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "498:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865333236323337356634356136653230323662376537623138633262383037343334663235303866653161326133646662343933633764663866346161643661", - "id": 26904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102742401558032346476295342465683194059973100356111151994489339464177083395434_by_1", - "typeString": "int_const 1027...(70 digits omitted)...5434" - }, - "value": "0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26908, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "624:122:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26906, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "624:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 26907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "680:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "71:678:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26919, - "linearizedBaseContracts": [ - 26919 - ], - "name": "KernelNamespaceConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26912, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1065:116:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1065:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863363831613835333036333734613561623237663062626333383532393661353462636433313461313934386236636636316334656131626334346262396638", - "id": 26911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1115:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89787029022559609585059478019362941095301484731214564604685658211633205066232_by_1", - "typeString": "int_const 8978...(69 digits omitted)...6232" - }, - "value": "0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26915, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1187:121:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1187:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866316633656234306635626331616431333434373136636564386238613034333164383430623537383361656131666430313738366263323666333561633066", - "id": 26914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1242:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109438364007015322736766724051813704643042782151430130119908516857056060615695_by_1", - "typeString": "int_const 1094...(70 digits omitted)...5695" - }, - "value": "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26918, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1314:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1314:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864366630323863613065386564623461386339373537636134666463636162323566613165303331376461313138383130386637643264656531343930326662", - "id": 26917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1368:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97219274409662057620501307944052205416727314792190185427402972704265227272955_by_1", - "typeString": "int_const 9721...(69 digits omitted)...2955" - }, - "value": "0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "752:685:73" - } - ], - "src": "44:1394:73" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "exportedSymbols": { - "KernelAppIds": [ - 26909 - ], - "KernelNamespaceConstants": [ - 26919 - ] - }, - "id": 26920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26899, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26909, - "linearizedBaseContracts": [ - 26909 - ], - "name": "KernelAppIds", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26902, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "379:113:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26900, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "379:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833623462663662663361643530303065636630663938396435626566646535383563363836306665613365353734613466616234633439643163313737643963", - "id": 26901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "426:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_26820674581417955770618996886606012287057497523217723680490657072951651171740_by_1", - "typeString": "int_const 2682...(69 digits omitted)...1740" - }, - "value": "0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26905, - "name": "KERNEL_DEFAULT_ACL_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "498:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26903, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "498:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865333236323337356634356136653230323662376537623138633262383037343334663235303866653161326133646662343933633764663866346161643661", - "id": 26904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_102742401558032346476295342465683194059973100356111151994489339464177083395434_by_1", - "typeString": "int_const 1027...(70 digits omitted)...5434" - }, - "value": "0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26908, - "name": "KERNEL_DEFAULT_VAULT_APP_ID", - "nodeType": "VariableDeclaration", - "scope": 26909, - "src": "624:122:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26906, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "624:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837653835326530666366636536353531633133383030663165373437366639383235323563326235323737626131346232343333396336383431363333366431", - "id": 26907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "680:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_57226727487722793098086042470445423054461272992937981295885369831335668168401_by_1", - "typeString": "int_const 5722...(69 digits omitted)...8401" - }, - "value": "0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "71:678:73" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26919, - "linearizedBaseContracts": [ - 26919 - ], - "name": "KernelNamespaceConstants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 26912, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1065:116:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1065:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863363831613835333036333734613561623237663062626333383532393661353462636433313461313934386236636636316334656131626334346262396638", - "id": 26911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1115:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89787029022559609585059478019362941095301484731214564604685658211633205066232_by_1", - "typeString": "int_const 8978...(69 digits omitted)...6232" - }, - "value": "0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26915, - "name": "KERNEL_APP_BASES_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1187:121:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1187:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866316633656234306635626331616431333434373136636564386238613034333164383430623537383361656131666430313738366263323666333561633066", - "id": 26914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1242:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109438364007015322736766724051813704643042782151430130119908516857056060615695_by_1", - "typeString": "int_const 1094...(70 digits omitted)...5695" - }, - "value": "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 26918, - "name": "KERNEL_APP_ADDR_NAMESPACE", - "nodeType": "VariableDeclaration", - "scope": 26919, - "src": "1314:120:73", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26916, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1314:7:73", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864366630323863613065386564623461386339373537636134666463636162323566613165303331376461313138383130386637643264656531343930326662", - "id": 26917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1368:66:73", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97219274409662057620501307944052205416727314792190185427402972704265227272955_by_1", - "typeString": "int_const 9721...(69 digits omitted)...2955" - }, - "value": "0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb" - }, - "visibility": "internal" - } - ], - "scope": 26920, - "src": "752:685:73" - } - ], - "src": "44:1394:73" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.209Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/KernelProxy.json b/templates/multisig/build/contracts/KernelProxy.json deleted file mode 100644 index d76b2fb..0000000 --- a/templates/multisig/build/contracts/KernelProxy.json +++ /dev/null @@ -1,1796 +0,0 @@ -{ - "contractName": "KernelProxy", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - }, - { - "name": "", - "type": "bytes32" - } - ], - "name": "apps", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "recoveryVaultAppId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_kernelImpl", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "ProxyDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "namespace", - "type": "bytes32" - }, - { - "indexed": true, - "name": "appId", - "type": "bytes32" - }, - { - "indexed": false, - "name": "app", - "type": "address" - } - ], - "name": "SetApp", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "proxyType", - "outputs": [ - { - "name": "proxyTypeId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516020806104aa833981016040525161003481640100000000610120810204565b151561003f57600080fd5b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c60008190527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f60209081527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede48054600160a060020a031916600160a060020a03851690811790915560408051918252517fc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8927f2ec1ae0a449b7ae354b9dacfb3ade6b6332ba26b7fcbb935835fa39dd7263b23928290030190a35061014d565b600080600160a060020a038316151561013c5760009150610147565b823b90506000811191505b50919050565b61034e8061015c6000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b5780634558850c1461015257806348a0c8dd146101895780635c60da1b146101b257806386070cfe146101c7575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101dc565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb61020c565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610282945050505050565b50005b34801561013757600080fd5b506101406102c3565b60408051918252519081900360200190f35b34801561015e57600080fd5b5061016d6004356024356102c8565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e6101dc565b604080519115158252519081900360200190f35b3480156101be57600080fd5b5061016d61020c565b3480156101d357600080fd5b506101406102eb565b60006102077f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102f1565b905090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c6000527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f6020527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede454600160a060020a031690565b600061028d836102f5565b151561029857600080fd5b612710905060008083516020850186855a03f43d604051816000823e8280156102bf578282f35b8282fd5b600290565b6000602081815292815260408082209093529081522054600160a060020a031681565b60015481565b5490565b600080600160a060020a0383161515610311576000915061031c565b823b90506000811191505b509190505600a165627a7a72305820fe7089d739ec0afa54b2bc12b29919b3f5f6bf3ef1b38e365ca78ff8cf5059680029", - "deployedBytecode": "0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b5780634558850c1461015257806348a0c8dd146101895780635c60da1b146101b257806386070cfe146101c7575b60006127105a10156100e357600034118015610086575036155b151561009157600080fd5b6100996101dc565b15156100a457600080fd5b6040805133815234602082015281517f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1929181900390910190a1610128565b6100eb61020c565b9050610128816000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610282945050505050565b50005b34801561013757600080fd5b506101406102c3565b60408051918252519081900360200190f35b34801561015e57600080fd5b5061016d6004356024356102c8565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e6101dc565b604080519115158252519081900360200190f35b3480156101be57600080fd5b5061016d61020c565b3480156101d357600080fd5b506101406102eb565b60006102077f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6102f1565b905090565b7f3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c6000527fc67454ed56db7ff90a4bb32fc9a8de1ab3174b221e5fecea22b7503a3111791f6020527f8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede454600160a060020a031690565b600061028d836102f5565b151561029857600080fd5b612710905060008083516020850186855a03f43d604051816000823e8280156102bf578282f35b8282fd5b600290565b6000602081815292815260408082209093529081522054600160a060020a031681565b60015481565b5490565b600080600160a060020a0383161515610311576000915061031c565b823b90506000811191505b509190505600a165627a7a72305820fe7089d739ec0afa54b2bc12b29919b3f5f6bf3ef1b38e365ca78ff8cf5059680029", - "sourceMap": "197:1384:74:-;;;599:568;8:9:-1;5:2;;;30:1;27;20:12;5:2;599:568:74;;;;;;;;;;;;;657:32;599:568;657:10;;;;:32;:::i;:::-;649:41;;;;;;;;426:66:73;700:4:74;:47;;;:27;;:47;;;;:61;;-1:-1:-1;;;;;;700:61:74;-1:-1:-1;;;;;700:61:74;;;;;;;;:27;1098:62;;;;;;1115:66:73;;1098:62:74;;;;;;;;599:568;197:1384;;426:244:49;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;197:1384:74:-;;;;;;;", - "deployedSourceMap": "197:1384:74:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:14:43;192:5:42;295:9:43;:25;291:343;;;356:1;344:9;:13;:37;;;;-1:-1:-1;361:8:43;:20;344:37;336:46;;;;;;;;404:15;:13;:15::i;:::-;396:24;;;;;;;;439:35;;;452:10;439:35;;464:9;439:35;;;;;;;;;;;;;;;;;291:343;;;563:16;:14;:16::i;:::-;546:33;;593:30;606:6;614:8;;593:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;593:12:43;;-1:-1:-1;;;;;593:30:43:i;:::-;225:415;197:1384:74;1268:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:98:74;;;;;;;;;;;;;;;;;;;;93:61:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;93:61:75;;;;;;;;;;;-1:-1:-1;;;;;93:61:75;;;;;;;;;;;;;;323:113:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;;;;;;;;;;;;;;;;;;;1452:127:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1452:127:74;;;;160:33:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:33:75;;;;323:113:44;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;1452:127:74:-;426:66:73;1499:7:74;1525:47;:27;;:47;;;-1:-1:-1;1525:47:74;;1452:127::o;460:679:42:-;567:19;540:16;551:4;540:10;:16::i;:::-;532:25;;;;;;;;192:5;567:35;;735:1;732;720:9;714:16;707:4;696:9;692:20;686:4;672:11;667:3;663:21;650:87;762:14;806:4;800:11;847:4;844:1;839:3;824:28;1046:6;1053:28;;;;1116:4;1111:3;1104:17;1053:28;1074:4;1069:3;1062:17;1268:98:74;181:1:81;1268:98:74;:::o;93:61:75:-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;93:61:75;;:::o;160:33::-;;;;:::o;105:128:55:-;210:15;;200:27::o;426:244:49:-;486:4;;-1:-1:-1;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"./IKernel.sol\";\nimport \"./KernelConstants.sol\";\nimport \"./KernelStorage.sol\";\nimport \"../common/DepositableDelegateProxy.sol\";\nimport \"../common/IsContract.sol\";\n\n\ncontract KernelProxy is IKernelEvents, KernelStorage, KernelAppIds, KernelNamespaceConstants, IsContract, DepositableDelegateProxy {\n /**\n * @dev KernelProxy is a proxy contract to a kernel implementation. The implementation\n * can update the reference, which effectively upgrades the contract\n * @param _kernelImpl Address of the contract used as implementation for kernel\n */\n constructor(IKernel _kernelImpl) public {\n require(isContract(address(_kernelImpl)));\n apps[KERNEL_CORE_NAMESPACE][KERNEL_CORE_APP_ID] = _kernelImpl;\n\n // Note that emitting this event is important for verifying that a KernelProxy instance\n // was never upgraded to a malicious Kernel logic contract over its lifespan.\n // This starts the \"chain of trust\", that can be followed through later SetApp() events\n // emitted during kernel upgrades.\n emit SetApp(KERNEL_CORE_NAMESPACE, KERNEL_CORE_APP_ID, _kernelImpl);\n }\n\n /**\n * @dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy\n */\n function proxyType() public pure returns (uint256 proxyTypeId) {\n return UPGRADEABLE;\n }\n\n /**\n * @dev ERC897, the address the proxy would delegate calls to\n */\n function implementation() public view returns (address) {\n return apps[KERNEL_CORE_NAMESPACE][KERNEL_CORE_APP_ID];\n }\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/KernelProxy.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol", - "exportedSymbols": { - "KernelProxy": [ - 26987 - ] - }, - "id": 26988, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26921, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:74" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "./IKernel.sol", - "id": 26922, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26406, - "src": "25:23:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "./KernelConstants.sol", - "id": 26923, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26920, - "src": "49:31:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "file": "./KernelStorage.sol", - "id": 26924, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26999, - "src": "81:29:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "file": "../common/DepositableDelegateProxy.sol", - "id": 26925, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 23610, - "src": "111:48:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 26926, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 23826, - "src": "160:34:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26927, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "221:13:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26928, - "nodeType": "InheritanceSpecifier", - "src": "221:13:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26929, - "name": "KernelStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26998, - "src": "236:13:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelStorage_$26998", - "typeString": "contract KernelStorage" - } - }, - "id": 26930, - "nodeType": "InheritanceSpecifier", - "src": "236:13:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26931, - "name": "KernelAppIds", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26909, - "src": "251:12:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelAppIds_$26909", - "typeString": "contract KernelAppIds" - } - }, - "id": 26932, - "nodeType": "InheritanceSpecifier", - "src": "251:12:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26933, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "265:24:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 26934, - "nodeType": "InheritanceSpecifier", - "src": "265:24:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26935, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "291:10:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 26936, - "nodeType": "InheritanceSpecifier", - "src": "291:10:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26937, - "name": "DepositableDelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23609, - "src": "303:24:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableDelegateProxy_$23609", - "typeString": "contract DepositableDelegateProxy" - } - }, - "id": 26938, - "nodeType": "InheritanceSpecifier", - "src": "303:24:74" - } - ], - "contractDependencies": [ - 23547, - 23609, - 23641, - 23825, - 26364, - 26909, - 26919, - 26998, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26987, - "linearizedBaseContracts": [ - 26987, - 23609, - 23547, - 23825, - 28030, - 23641, - 26919, - 26909, - 26998, - 26364 - ], - "name": "KernelProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 26965, - "nodeType": "Block", - "src": "639:528:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26946, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "676:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "668:7:74", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "668:20:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26944, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "657:10:74", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 26948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "657:32:74", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26943, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "649:7:74", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 26949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:41:74", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26950, - "nodeType": "ExpressionStatement", - "src": "649:41:74" - }, - { - "expression": { - "argumentTypes": null, - "id": 26957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26951, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "700:4:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26954, - "indexExpression": { - "argumentTypes": null, - "id": 26952, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "705:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "700:27:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26955, - "indexExpression": { - "argumentTypes": null, - "id": 26953, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "728:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "700:47:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26956, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "750:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "src": "700:61:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 26958, - "nodeType": "ExpressionStatement", - "src": "700:61:74" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26960, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "1105:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26961, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "1128:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26962, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "1148:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26959, - "name": "SetApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26363, - "src": "1098:6:74", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1098:62:74", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26964, - "nodeType": "EmitStatement", - "src": "1093:67:74" - } - ] - }, - "documentation": "@dev KernelProxy is a proxy contract to a kernel implementation. The implementation\n can update the reference, which effectively upgrades the contract\n@param _kernelImpl Address of the contract used as implementation for kernel", - "id": 26966, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26940, - "name": "_kernelImpl", - "nodeType": "VariableDeclaration", - "scope": 26966, - "src": "611:19:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 26939, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "611:7:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "610:21:74" - }, - "payable": false, - "returnParameters": { - "id": 26942, - "nodeType": "ParameterList", - "parameters": [], - "src": "639:0:74" - }, - "scope": 26987, - "src": "599:568:74", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26973, - "nodeType": "Block", - "src": "1331:35:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26971, - "name": "UPGRADEABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28019, - "src": "1348:11:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 26970, - "id": 26972, - "nodeType": "Return", - "src": "1341:18:74" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 26974, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26967, - "nodeType": "ParameterList", - "parameters": [], - "src": "1286:2:74" - }, - "payable": false, - "returnParameters": { - "id": 26970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26969, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 26974, - "src": "1310:19:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1310:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1309:21:74" - }, - "scope": 26987, - "src": "1268:98:74", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - }, - { - "body": { - "id": 26985, - "nodeType": "Block", - "src": "1508:71:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26979, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "1525:4:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26981, - "indexExpression": { - "argumentTypes": null, - "id": 26980, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "1530:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1525:27:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26983, - "indexExpression": { - "argumentTypes": null, - "id": 26982, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "1553:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1525:47:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26978, - "id": 26984, - "nodeType": "Return", - "src": "1518:54:74" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 26986, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26975, - "nodeType": "ParameterList", - "parameters": [], - "src": "1475:2:74" - }, - "payable": false, - "returnParameters": { - "id": 26978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26977, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26986, - "src": "1499:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26976, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1499:7:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1498:9:74" - }, - "scope": 26987, - "src": "1452:127:74", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - } - ], - "scope": 26988, - "src": "197:1384:74" - } - ], - "src": "0:1582:74" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol", - "exportedSymbols": { - "KernelProxy": [ - 26987 - ] - }, - "id": 26988, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26921, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:74" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", - "file": "./IKernel.sol", - "id": 26922, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26406, - "src": "25:23:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol", - "file": "./KernelConstants.sol", - "id": 26923, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26920, - "src": "49:31:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "file": "./KernelStorage.sol", - "id": 26924, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 26999, - "src": "81:29:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol", - "file": "../common/DepositableDelegateProxy.sol", - "id": 26925, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 23610, - "src": "111:48:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "../common/IsContract.sol", - "id": 26926, - "nodeType": "ImportDirective", - "scope": 26988, - "sourceUnit": 23826, - "src": "160:34:74", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26927, - "name": "IKernelEvents", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26364, - "src": "221:13:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernelEvents_$26364", - "typeString": "contract IKernelEvents" - } - }, - "id": 26928, - "nodeType": "InheritanceSpecifier", - "src": "221:13:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26929, - "name": "KernelStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26998, - "src": "236:13:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelStorage_$26998", - "typeString": "contract KernelStorage" - } - }, - "id": 26930, - "nodeType": "InheritanceSpecifier", - "src": "236:13:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26931, - "name": "KernelAppIds", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26909, - "src": "251:12:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelAppIds_$26909", - "typeString": "contract KernelAppIds" - } - }, - "id": 26932, - "nodeType": "InheritanceSpecifier", - "src": "251:12:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26933, - "name": "KernelNamespaceConstants", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26919, - "src": "265:24:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KernelNamespaceConstants_$26919", - "typeString": "contract KernelNamespaceConstants" - } - }, - "id": 26934, - "nodeType": "InheritanceSpecifier", - "src": "265:24:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26935, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "291:10:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 26936, - "nodeType": "InheritanceSpecifier", - "src": "291:10:74" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26937, - "name": "DepositableDelegateProxy", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23609, - "src": "303:24:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableDelegateProxy_$23609", - "typeString": "contract DepositableDelegateProxy" - } - }, - "id": 26938, - "nodeType": "InheritanceSpecifier", - "src": "303:24:74" - } - ], - "contractDependencies": [ - 23547, - 23609, - 23641, - 23825, - 26364, - 26909, - 26919, - 26998, - 28030 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26987, - "linearizedBaseContracts": [ - 26987, - 23609, - 23547, - 23825, - 28030, - 23641, - 26919, - 26909, - 26998, - 26364 - ], - "name": "KernelProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 26965, - "nodeType": "Block", - "src": "639:528:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26946, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "676:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "668:7:74", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 26947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "668:20:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 26944, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "657:10:74", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 26948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "657:32:74", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 26943, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "649:7:74", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 26949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "649:41:74", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26950, - "nodeType": "ExpressionStatement", - "src": "649:41:74" - }, - { - "expression": { - "argumentTypes": null, - "id": 26957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26951, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "700:4:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26954, - "indexExpression": { - "argumentTypes": null, - "id": 26952, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "705:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "700:27:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26955, - "indexExpression": { - "argumentTypes": null, - "id": 26953, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "728:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "700:47:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 26956, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "750:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "src": "700:61:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 26958, - "nodeType": "ExpressionStatement", - "src": "700:61:74" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 26960, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "1105:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26961, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "1128:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 26962, - "name": "_kernelImpl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26940, - "src": "1148:11:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - ], - "id": 26959, - "name": "SetApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26363, - "src": "1098:6:74", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,bytes32,address)" - } - }, - "id": 26963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1098:62:74", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 26964, - "nodeType": "EmitStatement", - "src": "1093:67:74" - } - ] - }, - "documentation": "@dev KernelProxy is a proxy contract to a kernel implementation. The implementation\n can update the reference, which effectively upgrades the contract\n@param _kernelImpl Address of the contract used as implementation for kernel", - "id": 26966, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26940, - "name": "_kernelImpl", - "nodeType": "VariableDeclaration", - "scope": 26966, - "src": "611:19:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - }, - "typeName": { - "contractScope": null, - "id": 26939, - "name": "IKernel", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 26405, - "src": "611:7:74", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IKernel_$26405", - "typeString": "contract IKernel" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "610:21:74" - }, - "payable": false, - "returnParameters": { - "id": 26942, - "nodeType": "ParameterList", - "parameters": [], - "src": "639:0:74" - }, - "scope": 26987, - "src": "599:568:74", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 26973, - "nodeType": "Block", - "src": "1331:35:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 26971, - "name": "UPGRADEABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28019, - "src": "1348:11:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 26970, - "id": 26972, - "nodeType": "Return", - "src": "1341:18:74" - } - ] - }, - "documentation": "@dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy", - "id": 26974, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "proxyType", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26967, - "nodeType": "ParameterList", - "parameters": [], - "src": "1286:2:74" - }, - "payable": false, - "returnParameters": { - "id": 26970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26969, - "name": "proxyTypeId", - "nodeType": "VariableDeclaration", - "scope": 26974, - "src": "1310:19:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1310:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1309:21:74" - }, - "scope": 26987, - "src": "1268:98:74", - "stateMutability": "pure", - "superFunction": 28024, - "visibility": "public" - }, - { - "body": { - "id": 26985, - "nodeType": "Block", - "src": "1508:71:74", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 26979, - "name": "apps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26995, - "src": "1525:4:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - } - }, - "id": 26981, - "indexExpression": { - "argumentTypes": null, - "id": 26980, - "name": "KERNEL_CORE_NAMESPACE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26912, - "src": "1530:21:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1525:27:74", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 26983, - "indexExpression": { - "argumentTypes": null, - "id": 26982, - "name": "KERNEL_CORE_APP_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26902, - "src": "1553:18:74", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1525:47:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 26978, - "id": 26984, - "nodeType": "Return", - "src": "1518:54:74" - } - ] - }, - "documentation": "@dev ERC897, the address the proxy would delegate calls to", - "id": 26986, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "implementation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26975, - "nodeType": "ParameterList", - "parameters": [], - "src": "1475:2:74" - }, - "payable": false, - "returnParameters": { - "id": 26978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26977, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26986, - "src": "1499:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26976, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1499:7:74", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1498:9:74" - }, - "scope": 26987, - "src": "1452:127:74", - "stateMutability": "view", - "superFunction": 28029, - "visibility": "public" - } - ], - "scope": 26988, - "src": "197:1384:74" - } - ], - "src": "0:1582:74" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.228Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/KernelStorage.json b/templates/multisig/build/contracts/KernelStorage.json deleted file mode 100644 index d76b848..0000000 --- a/templates/multisig/build/contracts/KernelStorage.json +++ /dev/null @@ -1,315 +0,0 @@ -{ - "contractName": "KernelStorage", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - }, - { - "name": "", - "type": "bytes32" - } - ], - "name": "apps", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "recoveryVaultAppId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610114806100206000396000f30060806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634558850c8114604d57806386070cfe14608e575b600080fd5b348015605857600080fd5b50606560043560243560b2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b348015609957600080fd5b5060a060e2565b60408051918252519081900360200190f35b600060208181529281526040808220909352908152205473ffffffffffffffffffffffffffffffffffffffff1681565b600154815600a165627a7a7230582002841d9e43fdf25fb3de3cc69890edf5ae01fd46289a06b861ca4d76be7c28360029", - "deployedBytecode": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634558850c8114604d57806386070cfe14608e575b600080fd5b348015605857600080fd5b50606560043560243560b2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b348015609957600080fd5b5060a060e2565b60408051918252519081900360200190f35b600060208181529281526040808220909352908152205473ffffffffffffffffffffffffffffffffffffffff1681565b600154815600a165627a7a7230582002841d9e43fdf25fb3de3cc69890edf5ae01fd46289a06b861ca4d76be7c28360029", - "sourceMap": "26:170:75:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:170:75;;;;;;;", - "deployedSourceMap": "26:170:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;93:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;93:61:75;;;;;;;;;;;;;;;;;;;;;;;;;;160:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:33:75;;;;;;;;;;;;;;;;;;;;93:61;;;;;;;;;;;;;;;;;;;;;;;;:::o;160:33::-;;;;:::o", - "source": "pragma solidity 0.4.24;\n\n\ncontract KernelStorage {\n // namespace => app id => address\n mapping (bytes32 => mapping (bytes32 => address)) public apps;\n bytes32 public recoveryVaultAppId;\n}\n", - "sourcePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "exportedSymbols": { - "KernelStorage": [ - 26998 - ] - }, - "id": 26999, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26989, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:75" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26998, - "linearizedBaseContracts": [ - 26998 - ], - "name": "KernelStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 26995, - "name": "apps", - "nodeType": "VariableDeclaration", - "scope": 26998, - "src": "93:61:75", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - }, - "typeName": { - "id": 26994, - "keyType": { - "id": 26990, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "102:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "93:49:75", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - }, - "valueType": { - "id": 26993, - "keyType": { - "id": 26991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "122:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "113:28:75", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "valueType": { - "id": 26992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "133:7:75", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 26997, - "name": "recoveryVaultAppId", - "nodeType": "VariableDeclaration", - "scope": 26998, - "src": "160:33:75", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26996, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "160:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - } - ], - "scope": 26999, - "src": "26:170:75" - } - ], - "src": "0:197:75" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol", - "exportedSymbols": { - "KernelStorage": [ - 26998 - ] - }, - "id": 26999, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 26989, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:75" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 26998, - "linearizedBaseContracts": [ - 26998 - ], - "name": "KernelStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 26995, - "name": "apps", - "nodeType": "VariableDeclaration", - "scope": 26998, - "src": "93:61:75", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - }, - "typeName": { - "id": 26994, - "keyType": { - "id": 26990, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "102:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "93:49:75", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_address_$_$", - "typeString": "mapping(bytes32 => mapping(bytes32 => address))" - }, - "valueType": { - "id": 26993, - "keyType": { - "id": 26991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "122:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "113:28:75", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "valueType": { - "id": 26992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "133:7:75", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 26997, - "name": "recoveryVaultAppId", - "nodeType": "VariableDeclaration", - "scope": 26998, - "src": "160:33:75", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 26996, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "160:7:75", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - } - ], - "scope": 26999, - "src": "26:170:75" - } - ], - "src": "0:197:75" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.197Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Migrations.json b/templates/multisig/build/contracts/Migrations.json deleted file mode 100644 index f30aac7..0000000 --- a/templates/multisig/build/contracts/Migrations.json +++ /dev/null @@ -1,1394 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101bc806100326000396000f3006080604052600436106100485763ffffffff60e060020a6000350416630900f010811461004d578063445df0ac146100705780638da5cb5b14610097578063fdacd576146100c8575b600080fd5b34801561005957600080fd5b5061006e600160a060020a03600435166100e0565b005b34801561007c57600080fd5b5061008561015f565b60408051918252519081900360200190f35b3480156100a357600080fd5b506100ac610165565b60408051600160a060020a039092168252519081900360200190f35b3480156100d457600080fd5b5061006e600435610174565b60008054600160a060020a031633141561015b5781905080600160a060020a031663fdacd5766001546040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15801561014257600080fd5b505af1158015610156573d6000803e3d6000fd5b505050505b5050565b60015481565b600054600160a060020a031681565b600054600160a060020a031633141561018d5760018190555b505600a165627a7a72305820c1d3f61ff161b8e0d670f3cbe052056099cca32e84d54c6a86d0776a2f17529a0029", - "deployedBytecode": "0x6080604052600436106100485763ffffffff60e060020a6000350416630900f010811461004d578063445df0ac146100705780638da5cb5b14610097578063fdacd576146100c8575b600080fd5b34801561005957600080fd5b5061006e600160a060020a03600435166100e0565b005b34801561007c57600080fd5b5061008561015f565b60408051918252519081900360200190f35b3480156100a357600080fd5b506100ac610165565b60408051600160a060020a039092168252519081900360200190f35b3480156100d457600080fd5b5061006e600435610174565b60008054600160a060020a031633141561015b5781905080600160a060020a031663fdacd5766001546040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15801561014257600080fd5b505af1158015610156573d6000803e3d6000fd5b505050505b5050565b60015481565b600054600160a060020a031681565b600054600160a060020a031633141561018d5760018190555b505600a165627a7a72305820c1d3f61ff161b8e0d670f3cbe052056099cca32e84d54c6a86d0776a2f17529a0029", - "sourceMap": "27:544:85:-;;;217:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;248:5:85;:18;;-1:-1:-1;;;;;;248:18:85;256:10;248:18;;;27:544;;;;;;", - "deployedSourceMap": "27:544:85:-;;;;;;;;;-1:-1:-1;;;27:544:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;394:175:85;-1:-1:-1;;;;;394:175:85;;;;;;;79:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;79:36:85;;;;;;;;;;;;;;;;;;;;53:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:20:85;;;;;;;;-1:-1:-1;;;;;53:20:85;;;;;;;;;;;;;;279:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;279:109:85;;;;;394:175;460:19;172:5;;-1:-1:-1;;;;;172:5:85;158:10;:19;154:51;;;493:11;460:45;;515:8;-1:-1:-1;;;;;515:21:85;;537:24;;515:47;;;;;-1:-1:-1;;;515:47:85;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;515:47:85;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;515:47:85;;;;154:51;394:175;;:::o;79:36::-;;;;:::o;53:20::-;;;-1:-1:-1;;;;;53:20:85;;:::o;279:109::-;172:5;;-1:-1:-1;;;;;172:5:85;158:10;:19;154:51;;;345:24;:36;;;154:51;279:109;:::o", - "source": "pragma solidity ^0.4.17;\n\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) {\n _;\n }\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", - "sourcePath": "@aragon/templates-shared/contracts/Migrations.sol", - "ast": { - "absolutePath": "@aragon/templates-shared/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 29769 - ] - }, - "id": 29770, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29713, - "literals": [ - "solidity", - "^", - "0.4", - ".17" - ], - "nodeType": "PragmaDirective", - "src": "0:24:85" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 29769, - "linearizedBaseContracts": [ - 29769 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 29715, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 29769, - "src": "53:20:85", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "53:7:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 29717, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 29769, - "src": "79:36:85", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29716, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "79:4:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29726, - "nodeType": "Block", - "src": "144:67:85", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29719, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "158:3:85", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "158:10:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 29721, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29715, - "src": "172:5:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "158:19:85", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 29725, - "nodeType": "IfStatement", - "src": "154:51:85", - "trueBody": { - "id": 29724, - "nodeType": "Block", - "src": "179:26:85", - "statements": [ - { - "id": 29723, - "nodeType": "PlaceholderStatement", - "src": "193:1:85" - } - ] - } - } - ] - }, - "documentation": null, - "id": 29727, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 29718, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:2:85" - }, - "src": "122:89:85", - "visibility": "internal" - }, - { - "body": { - "id": 29735, - "nodeType": "Block", - "src": "238:35:85", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29730, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29715, - "src": "248:5:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29731, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "256:3:85", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "256:10:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "248:18:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29734, - "nodeType": "ExpressionStatement", - "src": "248:18:85" - } - ] - }, - "documentation": null, - "id": 29736, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29728, - "nodeType": "ParameterList", - "parameters": [], - "src": "228:2:85" - }, - "payable": false, - "returnParameters": { - "id": 29729, - "nodeType": "ParameterList", - "parameters": [], - "src": "238:0:85" - }, - "scope": 29769, - "src": "217:56:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 29747, - "nodeType": "Block", - "src": "335:53:85", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29743, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29717, - "src": "345:24:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 29744, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29738, - "src": "372:9:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "345:36:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29746, - "nodeType": "ExpressionStatement", - "src": "345:36:85" - } - ] - }, - "documentation": null, - "id": 29748, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 29741, - "modifierName": { - "argumentTypes": null, - "id": 29740, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29727, - "src": "324:10:85", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "324:10:85" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29738, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 29748, - "src": "301:14:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29737, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "301:4:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "300:16:85" - }, - "payable": false, - "returnParameters": { - "id": 29742, - "nodeType": "ParameterList", - "parameters": [], - "src": "335:0:85" - }, - "scope": 29769, - "src": "279:109:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 29767, - "nodeType": "Block", - "src": "450:119:85", - "statements": [ - { - "assignments": [ - 29756 - ], - "declarations": [ - { - "constant": false, - "id": 29756, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 29768, - "src": "460:19:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 29755, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 29769, - "src": "460:10:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29760, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29758, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29750, - "src": "493:11:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29757, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29769, - "src": "482:10:85", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$29769_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 29759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "482:23:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "460:45:85" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29764, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29717, - "src": "537:24:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29761, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29756, - "src": "515:8:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "id": 29763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 29748, - "src": "515:21:85", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 29765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:47:85", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29766, - "nodeType": "ExpressionStatement", - "src": "515:47:85" - } - ] - }, - "documentation": null, - "id": 29768, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 29753, - "modifierName": { - "argumentTypes": null, - "id": 29752, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29727, - "src": "439:10:85", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "439:10:85" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29750, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 29768, - "src": "411:19:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "411:7:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "410:21:85" - }, - "payable": false, - "returnParameters": { - "id": 29754, - "nodeType": "ParameterList", - "parameters": [], - "src": "450:0:85" - }, - "scope": 29769, - "src": "394:175:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 29770, - "src": "27:544:85" - } - ], - "src": "0:572:85" - }, - "legacyAST": { - "absolutePath": "@aragon/templates-shared/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 29769 - ] - }, - "id": 29770, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29713, - "literals": [ - "solidity", - "^", - "0.4", - ".17" - ], - "nodeType": "PragmaDirective", - "src": "0:24:85" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 29769, - "linearizedBaseContracts": [ - 29769 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 29715, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 29769, - "src": "53:20:85", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "53:7:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 29717, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 29769, - "src": "79:36:85", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29716, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "79:4:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29726, - "nodeType": "Block", - "src": "144:67:85", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29719, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "158:3:85", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "158:10:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 29721, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29715, - "src": "172:5:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "158:19:85", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 29725, - "nodeType": "IfStatement", - "src": "154:51:85", - "trueBody": { - "id": 29724, - "nodeType": "Block", - "src": "179:26:85", - "statements": [ - { - "id": 29723, - "nodeType": "PlaceholderStatement", - "src": "193:1:85" - } - ] - } - } - ] - }, - "documentation": null, - "id": 29727, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 29718, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:2:85" - }, - "src": "122:89:85", - "visibility": "internal" - }, - { - "body": { - "id": 29735, - "nodeType": "Block", - "src": "238:35:85", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29730, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29715, - "src": "248:5:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 29731, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "256:3:85", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "256:10:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "248:18:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29734, - "nodeType": "ExpressionStatement", - "src": "248:18:85" - } - ] - }, - "documentation": null, - "id": 29736, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29728, - "nodeType": "ParameterList", - "parameters": [], - "src": "228:2:85" - }, - "payable": false, - "returnParameters": { - "id": 29729, - "nodeType": "ParameterList", - "parameters": [], - "src": "238:0:85" - }, - "scope": 29769, - "src": "217:56:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 29747, - "nodeType": "Block", - "src": "335:53:85", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 29745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 29743, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29717, - "src": "345:24:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 29744, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29738, - "src": "372:9:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "345:36:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29746, - "nodeType": "ExpressionStatement", - "src": "345:36:85" - } - ] - }, - "documentation": null, - "id": 29748, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 29741, - "modifierName": { - "argumentTypes": null, - "id": 29740, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29727, - "src": "324:10:85", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "324:10:85" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29738, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 29748, - "src": "301:14:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29737, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "301:4:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "300:16:85" - }, - "payable": false, - "returnParameters": { - "id": 29742, - "nodeType": "ParameterList", - "parameters": [], - "src": "335:0:85" - }, - "scope": 29769, - "src": "279:109:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 29767, - "nodeType": "Block", - "src": "450:119:85", - "statements": [ - { - "assignments": [ - 29756 - ], - "declarations": [ - { - "constant": false, - "id": 29756, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 29768, - "src": "460:19:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 29755, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 29769, - "src": "460:10:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 29760, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29758, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29750, - "src": "493:11:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29757, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29769, - "src": "482:10:85", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$29769_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 29759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "482:23:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "460:45:85" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 29764, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29717, - "src": "537:24:85", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 29761, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29756, - "src": "515:8:85", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$29769", - "typeString": "contract Migrations" - } - }, - "id": 29763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 29748, - "src": "515:21:85", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 29765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:47:85", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29766, - "nodeType": "ExpressionStatement", - "src": "515:47:85" - } - ] - }, - "documentation": null, - "id": 29768, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 29753, - "modifierName": { - "argumentTypes": null, - "id": 29752, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29727, - "src": "439:10:85", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "439:10:85" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 29751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29750, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 29768, - "src": "411:19:85", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "411:7:85", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "410:21:85" - }, - "payable": false, - "returnParameters": { - "id": 29754, - "nodeType": "ParameterList", - "parameters": [], - "src": "450:0:85" - }, - "scope": 29769, - "src": "394:175:85", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 29770, - "src": "27:544:85" - } - ], - "src": "0:572:85" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.221Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/MiniMeToken.json b/templates/multisig/build/contracts/MiniMeToken.json deleted file mode 100644 index d02f210..0000000 --- a/templates/multisig/build/contracts/MiniMeToken.json +++ /dev/null @@ -1,30178 +0,0 @@ -{ - "contractName": "MiniMeToken", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "creationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newController", - "type": "address" - } - ], - "name": "changeController", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "parentToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "transfersEnabled", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "parentSnapShotBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenFactory", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "controller", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_tokenFactory", - "type": "address" - }, - { - "name": "_parentToken", - "type": "address" - }, - { - "name": "_parentSnapShotBlock", - "type": "uint256" - }, - { - "name": "_tokenName", - "type": "string" - }, - { - "name": "_decimalUnits", - "type": "uint8" - }, - { - "name": "_tokenSymbol", - "type": "string" - }, - { - "name": "_transfersEnabled", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "name": "_controller", - "type": "address" - }, - { - "indexed": false, - "name": "_amount", - "type": "uint256" - } - ], - "name": "ClaimedTokens", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "name": "_amount", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_cloneToken", - "type": "address" - }, - { - "indexed": false, - "name": "_snapshotBlock", - "type": "uint256" - } - ], - "name": "NewCloneToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "name": "_spender", - "type": "address" - }, - { - "indexed": false, - "name": "_amount", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_extraData", - "type": "bytes" - } - ], - "name": "approveAndCall", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_blockNumber", - "type": "uint256" - } - ], - "name": "balanceOfAt", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_blockNumber", - "type": "uint256" - } - ], - "name": "totalSupplyAt", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_cloneTokenName", - "type": "string" - }, - { - "name": "_cloneDecimalUnits", - "type": "uint8" - }, - { - "name": "_cloneTokenSymbol", - "type": "string" - }, - { - "name": "_snapshotBlock", - "type": "uint256" - }, - { - "name": "_transfersEnabled", - "type": "bool" - } - ], - "name": "createCloneToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "generateTokens", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "destroyTokens", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_transfersEnabled", - "type": "bool" - } - ], - "name": "enableTransfers", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "claimTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60c0604052600760808190527f4d4d545f302e310000000000000000000000000000000000000000000000000060a090815262000040916004919062000147565b503480156200004e57600080fd5b5060405162001abf38038062001abf8339810160409081528151602080840151928401516060850151608086015160a087015160c088015160008054600160a060020a03191633179055600b8054600160a060020a0389166101000261010060a860020a031990911617905592880180519698949690959294919091019291620000de9160019187019062000147565b506002805460ff191660ff851617905581516200010390600390602085019062000147565b5060058054600160a060020a031916600160a060020a039790971696909617909555505050600655600b805460ff19169115159190911790555043600755620001ec565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018a57805160ff1916838001178555620001ba565b82800160010185558215620001ba579182015b82811115620001ba5782518255916020019190600101906200019d565b50620001c8929150620001cc565b5090565b620001e991905b80821115620001c85760008155600101620001d3565b90565b6118c380620001fc6000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101f2578063095ea7b31461027c57806317634514146102b457806318160ddd146102db57806323b872dd146102f0578063313ce5671461031a5780633cebb823146103455780634ee2cd7e1461036657806354fd4d501461038a5780636638c0871461039f57806370a082311461046257806380a5400114610483578063827f32c01461049857806395d89b41146104bc578063981b24d0146104d1578063a9059cbb146104e9578063bef97c871461050d578063c5bcc4f114610522578063cae9ca5114610537578063d3ce77fe146105a0578063dd62ed3e146105c4578063df8de3e7146105eb578063e77772fe1461060c578063f41e60c514610621578063f77c47911461063b575b60005461014490600160a060020a0316610650565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156001146101f057600080fd5b005b3480156101fe57600080fd5b5061020761067d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610241578181015183820152602001610229565b50505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028857600080fd5b506102a0600160a060020a036004351660243561070a565b604080519115158252519081900360200190f35b3480156102c057600080fd5b506102c961088b565b60408051918252519081900360200190f35b3480156102e757600080fd5b506102c9610891565b3480156102fc57600080fd5b506102a0600160a060020a03600435811690602435166044356108a2565b34801561032657600080fd5b5061032f610939565b6040805160ff9092168252519081900360200190f35b34801561035157600080fd5b506101f0600160a060020a0360043516610942565b34801561037257600080fd5b506102c9600160a060020a0360043516602435610988565b34801561039657600080fd5b50610207610ad5565b3480156103ab57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044694369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b30565b60408051600160a060020a039092168252519081900360200190f35b34801561046e57600080fd5b506102c9600160a060020a0360043516610d96565b34801561048f57600080fd5b50610446610daa565b3480156104a457600080fd5b506102a0600160a060020a0360043516602435610db9565b3480156104c857600080fd5b50610207610e73565b3480156104dd57600080fd5b506102c9600435610ece565b3480156104f557600080fd5b506102a0600160a060020a0360043516602435610fc2565b34801561051957600080fd5b506102a0610fe1565b34801561052e57600080fd5b506102c9610fea565b34801561054357600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102a0948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610ff09650505050505050565b3480156105ac57600080fd5b506102a0600160a060020a036004351660243561110b565b3480156105d057600080fd5b506102c9600160a060020a03600435811690602435166111c1565b3480156105f757600080fd5b506101f0600160a060020a03600435166111ec565b34801561061857600080fd5b506104466113d3565b34801561062d57600080fd5b506101f060043515156113e7565b34801561064757600080fd5b50610446611411565b600080600160a060020a038316151561066c5760009150610677565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b820191906000526020600020905b8154815290600101906020018083116106e557829003601f168201915b505050505081565b600b5460009060ff16151561071e57600080fd5b81158061074c5750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075757600080fd5b60005461076c90600160a060020a0316610650565b156108235760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051151560011461082357600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089c43610ece565b90505b90565b60008054600160a060020a0316331461092457600b5460ff1615156108c657600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f957506000610932565b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b61092f848484611420565b90505b9392505050565b60025460ff1681565b600054600160a060020a0316331461095957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526008602052604081205415806109e45750600160a060020a0383166000908152600860205260408120805484929081106109cd57fe5b6000918252602090912001546001608060020a0316115b15610aac57600554600160a060020a031615610aa457600554600654600160a060020a0390911690634ee2cd7e908590610a1f908690611603565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b50519050610885565b506000610885565b600160a060020a0383166000908152600860205260409020610ace9083611619565b9050610885565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600080808415610b405784610b45565b600143035b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830185905260ff8c16606484015288151560a484015260c0604484019081528d5160c48501528d51959750610100909404600160a060020a031694635b7b72c194929388938f938f938f938e9391608482019160e40190602089019080838360005b83811015610bf2578181015183820152602001610bda565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c52578181015183820152602001610c3a565b50505050905090810190601f168015610c7f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b5050604080518581529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a2979650505050505050565b6000610da28243610988565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610dd557600080fd5b610ddd610891565b9150838201821115610dee57600080fd5b610df785610d96565b9050838101811115610e0857600080fd5b610e15600a85840161175e565b600160a060020a0385166000908152600860205260409020610e399082860161175e565b604080518581529051600160a060020a038716916000916000805160206118788339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600a546000901580610f03575081600a6000815481101515610eec57fe5b6000918252602090912001546001608060020a0316115b15610fb057600554600160a060020a031615610fa857600554600654600160a060020a039091169063981b24d090610f3c908590611603565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b505050506040513d6020811015610f9f57600080fd5b50519050610da5565b506000610da5565b610fbb600a83611619565b9050610da5565b600b5460009060ff161515610fd657600080fd5b610932338484611420565b600b5460ff1681565b60065481565b6000610ffc848461070a565b151561100757600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561109a578181015183820152602001611082565b50505050905090810190601f1680156110c75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156110e957600080fd5b505af11580156110fd573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461112757600080fd5b61112f610891565b91508382101561113e57600080fd5b61114785610d96565b90508381101561115657600080fd5b611163600a85840361175e565b600160a060020a03851660009081526008602052604090206111879085830361175e565b604080518581529051600091600160a060020a038816916000805160206118788339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461120657600080fd5b600160a060020a03831615156112575760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611251573d6000803e3d6000fd5b506113ce565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506040513d60208110156112e557600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050506040513d602081101561138557600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a031633146113fe57600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b6000808083151561143457600192506115fa565b600654431161144257600080fd5b600160a060020a038516158015906114635750600160a060020a0385163014155b151561146e57600080fd5b6114788643610988565b91508382101561148b57600092506115fa565b6000546114a090600160a060020a0316610650565b156115595760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051151560011461155957600080fd5b600160a060020a038616600090815260086020526040902061157d9085840361175e565b6115878543610988565b905083810181111561159857600080fd5b600160a060020a03851660009081526008602052604090206115bc9082860161175e565b84600160a060020a031686600160a060020a0316600080516020611878833981519152866040518082815260200191505060405180910390a3600192505b50509392505050565b60008183106116125781610932565b5090919050565b6000806000808580549050600014156116355760009350611755565b85548690600019810190811061164757fe5b6000918252602090912001546001608060020a031685106116975785548690600019810190811061167457fe5b600091825260209091200154608060020a90046001608060020a03169350611755565b8560008154811015156116a657fe5b6000918252602090912001546001608060020a03168510156116cb5760009350611755565b8554600093506000190191505b828211156117285760026001838501010490508486828154811015156116fa57fe5b6000918252602090912001546001608060020a03161161171c57809250611723565b6001810391505b6116d8565b858381548110151561173657fe5b600091825260209091200154608060020a90046001608060020a031693505b50505092915050565b8154600090819015806117975750835443908590600019810190811061178057fe5b6000918252602090912001546001608060020a0316105b156117fc57835484906117ad826001830161183a565b815481106117b757fe5b600091825260209091200180546001608060020a03858116608060020a024382166fffffffffffffffffffffffffffffffff1990931692909217161781559150611834565b83548490600019810190811061180e57fe5b600091825260209091200180546001608060020a03808616608060020a02911617815590505b50505050565b8154818355818111156113ce576000838152602090206113ce91810190830161089f91905b80821115611873576000815560010161185f565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b51cf281307124bdca2dc31439c55719dc3d8c5662429493bb40e0d771dcb5520029", - "deployedBytecode": "0x60806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101f2578063095ea7b31461027c57806317634514146102b457806318160ddd146102db57806323b872dd146102f0578063313ce5671461031a5780633cebb823146103455780634ee2cd7e1461036657806354fd4d501461038a5780636638c0871461039f57806370a082311461046257806380a5400114610483578063827f32c01461049857806395d89b41146104bc578063981b24d0146104d1578063a9059cbb146104e9578063bef97c871461050d578063c5bcc4f114610522578063cae9ca5114610537578063d3ce77fe146105a0578063dd62ed3e146105c4578063df8de3e7146105eb578063e77772fe1461060c578063f41e60c514610621578063f77c47911461063b575b60005461014490600160a060020a0316610650565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156001146101f057600080fd5b005b3480156101fe57600080fd5b5061020761067d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610241578181015183820152602001610229565b50505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028857600080fd5b506102a0600160a060020a036004351660243561070a565b604080519115158252519081900360200190f35b3480156102c057600080fd5b506102c961088b565b60408051918252519081900360200190f35b3480156102e757600080fd5b506102c9610891565b3480156102fc57600080fd5b506102a0600160a060020a03600435811690602435166044356108a2565b34801561032657600080fd5b5061032f610939565b6040805160ff9092168252519081900360200190f35b34801561035157600080fd5b506101f0600160a060020a0360043516610942565b34801561037257600080fd5b506102c9600160a060020a0360043516602435610988565b34801561039657600080fd5b50610207610ad5565b3480156103ab57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044694369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b30565b60408051600160a060020a039092168252519081900360200190f35b34801561046e57600080fd5b506102c9600160a060020a0360043516610d96565b34801561048f57600080fd5b50610446610daa565b3480156104a457600080fd5b506102a0600160a060020a0360043516602435610db9565b3480156104c857600080fd5b50610207610e73565b3480156104dd57600080fd5b506102c9600435610ece565b3480156104f557600080fd5b506102a0600160a060020a0360043516602435610fc2565b34801561051957600080fd5b506102a0610fe1565b34801561052e57600080fd5b506102c9610fea565b34801561054357600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102a0948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610ff09650505050505050565b3480156105ac57600080fd5b506102a0600160a060020a036004351660243561110b565b3480156105d057600080fd5b506102c9600160a060020a03600435811690602435166111c1565b3480156105f757600080fd5b506101f0600160a060020a03600435166111ec565b34801561061857600080fd5b506104466113d3565b34801561062d57600080fd5b506101f060043515156113e7565b34801561064757600080fd5b50610446611411565b600080600160a060020a038316151561066c5760009150610677565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b820191906000526020600020905b8154815290600101906020018083116106e557829003601f168201915b505050505081565b600b5460009060ff16151561071e57600080fd5b81158061074c5750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075757600080fd5b60005461076c90600160a060020a0316610650565b156108235760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051151560011461082357600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089c43610ece565b90505b90565b60008054600160a060020a0316331461092457600b5460ff1615156108c657600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f957506000610932565b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b61092f848484611420565b90505b9392505050565b60025460ff1681565b600054600160a060020a0316331461095957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526008602052604081205415806109e45750600160a060020a0383166000908152600860205260408120805484929081106109cd57fe5b6000918252602090912001546001608060020a0316115b15610aac57600554600160a060020a031615610aa457600554600654600160a060020a0390911690634ee2cd7e908590610a1f908690611603565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b50519050610885565b506000610885565b600160a060020a0383166000908152600860205260409020610ace9083611619565b9050610885565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600080808415610b405784610b45565b600143035b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830185905260ff8c16606484015288151560a484015260c0604484019081528d5160c48501528d51959750610100909404600160a060020a031694635b7b72c194929388938f938f938f938e9391608482019160e40190602089019080838360005b83811015610bf2578181015183820152602001610bda565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c52578181015183820152602001610c3a565b50505050905090810190601f168015610c7f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b5050604080518581529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a2979650505050505050565b6000610da28243610988565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610dd557600080fd5b610ddd610891565b9150838201821115610dee57600080fd5b610df785610d96565b9050838101811115610e0857600080fd5b610e15600a85840161175e565b600160a060020a0385166000908152600860205260409020610e399082860161175e565b604080518581529051600160a060020a038716916000916000805160206118788339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600a546000901580610f03575081600a6000815481101515610eec57fe5b6000918252602090912001546001608060020a0316115b15610fb057600554600160a060020a031615610fa857600554600654600160a060020a039091169063981b24d090610f3c908590611603565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b505050506040513d6020811015610f9f57600080fd5b50519050610da5565b506000610da5565b610fbb600a83611619565b9050610da5565b600b5460009060ff161515610fd657600080fd5b610932338484611420565b600b5460ff1681565b60065481565b6000610ffc848461070a565b151561100757600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561109a578181015183820152602001611082565b50505050905090810190601f1680156110c75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156110e957600080fd5b505af11580156110fd573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461112757600080fd5b61112f610891565b91508382101561113e57600080fd5b61114785610d96565b90508381101561115657600080fd5b611163600a85840361175e565b600160a060020a03851660009081526008602052604090206111879085830361175e565b604080518581529051600091600160a060020a038816916000805160206118788339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461120657600080fd5b600160a060020a03831615156112575760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611251573d6000803e3d6000fd5b506113ce565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506040513d60208110156112e557600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050506040513d602081101561138557600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a031633146113fe57600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b6000808083151561143457600192506115fa565b600654431161144257600080fd5b600160a060020a038516158015906114635750600160a060020a0385163014155b151561146e57600080fd5b6114788643610988565b91508382101561148b57600092506115fa565b6000546114a090600160a060020a0316610650565b156115595760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051151560011461155957600080fd5b600160a060020a038616600090815260086020526040902061157d9085840361175e565b6115878543610988565b905083810181111561159857600080fd5b600160a060020a03851660009081526008602052604090206115bc9082860161175e565b84600160a060020a031686600160a060020a0316600080516020611878833981519152866040518082815260200191505060405180910390a3600192505b50509392505050565b60008183106116125781610932565b5090919050565b6000806000808580549050600014156116355760009350611755565b85548690600019810190811061164757fe5b6000918252602090912001546001608060020a031685106116975785548690600019810190811061167457fe5b600091825260209091200154608060020a90046001608060020a03169350611755565b8560008154811015156116a657fe5b6000918252602090912001546001608060020a03168510156116cb5760009350611755565b8554600093506000190191505b828211156117285760026001838501010490508486828154811015156116fa57fe5b6000918252602090912001546001608060020a03161161171c57809250611723565b6001810391505b6116d8565b858381548110151561173657fe5b600091825260209091200154608060020a90046001608060020a031693505b50505092915050565b8154600090819015806117975750835443908590600019810190811061178057fe5b6000918252602090912001546001608060020a0316105b156117fc57835484906117ad826001830161183a565b815481106117b757fe5b600091825260209091200180546001608060020a03858116608060020a024382166fffffffffffffffffffffffffffffffff1990931692909217161781559150611834565b83548490600019810190811061180e57fe5b600091825260209091200180546001608060020a03808616608060020a02911617815590505b50505050565b8154818355818111156113ce576000838152602090206113ce91810190830161089f91905b80821115611873576000815560010161185f565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b51cf281307124bdca2dc31439c55719dc3d8c5662429493bb40e0d771dcb5520029", - "sourceMap": "2390:33:20:-;2122:19873;2390:33;;2122:19873;2390:33;;;;;;;;;;;;;;:::i;:::-;;4824:715;8:9:-1;5:2;;;30:1;27;20:12;5:2;4824:715:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:10;:23;;-1:-1:-1;;;;;;1457:23:20;1470:10;1457:23;;;5101:12;:28;;-1:-1:-1;;;;;5101:28:20;;1457:23;5101:28;-1:-1:-1;;;;;;5101:28:20;;;;;;4824:715;;;5139:17;;4824:715;;;;;;;;;;;;;;5139:17;;1457:23;;5139:17;;;;:::i;:::-;-1:-1:-1;5214:8:20;:24;;-1:-1:-1;;5214:24:20;;;;;;;5293:21;;;;:6;;:21;;;;;:::i;:::-;-1:-1:-1;5370:11:20;:26;;-1:-1:-1;;;;;;5370:26:20;-1:-1:-1;;;;;5370:26:20;;;;;;;;;;;-1:-1:-1;;;5406:19:20;:42;5458:16;:36;;-1:-1:-1;;5458:36:20;;;;;;;;;;-1:-1:-1;5520:12:20;5504:13;:28;2122:19873;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2122:19873:20;;;-1:-1:-1;2122:19873:20;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "2122:19873:20:-;;;;;;;;-1:-1:-1;;;2122:19873:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20733:10;;20722:22;;-1:-1:-1;;;;;20733:10:20;20722;:22::i;:::-;20714:31;;;;;;;;20844:10;;20827:70;;;;;;20886:10;20827:70;;;;;;-1:-1:-1;;;;;20844:10:20;;;;20827:41;;20875:9;;20827:70;;;;;;;;;;;;;;20875:9;20844:10;20827:70;;;5:2:-1;;;;30:1;27;20:12;5:2;20827:70:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20827:70:20;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20827:70:20;:78;;20901:4;20827:78;20819:87;;;;;;2122:19873;2164:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2164:18:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2164:18:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9634:906;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9634:906:20;;;-1:-1:-1;;;;;9634:906:20;;;;;;;;;;;;;;;;;;;;;;;3304:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3304:25:20;;;;;;;;;;;;;;;;;;;;11974:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11974:105:20;;;;6361:716;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6361:716:20;-1:-1:-1;;;;;6361:716:20;;;;;;;;;;;;2244:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2244:21:20;;;;;;;;;;;;;;;;;;;;;;;1608:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1608:117:20;;;-1:-1:-1;;;;;1608:117:20;;;12433:918;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12433:918:20;;;-1:-1:-1;;;;;12433:918:20;;;;;2390:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2390:33:20;;;;15199:755;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15199:755:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15199:755:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15199:755:20;;-1:-1:-1;15199:755:20;;;;-1:-1:-1;15199:755:20;-1:-1:-1;15199:755:20;;;;;;;;;;-1:-1:-1;15199:755:20;;-1:-1:-1;;15199:755:20;;;-1:-1:-1;;;;;15199:755:20;;;;;;;;;;;-1:-1:-1;;;;;15199:755:20;;;;;;;;;;;;;;9101:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9101:134:20;;;-1:-1:-1;;;;;9101:134:20;;;3003:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3003:30:20;;;;16285:571;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16285:571:20;;;-1:-1:-1;;;;;16285:571:20;;;;;2325:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2325:20:20;;;;13564:898;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13564:898:20;;;;;5838:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5838:173:20;;;-1:-1:-1;;;;;5838:173:20;;;;;3883:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3883:28:20;;;;3190:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3190:31:20;;;;11522:328;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11522:328:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:328:20;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11522:328:20;;-1:-1:-1;11522:328:20;;-1:-1:-1;;;;;;;11522:328:20;17086:495;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17086:495:20;;;-1:-1:-1;;;;;17086:495:20;;;;;10859:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10859:146:20;-1:-1:-1;;;;;10859:146:20;;;;;;;;;;21213:365;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21213:365:20;;;-1:-1:-1;;;;;21213:365:20;;;3969:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3969:38:20;;;;17804:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17804:124:20;;;;;;;1393:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1393:25:20;;;;20028:236;20089:4;;-1:-1:-1;;;;;20128:10:20;;;20124:40;;;20159:5;20152:12;;;;20124:40;20218:5;20206:18;20198:26;;20256:1;20251:4;:6;20244:13;;20028:236;;;;;:::o;2164:18::-;;;;;;;;;;;;;;;-1:-1:-1;;2164:18:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9634:906::-;9734:16;;9702:12;;9734:16;;9726:25;;;;;;;;10074:12;;;10073:54;;-1:-1:-1;10100:10:20;10092:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;10092:29:20;;;;;;;;;;:34;10073:54;10065:63;;;;;;;;10222:10;;10211:22;;-1:-1:-1;;;;;10222:10:20;10211;:22::i;:::-;10207:207;;;10342:10;;;10325:69;;;;;;10364:10;10325:69;;;;-1:-1:-1;;;;;10325:69:20;;;;;;;;;;;;;;;10342:10;;;;;10325:38;;:69;;;;;;;;;;;;;;;;;;10342:10;10325:69;;;5:2:-1;;;;30:1;27;20:12;5:2;10325:69:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10325:69:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10325:69:20;:77;;10398:4;10325:77;10317:86;;;;;;10432:10;10424:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;10424:29:20;;;;;;;;;;;;:39;;;10473;;;;;;;10424:29;;10432:10;10473:39;;;;;;;;;;;-1:-1:-1;10529:4:20;9634:906;;;;;:::o;3304:25::-;;;;:::o;11974:105::-;12022:4;12045:27;12059:12;12045:13;:27::i;:::-;12038:34;;11974:105;;:::o;6361:716::-;6444:12;6763:10;;-1:-1:-1;;;;;6763:10:20;6749;:24;6745:278;;6797:16;;;;6789:25;;;;;;;;-1:-1:-1;;;;;6895:14:20;;;;;;:7;:14;;;;;;;;6910:10;6895:26;;;;;;;;-1:-1:-1;;6891:70:20;;;-1:-1:-1;6956:5:20;6949:12;;6891:70;-1:-1:-1;;;;;6975:14:20;;;;;;:7;:14;;;;;;;;6990:10;6975:26;;;;;;;:37;;;;;;;6745:278;7039:31;7050:5;7057:3;7062:7;7039:10;:31::i;:::-;7032:38;;6361:716;;;;;;:::o;2244:21::-;;;;;;:::o;1608:117::-;1358:10;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;1691:10;:27;;-1:-1:-1;;1691:27:20;-1:-1:-1;;;;;1691:27:20;;;;;;;;;;1608:117::o;12433:918::-;-1:-1:-1;;;;;12863:16:20;;12514:4;12863:16;;;:8;:16;;;;;:23;:28;;12862:80;;-1:-1:-1;;;;;;12897:16:20;;;;;;:8;:16;;;;;:19;;12929:12;;12897:16;:19;;;;;;;;;;;;;;;:29;-1:-1:-1;;;;;12897:29:20;:44;12862:80;12858:487;;;12970:11;;-1:-1:-1;;;;;12970:11:20;12962:25;12958:222;;13014:11;;13064:19;;-1:-1:-1;;;;;13014:11:20;;;;:23;;13038:6;;13046:38;;13050:12;;13046:3;:38::i;:::-;13014:71;;;-1:-1:-1;;;13014:71:20;;;;;;-1:-1:-1;;;;;13014:71:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13014:71:20;;;;5:2:-1;;;;30:1;27;20:12;5:2;13014:71:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13014:71:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13014:71:20;;-1:-1:-1;13007:78:20;;12958:222;-1:-1:-1;13164:1:20;13157:8;;12858:487;-1:-1:-1;;;;;13303:16:20;;;;;;:8;:16;;;;;13292:42;;13321:12;13292:10;:42::i;:::-;13285:49;;;;2390:33;;;;;;;;;;;;;;;-1:-1:-1;;2390:33:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15199:755;15407:11;;;15453:19;;:55;;15494:14;15453:55;;;15490:1;15475:12;:16;15453:55;15544:12;;:202;;;;;15587:4;15544:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15544:12:20;;;;-1:-1:-1;;;;;15544:12:20;;:29;;15587:4;;15544:202;;;;;;15688:17;;15544:202;;;;;;;;;;-1:-1:-1;15544:202:20;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15544:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15544:202:20;;;;;;;;;;;;;;;;;;;;;;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;15544:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15544:202:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15544:202:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15544:202:20;15757:39;;;;;;15785:10;15757:39;;;;;;15544:202;;-1:-1:-1;;;;;;15757:27:20;;;;;:39;;;;;-1:-1:-1;;15757:39:20;;;;;;;;-1:-1:-1;15757:27:20;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;15757:39:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15876:44:20;;;;;;;;-1:-1:-1;;;;;15876:44:20;;;-1:-1:-1;15876:44:20;;-1:-1:-1;15876:44:20;;;;;;;;15937:10;15199:755;-1:-1:-1;;;;;;;15199:755:20:o;9101:134::-;9161:15;9195:33;9207:6;9215:12;9195:11;:33::i;:::-;9188:40;;9101:134;;;;:::o;3003:30::-;;;-1:-1:-1;;;;;3003:30:20;;:::o;16285:571::-;16370:4;1358:10;;16370:4;;;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;16408:13;:11;:13::i;:::-;16386:35;-1:-1:-1;16439:24:20;;;:42;-1:-1:-1;16439:42:20;16431:51;;;;;;16539:17;16549:6;16539:9;:17::i;:::-;16514:42;-1:-1:-1;16574:27:20;;;:48;-1:-1:-1;16574:48:20;16566:57;;;;;;16655:62;16672:18;16709:7;16692:14;:24;16655:16;:62::i;:::-;-1:-1:-1;;;;;16744:16:20;;;;;;:8;:16;;;;;16727:63;;16762:27;;;16727:16;:63::i;:::-;16800:28;;;;;;;;16809:1;-1:-1:-1;;;;;;;16800:28:20;;;16809:1;;16800:28;16809:1;;-1:-1:-1;;16809:1:20;-1:-1:-1;;;;;16800:28:20;;;;;;;;-1:-1:-1;16845:4:20;;16285:571;-1:-1:-1;;;;16285:571:20:o;2325:20::-;;;;;;;;;;;;;;;-1:-1:-1;;2325:20:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13564:898;14003:18;:25;13630:4;;14003:30;;14002:84;;;14073:12;14039:18;14058:1;14039:21;;;;;;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;14039:31:20;:46;14002:84;13998:458;;;14114:11;;-1:-1:-1;;;;;14114:11:20;14106:25;14102:183;;14158:11;;14202:19;;-1:-1:-1;;;;;14158:11:20;;;;:25;;14184:38;;14188:12;;14184:3;:38::i;:::-;14158:65;;;;;-1:-1:-1;;;14158:65:20;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14158:65:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14158:65:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14158:65:20;;-1:-1:-1;14151:72:20;;14102:183;-1:-1:-1;14269:1:20;14262:8;;13998:458;14401:44;14412:18;14432:12;14401:10;:44::i;:::-;14394:51;;;;5838:173;5934:16;;5902:12;;5934:16;;5926:25;;;;;;;;5968:36;5979:10;5991:3;5996:7;5968:10;:36::i;3883:28::-;;;;;;:::o;3190:31::-;;;;:::o;11522:328::-;11630:12;11662:26;11670:8;11680:7;11662;:26::i;:::-;11654:35;;;;;;;;11700:121;;;;;11738:10;11700:121;;;;;;;;;;;;11783:4;11700:121;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11700:24:20;;;;;11738:10;11700:121;;11783:4;11700:121;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11700:121:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11700:121:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;11839:4:20;;11522:328;-1:-1:-1;;;;;;;11522:328:20:o;17086:495::-;17170:4;1358:10;;17170:4;;;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;17208:13;:11;:13::i;:::-;17186:35;-1:-1:-1;17239:25:20;;;;17231:34;;;;;;17302:17;17312:6;17302:9;:17::i;:::-;17275:44;-1:-1:-1;17337:30:20;;;;17329:39;;;;;;17378:62;17395:18;17432:7;17415:14;:24;17378:16;:62::i;:::-;-1:-1:-1;;;;;17467:16:20;;;;;;:8;:16;;;;;17450:65;;17485:29;;;17450:16;:65::i;:::-;17525:28;;;;;;;;17542:1;;-1:-1:-1;;;;;17525:28:20;;;-1:-1:-1;;;;;;;;;;;17525:28:20;;;;;;;;-1:-1:-1;17570:4:20;;17086:495;-1:-1:-1;;;;17086:495:20:o;10859:146::-;-1:-1:-1;;;;;10973:15:20;;;10937:17;10973:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;10859:146::o;21213:365::-;21389:17;1358:10;;21389:17;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;-1:-1:-1;;;;;21286:13:20;;;21282:97;;;21315:10;;;:33;;-1:-1:-1;;;;;21315:10:20;;;;21335:4;:12;21315:33;;;;;21335:12;;21315:33;:10;:33;21335:12;21315:10;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21315:33:20;21362:7;;21282:97;21453:21;;;;;;21469:4;21453:21;;;;;;21421:6;;-1:-1:-1;;;;;;21453:15:20;;;;;:21;;;;;;;;;;;;;;-1:-1:-1;21453:15:20;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;21453:21:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21453:21:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21453:21:20;21499:10;;;21484:35;;;;;;-1:-1:-1;;;;;21499:10:20;;;21484:35;;;;;;;;;;;;21453:21;;-1:-1:-1;21484:14:20;;;;;;:35;;;;;21453:21;;21484:35;;;;;;;;;;;:14;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;21484:35:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21484:35:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;21551:10:20;;21529:42;;;;;;;;-1:-1:-1;;;;;21551:10:20;;;;21529:42;;;;;;;;;21484:35;21529:42;;;1379:1;21213:365;;;:::o;3969:38::-;;;;;;-1:-1:-1;;;;;3969:38:20;;:::o;17804:124::-;1358:10;;-1:-1:-1;;;;;1358:10:20;1344;:24;1336:33;;;;;;17885:16;:36;;-1:-1:-1;;17885:36:20;;;;;;;;;;17804:124::o;1393:25::-;;;-1:-1:-1;;;;;1393:25:20;;:::o;7456:1510::-;7535:4;;;7555:12;;7551:54;;;7590:4;7583:11;;;;7551:54;7622:19;;7644:12;-1:-1:-1;7614:43:20;;;;;;-1:-1:-1;;;;;7745:8:20;;;;;;7744:36;;-1:-1:-1;7774:4:20;-1:-1:-1;;;;;7759:20:20;;;;7744:36;7736:45;;;;;;;;7938:32;7950:5;7957:12;7938:11;:32::i;:::-;7912:58;;8006:7;7984:19;:29;7980:72;;;8036:5;8029:12;;;;7980:72;8131:10;;8120:22;;-1:-1:-1;;;;;8131:10:20;8120;:22::i;:::-;8116:198;;;8251:10;;;8234:60;;;;;;-1:-1:-1;;;;;8234:60:20;;;;;;;;;;;;;;;;;;;;;;8251:10;;;;;8234:39;;:60;;;;;;;;;;;;;;;;;;8251:10;8234:60;;;5:2:-1;;;;30:1;27;20:12;5:2;8234:60:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8234:60:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8234:60:20;:68;;8298:4;8234:68;8226:77;;;;;;-1:-1:-1;;;;;8448:15:20;;;;;;:8;:15;;;;;8431:64;;8465:29;;;8431:16;:64::i;:::-;8638:30;8650:3;8655:12;8638:11;:30::i;:::-;8614:54;-1:-1:-1;8686:27:20;;;:48;-1:-1:-1;8686:48:20;8678:57;;;;;;-1:-1:-1;;;;;8784:13:20;;;;;;:8;:13;;;;;8767:60;;8799:27;;;8767:16;:60::i;:::-;-1:-1:-1;;;;;;;;8909:29:20;;;;;;;;-1:-1:-1;;;;;;;;8909:29:20;;;;;;;;;;;;;;;;8955:4;8948:11;;7456:1510;;;;;;;;:::o;20336:95::-;20388:4;20415:1;20411;:5;:13;;20423:1;20411:13;;;-1:-1:-1;20419:1:20;;20336:95;-1:-1:-1;20336:95:20:o;18302:785::-;18396:4;18761:8;18783;18856;18416:11;:18;;;;18438:1;18416:23;18412:49;;;18460:1;18453:8;;;;18412:49;18539:18;;;;-1:-1:-1;;18539:20:20;;;18527:33;;;;;;;;;;;;;;;:43;-1:-1:-1;;;;;18527:43:20;18517:53;;18513:117;;18603:18;;;;-1:-1:-1;;18603:20:20;;;18591:33;;;;;;;;;;;;;;;:39;-1:-1:-1;;;18591:39:20;;-1:-1:-1;;;;;18591:39:20;;-1:-1:-1;18584:46:20;;18513:117;18653:11;18665:1;18653:14;;;;;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;18653:24:20;18644:33;;18640:59;;;18698:1;18691:8;;;;18640:59;18794:18;;18772:1;;-1:-1:-1;;;18794:20:20;;-1:-1:-1;18824:218:20;18837:3;18831;:9;18824:218;;;18885:1;18880;18868:9;;;:13;18867:19;18856:30;;18932:6;18904:11;18916:3;18904:16;;;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;18904:26:20;:34;18900:132;;18964:3;18958:9;;18900:132;;;19016:1;19012:3;:5;19006:11;;18900:132;18824:218;;;19058:11;19070:3;19058:16;;;;;;;;;;;;;;;;;;;:22;-1:-1:-1;;;19058:22:20;;-1:-1:-1;;;;;19058:22:20;;-1:-1:-1;18302:785:20;;;;;;;;:::o;19305:552::-;19402:18;;19508:32;;;;19402:23;;19401:91;;-1:-1:-1;19443:18:20;;19479:12;;19443:18;;-1:-1:-1;;19443:22:20;;;19431:35;;;;;;;;;;;;;;;:45;-1:-1:-1;;;;;19431:45:20;:60;19401:91;19397:454;;;19555:20;;19543:11;;19555:20;19543:11;19555:20;;;;:::i;:::-;19543:33;;;;;;;;;;;;;;;;;19590:47;;-1:-1:-1;;19590:47:20;19624:12;-1:-1:-1;;;;;19590:47:20;;;;;;;19651:37;;;;;-1:-1:-1;;;19651:37:20;;;;19543:33;-1:-1:-1;19397:454:20;;;19766:18;;;;-1:-1:-1;;19766:22:20;;;19754:35;;;;;;;;;;;;;;;19803:37;;-1:-1:-1;;;;;19803:37:20;;;;;;-1:-1:-1;;;19803:37:20;;;;19754:35;-1:-1:-1;19397:454:20;19305:552;;;;:::o;2122:19873::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "pragma solidity ^0.4.24;\n\n/*\n Copyright 2016, Jordi Baylina\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n */\n\n/// @title MiniMeToken Contract\n/// @author Jordi Baylina\n/// @dev This token contract's goal is to make it easy for anyone to clone this\n/// token using the token distribution at a given block, this will allow DAO's\n/// and DApps to upgrade their features in a decentralized manner without\n/// affecting the original token\n/// @dev It is ERC20 compliant, but still needs to under go further testing.\n\nimport \"./ITokenController.sol\";\n\ncontract Controlled {\n /// @notice The address of the controller is the only address that can call\n /// a function with this modifier\n modifier onlyController {\n require(msg.sender == controller);\n _;\n }\n\n address public controller;\n\n function Controlled() public { controller = msg.sender;}\n\n /// @notice Changes the controller of the contract\n /// @param _newController The new controller of the contract\n function changeController(address _newController) onlyController public {\n controller = _newController;\n }\n}\n\ncontract ApproveAndCallFallBack {\n function receiveApproval(\n address from,\n uint256 _amount,\n address _token,\n bytes _data\n ) public;\n}\n\n/// @dev The actual token contract, the default controller is the msg.sender\n/// that deploys the contract, so usually this token will be deployed by a\n/// token controller contract, which Giveth will call a \"Campaign\"\ncontract MiniMeToken is Controlled {\n\n string public name; //The Token's name: e.g. DigixDAO Tokens\n uint8 public decimals; //Number of decimals of the smallest unit\n string public symbol; //An identifier: e.g. REP\n string public version = \"MMT_0.1\"; //An arbitrary versioning scheme\n\n\n /// @dev `Checkpoint` is the structure that attaches a block number to a\n /// given value, the block number attached is the one that last changed the\n /// value\n struct Checkpoint {\n\n // `fromBlock` is the block number that the value was generated from\n uint128 fromBlock;\n\n // `value` is the amount of tokens at a specific block number\n uint128 value;\n }\n\n // `parentToken` is the Token address that was cloned to produce this token;\n // it will be 0x0 for a token that was not cloned\n MiniMeToken public parentToken;\n\n // `parentSnapShotBlock` is the block number from the Parent Token that was\n // used to determine the initial distribution of the Clone Token\n uint public parentSnapShotBlock;\n\n // `creationBlock` is the block number that the Clone Token was created\n uint public creationBlock;\n\n // `balances` is the map that tracks the balance of each address, in this\n // contract when the balance changes the block number that the change\n // occurred is also included in the map\n mapping (address => Checkpoint[]) balances;\n\n // `allowed` tracks any extra transfer rights as in all ERC20 tokens\n mapping (address => mapping (address => uint256)) allowed;\n\n // Tracks the history of the `totalSupply` of the token\n Checkpoint[] totalSupplyHistory;\n\n // Flag that determines if the token is transferable or not.\n bool public transfersEnabled;\n\n // The factory used to create new clone tokens\n MiniMeTokenFactory public tokenFactory;\n\n////////////////\n// Constructor\n////////////////\n\n /// @notice Constructor to create a MiniMeToken\n /// @param _tokenFactory The address of the MiniMeTokenFactory contract that\n /// will create the Clone token contracts, the token factory needs to be\n /// deployed first\n /// @param _parentToken Address of the parent token, set to 0x0 if it is a\n /// new token\n /// @param _parentSnapShotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token, set to 0 if it\n /// is a new token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n function MiniMeToken(\n MiniMeTokenFactory _tokenFactory,\n MiniMeToken _parentToken,\n uint _parentSnapShotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public\n {\n tokenFactory = _tokenFactory;\n name = _tokenName; // Set the name\n decimals = _decimalUnits; // Set the decimals\n symbol = _tokenSymbol; // Set the symbol\n parentToken = _parentToken;\n parentSnapShotBlock = _parentSnapShotBlock;\n transfersEnabled = _transfersEnabled;\n creationBlock = block.number;\n }\n\n\n///////////////////\n// ERC20 Methods\n///////////////////\n\n /// @notice Send `_amount` tokens to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n return doTransfer(msg.sender, _to, _amount);\n }\n\n /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n /// is approved by `_from`\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {\n\n // The controller of this contract can move tokens around at will,\n // this is important to recognize! Confirm that you trust the\n // controller of this contract, which in most situations should be\n // another open source smart contract or 0x0\n if (msg.sender != controller) {\n require(transfersEnabled);\n\n // The standard ERC 20 transferFrom functionality\n if (allowed[_from][msg.sender] < _amount)\n return false;\n allowed[_from][msg.sender] -= _amount;\n }\n return doTransfer(_from, _to, _amount);\n }\n\n /// @dev This is the actual transfer function in the token contract, it can\n /// only be called by other functions in this contract.\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function doTransfer(address _from, address _to, uint _amount) internal returns(bool) {\n if (_amount == 0) {\n return true;\n }\n require(parentSnapShotBlock < block.number);\n // Do not allow transfer to 0x0 or the token contract itself\n require((_to != 0) && (_to != address(this)));\n // If the amount being transfered is more than the balance of the\n // account the transfer returns false\n var previousBalanceFrom = balanceOfAt(_from, block.number);\n if (previousBalanceFrom < _amount) {\n return false;\n }\n // Alerts the token controller of the transfer\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onTransfer(_from, _to, _amount) == true);\n }\n // First update the balance array with the new value for the address\n // sending the tokens\n updateValueAtNow(balances[_from], previousBalanceFrom - _amount);\n // Then update the balance array with the new value for the address\n // receiving the tokens\n var previousBalanceTo = balanceOfAt(_to, block.number);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(balances[_to], previousBalanceTo + _amount);\n // An event to make the transfer easy to find on the blockchain\n Transfer(_from, _to, _amount);\n return true;\n }\n\n /// @param _owner The address that's balance is being requested\n /// @return The balance of `_owner` at the current block\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balanceOfAt(_owner, block.number);\n }\n\n /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n /// its behalf. This is a modified version of the ERC20 approve function\n /// to be a little bit safer\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the approval was successful\n function approve(address _spender, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n\n // To change the approve amount you first have to reduce the addresses`\n // allowance to zero by calling `approve(_spender,0)` if it is not\n // already 0 to mitigate the race condition described here:\n // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n require((_amount == 0) || (allowed[msg.sender][_spender] == 0));\n\n // Alerts the token controller of the approve function call\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onApprove(msg.sender, _spender, _amount) == true);\n }\n\n allowed[msg.sender][_spender] = _amount;\n Approval(msg.sender, _spender, _amount);\n return true;\n }\n\n /// @dev This function makes it easy to read the `allowed[]` map\n /// @param _owner The address of the account that owns the token\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens of _owner that _spender is allowed\n /// to spend\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on\n /// its behalf, and then a function is triggered in the contract that is\n /// being approved, `_spender`. This allows users to use their tokens to\n /// interact with contracts in one function call instead of two\n /// @param _spender The address of the contract able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the function call was successful\n function approveAndCall(ApproveAndCallFallBack _spender, uint256 _amount, bytes _extraData) public returns (bool success) {\n require(approve(_spender, _amount));\n\n _spender.receiveApproval(\n msg.sender,\n _amount,\n this,\n _extraData\n );\n\n return true;\n }\n\n /// @dev This function makes it easy to get the total number of tokens\n /// @return The total number of tokens\n function totalSupply() public constant returns (uint) {\n return totalSupplyAt(block.number);\n }\n\n\n////////////////\n// Query balance and totalSupply in History\n////////////////\n\n /// @dev Queries the balance of `_owner` at a specific `_blockNumber`\n /// @param _owner The address from which the balance will be retrieved\n /// @param _blockNumber The block number when the balance is queried\n /// @return The balance at `_blockNumber`\n function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {\n\n // These next few lines are used when the balance of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.balanceOfAt` be queried at the\n // genesis block for that token as this contains initial balance of\n // this token\n if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock));\n } else {\n // Has no parent\n return 0;\n }\n\n // This will return the expected balance during normal situations\n } else {\n return getValueAt(balances[_owner], _blockNumber);\n }\n }\n\n /// @notice Total amount of tokens at a specific `_blockNumber`.\n /// @param _blockNumber The block number when the totalSupply is queried\n /// @return The total amount of tokens at `_blockNumber`\n function totalSupplyAt(uint _blockNumber) public constant returns(uint) {\n\n // These next few lines are used when the totalSupply of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.totalSupplyAt` be queried at the\n // genesis block for this token as that contains totalSupply of this\n // token at this block number.\n if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock));\n } else {\n return 0;\n }\n\n // This will return the expected totalSupply during normal situations\n } else {\n return getValueAt(totalSupplyHistory, _blockNumber);\n }\n }\n\n////////////////\n// Clone Token Method\n////////////////\n\n /// @notice Creates a new clone token with the initial distribution being\n /// this token at `_snapshotBlock`\n /// @param _cloneTokenName Name of the clone token\n /// @param _cloneDecimalUnits Number of decimals of the smallest unit\n /// @param _cloneTokenSymbol Symbol of the clone token\n /// @param _snapshotBlock Block when the distribution of the parent token is\n /// copied to set the initial distribution of the new clone token;\n /// if the block is zero than the actual block, the current block is used\n /// @param _transfersEnabled True if transfers are allowed in the clone\n /// @return The address of the new MiniMeToken Contract\n function createCloneToken(\n string _cloneTokenName,\n uint8 _cloneDecimalUnits,\n string _cloneTokenSymbol,\n uint _snapshotBlock,\n bool _transfersEnabled\n ) public returns(MiniMeToken)\n {\n uint256 snapshot = _snapshotBlock == 0 ? block.number - 1 : _snapshotBlock;\n\n MiniMeToken cloneToken = tokenFactory.createCloneToken(\n this,\n snapshot,\n _cloneTokenName,\n _cloneDecimalUnits,\n _cloneTokenSymbol,\n _transfersEnabled\n );\n\n cloneToken.changeController(msg.sender);\n\n // An event to make the token easy to find on the blockchain\n NewCloneToken(address(cloneToken), snapshot);\n return cloneToken;\n }\n\n////////////////\n// Generate and destroy tokens\n////////////////\n\n /// @notice Generates `_amount` tokens that are assigned to `_owner`\n /// @param _owner The address that will be assigned the new tokens\n /// @param _amount The quantity of tokens generated\n /// @return True if the tokens are generated correctly\n function generateTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow\n uint previousBalanceTo = balanceOf(_owner);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);\n updateValueAtNow(balances[_owner], previousBalanceTo + _amount);\n Transfer(0, _owner, _amount);\n return true;\n }\n\n\n /// @notice Burns `_amount` tokens from `_owner`\n /// @param _owner The address that will lose the tokens\n /// @param _amount The quantity of tokens to burn\n /// @return True if the tokens are burned correctly\n function destroyTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply >= _amount);\n uint previousBalanceFrom = balanceOf(_owner);\n require(previousBalanceFrom >= _amount);\n updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount);\n updateValueAtNow(balances[_owner], previousBalanceFrom - _amount);\n Transfer(_owner, 0, _amount);\n return true;\n }\n\n////////////////\n// Enable tokens transfers\n////////////////\n\n\n /// @notice Enables token holders to transfer their tokens freely if true\n /// @param _transfersEnabled True if transfers are allowed in the clone\n function enableTransfers(bool _transfersEnabled) onlyController public {\n transfersEnabled = _transfersEnabled;\n }\n\n////////////////\n// Internal helper functions to query and set a value in a snapshot array\n////////////////\n\n /// @dev `getValueAt` retrieves the number of tokens at a given block number\n /// @param checkpoints The history of values being queried\n /// @param _block The block number to retrieve the value at\n /// @return The number of tokens being queried\n function getValueAt(Checkpoint[] storage checkpoints, uint _block) constant internal returns (uint) {\n if (checkpoints.length == 0)\n return 0;\n\n // Shortcut for the actual value\n if (_block >= checkpoints[checkpoints.length-1].fromBlock)\n return checkpoints[checkpoints.length-1].value;\n if (_block < checkpoints[0].fromBlock)\n return 0;\n\n // Binary search of the value in the array\n uint min = 0;\n uint max = checkpoints.length-1;\n while (max > min) {\n uint mid = (max + min + 1) / 2;\n if (checkpoints[mid].fromBlock<=_block) {\n min = mid;\n } else {\n max = mid-1;\n }\n }\n return checkpoints[min].value;\n }\n\n /// @dev `updateValueAtNow` used to update the `balances` map and the\n /// `totalSupplyHistory`\n /// @param checkpoints The history of data being updated\n /// @param _value The new number of tokens\n function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value) internal {\n if ((checkpoints.length == 0) || (checkpoints[checkpoints.length - 1].fromBlock < block.number)) {\n Checkpoint storage newCheckPoint = checkpoints[checkpoints.length++];\n newCheckPoint.fromBlock = uint128(block.number);\n newCheckPoint.value = uint128(_value);\n } else {\n Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length - 1];\n oldCheckPoint.value = uint128(_value);\n }\n }\n\n /// @dev Internal function to determine if an address is a contract\n /// @param _addr The address being queried\n /// @return True if `_addr` is a contract\n function isContract(address _addr) constant internal returns(bool) {\n uint size;\n if (_addr == 0)\n return false;\n\n assembly {\n size := extcodesize(_addr)\n }\n\n return size>0;\n }\n\n /// @dev Helper function to return a min betwen the two uints\n function min(uint a, uint b) pure internal returns (uint) {\n return a < b ? a : b;\n }\n\n /// @notice The fallback function: If the contract's controller has not been\n /// set to 0, then the `proxyPayment` method is called which relays the\n /// ether and creates tokens as described in the token controller contract\n function () external payable {\n require(isContract(controller));\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).proxyPayment.value(msg.value)(msg.sender) == true);\n }\n\n//////////\n// Safety Methods\n//////////\n\n /// @notice This method can be used by the controller to extract mistakenly\n /// sent tokens to this contract.\n /// @param _token The address of the token contract that you want to recover\n /// set to 0 in case you want to extract ether.\n function claimTokens(address _token) onlyController public {\n if (_token == 0x0) {\n controller.transfer(this.balance);\n return;\n }\n\n MiniMeToken token = MiniMeToken(_token);\n uint balance = token.balanceOf(this);\n token.transfer(controller, balance);\n ClaimedTokens(_token, controller, balance);\n }\n\n////////////////\n// Events\n////////////////\n event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount);\n event Transfer(address indexed _from, address indexed _to, uint256 _amount);\n event NewCloneToken(address indexed _cloneToken, uint _snapshotBlock);\n event Approval(\n address indexed _owner,\n address indexed _spender,\n uint256 _amount\n );\n\n}\n\n\n////////////////\n// MiniMeTokenFactory\n////////////////\n\n/// @dev This contract is used to generate clone contracts from a contract.\n/// In solidity this is the way to create a contract from a contract of the\n/// same class\ncontract MiniMeTokenFactory {\n\n /// @notice Update the DApp by creating a new token with new functionalities\n /// the msg.sender becomes the controller of this clone token\n /// @param _parentToken Address of the token being cloned\n /// @param _snapshotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n /// @return The address of the new token contract\n function createCloneToken(\n MiniMeToken _parentToken,\n uint _snapshotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public returns (MiniMeToken)\n {\n MiniMeToken newToken = new MiniMeToken(\n this,\n _parentToken,\n _snapshotBlock,\n _tokenName,\n _decimalUnits,\n _tokenSymbol,\n _transfersEnabled\n );\n\n newToken.changeController(msg.sender);\n return newToken;\n }\n}", - "sourcePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "ast": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.512Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/MiniMeTokenFactory.json b/templates/multisig/build/contracts/MiniMeTokenFactory.json deleted file mode 100644 index ad26c63..0000000 --- a/templates/multisig/build/contracts/MiniMeTokenFactory.json +++ /dev/null @@ -1,29633 +0,0 @@ -{ - "contractName": "MiniMeTokenFactory", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_parentToken", - "type": "address" - }, - { - "name": "_snapshotBlock", - "type": "uint256" - }, - { - "name": "_tokenName", - "type": "string" - }, - { - "name": "_decimalUnits", - "type": "uint8" - }, - { - "name": "_tokenSymbol", - "type": "string" - }, - { - "name": "_transfersEnabled", - "type": "bool" - } - ], - "name": "createCloneToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611dd2806100206000396000f3006080604052600436106100405763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416635b7b72c18114610045575b600080fd5b34801561005157600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100f9948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750505050913515159250610115915050565b60408051600160a060020a039092168252519081900360200190f35b600080308888888888886101276102d7565b600160a060020a03808916825287166020808301919091526040820187905260ff8516608083015282151560c083015260e0606083018181528751918401919091528651909160a084019161010085019189019080838360005b83811015610199578181015183820152602001610181565b50505050905090810190601f1680156101c65780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156101f95781810151838201526020016101e1565b50505050905090810190601f1680156102265780820380516001836020036101000a031916815260200191505b509950505050505050505050604051809103906000f08015801561024e573d6000803e3d6000fd5b50604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b1580156102b357600080fd5b505af11580156102c7573d6000803e3d6000fd5b50929a9950505050505050505050565b604051611abf806102e883390190560060c0604052600760808190527f4d4d545f302e310000000000000000000000000000000000000000000000000060a090815262000040916004919062000147565b503480156200004e57600080fd5b5060405162001abf38038062001abf8339810160409081528151602080840151928401516060850151608086015160a087015160c088015160008054600160a060020a03191633179055600b8054600160a060020a0389166101000261010060a860020a031990911617905592880180519698949690959294919091019291620000de9160019187019062000147565b506002805460ff191660ff851617905581516200010390600390602085019062000147565b5060058054600160a060020a031916600160a060020a039790971696909617909555505050600655600b805460ff19169115159190911790555043600755620001ec565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018a57805160ff1916838001178555620001ba565b82800160010185558215620001ba579182015b82811115620001ba5782518255916020019190600101906200019d565b50620001c8929150620001cc565b5090565b620001e991905b80821115620001c85760008155600101620001d3565b90565b6118c380620001fc6000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101f2578063095ea7b31461027c57806317634514146102b457806318160ddd146102db57806323b872dd146102f0578063313ce5671461031a5780633cebb823146103455780634ee2cd7e1461036657806354fd4d501461038a5780636638c0871461039f57806370a082311461046257806380a5400114610483578063827f32c01461049857806395d89b41146104bc578063981b24d0146104d1578063a9059cbb146104e9578063bef97c871461050d578063c5bcc4f114610522578063cae9ca5114610537578063d3ce77fe146105a0578063dd62ed3e146105c4578063df8de3e7146105eb578063e77772fe1461060c578063f41e60c514610621578063f77c47911461063b575b60005461014490600160a060020a0316610650565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156001146101f057600080fd5b005b3480156101fe57600080fd5b5061020761067d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610241578181015183820152602001610229565b50505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028857600080fd5b506102a0600160a060020a036004351660243561070a565b604080519115158252519081900360200190f35b3480156102c057600080fd5b506102c961088b565b60408051918252519081900360200190f35b3480156102e757600080fd5b506102c9610891565b3480156102fc57600080fd5b506102a0600160a060020a03600435811690602435166044356108a2565b34801561032657600080fd5b5061032f610939565b6040805160ff9092168252519081900360200190f35b34801561035157600080fd5b506101f0600160a060020a0360043516610942565b34801561037257600080fd5b506102c9600160a060020a0360043516602435610988565b34801561039657600080fd5b50610207610ad5565b3480156103ab57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044694369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b30565b60408051600160a060020a039092168252519081900360200190f35b34801561046e57600080fd5b506102c9600160a060020a0360043516610d96565b34801561048f57600080fd5b50610446610daa565b3480156104a457600080fd5b506102a0600160a060020a0360043516602435610db9565b3480156104c857600080fd5b50610207610e73565b3480156104dd57600080fd5b506102c9600435610ece565b3480156104f557600080fd5b506102a0600160a060020a0360043516602435610fc2565b34801561051957600080fd5b506102a0610fe1565b34801561052e57600080fd5b506102c9610fea565b34801561054357600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102a0948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610ff09650505050505050565b3480156105ac57600080fd5b506102a0600160a060020a036004351660243561110b565b3480156105d057600080fd5b506102c9600160a060020a03600435811690602435166111c1565b3480156105f757600080fd5b506101f0600160a060020a03600435166111ec565b34801561061857600080fd5b506104466113d3565b34801561062d57600080fd5b506101f060043515156113e7565b34801561064757600080fd5b50610446611411565b600080600160a060020a038316151561066c5760009150610677565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b820191906000526020600020905b8154815290600101906020018083116106e557829003601f168201915b505050505081565b600b5460009060ff16151561071e57600080fd5b81158061074c5750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075757600080fd5b60005461076c90600160a060020a0316610650565b156108235760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051151560011461082357600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089c43610ece565b90505b90565b60008054600160a060020a0316331461092457600b5460ff1615156108c657600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f957506000610932565b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b61092f848484611420565b90505b9392505050565b60025460ff1681565b600054600160a060020a0316331461095957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526008602052604081205415806109e45750600160a060020a0383166000908152600860205260408120805484929081106109cd57fe5b6000918252602090912001546001608060020a0316115b15610aac57600554600160a060020a031615610aa457600554600654600160a060020a0390911690634ee2cd7e908590610a1f908690611603565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b50519050610885565b506000610885565b600160a060020a0383166000908152600860205260409020610ace9083611619565b9050610885565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600080808415610b405784610b45565b600143035b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830185905260ff8c16606484015288151560a484015260c0604484019081528d5160c48501528d51959750610100909404600160a060020a031694635b7b72c194929388938f938f938f938e9391608482019160e40190602089019080838360005b83811015610bf2578181015183820152602001610bda565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c52578181015183820152602001610c3a565b50505050905090810190601f168015610c7f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b5050604080518581529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a2979650505050505050565b6000610da28243610988565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610dd557600080fd5b610ddd610891565b9150838201821115610dee57600080fd5b610df785610d96565b9050838101811115610e0857600080fd5b610e15600a85840161175e565b600160a060020a0385166000908152600860205260409020610e399082860161175e565b604080518581529051600160a060020a038716916000916000805160206118788339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600a546000901580610f03575081600a6000815481101515610eec57fe5b6000918252602090912001546001608060020a0316115b15610fb057600554600160a060020a031615610fa857600554600654600160a060020a039091169063981b24d090610f3c908590611603565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b505050506040513d6020811015610f9f57600080fd5b50519050610da5565b506000610da5565b610fbb600a83611619565b9050610da5565b600b5460009060ff161515610fd657600080fd5b610932338484611420565b600b5460ff1681565b60065481565b6000610ffc848461070a565b151561100757600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561109a578181015183820152602001611082565b50505050905090810190601f1680156110c75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156110e957600080fd5b505af11580156110fd573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461112757600080fd5b61112f610891565b91508382101561113e57600080fd5b61114785610d96565b90508381101561115657600080fd5b611163600a85840361175e565b600160a060020a03851660009081526008602052604090206111879085830361175e565b604080518581529051600091600160a060020a038816916000805160206118788339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461120657600080fd5b600160a060020a03831615156112575760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611251573d6000803e3d6000fd5b506113ce565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506040513d60208110156112e557600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050506040513d602081101561138557600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a031633146113fe57600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b6000808083151561143457600192506115fa565b600654431161144257600080fd5b600160a060020a038516158015906114635750600160a060020a0385163014155b151561146e57600080fd5b6114788643610988565b91508382101561148b57600092506115fa565b6000546114a090600160a060020a0316610650565b156115595760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051151560011461155957600080fd5b600160a060020a038616600090815260086020526040902061157d9085840361175e565b6115878543610988565b905083810181111561159857600080fd5b600160a060020a03851660009081526008602052604090206115bc9082860161175e565b84600160a060020a031686600160a060020a0316600080516020611878833981519152866040518082815260200191505060405180910390a3600192505b50509392505050565b60008183106116125781610932565b5090919050565b6000806000808580549050600014156116355760009350611755565b85548690600019810190811061164757fe5b6000918252602090912001546001608060020a031685106116975785548690600019810190811061167457fe5b600091825260209091200154608060020a90046001608060020a03169350611755565b8560008154811015156116a657fe5b6000918252602090912001546001608060020a03168510156116cb5760009350611755565b8554600093506000190191505b828211156117285760026001838501010490508486828154811015156116fa57fe5b6000918252602090912001546001608060020a03161161171c57809250611723565b6001810391505b6116d8565b858381548110151561173657fe5b600091825260209091200154608060020a90046001608060020a031693505b50505092915050565b8154600090819015806117975750835443908590600019810190811061178057fe5b6000918252602090912001546001608060020a0316105b156117fc57835484906117ad826001830161183a565b815481106117b757fe5b600091825260209091200180546001608060020a03858116608060020a024382166fffffffffffffffffffffffffffffffff1990931692909217161781559150611834565b83548490600019810190811061180e57fe5b600091825260209091200180546001608060020a03808616608060020a02911617815590505b50505050565b8154818355818111156113ce576000838152602090206113ce91810190830161089f91905b80821115611873576000815560010161185f565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b51cf281307124bdca2dc31439c55719dc3d8c5662429493bb40e0d771dcb5520029a165627a7a7230582013e32f1abf544a9b81599e95c09ad17601692a8f161fa26f32d769ea44ad4f630029", - "deployedBytecode": "0x6080604052600436106100405763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416635b7b72c18114610045575b600080fd5b34801561005157600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100f9948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750505050913515159250610115915050565b60408051600160a060020a039092168252519081900360200190f35b600080308888888888886101276102d7565b600160a060020a03808916825287166020808301919091526040820187905260ff8516608083015282151560c083015260e0606083018181528751918401919091528651909160a084019161010085019189019080838360005b83811015610199578181015183820152602001610181565b50505050905090810190601f1680156101c65780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156101f95781810151838201526020016101e1565b50505050905090810190601f1680156102265780820380516001836020036101000a031916815260200191505b509950505050505050505050604051809103906000f08015801561024e573d6000803e3d6000fd5b50604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b1580156102b357600080fd5b505af11580156102c7573d6000803e3d6000fd5b50929a9950505050505050505050565b604051611abf806102e883390190560060c0604052600760808190527f4d4d545f302e310000000000000000000000000000000000000000000000000060a090815262000040916004919062000147565b503480156200004e57600080fd5b5060405162001abf38038062001abf8339810160409081528151602080840151928401516060850151608086015160a087015160c088015160008054600160a060020a03191633179055600b8054600160a060020a0389166101000261010060a860020a031990911617905592880180519698949690959294919091019291620000de9160019187019062000147565b506002805460ff191660ff851617905581516200010390600390602085019062000147565b5060058054600160a060020a031916600160a060020a039790971696909617909555505050600655600b805460ff19169115159190911790555043600755620001ec565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018a57805160ff1916838001178555620001ba565b82800160010185558215620001ba579182015b82811115620001ba5782518255916020019190600101906200019d565b50620001c8929150620001cc565b5090565b620001e991905b80821115620001c85760008155600101620001d3565b90565b6118c380620001fc6000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101f2578063095ea7b31461027c57806317634514146102b457806318160ddd146102db57806323b872dd146102f0578063313ce5671461031a5780633cebb823146103455780634ee2cd7e1461036657806354fd4d501461038a5780636638c0871461039f57806370a082311461046257806380a5400114610483578063827f32c01461049857806395d89b41146104bc578063981b24d0146104d1578063a9059cbb146104e9578063bef97c871461050d578063c5bcc4f114610522578063cae9ca5114610537578063d3ce77fe146105a0578063dd62ed3e146105c4578063df8de3e7146105eb578063e77772fe1461060c578063f41e60c514610621578063f77c47911461063b575b60005461014490600160a060020a0316610650565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156001146101f057600080fd5b005b3480156101fe57600080fd5b5061020761067d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610241578181015183820152602001610229565b50505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028857600080fd5b506102a0600160a060020a036004351660243561070a565b604080519115158252519081900360200190f35b3480156102c057600080fd5b506102c961088b565b60408051918252519081900360200190f35b3480156102e757600080fd5b506102c9610891565b3480156102fc57600080fd5b506102a0600160a060020a03600435811690602435166044356108a2565b34801561032657600080fd5b5061032f610939565b6040805160ff9092168252519081900360200190f35b34801561035157600080fd5b506101f0600160a060020a0360043516610942565b34801561037257600080fd5b506102c9600160a060020a0360043516602435610988565b34801561039657600080fd5b50610207610ad5565b3480156103ab57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044694369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b30565b60408051600160a060020a039092168252519081900360200190f35b34801561046e57600080fd5b506102c9600160a060020a0360043516610d96565b34801561048f57600080fd5b50610446610daa565b3480156104a457600080fd5b506102a0600160a060020a0360043516602435610db9565b3480156104c857600080fd5b50610207610e73565b3480156104dd57600080fd5b506102c9600435610ece565b3480156104f557600080fd5b506102a0600160a060020a0360043516602435610fc2565b34801561051957600080fd5b506102a0610fe1565b34801561052e57600080fd5b506102c9610fea565b34801561054357600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102a0948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610ff09650505050505050565b3480156105ac57600080fd5b506102a0600160a060020a036004351660243561110b565b3480156105d057600080fd5b506102c9600160a060020a03600435811690602435166111c1565b3480156105f757600080fd5b506101f0600160a060020a03600435166111ec565b34801561061857600080fd5b506104466113d3565b34801561062d57600080fd5b506101f060043515156113e7565b34801561064757600080fd5b50610446611411565b600080600160a060020a038316151561066c5760009150610677565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b820191906000526020600020905b8154815290600101906020018083116106e557829003601f168201915b505050505081565b600b5460009060ff16151561071e57600080fd5b81158061074c5750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075757600080fd5b60005461076c90600160a060020a0316610650565b156108235760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051151560011461082357600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089c43610ece565b90505b90565b60008054600160a060020a0316331461092457600b5460ff1615156108c657600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f957506000610932565b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b61092f848484611420565b90505b9392505050565b60025460ff1681565b600054600160a060020a0316331461095957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526008602052604081205415806109e45750600160a060020a0383166000908152600860205260408120805484929081106109cd57fe5b6000918252602090912001546001608060020a0316115b15610aac57600554600160a060020a031615610aa457600554600654600160a060020a0390911690634ee2cd7e908590610a1f908690611603565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b50519050610885565b506000610885565b600160a060020a0383166000908152600860205260409020610ace9083611619565b9050610885565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600080808415610b405784610b45565b600143035b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830185905260ff8c16606484015288151560a484015260c0604484019081528d5160c48501528d51959750610100909404600160a060020a031694635b7b72c194929388938f938f938f938e9391608482019160e40190602089019080838360005b83811015610bf2578181015183820152602001610bda565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c52578181015183820152602001610c3a565b50505050905090810190601f168015610c7f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b5050604080518581529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a2979650505050505050565b6000610da28243610988565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610dd557600080fd5b610ddd610891565b9150838201821115610dee57600080fd5b610df785610d96565b9050838101811115610e0857600080fd5b610e15600a85840161175e565b600160a060020a0385166000908152600860205260409020610e399082860161175e565b604080518581529051600160a060020a038716916000916000805160206118788339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107025780601f106106d757610100808354040283529160200191610702565b600a546000901580610f03575081600a6000815481101515610eec57fe5b6000918252602090912001546001608060020a0316115b15610fb057600554600160a060020a031615610fa857600554600654600160a060020a039091169063981b24d090610f3c908590611603565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b505050506040513d6020811015610f9f57600080fd5b50519050610da5565b506000610da5565b610fbb600a83611619565b9050610da5565b600b5460009060ff161515610fd657600080fd5b610932338484611420565b600b5460ff1681565b60065481565b6000610ffc848461070a565b151561100757600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561109a578181015183820152602001611082565b50505050905090810190601f1680156110c75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156110e957600080fd5b505af11580156110fd573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461112757600080fd5b61112f610891565b91508382101561113e57600080fd5b61114785610d96565b90508381101561115657600080fd5b611163600a85840361175e565b600160a060020a03851660009081526008602052604090206111879085830361175e565b604080518581529051600091600160a060020a038816916000805160206118788339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461120657600080fd5b600160a060020a03831615156112575760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611251573d6000803e3d6000fd5b506113ce565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506040513d60208110156112e557600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050506040513d602081101561138557600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a031633146113fe57600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b6000808083151561143457600192506115fa565b600654431161144257600080fd5b600160a060020a038516158015906114635750600160a060020a0385163014155b151561146e57600080fd5b6114788643610988565b91508382101561148b57600092506115fa565b6000546114a090600160a060020a0316610650565b156115595760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051151560011461155957600080fd5b600160a060020a038616600090815260086020526040902061157d9085840361175e565b6115878543610988565b905083810181111561159857600080fd5b600160a060020a03851660009081526008602052604090206115bc9082860161175e565b84600160a060020a031686600160a060020a0316600080516020611878833981519152866040518082815260200191505060405180910390a3600192505b50509392505050565b60008183106116125781610932565b5090919050565b6000806000808580549050600014156116355760009350611755565b85548690600019810190811061164757fe5b6000918252602090912001546001608060020a031685106116975785548690600019810190811061167457fe5b600091825260209091200154608060020a90046001608060020a03169350611755565b8560008154811015156116a657fe5b6000918252602090912001546001608060020a03168510156116cb5760009350611755565b8554600093506000190191505b828211156117285760026001838501010490508486828154811015156116fa57fe5b6000918252602090912001546001608060020a03161161171c57809250611723565b6001810391505b6116d8565b858381548110151561173657fe5b600091825260209091200154608060020a90046001608060020a031693505b50505092915050565b8154600090819015806117975750835443908590600019810190811061178057fe5b6000918252602090912001546001608060020a0316105b156117fc57835484906117ad826001830161183a565b815481106117b757fe5b600091825260209091200180546001608060020a03858116608060020a024382166fffffffffffffffffffffffffffffffff1990931692909217161781559150611834565b83548490600019810190811061180e57fe5b600091825260209091200180546001608060020a03808616608060020a02911617815590505b50505050565b8154818355818111156113ce576000838152602090206113ce91810190830161089f91905b80821115611873576000815560010161185f565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b51cf281307124bdca2dc31439c55719dc3d8c5662429493bb40e0d771dcb5520029a165627a7a7230582013e32f1abf544a9b81599e95c09ad17601692a8f161fa26f32d769ea44ad4f630029", - "sourceMap": "22224:1245:20:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22224:1245:20;;;;;;;", - "deployedSourceMap": "22224:1245:20:-;;;;;;;;;;;;;;;;;;;;;;;22904:563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22904:563:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22904:563:20;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22904:563:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22904:563:20;;-1:-1:-1;22904:563:20;;;;-1:-1:-1;22904:563:20;-1:-1:-1;22904:563:20;;;;;;;;;;-1:-1:-1;22904:563:20;;-1:-1:-1;;;;22904:563:20;;;;;-1:-1:-1;22904:563:20;;-1:-1:-1;;22904:563:20;;;;;-1:-1:-1;;;;;22904:563:20;;;;;;;;;;;;;;;23132:11;23159:20;23211:4;23229:12;23255:14;23283:10;23307:13;23334:12;23360:17;23182:205;;:::i;:::-;-1:-1:-1;;;;;23182:205:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23182:205:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23182:205:20;;;;;;;;;;;;;;;;;;;;;;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;23182:205:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;23398:37:20;;;;;;23424:10;23398:37;;;;;;23159:228;;-1:-1:-1;;;;;;23398:25:20;;;;;:37;;;;;-1:-1:-1;;23398:37:20;;;;;;;;-1:-1:-1;23398:25:20;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;23398:37:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;23452:8:20;;22904:563;-1:-1:-1;;;;;;;;;;22904:563:20:o;22224:1245::-;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.24;\n\n/*\n Copyright 2016, Jordi Baylina\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n */\n\n/// @title MiniMeToken Contract\n/// @author Jordi Baylina\n/// @dev This token contract's goal is to make it easy for anyone to clone this\n/// token using the token distribution at a given block, this will allow DAO's\n/// and DApps to upgrade their features in a decentralized manner without\n/// affecting the original token\n/// @dev It is ERC20 compliant, but still needs to under go further testing.\n\nimport \"./ITokenController.sol\";\n\ncontract Controlled {\n /// @notice The address of the controller is the only address that can call\n /// a function with this modifier\n modifier onlyController {\n require(msg.sender == controller);\n _;\n }\n\n address public controller;\n\n function Controlled() public { controller = msg.sender;}\n\n /// @notice Changes the controller of the contract\n /// @param _newController The new controller of the contract\n function changeController(address _newController) onlyController public {\n controller = _newController;\n }\n}\n\ncontract ApproveAndCallFallBack {\n function receiveApproval(\n address from,\n uint256 _amount,\n address _token,\n bytes _data\n ) public;\n}\n\n/// @dev The actual token contract, the default controller is the msg.sender\n/// that deploys the contract, so usually this token will be deployed by a\n/// token controller contract, which Giveth will call a \"Campaign\"\ncontract MiniMeToken is Controlled {\n\n string public name; //The Token's name: e.g. DigixDAO Tokens\n uint8 public decimals; //Number of decimals of the smallest unit\n string public symbol; //An identifier: e.g. REP\n string public version = \"MMT_0.1\"; //An arbitrary versioning scheme\n\n\n /// @dev `Checkpoint` is the structure that attaches a block number to a\n /// given value, the block number attached is the one that last changed the\n /// value\n struct Checkpoint {\n\n // `fromBlock` is the block number that the value was generated from\n uint128 fromBlock;\n\n // `value` is the amount of tokens at a specific block number\n uint128 value;\n }\n\n // `parentToken` is the Token address that was cloned to produce this token;\n // it will be 0x0 for a token that was not cloned\n MiniMeToken public parentToken;\n\n // `parentSnapShotBlock` is the block number from the Parent Token that was\n // used to determine the initial distribution of the Clone Token\n uint public parentSnapShotBlock;\n\n // `creationBlock` is the block number that the Clone Token was created\n uint public creationBlock;\n\n // `balances` is the map that tracks the balance of each address, in this\n // contract when the balance changes the block number that the change\n // occurred is also included in the map\n mapping (address => Checkpoint[]) balances;\n\n // `allowed` tracks any extra transfer rights as in all ERC20 tokens\n mapping (address => mapping (address => uint256)) allowed;\n\n // Tracks the history of the `totalSupply` of the token\n Checkpoint[] totalSupplyHistory;\n\n // Flag that determines if the token is transferable or not.\n bool public transfersEnabled;\n\n // The factory used to create new clone tokens\n MiniMeTokenFactory public tokenFactory;\n\n////////////////\n// Constructor\n////////////////\n\n /// @notice Constructor to create a MiniMeToken\n /// @param _tokenFactory The address of the MiniMeTokenFactory contract that\n /// will create the Clone token contracts, the token factory needs to be\n /// deployed first\n /// @param _parentToken Address of the parent token, set to 0x0 if it is a\n /// new token\n /// @param _parentSnapShotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token, set to 0 if it\n /// is a new token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n function MiniMeToken(\n MiniMeTokenFactory _tokenFactory,\n MiniMeToken _parentToken,\n uint _parentSnapShotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public\n {\n tokenFactory = _tokenFactory;\n name = _tokenName; // Set the name\n decimals = _decimalUnits; // Set the decimals\n symbol = _tokenSymbol; // Set the symbol\n parentToken = _parentToken;\n parentSnapShotBlock = _parentSnapShotBlock;\n transfersEnabled = _transfersEnabled;\n creationBlock = block.number;\n }\n\n\n///////////////////\n// ERC20 Methods\n///////////////////\n\n /// @notice Send `_amount` tokens to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n return doTransfer(msg.sender, _to, _amount);\n }\n\n /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n /// is approved by `_from`\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {\n\n // The controller of this contract can move tokens around at will,\n // this is important to recognize! Confirm that you trust the\n // controller of this contract, which in most situations should be\n // another open source smart contract or 0x0\n if (msg.sender != controller) {\n require(transfersEnabled);\n\n // The standard ERC 20 transferFrom functionality\n if (allowed[_from][msg.sender] < _amount)\n return false;\n allowed[_from][msg.sender] -= _amount;\n }\n return doTransfer(_from, _to, _amount);\n }\n\n /// @dev This is the actual transfer function in the token contract, it can\n /// only be called by other functions in this contract.\n /// @param _from The address holding the tokens being transferred\n /// @param _to The address of the recipient\n /// @param _amount The amount of tokens to be transferred\n /// @return True if the transfer was successful\n function doTransfer(address _from, address _to, uint _amount) internal returns(bool) {\n if (_amount == 0) {\n return true;\n }\n require(parentSnapShotBlock < block.number);\n // Do not allow transfer to 0x0 or the token contract itself\n require((_to != 0) && (_to != address(this)));\n // If the amount being transfered is more than the balance of the\n // account the transfer returns false\n var previousBalanceFrom = balanceOfAt(_from, block.number);\n if (previousBalanceFrom < _amount) {\n return false;\n }\n // Alerts the token controller of the transfer\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onTransfer(_from, _to, _amount) == true);\n }\n // First update the balance array with the new value for the address\n // sending the tokens\n updateValueAtNow(balances[_from], previousBalanceFrom - _amount);\n // Then update the balance array with the new value for the address\n // receiving the tokens\n var previousBalanceTo = balanceOfAt(_to, block.number);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(balances[_to], previousBalanceTo + _amount);\n // An event to make the transfer easy to find on the blockchain\n Transfer(_from, _to, _amount);\n return true;\n }\n\n /// @param _owner The address that's balance is being requested\n /// @return The balance of `_owner` at the current block\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balanceOfAt(_owner, block.number);\n }\n\n /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n /// its behalf. This is a modified version of the ERC20 approve function\n /// to be a little bit safer\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the approval was successful\n function approve(address _spender, uint256 _amount) public returns (bool success) {\n require(transfersEnabled);\n\n // To change the approve amount you first have to reduce the addresses`\n // allowance to zero by calling `approve(_spender,0)` if it is not\n // already 0 to mitigate the race condition described here:\n // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n require((_amount == 0) || (allowed[msg.sender][_spender] == 0));\n\n // Alerts the token controller of the approve function call\n if (isContract(controller)) {\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).onApprove(msg.sender, _spender, _amount) == true);\n }\n\n allowed[msg.sender][_spender] = _amount;\n Approval(msg.sender, _spender, _amount);\n return true;\n }\n\n /// @dev This function makes it easy to read the `allowed[]` map\n /// @param _owner The address of the account that owns the token\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens of _owner that _spender is allowed\n /// to spend\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on\n /// its behalf, and then a function is triggered in the contract that is\n /// being approved, `_spender`. This allows users to use their tokens to\n /// interact with contracts in one function call instead of two\n /// @param _spender The address of the contract able to transfer the tokens\n /// @param _amount The amount of tokens to be approved for transfer\n /// @return True if the function call was successful\n function approveAndCall(ApproveAndCallFallBack _spender, uint256 _amount, bytes _extraData) public returns (bool success) {\n require(approve(_spender, _amount));\n\n _spender.receiveApproval(\n msg.sender,\n _amount,\n this,\n _extraData\n );\n\n return true;\n }\n\n /// @dev This function makes it easy to get the total number of tokens\n /// @return The total number of tokens\n function totalSupply() public constant returns (uint) {\n return totalSupplyAt(block.number);\n }\n\n\n////////////////\n// Query balance and totalSupply in History\n////////////////\n\n /// @dev Queries the balance of `_owner` at a specific `_blockNumber`\n /// @param _owner The address from which the balance will be retrieved\n /// @param _blockNumber The block number when the balance is queried\n /// @return The balance at `_blockNumber`\n function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {\n\n // These next few lines are used when the balance of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.balanceOfAt` be queried at the\n // genesis block for that token as this contains initial balance of\n // this token\n if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock));\n } else {\n // Has no parent\n return 0;\n }\n\n // This will return the expected balance during normal situations\n } else {\n return getValueAt(balances[_owner], _blockNumber);\n }\n }\n\n /// @notice Total amount of tokens at a specific `_blockNumber`.\n /// @param _blockNumber The block number when the totalSupply is queried\n /// @return The total amount of tokens at `_blockNumber`\n function totalSupplyAt(uint _blockNumber) public constant returns(uint) {\n\n // These next few lines are used when the totalSupply of the token is\n // requested before a check point was ever created for this token, it\n // requires that the `parentToken.totalSupplyAt` be queried at the\n // genesis block for this token as that contains totalSupply of this\n // token at this block number.\n if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {\n if (address(parentToken) != 0) {\n return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock));\n } else {\n return 0;\n }\n\n // This will return the expected totalSupply during normal situations\n } else {\n return getValueAt(totalSupplyHistory, _blockNumber);\n }\n }\n\n////////////////\n// Clone Token Method\n////////////////\n\n /// @notice Creates a new clone token with the initial distribution being\n /// this token at `_snapshotBlock`\n /// @param _cloneTokenName Name of the clone token\n /// @param _cloneDecimalUnits Number of decimals of the smallest unit\n /// @param _cloneTokenSymbol Symbol of the clone token\n /// @param _snapshotBlock Block when the distribution of the parent token is\n /// copied to set the initial distribution of the new clone token;\n /// if the block is zero than the actual block, the current block is used\n /// @param _transfersEnabled True if transfers are allowed in the clone\n /// @return The address of the new MiniMeToken Contract\n function createCloneToken(\n string _cloneTokenName,\n uint8 _cloneDecimalUnits,\n string _cloneTokenSymbol,\n uint _snapshotBlock,\n bool _transfersEnabled\n ) public returns(MiniMeToken)\n {\n uint256 snapshot = _snapshotBlock == 0 ? block.number - 1 : _snapshotBlock;\n\n MiniMeToken cloneToken = tokenFactory.createCloneToken(\n this,\n snapshot,\n _cloneTokenName,\n _cloneDecimalUnits,\n _cloneTokenSymbol,\n _transfersEnabled\n );\n\n cloneToken.changeController(msg.sender);\n\n // An event to make the token easy to find on the blockchain\n NewCloneToken(address(cloneToken), snapshot);\n return cloneToken;\n }\n\n////////////////\n// Generate and destroy tokens\n////////////////\n\n /// @notice Generates `_amount` tokens that are assigned to `_owner`\n /// @param _owner The address that will be assigned the new tokens\n /// @param _amount The quantity of tokens generated\n /// @return True if the tokens are generated correctly\n function generateTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow\n uint previousBalanceTo = balanceOf(_owner);\n require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow\n updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);\n updateValueAtNow(balances[_owner], previousBalanceTo + _amount);\n Transfer(0, _owner, _amount);\n return true;\n }\n\n\n /// @notice Burns `_amount` tokens from `_owner`\n /// @param _owner The address that will lose the tokens\n /// @param _amount The quantity of tokens to burn\n /// @return True if the tokens are burned correctly\n function destroyTokens(address _owner, uint _amount) onlyController public returns (bool) {\n uint curTotalSupply = totalSupply();\n require(curTotalSupply >= _amount);\n uint previousBalanceFrom = balanceOf(_owner);\n require(previousBalanceFrom >= _amount);\n updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount);\n updateValueAtNow(balances[_owner], previousBalanceFrom - _amount);\n Transfer(_owner, 0, _amount);\n return true;\n }\n\n////////////////\n// Enable tokens transfers\n////////////////\n\n\n /// @notice Enables token holders to transfer their tokens freely if true\n /// @param _transfersEnabled True if transfers are allowed in the clone\n function enableTransfers(bool _transfersEnabled) onlyController public {\n transfersEnabled = _transfersEnabled;\n }\n\n////////////////\n// Internal helper functions to query and set a value in a snapshot array\n////////////////\n\n /// @dev `getValueAt` retrieves the number of tokens at a given block number\n /// @param checkpoints The history of values being queried\n /// @param _block The block number to retrieve the value at\n /// @return The number of tokens being queried\n function getValueAt(Checkpoint[] storage checkpoints, uint _block) constant internal returns (uint) {\n if (checkpoints.length == 0)\n return 0;\n\n // Shortcut for the actual value\n if (_block >= checkpoints[checkpoints.length-1].fromBlock)\n return checkpoints[checkpoints.length-1].value;\n if (_block < checkpoints[0].fromBlock)\n return 0;\n\n // Binary search of the value in the array\n uint min = 0;\n uint max = checkpoints.length-1;\n while (max > min) {\n uint mid = (max + min + 1) / 2;\n if (checkpoints[mid].fromBlock<=_block) {\n min = mid;\n } else {\n max = mid-1;\n }\n }\n return checkpoints[min].value;\n }\n\n /// @dev `updateValueAtNow` used to update the `balances` map and the\n /// `totalSupplyHistory`\n /// @param checkpoints The history of data being updated\n /// @param _value The new number of tokens\n function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value) internal {\n if ((checkpoints.length == 0) || (checkpoints[checkpoints.length - 1].fromBlock < block.number)) {\n Checkpoint storage newCheckPoint = checkpoints[checkpoints.length++];\n newCheckPoint.fromBlock = uint128(block.number);\n newCheckPoint.value = uint128(_value);\n } else {\n Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length - 1];\n oldCheckPoint.value = uint128(_value);\n }\n }\n\n /// @dev Internal function to determine if an address is a contract\n /// @param _addr The address being queried\n /// @return True if `_addr` is a contract\n function isContract(address _addr) constant internal returns(bool) {\n uint size;\n if (_addr == 0)\n return false;\n\n assembly {\n size := extcodesize(_addr)\n }\n\n return size>0;\n }\n\n /// @dev Helper function to return a min betwen the two uints\n function min(uint a, uint b) pure internal returns (uint) {\n return a < b ? a : b;\n }\n\n /// @notice The fallback function: If the contract's controller has not been\n /// set to 0, then the `proxyPayment` method is called which relays the\n /// ether and creates tokens as described in the token controller contract\n function () external payable {\n require(isContract(controller));\n // Adding the ` == true` makes the linter shut up so...\n require(ITokenController(controller).proxyPayment.value(msg.value)(msg.sender) == true);\n }\n\n//////////\n// Safety Methods\n//////////\n\n /// @notice This method can be used by the controller to extract mistakenly\n /// sent tokens to this contract.\n /// @param _token The address of the token contract that you want to recover\n /// set to 0 in case you want to extract ether.\n function claimTokens(address _token) onlyController public {\n if (_token == 0x0) {\n controller.transfer(this.balance);\n return;\n }\n\n MiniMeToken token = MiniMeToken(_token);\n uint balance = token.balanceOf(this);\n token.transfer(controller, balance);\n ClaimedTokens(_token, controller, balance);\n }\n\n////////////////\n// Events\n////////////////\n event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount);\n event Transfer(address indexed _from, address indexed _to, uint256 _amount);\n event NewCloneToken(address indexed _cloneToken, uint _snapshotBlock);\n event Approval(\n address indexed _owner,\n address indexed _spender,\n uint256 _amount\n );\n\n}\n\n\n////////////////\n// MiniMeTokenFactory\n////////////////\n\n/// @dev This contract is used to generate clone contracts from a contract.\n/// In solidity this is the way to create a contract from a contract of the\n/// same class\ncontract MiniMeTokenFactory {\n\n /// @notice Update the DApp by creating a new token with new functionalities\n /// the msg.sender becomes the controller of this clone token\n /// @param _parentToken Address of the token being cloned\n /// @param _snapshotBlock Block of the parent token that will\n /// determine the initial distribution of the clone token\n /// @param _tokenName Name of the new token\n /// @param _decimalUnits Number of decimals of the new token\n /// @param _tokenSymbol Token Symbol for the new token\n /// @param _transfersEnabled If true, tokens will be able to be transferred\n /// @return The address of the new token contract\n function createCloneToken(\n MiniMeToken _parentToken,\n uint _snapshotBlock,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol,\n bool _transfersEnabled\n ) public returns (MiniMeToken)\n {\n MiniMeToken newToken = new MiniMeToken(\n this,\n _parentToken,\n _snapshotBlock,\n _tokenName,\n _decimalUnits,\n _tokenSymbol,\n _transfersEnabled\n );\n\n newToken.changeController(msg.sender);\n return newToken;\n }\n}", - "sourcePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "ast": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 16077 - ], - "Controlled": [ - 16065 - ], - "MiniMeToken": [ - 17093 - ], - "MiniMeTokenFactory": [ - 17134 - ] - }, - "id": 17135, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 16029, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "./ITokenController.sol", - "id": 16030, - "nodeType": "ImportDirective", - "scope": 17135, - "sourceUnit": 16028, - "src": "1123:32:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 16065, - "linearizedBaseContracts": [ - 16065 - ], - "name": "Controlled", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 16040, - "nodeType": "Block", - "src": "1326:61:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1344:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1344:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 16035, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1358:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1344:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16032, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "1336:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16038, - "nodeType": "ExpressionStatement", - "src": "1336:33:20" - }, - { - "id": 16039, - "nodeType": "PlaceholderStatement", - "src": "1379:1:20" - } - ] - }, - "documentation": "@notice The address of the controller is the only address that can call\n a function with this modifier", - "id": 16041, - "name": "onlyController", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 16031, - "nodeType": "ParameterList", - "parameters": [], - "src": "1326:0:20" - }, - "src": "1302:85:20", - "visibility": "internal" - }, - { - "constant": false, - "id": 16043, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 16065, - "src": "1393:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16051, - "nodeType": "Block", - "src": "1455:27:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16046, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1457:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1470:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1470:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1457:23:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16050, - "nodeType": "ExpressionStatement", - "src": "1457:23:20" - } - ] - }, - "documentation": null, - "id": 16052, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Controlled", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16044, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1455:0:20" - }, - "scope": 16065, - "src": "1425:57:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16063, - "nodeType": "Block", - "src": "1681:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16059, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "1691:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16060, - "name": "_newController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16054, - "src": "1704:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1691:27:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 16062, - "nodeType": "ExpressionStatement", - "src": "1691:27:20" - } - ] - }, - "documentation": "@notice Changes the controller of the contract\n @param _newController The new controller of the contract", - "id": 16064, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16057, - "modifierName": { - "argumentTypes": null, - "id": 16056, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "1658:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:14:20" - } - ], - "name": "changeController", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16054, - "name": "_newController", - "nodeType": "VariableDeclaration", - "scope": 16064, - "src": "1634:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1634:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1633:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1681:0:20" - }, - "scope": 16065, - "src": "1608:117:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1157:570:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 16077, - "linearizedBaseContracts": [ - 16077 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 16076, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16067, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1801:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16069, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1823:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1823:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16071, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1848:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16073, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 16076, - "src": "1872:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16072, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1872:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:98:20" - }, - "payable": false, - "returnParameters": { - "id": 16075, - "nodeType": "ParameterList", - "parameters": [], - "src": "1896:0:20" - }, - "scope": 16077, - "src": "1767:130:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "1729:170:20" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 16078, - "name": "Controlled", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16065, - "src": "2146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Controlled_$16065", - "typeString": "contract Controlled" - } - }, - "id": 16079, - "nodeType": "InheritanceSpecifier", - "src": "2146:10:20" - } - ], - "contractDependencies": [ - 16065 - ], - "contractKind": "contract", - "documentation": "@dev The actual token contract, the default controller is the msg.sender\n that deploys the contract, so usually this token will be deployed by a\n token controller contract, which Giveth will call a \"Campaign\"", - "fullyImplemented": true, - "id": 17093, - "linearizedBaseContracts": [ - 17093, - 16065 - ], - "name": "MiniMeToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 16081, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2164:18:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2164:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16083, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2244:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16082, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2244:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16085, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2325:20:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16084, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2325:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16088, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "2390:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 16086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2390:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4d545f302e31", - "id": 16087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2414:9:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40fc38fa6d6143d33df7a9e2b8cbab7741b8990dbd52142e39a51c72d1e7c977", - "typeString": "literal_string \"MMT_0.1\"" - }, - "value": "MMT_0.1" - }, - "visibility": "public" - }, - { - "canonicalName": "MiniMeToken.Checkpoint", - "id": 16093, - "members": [ - { - "constant": false, - "id": 16090, - "name": "fromBlock", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2743:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16089, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2743:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16092, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 16093, - "src": "2841:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 16091, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2841:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nodeType": "StructDefinition", - "scope": 17093, - "src": "2637:224:20", - "visibility": "public" - }, - { - "constant": false, - "id": 16095, - "name": "parentToken", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3003:30:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3003:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16097, - "name": "parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3190:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3190:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16099, - "name": "creationBlock", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3304:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3304:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16104, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3534:42:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "typeName": { - "id": 16103, - "keyType": { - "id": 16100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3543:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3534:33:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 16101, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3554:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16102, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3554:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16110, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3656:57:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 16109, - "keyType": { - "id": 16105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3665:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3656:49:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 16108, - "keyType": { - "id": 16106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3685:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3676:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 16107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16113, - "name": "totalSupplyHistory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3780:31:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16111, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "3780:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16112, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3780:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16115, - "name": "transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3883:28:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3883:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 16117, - "name": "tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 17093, - "src": "3969:38:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16116, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "3969:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 16167, - "nodeType": "Block", - "src": "5091:448:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16134, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "5101:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16135, - "name": "_tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16119, - "src": "5116:13:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "src": "5101:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16137, - "nodeType": "ExpressionStatement", - "src": "5101:28:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16138, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16081, - "src": "5139:4:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16139, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16125, - "src": "5146:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5139:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16141, - "nodeType": "ExpressionStatement", - "src": "5139:17:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16142, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16083, - "src": "5214:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16143, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16127, - "src": "5225:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5214:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 16145, - "nodeType": "ExpressionStatement", - "src": "5214:24:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16146, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16085, - "src": "5293:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16147, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16129, - "src": "5302:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5293:21:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 16149, - "nodeType": "ExpressionStatement", - "src": "5293:21:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16150, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "5370:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16151, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16121, - "src": "5384:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "5370:26:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16153, - "nodeType": "ExpressionStatement", - "src": "5370:26:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16154, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "5406:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16155, - "name": "_parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16123, - "src": "5428:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5406:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16157, - "nodeType": "ExpressionStatement", - "src": "5406:42:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16158, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5458:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16159, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16131, - "src": "5477:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5458:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16161, - "nodeType": "ExpressionStatement", - "src": "5458:36:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16162, - "name": "creationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16099, - "src": "5504:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "5520:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5520:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5504:28:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16166, - "nodeType": "ExpressionStatement", - "src": "5504:28:20" - } - ] - }, - "documentation": "/////////////\n @notice Constructor to create a MiniMeToken\n @param _tokenFactory The address of the MiniMeTokenFactory contract that\n will create the Clone token contracts, the token factory needs to be\n deployed first\n @param _parentToken Address of the parent token, set to 0x0 if it is a\n new token\n @param _parentSnapShotBlock Block of the parent token that will\n determine the initial distribution of the clone token, set to 0 if it\n is a new token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred", - "id": 16168, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MiniMeToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16119, - "name": "_tokenFactory", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4854:32:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - "typeName": { - "contractScope": null, - "id": 16118, - "name": "MiniMeTokenFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17134, - "src": "4854:18:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16121, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4896:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16120, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4896:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16123, - "name": "_parentSnapShotBlock", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4930:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4930:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16125, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4965:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4965:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16127, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "4992:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16126, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4992:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16129, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5021:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5021:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16131, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16168, - "src": "5050:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16130, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5050:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4844:234:20" - }, - "payable": false, - "returnParameters": { - "id": 16133, - "nodeType": "ParameterList", - "parameters": [], - "src": "5091:0:20" - }, - "scope": 17093, - "src": "4824:715:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16188, - "nodeType": "Block", - "src": "5916:95:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16178, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "5934:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "5926:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5926:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16180, - "nodeType": "ExpressionStatement", - "src": "5926:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16182, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16184, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16170, - "src": "5991:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16185, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16172, - "src": "5996:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16181, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "5968:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16176, - "id": 16187, - "nodeType": "Return", - "src": "5961:43:20" - } - ] - }, - "documentation": "////////////////\n @notice Send `_amount` tokens to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return Whether the transfer was successful or not", - "id": 16189, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16170, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5856:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5856:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16172, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5869:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5855:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16175, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16189, - "src": "5902:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16174, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5902:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5901:14:20" - }, - "scope": 17093, - "src": "5838:173:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16236, - "nodeType": "Block", - "src": "6458:619:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6749:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6749:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 16202, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "6763:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6749:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16229, - "nodeType": "IfStatement", - "src": "6745:278:20", - "trueBody": { - "id": 16228, - "nodeType": "Block", - "src": "6775:248:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16205, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "6797:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16204, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "6789:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16207, - "nodeType": "ExpressionStatement", - "src": "6789:25:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16208, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6895:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16210, - "indexExpression": { - "argumentTypes": null, - "id": 16209, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6903:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16213, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6910:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16214, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "6924:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6895:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16218, - "nodeType": "IfStatement", - "src": "6891:70:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6956:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16199, - "id": 16217, - "nodeType": "Return", - "src": "6949:12:20" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16219, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "6975:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16223, - "indexExpression": { - "argumentTypes": null, - "id": 16220, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "6983:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6975:14:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6990:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6990:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6975:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 16225, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7005:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6975:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16227, - "nodeType": "ExpressionStatement", - "src": "6975:37:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16231, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16191, - "src": "7050:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16232, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16193, - "src": "7057:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16195, - "src": "7062:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16230, - "name": "doTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16350, - "src": "7039:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 16234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16199, - "id": 16235, - "nodeType": "Return", - "src": "7032:38:20" - } - ] - }, - "documentation": "@notice Send `_amount` tokens to `_to` from `_from` on the condition it\n is approved by `_from`\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16191, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6383:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6383:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16193, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6398:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6398:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16195, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6411:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6382:45:20" - }, - "payable": false, - "returnParameters": { - "id": 16199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16198, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16237, - "src": "6444:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6444:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6443:14:20" - }, - "scope": 17093, - "src": "6361:716:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16349, - "nodeType": "Block", - "src": "7541:1425:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16248, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "7555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7555:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16254, - "nodeType": "IfStatement", - "src": "7551:54:20", - "trueBody": { - "id": 16253, - "nodeType": "Block", - "src": "7569:36:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7590:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16252, - "nodeType": "Return", - "src": "7583:11:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16256, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "7622:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16257, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7644:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7644:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7622:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16255, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7614:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7614:43:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16261, - "nodeType": "ExpressionStatement", - "src": "7614:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16263, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7745:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7752:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7745:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7744:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16267, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "7759:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16269, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "7774:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7766:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7766:13:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7759:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7758:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7744:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16262, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "7736:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7736:45:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16275, - "nodeType": "ExpressionStatement", - "src": "7736:45:20" - }, - { - "assignments": [ - 16276 - ], - "declarations": [ - { - "constant": false, - "id": 16276, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7912:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16278, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "7950:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16279, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "7957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7957:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16277, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "7938:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7938:32:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7912:58:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16283, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "7984:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8006:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7984:29:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16289, - "nodeType": "IfStatement", - "src": "7980:72:20", - "trueBody": { - "id": 16288, - "nodeType": "Block", - "src": "8015:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8036:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16247, - "id": 16287, - "nodeType": "Return", - "src": "8029:12:20" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16291, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8131:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16290, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "8120:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16307, - "nodeType": "IfStatement", - "src": "8116:198:20", - "trueBody": { - "id": 16306, - "nodeType": "Block", - "src": "8144:170:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16298, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8274:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16299, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8281:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8286:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16295, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "8251:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16294, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "8234:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16015, - "src": "8234:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8234:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8298:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:68:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16293, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8226:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:77:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16305, - "nodeType": "ExpressionStatement", - "src": "8226:77:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16309, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8448:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16311, - "indexExpression": { - "argumentTypes": null, - "id": 16310, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8457:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8448:15:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16312, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16276, - "src": "8465:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16313, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8487:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8465:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16308, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8431:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8431:64:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16316, - "nodeType": "ExpressionStatement", - "src": "8431:64:20" - }, - { - "assignments": [ - 16317 - ], - "declarations": [ - { - "constant": false, - "id": 16317, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "8614:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 16323, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16319, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8650:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "8655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8655:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16318, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "8638:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8638:30:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8614:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16325, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8686:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16326, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8706:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16328, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8717:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8686:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "8678:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8678:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16331, - "nodeType": "ExpressionStatement", - "src": "8678:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16333, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "8784:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16335, - "indexExpression": { - "argumentTypes": null, - "id": 16334, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8784:13:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16336, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16317, - "src": "8799:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16337, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8799:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16332, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "8767:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8767:60:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16340, - "nodeType": "ExpressionStatement", - "src": "8767:60:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16342, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16239, - "src": "8918:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16343, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16241, - "src": "8925:3:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16344, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16243, - "src": "8930:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16341, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "8909:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8909:29:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16346, - "nodeType": "ExpressionStatement", - "src": "8909:29:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8955:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16247, - "id": 16348, - "nodeType": "Return", - "src": "8948:11:20" - } - ] - }, - "documentation": "@dev This is the actual transfer function in the token contract, it can\n only be called by other functions in this contract.\n @param _from The address holding the tokens being transferred\n @param _to The address of the recipient\n @param _amount The amount of tokens to be transferred\n @return True if the transfer was successful", - "id": 16350, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "doTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16239, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7476:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7476:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16241, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7491:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7491:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16243, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7504:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16242, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7504:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7475:42:20" - }, - "payable": false, - "returnParameters": { - "id": 16247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16246, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16350, - "src": "7535:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16245, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7534:6:20" - }, - "scope": 17093, - "src": "7456:1510:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16363, - "nodeType": "Block", - "src": "9178:57:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16358, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16352, - "src": "9207:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "9215:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9215:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16357, - "name": "balanceOfAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16546, - "src": "9195:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 16361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9195:33:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16356, - "id": 16362, - "nodeType": "Return", - "src": "9188:40:20" - } - ] - }, - "documentation": "@param _owner The address that's balance is being requested\n @return The balance of `_owner` at the current block", - "id": 16364, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16352, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9120:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9120:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9119:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16355, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 16364, - "src": "9161:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9161:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9160:17:20" - }, - "scope": 17093, - "src": "9101:134:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16431, - "nodeType": "Block", - "src": "9716:824:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16374, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "9734:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "9726:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:25:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16376, - "nodeType": "ExpressionStatement", - "src": "9726:25:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16378, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10074:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10085:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10074:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10073:14:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16382, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10092:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16385, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16383, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10100:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10100:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16387, - "indexExpression": { - "argumentTypes": null, - "id": 16386, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10112:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10092:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10125:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10092:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10091:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10073:54:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16377, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10065:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10065:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16393, - "nodeType": "ExpressionStatement", - "src": "10065:63:20" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16395, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10222:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16394, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "10211:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10211:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16412, - "nodeType": "IfStatement", - "src": "10207:207:20", - "trueBody": { - "id": 16411, - "nodeType": "Block", - "src": "10235:179:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10364:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10364:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16404, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10376:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16405, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10386:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16399, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "10342:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16398, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "10325:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 16400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 16401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 16026, - "src": "10325:38:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 16406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10325:69:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10325:77:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16397, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "10317:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10317:86:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16410, - "nodeType": "ExpressionStatement", - "src": "10317:86:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 16420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16413, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10424:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16417, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16414, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10432:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10432:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10424:19:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16418, - "indexExpression": { - "argumentTypes": null, - "id": 16416, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10444:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10424:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16419, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10424:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16421, - "nodeType": "ExpressionStatement", - "src": "10424:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10482:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16425, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16366, - "src": "10494:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16426, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16368, - "src": "10504:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16422, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17092, - "src": "10473:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10473:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16428, - "nodeType": "ExpressionStatement", - "src": "10473:39:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10529:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16372, - "id": 16430, - "nodeType": "Return", - "src": "10522:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n its behalf. This is a modified version of the ERC20 approve function\n to be a little bit safer\n @param _spender The address of the account able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the approval was successful", - "id": 16432, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16366, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9651:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9651:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16368, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9669:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9669:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9650:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16371, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16432, - "src": "9702:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9702:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9701:14:20" - }, - "scope": 17093, - "src": "9634:906:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16447, - "nodeType": "Block", - "src": "10956:49:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16441, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16110, - "src": "10973:7:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 16443, - "indexExpression": { - "argumentTypes": null, - "id": 16442, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16434, - "src": "10981:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:15:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 16445, - "indexExpression": { - "argumentTypes": null, - "id": 16444, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16436, - "src": "10989:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10973:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16440, - "id": 16446, - "nodeType": "Return", - "src": "10966:32:20" - } - ] - }, - "documentation": "@dev This function makes it easy to read the `allowed[]` map\n @param _owner The address of the account that owns the token\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens of _owner that _spender is allowed\n to spend", - "id": 16448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16434, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10878:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16436, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10894:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10894:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10877:34:20" - }, - "payable": false, - "returnParameters": { - "id": 16440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16439, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 16448, - "src": "10937:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10937:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10936:19:20" - }, - "scope": 17093, - "src": "10859:146:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16478, - "nodeType": "Block", - "src": "11644:206:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16461, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11670:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - { - "argumentTypes": null, - "id": 16462, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11680:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16460, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16432, - "src": "11662:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 16463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "11654:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11654:35:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16465, - "nodeType": "ExpressionStatement", - "src": "11654:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11738:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11738:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16471, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16452, - "src": "11762:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "11783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16473, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16454, - "src": "11801:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 16466, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16450, - "src": "11700:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 16468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16076, - "src": "11700:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 16474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11700:121:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16475, - "nodeType": "ExpressionStatement", - "src": "11700:121:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16458, - "id": 16477, - "nodeType": "Return", - "src": "11832:11:20" - } - ] - }, - "documentation": "@notice `msg.sender` approves `_spender` to send `_amount` tokens on\n its behalf, and then a function is triggered in the contract that is\n being approved, `_spender`. This allows users to use their tokens to\n interact with contracts in one function call instead of two\n @param _spender The address of the contract able to transfer the tokens\n @param _amount The amount of tokens to be approved for transfer\n @return True if the function call was successful", - "id": 16479, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16450, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11546:31:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - }, - "typeName": { - "contractScope": null, - "id": 16449, - "name": "ApproveAndCallFallBack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16077, - "src": "11546:22:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$16077", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16452, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11579:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11579:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16454, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11596:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 16453, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11596:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11545:68:20" - }, - "payable": false, - "returnParameters": { - "id": 16458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16457, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 16479, - "src": "11630:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11629:14:20" - }, - "scope": 17093, - "src": "11522:328:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16489, - "nodeType": "Block", - "src": "12028:51:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12059:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12059:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16484, - "name": "totalSupplyAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16593, - "src": "12045:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 16487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12045:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16483, - "id": 16488, - "nodeType": "Return", - "src": "12038:34:20" - } - ] - }, - "documentation": "@dev This function makes it easy to get the total number of tokens\n @return The total number of tokens", - "id": 16490, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16480, - "nodeType": "ParameterList", - "parameters": [], - "src": "11994:2:20" - }, - "payable": false, - "returnParameters": { - "id": 16483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16482, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16490, - "src": "12022:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12021:6:20" - }, - "scope": 17093, - "src": "11974:105:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16545, - "nodeType": "Block", - "src": "12520:831:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16499, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12863:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16501, - "indexExpression": { - "argumentTypes": null, - "id": 16500, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12872:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12863:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12863:28:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16505, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12862:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16506, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "12897:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16508, - "indexExpression": { - "argumentTypes": null, - "id": 16507, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "12906:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16510, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12914:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12897:19:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "12897:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16512, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "12929:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12897:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16514, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12896:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12862:80:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16543, - "nodeType": "Block", - "src": "13271:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16537, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "13303:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16539, - "indexExpression": { - "argumentTypes": null, - "id": 16538, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13303:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16540, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13321:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16536, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "13292:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13292:42:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16542, - "nodeType": "Return", - "src": "13285:49:20" - } - ] - }, - "id": 16544, - "nodeType": "IfStatement", - "src": "12858:487:20", - "trueBody": { - "id": 16535, - "nodeType": "Block", - "src": "12944:321:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16517, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "12970:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12962:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12962:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12986:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12962:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16533, - "nodeType": "Block", - "src": "13106:74:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13164:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16498, - "id": 16532, - "nodeType": "Return", - "src": "13157:8:20" - } - ] - }, - "id": 16534, - "nodeType": "IfStatement", - "src": "12958:222:20", - "trueBody": { - "id": 16530, - "nodeType": "Block", - "src": "12989:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16523, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16492, - "src": "13038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16525, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16494, - "src": "13050:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16526, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "13064:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16524, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "13046:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13046:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16521, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "13014:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13014:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 16528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13014:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16498, - "id": 16529, - "nodeType": "Return", - "src": "13007:78:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "/////////////\n @dev Queries the balance of `_owner` at a specific `_blockNumber`\n @param _owner The address from which the balance will be retrieved\n @param _blockNumber The block number when the balance is queried\n @return The balance at `_blockNumber`", - "id": 16546, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOfAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16492, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12454:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16494, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12470:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16493, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12470:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12453:35:20" - }, - "payable": false, - "returnParameters": { - "id": 16498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16497, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16546, - "src": "12514:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16496, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12513:6:20" - }, - "scope": 17093, - "src": "12433:918:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16592, - "nodeType": "Block", - "src": "13636:826:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16553, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14003:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14003:25:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14003:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16557, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14002:32:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16558, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14039:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - "id": 16560, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14058:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14039:21:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "14039:31:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16562, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14073:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14039:46:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14038:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14002:84:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16590, - "nodeType": "Block", - "src": "14380:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16586, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "14412:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "id": 16587, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14432:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16585, - "name": "getValueAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16879, - "src": "14401:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 16588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:44:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16589, - "nodeType": "Return", - "src": "14394:51:20" - } - ] - }, - "id": 16591, - "nodeType": "IfStatement", - "src": "13998:458:20", - "trueBody": { - "id": 16584, - "nodeType": "Block", - "src": "14088:286:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16567, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14114:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14106:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14106:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14130:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14106:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16582, - "nodeType": "Block", - "src": "14244:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14269:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16552, - "id": 16581, - "nodeType": "Return", - "src": "14262:8:20" - } - ] - }, - "id": 16583, - "nodeType": "IfStatement", - "src": "14102:183:20", - "trueBody": { - "id": 16579, - "nodeType": "Block", - "src": "14133:105:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16574, - "name": "_blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16548, - "src": "14188:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16575, - "name": "parentSnapShotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16097, - "src": "14202:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16573, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16989, - "src": "14184:3:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 16576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 16571, - "name": "parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16095, - "src": "14158:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "14158:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 16577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14158:65:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16552, - "id": 16578, - "nodeType": "Return", - "src": "14151:72:20" - } - ] - } - } - ] - } - } - ] - }, - "documentation": "@notice Total amount of tokens at a specific `_blockNumber`.\n @param _blockNumber The block number when the totalSupply is queried\n @return The total amount of tokens at `_blockNumber`", - "id": 16593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupplyAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16548, - "name": "_blockNumber", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13587:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16547, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13586:19:20" - }, - "payable": false, - "returnParameters": { - "id": 16552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16551, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16593, - "src": "13630:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13630:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13629:6:20" - }, - "scope": 17093, - "src": "13564:898:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16648, - "nodeType": "Block", - "src": "15424:530:20", - "statements": [ - { - "assignments": [ - 16609 - ], - "declarations": [ - { - "constant": false, - "id": 16609, - "name": "snapshot", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15434:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15434:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16619, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16610, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15453:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15471:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15453:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16617, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16601, - "src": "15494:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15453:55:20", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16613, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "15475:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15475:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15490:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15475:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15434:74:20" - }, - { - "assignments": [ - 16621 - ], - "declarations": [ - { - "constant": false, - "id": 16621, - "name": "cloneToken", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15519:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16620, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15519:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16631, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "15587:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 16625, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15605:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 16626, - "name": "_cloneTokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16595, - "src": "15627:15:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16627, - "name": "_cloneDecimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16597, - "src": "15656:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 16628, - "name": "_cloneTokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16599, - "src": "15688:17:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 16629, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16603, - "src": "15719:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 16622, - "name": "tokenFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16117, - "src": "15544:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - "id": 16623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createCloneToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 17133, - "src": "15544:29:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)" - } - }, - "id": 16630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15544:202:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15519:227:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15785:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 16636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15785:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 16632, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15757:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 16634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "15757:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 16637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16638, - "nodeType": "ExpressionStatement", - "src": "15757:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16641, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15898:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 16640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15890:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 16642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15890:19:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16643, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16609, - "src": "15911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16639, - "name": "NewCloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17084, - "src": "15876:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 16644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15876:44:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16645, - "nodeType": "ExpressionStatement", - "src": "15876:44:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16646, - "name": "cloneToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16621, - "src": "15937:10:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 16607, - "id": 16647, - "nodeType": "Return", - "src": "15930:17:20" - } - ] - }, - "documentation": "/////////////\n @notice Creates a new clone token with the initial distribution being\n this token at `_snapshotBlock`\n @param _cloneTokenName Name of the clone token\n @param _cloneDecimalUnits Number of decimals of the smallest unit\n @param _cloneTokenSymbol Symbol of the clone token\n @param _snapshotBlock Block when the distribution of the parent token is\n copied to set the initial distribution of the new clone token;\n if the block is zero than the actual block, the current block is used\n @param _transfersEnabled True if transfers are allowed in the clone\n @return The address of the new MiniMeToken Contract", - "id": 16649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16595, - "name": "_cloneTokenName", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15234:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15234:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16597, - "name": "_cloneDecimalUnits", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15266:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 16596, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15266:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16599, - "name": "_cloneTokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15300:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 16598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15300:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16601, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15334:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16600, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15334:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16603, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15363:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16602, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15363:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15224:167:20" - }, - "payable": false, - "returnParameters": { - "id": 16607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16606, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16649, - "src": "15407:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 16605, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "15407:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15406:13:20" - }, - "scope": 17093, - "src": "15199:755:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16711, - "nodeType": "Block", - "src": "16376:480:20", - "statements": [ - { - "assignments": [ - 16661 - ], - "declarations": [ - { - "constant": false, - "id": 16661, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16386:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16660, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16386:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16664, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16662, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "16408:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16408:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16386:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16666, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16439:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16667, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16456:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16669, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16467:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16439:42:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16431:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16431:51:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16672, - "nodeType": "ExpressionStatement", - "src": "16431:51:20" - }, - { - "assignments": [ - 16674 - ], - "declarations": [ - { - "constant": false, - "id": 16674, - "name": "previousBalanceTo", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16514:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16673, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16514:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16676, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16549:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16675, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "16539:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16539:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16514:42:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16680, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16574:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16681, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16594:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16683, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16605:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16574:48:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16679, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "16566:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16566:57:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16686, - "nodeType": "ExpressionStatement", - "src": "16566:57:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16688, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "16672:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16689, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16661, - "src": "16692:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16690, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16709:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16692:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16687, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16655:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16655:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16693, - "nodeType": "ExpressionStatement", - "src": "16655:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16695, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "16744:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16697, - "indexExpression": { - "argumentTypes": null, - "id": 16696, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16753:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16744:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16698, - "name": "previousBalanceTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16674, - "src": "16762:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16699, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16782:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16762:27:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16694, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "16727:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16727:63:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16702, - "nodeType": "ExpressionStatement", - "src": "16727:63:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 16704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16809:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16705, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16651, - "src": "16812:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 16706, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16653, - "src": "16820:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16703, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "16800:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16800:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16708, - "nodeType": "ExpressionStatement", - "src": "16800:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16659, - "id": 16710, - "nodeType": "Return", - "src": "16838:11:20" - } - ] - }, - "documentation": "/////////////\n @notice Generates `_amount` tokens that are assigned to `_owner`\n @param _owner The address that will be assigned the new tokens\n @param _amount The quantity of tokens generated\n @return True if the tokens are generated correctly", - "id": 16712, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16656, - "modifierName": { - "argumentTypes": null, - "id": 16655, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "16339:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16339:14:20" - } - ], - "name": "generateTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16309:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16309:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16653, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16325:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16652, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16325:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16308:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16658, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16712, - "src": "16370:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16370:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16369:6:20" - }, - "scope": 17093, - "src": "16285:571:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16770, - "nodeType": "Block", - "src": "17176:405:20", - "statements": [ - { - "assignments": [ - 16724 - ], - "declarations": [ - { - "constant": false, - "id": 16724, - "name": "curTotalSupply", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17186:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16723, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17186:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16727, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 16725, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16490, - "src": "17208:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 16726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17208:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17186:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16729, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17239:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16730, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17257:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17239:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17231:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17231:34:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16733, - "nodeType": "ExpressionStatement", - "src": "17231:34:20" - }, - { - "assignments": [ - 16735 - ], - "declarations": [ - { - "constant": false, - "id": 16735, - "name": "previousBalanceFrom", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17275:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16734, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17275:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16739, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16737, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17312:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16736, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16364, - "src": "17302:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 16738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17302:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17275:44:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16741, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17337:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 16742, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17360:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17337:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "17329:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17329:39:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16745, - "nodeType": "ExpressionStatement", - "src": "17329:39:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16747, - "name": "totalSupplyHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16113, - "src": "17395:18:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16748, - "name": "curTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16724, - "src": "17415:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16749, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17432:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17415:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16746, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17378:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17378:62:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16752, - "nodeType": "ExpressionStatement", - "src": "17378:62:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16754, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16104, - "src": "17467:8:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_$", - "typeString": "mapping(address => struct MiniMeToken.Checkpoint storage ref[] storage ref)" - } - }, - "id": 16756, - "indexExpression": { - "argumentTypes": null, - "id": 16755, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17476:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17467:16:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16757, - "name": "previousBalanceFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16735, - "src": "17485:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 16758, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17485:29:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16753, - "name": "updateValueAtNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16950, - "src": "17450:16:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct MiniMeToken.Checkpoint storage ref[] storage pointer,uint256)" - } - }, - "id": 16760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17450:65:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16761, - "nodeType": "ExpressionStatement", - "src": "17450:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16763, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16714, - "src": "17534:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 16764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 16765, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16716, - "src": "17545:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16762, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17078, - "src": "17525:8:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 16766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17525:28:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16767, - "nodeType": "ExpressionStatement", - "src": "17525:28:20" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 16768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17570:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 16722, - "id": 16769, - "nodeType": "Return", - "src": "17563:11:20" - } - ] - }, - "documentation": "@notice Burns `_amount` tokens from `_owner`\n @param _owner The address that will lose the tokens\n @param _amount The quantity of tokens to burn\n @return True if the tokens are burned correctly", - "id": 16771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16719, - "modifierName": { - "argumentTypes": null, - "id": 16718, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17139:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17139:14:20" - } - ], - "name": "destroyTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16714, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17109:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17109:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16716, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17125:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17125:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17108:30:20" - }, - "payable": false, - "returnParameters": { - "id": 16722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16721, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16771, - "src": "17170:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16720, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17170:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17169:6:20" - }, - "scope": 17093, - "src": "17086:495:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16782, - "nodeType": "Block", - "src": "17875:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16778, - "name": "transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16115, - "src": "17885:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16779, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16773, - "src": "17904:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17885:36:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16781, - "nodeType": "ExpressionStatement", - "src": "17885:36:20" - } - ] - }, - "documentation": "/////////////\n @notice Enables token holders to transfer their tokens freely if true\n @param _transfersEnabled True if transfers are allowed in the clone", - "id": 16783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 16776, - "modifierName": { - "argumentTypes": null, - "id": 16775, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "17853:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17853:14:20" - } - ], - "name": "enableTransfers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16773, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 16783, - "src": "17829:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16772, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17829:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17828:24:20" - }, - "payable": false, - "returnParameters": { - "id": 16777, - "nodeType": "ParameterList", - "parameters": [], - "src": "17875:0:20" - }, - "scope": 17093, - "src": "17804:124:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 16878, - "nodeType": "Block", - "src": "18402:685:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16793, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18416:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18416:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18438:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18416:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16799, - "nodeType": "IfStatement", - "src": "18412:49:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18460:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16798, - "nodeType": "Return", - "src": "18453:8:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16800, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18517:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16801, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18527:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16806, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16802, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18539:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18539:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18558:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18539:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18527:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18527:43:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18517:53:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16817, - "nodeType": "IfStatement", - "src": "18513:117:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16809, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18591:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16814, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16810, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18603:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18603:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18622:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18603:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18591:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "18591:39:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16816, - "nodeType": "Return", - "src": "18584:46:20" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16818, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18644:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16819, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18653:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16821, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18665:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18653:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18653:24:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "18644:33:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16826, - "nodeType": "IfStatement", - "src": "18640:59:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18698:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 16792, - "id": 16825, - "nodeType": "Return", - "src": "18691:8:20" - } - }, - { - "assignments": [ - 16828 - ], - "declarations": [ - { - "constant": false, - "id": 16828, - "name": "min", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18761:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16827, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18761:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16830, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 16829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18772:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "18761:12:20" - }, - { - "assignments": [ - 16832 - ], - "declarations": [ - { - "constant": false, - "id": 16832, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18783:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16831, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18783:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16833, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18794:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18794:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18794:20:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18783:31:20" - }, - { - "body": { - "id": 16871, - "nodeType": "Block", - "src": "18842:200:20", - "statements": [ - { - "assignments": [ - 16842 - ], - "declarations": [ - { - "constant": false, - "id": 16842, - "name": "mid", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18856:8:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16841, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18856:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16851, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16843, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18868:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 16844, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18874:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18868:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18880:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18868:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 16848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18867:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 16849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18885:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "18867:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18856:30:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16852, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "18904:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16854, - "indexExpression": { - "argumentTypes": null, - "id": 16853, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18916:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18904:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16855, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "18904:26:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 16856, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16788, - "src": "18932:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18904:34:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16869, - "nodeType": "Block", - "src": "18988:44:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16863, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "19006:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16864, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "19012:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19016:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19012:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19006:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16868, - "nodeType": "ExpressionStatement", - "src": "19006:11:20" - } - ] - }, - "id": 16870, - "nodeType": "IfStatement", - "src": "18900:132:20", - "trueBody": { - "id": 16862, - "nodeType": "Block", - "src": "18940:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 16860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 16858, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18958:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 16859, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16842, - "src": "18964:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18958:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16861, - "nodeType": "ExpressionStatement", - "src": "18958:9:20" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16838, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16832, - "src": "18831:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 16839, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "18837:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18831:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 16872, - "nodeType": "WhileStatement", - "src": "18824:218:20" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16873, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16786, - "src": "19058:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16875, - "indexExpression": { - "argumentTypes": null, - "id": 16874, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16828, - "src": "19070:3:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19058:16:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19058:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 16792, - "id": 16877, - "nodeType": "Return", - "src": "19051:29:20" - } - ] - }, - "documentation": "/////////////\n @dev `getValueAt` retrieves the number of tokens at a given block number\n @param checkpoints The history of values being queried\n @param _block The block number to retrieve the value at\n @return The number of tokens being queried", - "id": 16879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getValueAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16786, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18322:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16784, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "18322:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16785, - "length": null, - "nodeType": "ArrayTypeName", - "src": "18322:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16788, - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18356:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16787, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18356:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18321:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16879, - "src": "18396:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "18396:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18395:6:20" - }, - "scope": 17093, - "src": "18302:785:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16949, - "nodeType": "Block", - "src": "19387:470:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 16903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16887, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19402:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19402:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19424:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19402:23:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19401:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16892, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19431:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16897, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16893, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19443:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19443:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19464:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19443:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19431:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "id": 16898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19431:45:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16899, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19479:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19479:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19431:60:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 16902, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19430:62:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19401:91:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 16947, - "nodeType": "Block", - "src": "19705:146:20", - "statements": [ - { - "assignments": [ - 16931 - ], - "declarations": [ - { - "constant": false, - "id": 16931, - "name": "oldCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19719:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16930, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19719:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16938, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16932, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19754:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16937, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16933, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19766:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19766:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 16935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19787:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19766:22:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19754:35:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19719:70:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16939, - "name": "oldCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16931, - "src": "19803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19803:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16943, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19833:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19825:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19825:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19803:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16946, - "nodeType": "ExpressionStatement", - "src": "19803:37:20" - } - ] - }, - "id": 16948, - "nodeType": "IfStatement", - "src": "19397:454:20", - "trueBody": { - "id": 16929, - "nodeType": "Block", - "src": "19494:205:20", - "statements": [ - { - "assignments": [ - 16905 - ], - "declarations": [ - { - "constant": false, - "id": 16905, - "name": "newCheckPoint", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19508:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - }, - "typeName": { - "contractScope": null, - "id": 16904, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19508:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16911, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 16906, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19543:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16910, - "indexExpression": { - "argumentTypes": null, - "id": 16909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "19555:20:20", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16907, - "name": "checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16882, - "src": "19555:11:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage ref[] storage pointer" - } - }, - "id": 16908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19555:18:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19543:33:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage", - "typeString": "struct MiniMeToken.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19508:68:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16912, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19590:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 16090, - "src": "19590:23:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16916, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "19624:5:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 16917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19624:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19616:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19590:47:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16920, - "nodeType": "ExpressionStatement", - "src": "19590:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 16927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16921, - "name": "newCheckPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16905, - "src": "19651:13:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint storage pointer" - } - }, - "id": 16923, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 16092, - "src": "19651:19:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16925, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16884, - "src": "19681:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 16924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19673:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": "uint128" - }, - "id": 16926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19673:15:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "19651:37:20", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "id": 16928, - "nodeType": "ExpressionStatement", - "src": "19651:37:20" - } - ] - } - } - ] - }, - "documentation": "@dev `updateValueAtNow` used to update the `balances` map and the\n `totalSupplyHistory`\n @param checkpoints The history of data being updated\n @param _value The new number of tokens", - "id": 16950, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateValueAtNow", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16882, - "name": "checkpoints", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19331:32:20", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 16880, - "name": "Checkpoint", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16093, - "src": "19331:10:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$16093_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint" - } - }, - "id": 16881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19331:12:20", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$16093_storage_$dyn_storage_ptr", - "typeString": "struct MiniMeToken.Checkpoint[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16884, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 16950, - "src": "19365:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16883, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "19365:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19330:47:20" - }, - "payable": false, - "returnParameters": { - "id": 16886, - "nodeType": "ParameterList", - "parameters": [], - "src": "19387:0:20" - }, - "scope": 17093, - "src": "19305:552:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16971, - "nodeType": "Block", - "src": "20095:169:20", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 16958, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20105:9:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20105:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 16959, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20105:9:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 16962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16960, - "name": "_addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16952, - "src": "20128:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20137:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20128:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 16965, - "nodeType": "IfStatement", - "src": "20124:40:20", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 16963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20159:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 16956, - "id": 16964, - "nodeType": "Return", - "src": "20152:12:20" - } - }, - { - "externalReferences": [ - { - "size": { - "declaration": 16958, - "isOffset": false, - "isSlot": false, - "src": "20198:4:20", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 16952, - "isOffset": false, - "isSlot": false, - "src": "20218:5:20", - "valueSize": 1 - } - } - ], - "id": 16966, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(_addr)\n}", - "src": "20175:75:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16967, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16958, - "src": "20251:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 16968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20256:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20251:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 16956, - "id": 16970, - "nodeType": "Return", - "src": "20244:13:20" - } - ] - }, - "documentation": "@dev Internal function to determine if an address is a contract\n @param _addr The address being queried\n @return True if `_addr` is a contract", - "id": 16972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16952, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20048:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20048:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20047:15:20" - }, - "payable": false, - "returnParameters": { - "id": 16956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16972, - "src": "20089:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 16954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20089:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20088:6:20" - }, - "scope": 17093, - "src": "20028:236:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 16988, - "nodeType": "Block", - "src": "20394:37:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 16983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 16981, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20411:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 16982, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20415:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20411:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 16985, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16976, - "src": "20423:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20411:13:20", - "trueExpression": { - "argumentTypes": null, - "id": 16984, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16974, - "src": "20419:1:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16980, - "id": 16987, - "nodeType": "Return", - "src": "20404:20:20" - } - ] - }, - "documentation": "@dev Helper function to return a min betwen the two uints", - "id": 16989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16974, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20349:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16973, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20349:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16976, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20357:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16975, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20357:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20348:16:20" - }, - "payable": false, - "returnParameters": { - "id": 16980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16979, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16989, - "src": "20388:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 16978, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "20388:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20387:6:20" - }, - "scope": 17093, - "src": "20336:95:20", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 17014, - "nodeType": "Block", - "src": "20704:209:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 16994, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20733:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16993, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16972, - "src": "20722:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 16995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20722:22:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16992, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20714:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 16996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20714:31:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 16997, - "nodeType": "ExpressionStatement", - "src": "20714:31:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20886:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20886:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "20875:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20875:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17000, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "20844:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 16999, - "name": "ITokenController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16027, - "src": "20827:16:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenController_$16027_$", - "typeString": "type(contract ITokenController)" - } - }, - "id": 17001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:28:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 17002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "proxyPayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 16004, - "src": "20827:41:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20827:47:20", - "typeDescriptions": { - "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$_t_bool_$value_$", - "typeString": "function (uint256) returns (function (address) payable external returns (bool))" - } - }, - "id": 17006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:58:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$returns$_t_bool_$value", - "typeString": "function (address) payable external returns (bool)" - } - }, - "id": 17009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20827:70:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 17010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20901:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "20827:78:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "20819:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 17012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20819:87:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17013, - "nodeType": "ExpressionStatement", - "src": "20819:87:20" - } - ] - }, - "documentation": "@notice The fallback function: If the contract's controller has not been\n set to 0, then the `proxyPayment` method is called which relays the\n ether and creates tokens as described in the token controller contract", - "id": 17015, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16990, - "nodeType": "ParameterList", - "parameters": [], - "src": "20684:2:20" - }, - "payable": true, - "returnParameters": { - "id": 16991, - "nodeType": "ParameterList", - "parameters": [], - "src": "20704:0:20" - }, - "scope": 17093, - "src": "20675:238:20", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17061, - "nodeType": "Block", - "src": "21272:306:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 17024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17022, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 17023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21296:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "21286:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17034, - "nodeType": "IfStatement", - "src": "21282:97:20", - "trueBody": { - "id": 17033, - "nodeType": "Block", - "src": "21301:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17028, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21335:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21335:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17025, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21315:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 17027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21315:19:20", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21315:33:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17031, - "nodeType": "ExpressionStatement", - "src": "21315:33:20" - }, - { - "expression": null, - "functionReturnParameters": 17021, - "id": 17032, - "nodeType": "Return", - "src": "21362:7:20" - } - ] - } - }, - { - "assignments": [ - 17036 - ], - "declarations": [ - { - "constant": false, - "id": 17036, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21389:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17035, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "21389:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17038, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21421:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17037, - "name": "MiniMeToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17093, - "src": "21409:11:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$17093_$", - "typeString": "type(contract MiniMeToken)" - } - }, - "id": 17039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21409:19:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21389:39:20" - }, - { - "assignments": [ - 17042 - ], - "declarations": [ - { - "constant": false, - "id": 17042, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21438:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17041, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21438:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17047, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17045, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29877, - "src": "21469:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "expression": { - "argumentTypes": null, - "id": 17043, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21453:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "21453:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 17046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21453:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21438:36:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17051, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21499:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17052, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21511:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17048, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17036, - "src": "21484:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 16189, - "src": "21484:14:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 17053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21484:35:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17054, - "nodeType": "ExpressionStatement", - "src": "21484:35:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17056, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17017, - "src": "21543:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17057, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16043, - "src": "21551:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17058, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17042, - "src": "21563:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17055, - "name": "ClaimedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17070, - "src": "21529:13:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 17059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21529:42:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17060, - "nodeType": "ExpressionStatement", - "src": "21529:42:20" - } - ] - }, - "documentation": "///////\n @notice This method can be used by the controller to extract mistakenly\n sent tokens to this contract.\n @param _token The address of the token contract that you want to recover\n set to 0 in case you want to extract ether.", - "id": 17062, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17020, - "modifierName": { - "argumentTypes": null, - "id": 17019, - "name": "onlyController", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16041, - "src": "21250:14:20", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21250:14:20" - } - ], - "name": "claimTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17017, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17062, - "src": "21234:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17016, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21233:16:20" - }, - "payable": false, - "returnParameters": { - "id": 17021, - "nodeType": "ParameterList", - "parameters": [], - "src": "21272:0:20" - }, - "scope": 17093, - "src": "21213:365:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "/////////////", - "id": 17070, - "name": "ClaimedTokens", - "nodeType": "EventDefinition", - "parameters": { - "id": 17069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17064, - "indexed": true, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21648:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17063, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21648:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17066, - "indexed": true, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21672:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21672:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17068, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17070, - "src": "21701:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17067, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21701:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21647:67:20" - }, - "src": "21628:87:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17078, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 17077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17072, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21735:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21735:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17074, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21758:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17076, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17078, - "src": "21779:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21779:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21734:61:20" - }, - "src": "21720:76:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17084, - "name": "NewCloneToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 17083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17080, - "indexed": true, - "name": "_cloneToken", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21821:27:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21821:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17082, - "indexed": false, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17084, - "src": "21850:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21850:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21820:50:20" - }, - "src": "21801:70:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 17092, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 17091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17086, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21900:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21900:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17088, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21932:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21932:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17090, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 17092, - "src": "21966:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21966:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21890:101:20" - }, - "src": "21876:116:20" - } - ], - "scope": 17135, - "src": "2122:19873:20" - }, - { - "baseContracts": [], - "contractDependencies": [ - 17093 - ], - "contractKind": "contract", - "documentation": "/////////////\n @dev This contract is used to generate clone contracts from a contract.\n In solidity this is the way to create a contract from a contract of the\n same class", - "fullyImplemented": true, - "id": 17134, - "linearizedBaseContracts": [ - 17134 - ], - "name": "MiniMeTokenFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 17132, - "nodeType": "Block", - "src": "23149:318:20", - "statements": [ - { - "assignments": [ - 17111 - ], - "declarations": [ - { - "constant": false, - "id": 17111, - "name": "newToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23159:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17110, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23159:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17114, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29879, - "src": "23211:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - } - }, - { - "argumentTypes": null, - "id": 17115, - "name": "_parentToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17095, - "src": "23229:12:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - { - "argumentTypes": null, - "id": 17116, - "name": "_snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17097, - "src": "23255:14:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17117, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17099, - "src": "23283:10:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17118, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17101, - "src": "23307:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 17119, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17103, - "src": "23334:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 17120, - "name": "_transfersEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17105, - "src": "23360:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeTokenFactory_$17134", - "typeString": "contract MiniMeTokenFactory" - }, - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 17113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "23182:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_MiniMeTokenFactory_$17134_$_t_contract$_MiniMeToken_$17093_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function (contract MiniMeTokenFactory,contract MiniMeToken,uint256,string memory,uint8,string memory,bool) returns (contract MiniMeToken)" - }, - "typeName": { - "contractScope": null, - "id": 17112, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23186:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - }, - "id": 17121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23182:205:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23159:228:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17126, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "23424:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23424:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 17123, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23398:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "changeController", - "nodeType": "MemberAccess", - "referencedDeclaration": 16064, - "src": "23398:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 17128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23398:37:20", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17129, - "nodeType": "ExpressionStatement", - "src": "23398:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 17130, - "name": "newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17111, - "src": "23452:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "functionReturnParameters": 17109, - "id": 17131, - "nodeType": "Return", - "src": "23445:15:20" - } - ] - }, - "documentation": "@notice Update the DApp by creating a new token with new functionalities\n the msg.sender becomes the controller of this clone token\n @param _parentToken Address of the token being cloned\n @param _snapshotBlock Block of the parent token that will\n determine the initial distribution of the clone token\n @param _tokenName Name of the new token\n @param _decimalUnits Number of decimals of the new token\n @param _tokenSymbol Token Symbol for the new token\n @param _transfersEnabled If true, tokens will be able to be transferred\n @return The address of the new token contract", - "id": 17133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCloneToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17095, - "name": "_parentToken", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22939:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17094, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "22939:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17097, - "name": "_snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "22973:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "22973:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17099, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23002:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23002:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17101, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23029:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 17100, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23029:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17103, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23058:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17102, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23058:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17105, - "name": "_transfersEnabled", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23087:22:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17104, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23087:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22929:186:20" - }, - "payable": false, - "returnParameters": { - "id": 17109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17108, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17133, - "src": "23132:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17107, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "23132:11:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23131:13:20" - }, - "scope": 17134, - "src": "22904:563:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 17135, - "src": "22224:1245:20" - } - ], - "src": "0:23469:20" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.526Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Payroll.json b/templates/multisig/build/contracts/Payroll.json deleted file mode 100644 index 7b881b7..0000000 --- a/templates/multisig/build/contracts/Payroll.json +++ /dev/null @@ -1,52949 +0,0 @@ -{ - "contractName": "Payroll", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MANAGE_ALLOWED_TOKENS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextEmployee", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MODIFY_RATE_EXPIRY_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "finance", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_BONUS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feed", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SET_EMPLOYEE_SALARY_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MODIFY_PRICE_FEED_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TERMINATE_EMPLOYEE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_REIMBURSEMENT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rateExpiryTime", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_EMPLOYEE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "denominationToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": true, - "name": "accountAddress", - "type": "address" - }, - { - "indexed": false, - "name": "initialDenominationSalary", - "type": "uint256" - }, - { - "indexed": false, - "name": "startDate", - "type": "uint64" - }, - { - "indexed": false, - "name": "role", - "type": "string" - } - ], - "name": "AddEmployee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": false, - "name": "endDate", - "type": "uint64" - } - ], - "name": "TerminateEmployee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": false, - "name": "denominationSalary", - "type": "uint256" - } - ], - "name": "SetEmployeeSalary", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "AddEmployeeAccruedSalary", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "AddEmployeeBonus", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "AddEmployeeReimbursement", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": true, - "name": "newAccountAddress", - "type": "address" - }, - { - "indexed": true, - "name": "oldAccountAddress", - "type": "address" - } - ], - "name": "ChangeAddressByEmployee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - } - ], - "name": "DetermineAllocation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "employeeId", - "type": "uint256" - }, - { - "indexed": true, - "name": "accountAddress", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "exchangeRate", - "type": "uint256" - }, - { - "indexed": false, - "name": "paymentReference", - "type": "string" - } - ], - "name": "SendPayment", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "allowed", - "type": "bool" - } - ], - "name": "SetAllowedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "feed", - "type": "address" - } - ], - "name": "SetPriceFeed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "time", - "type": "uint64" - } - ], - "name": "SetRateExpiryTime", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_finance", - "type": "address" - }, - { - "name": "_denominationToken", - "type": "address" - }, - { - "name": "_priceFeed", - "type": "address" - }, - { - "name": "_rateExpiryTime", - "type": "uint64" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_allowed", - "type": "bool" - } - ], - "name": "setAllowedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_feed", - "type": "address" - } - ], - "name": "setPriceFeed", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_time", - "type": "uint64" - } - ], - "name": "setRateExpiryTime", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_accountAddress", - "type": "address" - }, - { - "name": "_initialDenominationSalary", - "type": "uint256" - }, - { - "name": "_startDate", - "type": "uint64" - }, - { - "name": "_role", - "type": "string" - } - ], - "name": "addEmployee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "addBonus", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "addReimbursement", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - }, - { - "name": "_denominationSalary", - "type": "uint256" - } - ], - "name": "setEmployeeSalary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - }, - { - "name": "_endDate", - "type": "uint64" - } - ], - "name": "terminateEmployee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newAccountAddress", - "type": "address" - } - ], - "name": "changeAddressByEmployee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_tokens", - "type": "address[]" - }, - { - "name": "_distribution", - "type": "uint256[]" - } - ], - "name": "determineAllocation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_type", - "type": "uint8" - }, - { - "name": "_requestedAmount", - "type": "uint256" - }, - { - "name": "_minRates", - "type": "uint256[]" - } - ], - "name": "payday", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isForwarder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_evmScript", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "", - "type": "bytes" - } - ], - "name": "canForward", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_accountAddress", - "type": "address" - } - ], - "name": "getEmployeeIdByAddress", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - } - ], - "name": "getEmployee", - "outputs": [ - { - "name": "accountAddress", - "type": "address" - }, - { - "name": "denominationSalary", - "type": "uint256" - }, - { - "name": "accruedSalary", - "type": "uint256" - }, - { - "name": "bonus", - "type": "uint256" - }, - { - "name": "reimbursements", - "type": "uint256" - }, - { - "name": "lastPayroll", - "type": "uint64" - }, - { - "name": "endDate", - "type": "uint64" - }, - { - "name": "allocationTokens", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - } - ], - "name": "getTotalOwedSalary", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_employeeId", - "type": "uint256" - }, - { - "name": "_token", - "type": "address" - } - ], - "name": "getAllocation", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "isTokenAllowed", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f6000805160206200523283398151915264010000000062002e486200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620052328339815191528264010000000062002e4c6200023782021704565b50565b5490565b9055565b614fe7806200024b6000396000f3006080604052600436106102005763ffffffff60e060020a6000350416630803fac081146102055780630a0c75aa1461022e5780631216906b1461024b5780631bb440b11461026c5780631bfe5f61146102935780632350a84d146102a857806327e02676146102cd5780632914b9bd146102f15780632ee235ef14610366578063313b7b191461037b57806332f0a3b51461039057806335285a0f146103a557806337a7b7d8146103ba5780633fe3f1cf146103cf578063456fbfea146104095780634fd52f421461041e578063595da729146104405780637100650e14610455578063724e78da1461046a5780637e7db6e11461048b57806380afdea8146104ac57806388ea9247146104c15780638aaa2284146104d65780638b3dd749146104fc5780639d4941d814610511578063a1658fad14610532578063a479e50814610599578063a52e605f146105ae578063b02b69d6146105c6578063b7cafcc8146105e1578063bca9a5c5146105fc578063bef80ce1146106d3578063bf510ff414610705578063c0774df31461071a578063d4aae0c414610781578063d948d46814610796578063dcb33f3e146107ef578063de4796ed1461081a578063ea199a831461082f578063f6b9fdfb1461086e578063f9eaee0d14610883578063fd64eccb146108a4578063fe2fdf0b146108b9578063ffd5acad146108e5575b600080fd5b34801561021157600080fd5b5061021a610906565b604080519115158252519081900360200190f35b34801561023a57600080fd5b50610249600435602435610930565b005b34801561025757600080fd5b50610249600160a060020a0360043516610b49565b34801561027857600080fd5b50610281610d31565b60408051918252519081900360200190f35b34801561029f57600080fd5b50610281610d55565b3480156102b457600080fd5b5061024960043567ffffffffffffffff60243516610d5b565b3480156102d957600080fd5b50610281600435600160a060020a0360243516610ea0565b3480156102fd57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261034a943694929360249392840191908190840183828082843750949750610f519650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561037257600080fd5b50610281611039565b34801561038757600080fd5b5061034a61105d565b34801561039c57600080fd5b5061034a61106c565b3480156103b157600080fd5b506102816110e5565b3480156103c657600080fd5b5061034a611109565b3480156103db57600080fd5b50610249600160a060020a036004358116906024358116906044351667ffffffffffffffff60643516611118565b34801561041557600080fd5b5061028161128b565b34801561042a57600080fd5b5061024967ffffffffffffffff600435166112af565b34801561044c57600080fd5b5061028161137b565b34801561046157600080fd5b5061028161139f565b34801561047657600080fd5b50610249600160a060020a03600435166113c3565b34801561049757600080fd5b5061021a600160a060020a0360043516611485565b3480156104b857600080fd5b5061028161148b565b3480156104cd57600080fd5b506102816114bb565b3480156104e257600080fd5b50610249600160a060020a036004351660243515156114df565b34801561050857600080fd5b50610281611696565b34801561051d57600080fd5b50610249600160a060020a03600435166116c1565b34801561053e57600080fd5b50604080516020600460443581810135838102808601850190965280855261021a958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506119509650505050505050565b3480156105a557600080fd5b5061034a611aa0565b3480156105ba57600080fd5b50610281600435611b87565b3480156105d257600080fd5b50610249600435602435611c28565b3480156105ed57600080fd5b50610249600435602435611d5c565b34801561060857600080fd5b50610614600435611e90565b6040518089600160a060020a0316600160a060020a031681526020018881526020018781526020018681526020018581526020018467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156106b85781810151838201526020016106a0565b50505050905001995050505050505050505060405180910390f35b3480156106df57600080fd5b506106e861200b565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561071157600080fd5b50610281612022565b34801561072657600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261021a958335600160a060020a03169536956044949193909101919081908401838280828437509497506120469650505050505050565b34801561078d57600080fd5b5061034a61206f565b3480156107a257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261024994369492936024939284019190819084018382808284375094975061209a9650505050505050565b3480156107fb57600080fd5b506102496004803560ff1690602480359160443591820191013561219d565b34801561082657600080fd5b5061021a6125df565b34801561083b57600080fd5b5061024960048035600160a060020a031690602480359160443567ffffffffffffffff16916064359081019101356125f2565b34801561087a57600080fd5b5061034a6126ed565b34801561088f57600080fd5b5061021a600160a060020a03600435166126fc565b3480156108b057600080fd5b5061021a6127ac565b3480156108c557600080fd5b5061024960246004803582810192908201359181359182019101356127b1565b3480156108f157600080fd5b50610281600160a060020a0360043516612c1d565b600080610911611696565b90508015801590610929575080610926612cca565b10155b91505b5090565b60008281526004602052604081206001015481907fea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d906109739086908690612cce565b61097e338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515610a2e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109f35781810151838201526020016109db565b50505050905090810190601f168015610a205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5085610a3981612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515610aad5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008781526004602052604081209550610ac9908690612d64565b9350610ad58785612dd3565b610add612e36565b60058601805467ffffffffffffffff9290921667ffffffffffffffff199092169190911790556001850186905560408051878152905188917fec4f21c1230ce7d88517d17b1f8ae85725a029dc2066fe2ed6401f1b01024e05919081900360200190a250505050505050565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c833981519152928201929092529192839291600160a060020a031614610be65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610bfe600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c83398151915260208201529015610c715760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610c91600080516020614f9c833981519152600163ffffffff612e4c16565b505033600090815260056020908152604080832054808452600490925290912054600160a060020a0316610cc58284612e50565b600160a060020a0380821660008181526005602052604080822082905551919286169185917f5a3949ffa1f5851afea532ad9d4c7dfb51bf68f7d5964ff77f3bb4c0abedbbe491a4610d2c600080516020614f9c833981519152600063ffffffff612e4c16565b505050565b7f0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c0681565b60035481565b7f69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea9242610d908367ffffffffffffffff8416612fbb565b610d9b338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515610e0f5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083610e1a81612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515610e8e5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613016565b5050505050565b600082610eac81613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515610f205760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506000848152600460209081526040808320600160a060020a038716845260070190915290205491505b5092915050565b6000610f5b611aa0565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb9578181015183820152602001610fa1565b50505050905090810190601f168015610fe65780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561100557600080fd5b505af1158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505190505b919050565b7f79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e81565b600054600160a060020a031681565b600061107661206f565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b505190505b90565b7fceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae81565b600254600160a060020a031681565b611120611696565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156111a55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506111ae613150565b6111b784613218565b60408051808201909152601c81527f504159524f4c4c5f46494e414e43455f4e4f545f434f4e545241435400000000602082015290151561123d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008054600160a060020a03808716600160a060020a03199283161790925560018054928616929091169190911790556112778261323e565b6112808161331e565b505060016003555050565b7fea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d81565b6002547f79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e906112f29067ffffffffffffffff8085169160a060020a900416612fbb565b6112fd338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156113715760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610d2c8361331e565b7f74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb930281565b7f69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea924281565b6002547f74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb9302906113fc908390600160a060020a031661342c565b611407338383611950565b60408051808201909152600f8152600080516020614efc833981519152602082015290151561147b5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610d2c8361323e565b50600190565b60006114b67fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612e48565b905090565b7f90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a1681565b7f0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c066115098361344a565b611514338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156115885760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038416600090815260066020908152604091829020548251808401909352601983527f504159524f4c4c5f544f4b454e5f414c52454144595f534554000000000000009183019190915260ff16151584151514156116335760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038416600081815260066020908152604091829020805460ff1916871515908117909155825190815291517fe589eb036e62c07e307aa4d441bd39c81e8bd86f349eaacb0caa06b1477f7f9a9281900390910190a250505050565b60006114b67febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612e48565b60008060006116cf84611485565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156117555760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061175e61106c565b925061176983613218565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156117ef5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a03841615156118405760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801561183a573d6000803e3d6000fd5b506118ff565b508261185b600160a060020a0382163063ffffffff61346216565b9150611877600160a060020a038216848463ffffffff61356216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156118fd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008061195b610906565b151561196a5760009150611a98565b61197261206f565b9050600160a060020a038116151561198d5760009150611a98565b80600160a060020a031663fdef91068630876119a8886135d8565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611a1a578181015183820152602001611a02565b50505050905090810190601f168015611a475780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611a6957600080fd5b505af1158015611a7d573d6000803e3d6000fd5b505050506040513d6020811015611a9357600080fd5b505191505b509392505050565b600080611aab61206f565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015611b5557600080fd5b505af1158015611b69573d6000803e3d6000fd5b505050506040513d6020811015611b7f57600080fd5b505192915050565b600081611b9381613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515611c075760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506000838152600460205260409020611c1f906135e2565b91505b50919050565b7fceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae611c538383612fbb565b611c5e338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515611cd25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083611cdd81612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515611d515760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613615565b7f90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a16611d878383612fbb565b611d92338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515611e065760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083611e1181612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515611e855760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613678565b60008060008060008060006060600089611ea981613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515611f1d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600460008c815260200190815260200160002091508160000160009054906101000a9004600160a060020a03169950816001015498508160020154975081600301549650816004015495508160050160009054906101000a900467ffffffffffffffff1694508160050160089054906101000a900467ffffffffffffffff16935081600601805480602002602001604051908101604052809291908181526020018280548015611ff757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611fd9575b505050505092505050919395975091939597565b60025460a060020a900467ffffffffffffffff1681565b7f9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e81565b600160a060020a03821660009081526005602052604081205461206890612d47565b9392505050565b60006114b67f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612e48565b6060806120a73384612046565b60408051808201909152601781527f504159524f4c4c5f43414e5f4e4f545f464f5257415244000000000000000000602082015290151561212d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506040805160008152600160208083018281526060840185529295509192909190850190803883395050600080548351939450600160a060020a031692849250811061217557fe5b600160a060020a039092166020928302909101909101526121978383836136dd565b50505050565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c833981519152928201929092529192839283928392839283929091600160a060020a03909116146122455760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061225d600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c833981519152602082015290156122d05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506122f0600080516020614f9c833981519152600163ffffffff612e4c16565b336000908152600560209081526040808320548084526004909252909120909550935061231c84613ce2565b86158061232c5750600684015487145b60408051808201909152601a81527f504159524f4c4c5f4d494e5f52415445535f4d49534d4154434800000000000060208201529015156123b25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008a60028111156123c157fe5b14156123ed576123d0846135e2565b92506123dc838a613ee2565b95506123e88487614002565b6124eb565b60018a60028111156123fb57fe5b141561242e5783600401549150612412828a613ee2565b9550612424828763ffffffff61416b16565b60048501556124eb565b60028a600281111561243c57fe5b141561246e57506003830154612452818a613ee2565b9550612464818763ffffffff61416b16565b60038501556124eb565b604080518082018252601c81527f504159524f4c4c5f494e56414c49445f5041594d454e545f54595045000000006020808301918252925160e560020a62461bcd028152600481019384528251602482015282519293928392604490920191908083836000838110156109f35781810151838201526020016109db565b612524858b888b8b80806020026020016040519081016040528093929190818152602001838360200280828437506141ff945050505050565b60408051808201909152601481527f504159524f4c4c5f4e4f5448494e475f5041494400000000000000000000000060208201529015156125aa5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506125b48561460d565b6125d3600080516020614f9c833981519152600063ffffffff612e4c16565b50505050505050505050565b60006000196125ec611696565b14905090565b7f9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e612628868667ffffffffffffffff87166146e8565b612633338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156126a75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506126e487878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750614706945050505050565b50505050505050565b600154600160a060020a031681565b6000612706610906565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a4544000000000000000000000000602082015290151561278c5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5050600160a060020a031660009081526006602052604090205460ff1690565b600190565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c83398151915292820192909252919283926060928492839291600160a060020a0316146128555760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061286d600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c833981519152602082015290156128e05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50612900600080516020614f9c833981519152600163ffffffff612e4c16565b60408051808201909152601a81527f504159524f4c4c5f4d41585f414c4c4f5745445f544f4b454e53000000000000602082015260148911156129885760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060408051606081018252602181527f504159524f4c4c5f544f4b454e5f414c4c4f434154494f4e5f4d49534d41544360208201527f480000000000000000000000000000000000000000000000000000000000000091810191909152888714612a375760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5033600090815260056020908152604080832054808452600483529281902060068101805483518186028101860190945280845294995090975090929091830182828015612aae57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311612a90575b50505050509250600091505b8251821015612b07578360070160008484815181101515612ad757fe5b6020908102909101810151600160a060020a03168252810191909152604001600090812055600190910190612aba565b612b15600685016000614ec0565b5060005b87811015612bbf5760068401898983818110612b3157fe5b83546001810185556000948552602094859020018054600160a060020a031916600160a060020a039590920293909301359390931692909217905550868682818110612b7957fe5b905060200201358460070160008b8b858181101515612b9457fe5b60209081029290920135600160a060020a031683525081019190915260400160002055600101612b19565b612bc884613ce2565b60405185907f2e68f13a32c51068abe241b8c7db891d265385114938311f83a31583b2a11d7a90600090a2612c12600080516020614f9c833981519152600063ffffffff612e4c16565b505050505050505050565b600160a060020a0381166000908152600560209081526040808320548151808301909252601d8252600080516020614f7c83398151915292820192909252901515612cad5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5050600160a060020a031660009081526005602052604090205490565b4390565b6040805160038082526080820190925260609160208201838038833901905050905083816000815181101515612d0057fe5b602090810290910101528051839082906001908110612d1b57fe5b602090810290910101528051829082906002908110612d3657fe5b602090810290910101529392505050565b6000818152600460205260408120612d5e90614842565b92915050565b600080600080612d7386614876565b9250821515612d855760009350612dca565b856001015491508415612dba5750808202818382811515612da257fe5b041415612daf5780612db3565b6000195b9350612dca565b612db3828463ffffffff6148ef16565b50505092915050565b60008281526004602052604090206002810154612df6908363ffffffff61499a16565b600282015560408051838152905184917f494c76e58dab1186acc63fd537885795bd237ae0feb2d4d3f6092ca77f594f83919081900360200190a2505050565b60006114b6612e43614a28565b614a2c565b5490565b9055565b60408051808201909152601d81527f504159524f4c4c5f454d504c4f5945455f4e554c4c5f414444524553530000006020820152600160a060020a0382161515612edf5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038116600090815260056020908152604091829020548251808401909352601e83527f504159524f4c4c5f454d504c4f5945455f414c52454144595f455849535400009183019190915215612f815760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008281526004602090815260408083208054600160a060020a03909516600160a060020a031990951685179055928252600590522055565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515612feb57fe5b60209081029091010152805182908290600190811061300657fe5b6020908102909101015292915050565b61301e612e36565b60408051808201909152601d81527f504159524f4c4c5f504153545f5445524d494e4154494f4e5f4441544500000060208201529067ffffffffffffffff90811690831610156130b35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008281526004602090815260409182902060050180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff8616908102919091179091558251908152915184927f64eed8d28fe1c502b235bba967ed50243ed5fbda55daa5388ede25613185f8af92908290030190a25050565b600090815260046020526040902054600160a060020a0316151590565b613158611696565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131dd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506132166131e9612cca565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612e4c16565b565b600080600160a060020a03831615156132345760009150611c22565b50506000903b1190565b61324781613218565b60408051808201909152601981527f504159524f4c4c5f464545445f4e4f545f434f4e54524143540000000000000060208201529015156132cd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060028054600160a060020a031916600160a060020a0383811691909117918290556040519116907ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d90600090a250565b60408051808201909152601d81527f504159524f4c4c5f4558504952595f54494d455f544f4f5f53484f52540000006020820152603c67ffffffffffffffff831610156133b05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506002805467ffffffffffffffff80841660a060020a9081027bffffffffffffffff0000000000000000000000000000000000000000199093169290921792839055604080519290930416815290517f79f849dfd7cf0efc92191ac811c877afb4d27891c560189c77117e755b103a3e9181900360200190a150565b606061206883600160a060020a031683600160a060020a0316612fbb565b6060612d5e82600160a060020a0316614ac9565b5490565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806134cd8684614b0a565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156135585760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906135cf8582614b3b565b95945050505050565b8051602002815290565b60008060006135f2846001612d64565b91508360020154820190508181101561360a57506000195b8092505b5050919050565b60008281526004602052604090206003810154613638908363ffffffff61499a16565b600382015560408051838152905184917f02eaf727c9cb2b9ae1c0d973092bfa6431d79978bf1db9f57ec4279a8c1eb85a919081900360200190a2505050565b60008281526004602081905260409091209081015461369d908363ffffffff61499a16565b600482015560408051838152905184917f594fd22b20a17265cf2b4459acd7f1b6fa11f6a0046fa052bba6ef7f1ee95392919081900360200190a2505050565b60606000806060806136ed610906565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156137735760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008061377f61206f565b915061378961148b565b90506137948a610f51565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a03871615156138265760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561389c578181015183820152602001613884565b50505050905090810190601f1680156138c95780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156138fc5781810151838201526020016138e4565b50505050905090810190601f1680156139295780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b8381101561395e578181015183820152602001613946565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af46040519350808015613a2257603f3d1180156139d75760203d03806020883e8601604052613a1c565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b50613a2b565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015613aa0578181015183820152602001613a88565b50505050905090810190601f168015613acd5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015613b00578181015183820152602001613ae8565b50505050905090810190601f168015613b2d5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015613b60578181015183820152602001613b48565b50505050905090810190601f168015613b8d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613bb361206f565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400815250901515613c455760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5080613c4f61148b565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f4449464945440060208201529114613cd45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050505050509392505050565b600060606000806000935084600601805480602002602001604051908101604052809291908181526020018280548015613d4557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311613d27575b50505050509250600091505b8251821015613e53578282815181101515613d6857fe5b6020908102909101810151600160a060020a038116600090815260068352604090819020548151808301909252601982527f504159524f4c4c5f4e4f545f414c4c4f5745445f544f4b454e00000000000000938201939093529092509060ff161515613e195760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a0381166000908152600786016020526040902054613e4690859063ffffffff61499a16565b9350600190910190613d51565b60408051808201909152601d81527f504159524f4c4c5f444953545249425554494f4e5f4e4f545f46554c4c000000602082015260648514613eda5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050505050565b60408051808201909152601481527f504159524f4c4c5f4e4f5448494e475f504149440000000000000000000000006020820152600090818411613f6b5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060408051808201909152601d81527f504159524f4c4c5f494e56414c49445f5245515545535445445f414d54000000602082015282841015613ff35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008211611c225782612068565b6002820154600080808080858711614021578686036002890155614161565b869450600086111561403a576000600289015585870394505b60018801549350614051858563ffffffff614b8916565b9250838581151561405e57fe5b06915060008211156140865761407b83600163ffffffff61499a16565b82850360028a015592505b60058801546140a59067ffffffffffffffff168463ffffffff61499a16565b90506140af612e36565b60408051808201909152601981527f504159524f4c4c5f4c4153545f444154455f544f4f5f4249470000000000000060208201529067ffffffffffffffff168211156141405760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060058801805467ffffffffffffffff191667ffffffffffffffff83161790555b5050505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156141f75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050900390565b6000808060608180808080808b151561421b57600099506145fc565b60008e81526004602052604090208054909950600160a060020a031697506142428d614c29565b9650886006019550600094505b85548510156145fc57858581548110151561426657fe5b6000918252602080832090910154600160a060020a031680835260078c01909152604090912054909450925082156145f1576142a184614d15565b915060008b51116142b557600082116142d1565b8a858151811015156142c357fe5b906020019060200201518210155b60408051808201909152601d81527f504159524f4c4c5f45584348414e47455f524154455f544f4f5f4c4f5700000060208201529015156143575760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506143788361436c8e8563ffffffff6148ef16565b9063ffffffff6148ef16565b9050614419600260009054906101000a9004600160a060020a0316600160a060020a031663f40a04486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156143d057600080fd5b505af11580156143e4573d6000803e3d6000fd5b505050506040513d60208110156143fa57600080fd5b505161440d83606463ffffffff614b8916565b9063ffffffff614b8916565b90506000809054906101000a9004600160a060020a0316600160a060020a031663f6364846858a848b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156144c75781810151838201526020016144af565b50505050905090810190601f1680156144f45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561451657600080fd5b505af115801561452a573d6000803e3d6000fd5b5050505083600160a060020a031688600160a060020a03168f7fc517ef2ebef7336f05f233ebf372c7096b88120031a6cfd2e3b1bb7697ae7bf984868c6040518084815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156145b0578181015183820152602001614598565b50505050905090810190601f1680156145dd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4600199505b60019094019361424f565b505050505050505050949350505050565b6000818152600460205260409020600581015467ffffffffffffffff80821668010000000000000000909204161480156146645750600281015415801561465657506003810154155b801561466457506004810154155b156146e4578054600160a060020a0316600090815260056020818152604080842084905585845260049182905283208054600160a060020a031916815560018101849055600281018490556003810184905590810183905590810180546fffffffffffffffffffffffffffffffff19169055906121976006830182614ec0565b5050565b60606146fe84600160a060020a03168484612cce565b949350505050565b6003805460018101909155600061471d8287612e50565b506000818152600460209081526040808320600181018890556005810180546fffffffffffffffff00000000000000001967ffffffffffffffff8a1667ffffffffffffffff199092168217166fffffffffffffffff000000000000000017909155825189815280850191909152606092810183815287519382019390935286519194600160a060020a038b169487947f3ffb58fcadedbe7d45e1447eaeeba102f5ac5bbd44b7b99eab1dff2772d07225948c948c948c9491939260808501928601918190849084905b838110156147fe5781810151838201526020016147e6565b50505050905090810190601f16801561482b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050565b600061484c612e36565b600583015467ffffffffffffffff9182166801000000000000000090910490911610159050919050565b60008061488283614842565b6148a657600583015468010000000000000000900467ffffffffffffffff166148ae565b6148ae612e36565b600584015490915067ffffffffffffffff908116908216116148d35760009150611c22565b600583015467ffffffffffffffff908116820316915050919050565b6000808315156149025760009150610f4a565b5082820282848281151561491257fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414611a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015611a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115614abe5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5090919050565b9055565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181101515614afb57fe5b60209081029091010152919050565b6000806000806040516020818751602089018a5afa92506000831115614b2f57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115614b7f573d8015614b6c5760208114614b7557614b7d565b60019350614b7d565b600183511493505b505b5090949350505050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411614c145760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b508284811515614c2057fe5b04949350505050565b60606000826002811115614c3957fe5b1415614c79575060408051808201909152600f81527f456d706c6f7965652073616c61727900000000000000000000000000000000006020820152611034565b6001826002811115614c8757fe5b1415614cc7575060408051808201909152601681527f456d706c6f796565207265696d62757273656d656e74000000000000000000006020820152611034565b6002826002811115614cd557fe5b141561246e575060408051808201909152600e81527f456d706c6f79656520626f6e75730000000000000000000000000000000000006020820152611034565b600254600154604080517fd81e8423000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152848316602482015281516000948594859491169263d81e8423926044808301939282900301818787803b158015614d8857600080fd5b505af1158015614d9c573d6000803e3d6000fd5b505050506040513d6040811015614db257600080fd5b508051602090910151600254919350915060a060020a900467ffffffffffffffff16614df682614de0612e36565b67ffffffffffffffff169063ffffffff614e2716565b67ffffffffffffffff1610614e0e576000925061360e565b506fffffffffffffffffffffffffffffffff1692915050565b60408051808201909152601481527f4d41544836345f5355425f554e444552464c4f570000000000000000000000006020820152600090819067ffffffffffffffff80861690851611156141f75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5080546000825590600052602060002090810190614ede9190614ee1565b50565b6110e291905b8082111561092c5760008155600101614ee756004150505f415554485f4641494c454400000000000000000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c00000000000000504159524f4c4c5f53454e4445525f444f45535f4e4f545f4d41544348000000504159524f4c4c5f4e4f4e5f4143544956455f454d504c4f5945450000000000504159524f4c4c5f454d504c4f5945455f444f45534e545f4558495354000000e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacba165627a7a723058205309edc5f032f0c04d4df3920dba832c929f34759a999515a7bb4d02b8917b7e0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106102005763ffffffff60e060020a6000350416630803fac081146102055780630a0c75aa1461022e5780631216906b1461024b5780631bb440b11461026c5780631bfe5f61146102935780632350a84d146102a857806327e02676146102cd5780632914b9bd146102f15780632ee235ef14610366578063313b7b191461037b57806332f0a3b51461039057806335285a0f146103a557806337a7b7d8146103ba5780633fe3f1cf146103cf578063456fbfea146104095780634fd52f421461041e578063595da729146104405780637100650e14610455578063724e78da1461046a5780637e7db6e11461048b57806380afdea8146104ac57806388ea9247146104c15780638aaa2284146104d65780638b3dd749146104fc5780639d4941d814610511578063a1658fad14610532578063a479e50814610599578063a52e605f146105ae578063b02b69d6146105c6578063b7cafcc8146105e1578063bca9a5c5146105fc578063bef80ce1146106d3578063bf510ff414610705578063c0774df31461071a578063d4aae0c414610781578063d948d46814610796578063dcb33f3e146107ef578063de4796ed1461081a578063ea199a831461082f578063f6b9fdfb1461086e578063f9eaee0d14610883578063fd64eccb146108a4578063fe2fdf0b146108b9578063ffd5acad146108e5575b600080fd5b34801561021157600080fd5b5061021a610906565b604080519115158252519081900360200190f35b34801561023a57600080fd5b50610249600435602435610930565b005b34801561025757600080fd5b50610249600160a060020a0360043516610b49565b34801561027857600080fd5b50610281610d31565b60408051918252519081900360200190f35b34801561029f57600080fd5b50610281610d55565b3480156102b457600080fd5b5061024960043567ffffffffffffffff60243516610d5b565b3480156102d957600080fd5b50610281600435600160a060020a0360243516610ea0565b3480156102fd57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261034a943694929360249392840191908190840183828082843750949750610f519650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561037257600080fd5b50610281611039565b34801561038757600080fd5b5061034a61105d565b34801561039c57600080fd5b5061034a61106c565b3480156103b157600080fd5b506102816110e5565b3480156103c657600080fd5b5061034a611109565b3480156103db57600080fd5b50610249600160a060020a036004358116906024358116906044351667ffffffffffffffff60643516611118565b34801561041557600080fd5b5061028161128b565b34801561042a57600080fd5b5061024967ffffffffffffffff600435166112af565b34801561044c57600080fd5b5061028161137b565b34801561046157600080fd5b5061028161139f565b34801561047657600080fd5b50610249600160a060020a03600435166113c3565b34801561049757600080fd5b5061021a600160a060020a0360043516611485565b3480156104b857600080fd5b5061028161148b565b3480156104cd57600080fd5b506102816114bb565b3480156104e257600080fd5b50610249600160a060020a036004351660243515156114df565b34801561050857600080fd5b50610281611696565b34801561051d57600080fd5b50610249600160a060020a03600435166116c1565b34801561053e57600080fd5b50604080516020600460443581810135838102808601850190965280855261021a958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506119509650505050505050565b3480156105a557600080fd5b5061034a611aa0565b3480156105ba57600080fd5b50610281600435611b87565b3480156105d257600080fd5b50610249600435602435611c28565b3480156105ed57600080fd5b50610249600435602435611d5c565b34801561060857600080fd5b50610614600435611e90565b6040518089600160a060020a0316600160a060020a031681526020018881526020018781526020018681526020018581526020018467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156106b85781810151838201526020016106a0565b50505050905001995050505050505050505060405180910390f35b3480156106df57600080fd5b506106e861200b565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561071157600080fd5b50610281612022565b34801561072657600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261021a958335600160a060020a03169536956044949193909101919081908401838280828437509497506120469650505050505050565b34801561078d57600080fd5b5061034a61206f565b3480156107a257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261024994369492936024939284019190819084018382808284375094975061209a9650505050505050565b3480156107fb57600080fd5b506102496004803560ff1690602480359160443591820191013561219d565b34801561082657600080fd5b5061021a6125df565b34801561083b57600080fd5b5061024960048035600160a060020a031690602480359160443567ffffffffffffffff16916064359081019101356125f2565b34801561087a57600080fd5b5061034a6126ed565b34801561088f57600080fd5b5061021a600160a060020a03600435166126fc565b3480156108b057600080fd5b5061021a6127ac565b3480156108c557600080fd5b5061024960246004803582810192908201359181359182019101356127b1565b3480156108f157600080fd5b50610281600160a060020a0360043516612c1d565b600080610911611696565b90508015801590610929575080610926612cca565b10155b91505b5090565b60008281526004602052604081206001015481907fea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d906109739086908690612cce565b61097e338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515610a2e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109f35781810151838201526020016109db565b50505050905090810190601f168015610a205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5085610a3981612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515610aad5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008781526004602052604081209550610ac9908690612d64565b9350610ad58785612dd3565b610add612e36565b60058601805467ffffffffffffffff9290921667ffffffffffffffff199092169190911790556001850186905560408051878152905188917fec4f21c1230ce7d88517d17b1f8ae85725a029dc2066fe2ed6401f1b01024e05919081900360200190a250505050505050565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c833981519152928201929092529192839291600160a060020a031614610be65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610bfe600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c83398151915260208201529015610c715760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610c91600080516020614f9c833981519152600163ffffffff612e4c16565b505033600090815260056020908152604080832054808452600490925290912054600160a060020a0316610cc58284612e50565b600160a060020a0380821660008181526005602052604080822082905551919286169185917f5a3949ffa1f5851afea532ad9d4c7dfb51bf68f7d5964ff77f3bb4c0abedbbe491a4610d2c600080516020614f9c833981519152600063ffffffff612e4c16565b505050565b7f0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c0681565b60035481565b7f69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea9242610d908367ffffffffffffffff8416612fbb565b610d9b338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515610e0f5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083610e1a81612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515610e8e5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613016565b5050505050565b600082610eac81613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515610f205760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506000848152600460209081526040808320600160a060020a038716845260070190915290205491505b5092915050565b6000610f5b611aa0565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb9578181015183820152602001610fa1565b50505050905090810190601f168015610fe65780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561100557600080fd5b505af1158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505190505b919050565b7f79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e81565b600054600160a060020a031681565b600061107661206f565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b505190505b90565b7fceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae81565b600254600160a060020a031681565b611120611696565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156111a55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506111ae613150565b6111b784613218565b60408051808201909152601c81527f504159524f4c4c5f46494e414e43455f4e4f545f434f4e545241435400000000602082015290151561123d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008054600160a060020a03808716600160a060020a03199283161790925560018054928616929091169190911790556112778261323e565b6112808161331e565b505060016003555050565b7fea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d81565b6002547f79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e906112f29067ffffffffffffffff8085169160a060020a900416612fbb565b6112fd338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156113715760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610d2c8361331e565b7f74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb930281565b7f69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea924281565b6002547f74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb9302906113fc908390600160a060020a031661342c565b611407338383611950565b60408051808201909152600f8152600080516020614efc833981519152602082015290151561147b5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610d2c8361323e565b50600190565b60006114b67fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612e48565b905090565b7f90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a1681565b7f0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c066115098361344a565b611514338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156115885760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038416600090815260066020908152604091829020548251808401909352601983527f504159524f4c4c5f544f4b454e5f414c52454144595f534554000000000000009183019190915260ff16151584151514156116335760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038416600081815260066020908152604091829020805460ff1916871515908117909155825190815291517fe589eb036e62c07e307aa4d441bd39c81e8bd86f349eaacb0caa06b1477f7f9a9281900390910190a250505050565b60006114b67febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612e48565b60008060006116cf84611485565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156117555760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061175e61106c565b925061176983613218565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156117ef5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a03841615156118405760405130319250600160a060020a0384169083156108fc029084906000818181858888f1935050505015801561183a573d6000803e3d6000fd5b506118ff565b508261185b600160a060020a0382163063ffffffff61346216565b9150611877600160a060020a038216848463ffffffff61356216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156118fd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008061195b610906565b151561196a5760009150611a98565b61197261206f565b9050600160a060020a038116151561198d5760009150611a98565b80600160a060020a031663fdef91068630876119a8886135d8565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611a1a578181015183820152602001611a02565b50505050905090810190601f168015611a475780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611a6957600080fd5b505af1158015611a7d573d6000803e3d6000fd5b505050506040513d6020811015611a9357600080fd5b505191505b509392505050565b600080611aab61206f565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015611b5557600080fd5b505af1158015611b69573d6000803e3d6000fd5b505050506040513d6020811015611b7f57600080fd5b505192915050565b600081611b9381613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515611c075760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506000838152600460205260409020611c1f906135e2565b91505b50919050565b7fceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae611c538383612fbb565b611c5e338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515611cd25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083611cdd81612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515611d515760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613615565b7f90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a16611d878383612fbb565b611d92338383611950565b60408051808201909152600f8152600080516020614efc8339815191526020820152901515611e065760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5083611e1181612d47565b60408051808201909152601b8152600080516020614f5c8339815191526020820152901515611e855760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50610e998585613678565b60008060008060008060006060600089611ea981613133565b60408051808201909152601d8152600080516020614f7c8339815191526020820152901515611f1d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600460008c815260200190815260200160002091508160000160009054906101000a9004600160a060020a03169950816001015498508160020154975081600301549650816004015495508160050160009054906101000a900467ffffffffffffffff1694508160050160089054906101000a900467ffffffffffffffff16935081600601805480602002602001604051908101604052809291908181526020018280548015611ff757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611fd9575b505050505092505050919395975091939597565b60025460a060020a900467ffffffffffffffff1681565b7f9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e81565b600160a060020a03821660009081526005602052604081205461206890612d47565b9392505050565b60006114b67f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612e48565b6060806120a73384612046565b60408051808201909152601781527f504159524f4c4c5f43414e5f4e4f545f464f5257415244000000000000000000602082015290151561212d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506040805160008152600160208083018281526060840185529295509192909190850190803883395050600080548351939450600160a060020a031692849250811061217557fe5b600160a060020a039092166020928302909101909101526121978383836136dd565b50505050565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c833981519152928201929092529192839283928392839283929091600160a060020a03909116146122455760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061225d600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c833981519152602082015290156122d05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506122f0600080516020614f9c833981519152600163ffffffff612e4c16565b336000908152600560209081526040808320548084526004909252909120909550935061231c84613ce2565b86158061232c5750600684015487145b60408051808201909152601a81527f504159524f4c4c5f4d494e5f52415445535f4d49534d4154434800000000000060208201529015156123b25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008a60028111156123c157fe5b14156123ed576123d0846135e2565b92506123dc838a613ee2565b95506123e88487614002565b6124eb565b60018a60028111156123fb57fe5b141561242e5783600401549150612412828a613ee2565b9550612424828763ffffffff61416b16565b60048501556124eb565b60028a600281111561243c57fe5b141561246e57506003830154612452818a613ee2565b9550612464818763ffffffff61416b16565b60038501556124eb565b604080518082018252601c81527f504159524f4c4c5f494e56414c49445f5041594d454e545f54595045000000006020808301918252925160e560020a62461bcd028152600481019384528251602482015282519293928392604490920191908083836000838110156109f35781810151838201526020016109db565b612524858b888b8b80806020026020016040519081016040528093929190818152602001838360200280828437506141ff945050505050565b60408051808201909152601481527f504159524f4c4c5f4e4f5448494e475f5041494400000000000000000000000060208201529015156125aa5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506125b48561460d565b6125d3600080516020614f9c833981519152600063ffffffff612e4c16565b50505050505050505050565b60006000196125ec611696565b14905090565b7f9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e612628868667ffffffffffffffff87166146e8565b612633338383611950565b60408051808201909152600f8152600080516020614efc83398151915260208201529015156126a75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506126e487878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750614706945050505050565b50505050505050565b600154600160a060020a031681565b6000612706610906565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a4544000000000000000000000000602082015290151561278c5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5050600160a060020a031660009081526006602052604090205460ff1690565b600190565b33600081815260056020908152604080832054835260048252808320548151808301909252601d8252600080516020614f3c83398151915292820192909252919283926060928492839291600160a060020a0316146128555760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5061286d600080516020614f9c833981519152612e48565b6040805180820190915260198152600080516020614f1c833981519152602082015290156128e05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50612900600080516020614f9c833981519152600163ffffffff612e4c16565b60408051808201909152601a81527f504159524f4c4c5f4d41585f414c4c4f5745445f544f4b454e53000000000000602082015260148911156129885760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060408051606081018252602181527f504159524f4c4c5f544f4b454e5f414c4c4f434154494f4e5f4d49534d41544360208201527f480000000000000000000000000000000000000000000000000000000000000091810191909152888714612a375760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5033600090815260056020908152604080832054808452600483529281902060068101805483518186028101860190945280845294995090975090929091830182828015612aae57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311612a90575b50505050509250600091505b8251821015612b07578360070160008484815181101515612ad757fe5b6020908102909101810151600160a060020a03168252810191909152604001600090812055600190910190612aba565b612b15600685016000614ec0565b5060005b87811015612bbf5760068401898983818110612b3157fe5b83546001810185556000948552602094859020018054600160a060020a031916600160a060020a039590920293909301359390931692909217905550868682818110612b7957fe5b905060200201358460070160008b8b858181101515612b9457fe5b60209081029290920135600160a060020a031683525081019190915260400160002055600101612b19565b612bc884613ce2565b60405185907f2e68f13a32c51068abe241b8c7db891d265385114938311f83a31583b2a11d7a90600090a2612c12600080516020614f9c833981519152600063ffffffff612e4c16565b505050505050505050565b600160a060020a0381166000908152600560209081526040808320548151808301909252601d8252600080516020614f7c83398151915292820192909252901515612cad5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5050600160a060020a031660009081526005602052604090205490565b4390565b6040805160038082526080820190925260609160208201838038833901905050905083816000815181101515612d0057fe5b602090810290910101528051839082906001908110612d1b57fe5b602090810290910101528051829082906002908110612d3657fe5b602090810290910101529392505050565b6000818152600460205260408120612d5e90614842565b92915050565b600080600080612d7386614876565b9250821515612d855760009350612dca565b856001015491508415612dba5750808202818382811515612da257fe5b041415612daf5780612db3565b6000195b9350612dca565b612db3828463ffffffff6148ef16565b50505092915050565b60008281526004602052604090206002810154612df6908363ffffffff61499a16565b600282015560408051838152905184917f494c76e58dab1186acc63fd537885795bd237ae0feb2d4d3f6092ca77f594f83919081900360200190a2505050565b60006114b6612e43614a28565b614a2c565b5490565b9055565b60408051808201909152601d81527f504159524f4c4c5f454d504c4f5945455f4e554c4c5f414444524553530000006020820152600160a060020a0382161515612edf5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a038116600090815260056020908152604091829020548251808401909352601e83527f504159524f4c4c5f454d504c4f5945455f414c52454144595f455849535400009183019190915215612f815760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008281526004602090815260408083208054600160a060020a03909516600160a060020a031990951685179055928252600590522055565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515612feb57fe5b60209081029091010152805182908290600190811061300657fe5b6020908102909101015292915050565b61301e612e36565b60408051808201909152601d81527f504159524f4c4c5f504153545f5445524d494e4154494f4e5f4441544500000060208201529067ffffffffffffffff90811690831610156130b35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008281526004602090815260409182902060050180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff8616908102919091179091558251908152915184927f64eed8d28fe1c502b235bba967ed50243ed5fbda55daa5388ede25613185f8af92908290030190a25050565b600090815260046020526040902054600160a060020a0316151590565b613158611696565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131dd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506132166131e9612cca565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612e4c16565b565b600080600160a060020a03831615156132345760009150611c22565b50506000903b1190565b61324781613218565b60408051808201909152601981527f504159524f4c4c5f464545445f4e4f545f434f4e54524143540000000000000060208201529015156132cd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060028054600160a060020a031916600160a060020a0383811691909117918290556040519116907ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d90600090a250565b60408051808201909152601d81527f504159524f4c4c5f4558504952595f54494d455f544f4f5f53484f52540000006020820152603c67ffffffffffffffff831610156133b05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506002805467ffffffffffffffff80841660a060020a9081027bffffffffffffffff0000000000000000000000000000000000000000199093169290921792839055604080519290930416815290517f79f849dfd7cf0efc92191ac811c877afb4d27891c560189c77117e755b103a3e9181900360200190a150565b606061206883600160a060020a031683600160a060020a0316612fbb565b6060612d5e82600160a060020a0316614ac9565b5490565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806134cd8684614b0a565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156135585760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906135cf8582614b3b565b95945050505050565b8051602002815290565b60008060006135f2846001612d64565b91508360020154820190508181101561360a57506000195b8092505b5050919050565b60008281526004602052604090206003810154613638908363ffffffff61499a16565b600382015560408051838152905184917f02eaf727c9cb2b9ae1c0d973092bfa6431d79978bf1db9f57ec4279a8c1eb85a919081900360200190a2505050565b60008281526004602081905260409091209081015461369d908363ffffffff61499a16565b600482015560408051838152905184917f594fd22b20a17265cf2b4459acd7f1b6fa11f6a0046fa052bba6ef7f1ee95392919081900360200190a2505050565b60606000806060806136ed610906565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156137735760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008061377f61206f565b915061378961148b565b90506137948a610f51565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a03871615156138265760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561389c578181015183820152602001613884565b50505050905090810190601f1680156138c95780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156138fc5781810151838201526020016138e4565b50505050905090810190601f1680156139295780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b8381101561395e578181015183820152602001613946565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af46040519350808015613a2257603f3d1180156139d75760203d03806020883e8601604052613a1c565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b50613a2b565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015613aa0578181015183820152602001613a88565b50505050905090810190601f168015613acd5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015613b00578181015183820152602001613ae8565b50505050905090810190601f168015613b2d5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015613b60578181015183820152602001613b48565b50505050905090810190601f168015613b8d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613bb361206f565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400815250901515613c455760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5080613c4f61148b565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f4449464945440060208201529114613cd45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050505050509392505050565b600060606000806000935084600601805480602002602001604051908101604052809291908181526020018280548015613d4557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311613d27575b50505050509250600091505b8251821015613e53578282815181101515613d6857fe5b6020908102909101810151600160a060020a038116600090815260068352604090819020548151808301909252601982527f504159524f4c4c5f4e4f545f414c4c4f5745445f544f4b454e00000000000000938201939093529092509060ff161515613e195760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b50600160a060020a0381166000908152600786016020526040902054613e4690859063ffffffff61499a16565b9350600190910190613d51565b60408051808201909152601d81527f504159524f4c4c5f444953545249425554494f4e5f4e4f545f46554c4c000000602082015260648514613eda5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050505050565b60408051808201909152601481527f504159524f4c4c5f4e4f5448494e475f504149440000000000000000000000006020820152600090818411613f6b5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060408051808201909152601d81527f504159524f4c4c5f494e56414c49445f5245515545535445445f414d54000000602082015282841015613ff35760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060008211611c225782612068565b6002820154600080808080858711614021578686036002890155614161565b869450600086111561403a576000600289015585870394505b60018801549350614051858563ffffffff614b8916565b9250838581151561405e57fe5b06915060008211156140865761407b83600163ffffffff61499a16565b82850360028a015592505b60058801546140a59067ffffffffffffffff168463ffffffff61499a16565b90506140af612e36565b60408051808201909152601981527f504159524f4c4c5f4c4153545f444154455f544f4f5f4249470000000000000060208201529067ffffffffffffffff168211156141405760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5060058801805467ffffffffffffffff191667ffffffffffffffff83161790555b5050505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156141f75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b505050900390565b6000808060608180808080808b151561421b57600099506145fc565b60008e81526004602052604090208054909950600160a060020a031697506142428d614c29565b9650886006019550600094505b85548510156145fc57858581548110151561426657fe5b6000918252602080832090910154600160a060020a031680835260078c01909152604090912054909450925082156145f1576142a184614d15565b915060008b51116142b557600082116142d1565b8a858151811015156142c357fe5b906020019060200201518210155b60408051808201909152601d81527f504159524f4c4c5f45584348414e47455f524154455f544f4f5f4c4f5700000060208201529015156143575760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b506143788361436c8e8563ffffffff6148ef16565b9063ffffffff6148ef16565b9050614419600260009054906101000a9004600160a060020a0316600160a060020a031663f40a04486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156143d057600080fd5b505af11580156143e4573d6000803e3d6000fd5b505050506040513d60208110156143fa57600080fd5b505161440d83606463ffffffff614b8916565b9063ffffffff614b8916565b90506000809054906101000a9004600160a060020a0316600160a060020a031663f6364846858a848b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156144c75781810151838201526020016144af565b50505050905090810190601f1680156144f45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561451657600080fd5b505af115801561452a573d6000803e3d6000fd5b5050505083600160a060020a031688600160a060020a03168f7fc517ef2ebef7336f05f233ebf372c7096b88120031a6cfd2e3b1bb7697ae7bf984868c6040518084815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156145b0578181015183820152602001614598565b50505050905090810190601f1680156145dd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4600199505b60019094019361424f565b505050505050505050949350505050565b6000818152600460205260409020600581015467ffffffffffffffff80821668010000000000000000909204161480156146645750600281015415801561465657506003810154155b801561466457506004810154155b156146e4578054600160a060020a0316600090815260056020818152604080842084905585845260049182905283208054600160a060020a031916815560018101849055600281018490556003810184905590810183905590810180546fffffffffffffffffffffffffffffffff19169055906121976006830182614ec0565b5050565b60606146fe84600160a060020a03168484612cce565b949350505050565b6003805460018101909155600061471d8287612e50565b506000818152600460209081526040808320600181018890556005810180546fffffffffffffffff00000000000000001967ffffffffffffffff8a1667ffffffffffffffff199092168217166fffffffffffffffff000000000000000017909155825189815280850191909152606092810183815287519382019390935286519194600160a060020a038b169487947f3ffb58fcadedbe7d45e1447eaeeba102f5ac5bbd44b7b99eab1dff2772d07225948c948c948c9491939260808501928601918190849084905b838110156147fe5781810151838201526020016147e6565b50505050905090810190601f16801561482b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050565b600061484c612e36565b600583015467ffffffffffffffff9182166801000000000000000090910490911610159050919050565b60008061488283614842565b6148a657600583015468010000000000000000900467ffffffffffffffff166148ae565b6148ae612e36565b600584015490915067ffffffffffffffff908116908216116148d35760009150611c22565b600583015467ffffffffffffffff908116820316915050919050565b6000808315156149025760009150610f4a565b5082820282848281151561491257fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414611a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015611a985760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115614abe5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5090919050565b9055565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181101515614afb57fe5b60209081029091010152919050565b6000806000806040516020818751602089018a5afa92506000831115614b2f57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115614b7f573d8015614b6c5760208114614b7557614b7d565b60019350614b7d565b600183511493505b505b5090949350505050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411614c145760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b508284811515614c2057fe5b04949350505050565b60606000826002811115614c3957fe5b1415614c79575060408051808201909152600f81527f456d706c6f7965652073616c61727900000000000000000000000000000000006020820152611034565b6001826002811115614c8757fe5b1415614cc7575060408051808201909152601681527f456d706c6f796565207265696d62757273656d656e74000000000000000000006020820152611034565b6002826002811115614cd557fe5b141561246e575060408051808201909152600e81527f456d706c6f79656520626f6e75730000000000000000000000000000000000006020820152611034565b600254600154604080517fd81e8423000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152848316602482015281516000948594859491169263d81e8423926044808301939282900301818787803b158015614d8857600080fd5b505af1158015614d9c573d6000803e3d6000fd5b505050506040513d6040811015614db257600080fd5b508051602090910151600254919350915060a060020a900467ffffffffffffffff16614df682614de0612e36565b67ffffffffffffffff169063ffffffff614e2716565b67ffffffffffffffff1610614e0e576000925061360e565b506fffffffffffffffffffffffffffffffff1692915050565b60408051808201909152601481527f4d41544836345f5355425f554e444552464c4f570000000000000000000000006020820152600090819067ffffffffffffffff80861690851611156141f75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156109f35781810151838201526020016109db565b5080546000825590600052602060002090810190614ede9190614ee1565b50565b6110e291905b8082111561092c5760008155600101614ee756004150505f415554485f4641494c454400000000000000000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c00000000000000504159524f4c4c5f53454e4445525f444f45535f4e4f545f4d41544348000000504159524f4c4c5f4e4f4e5f4143544956455f454d504c4f5945450000000000504159524f4c4c5f454d504c4f5945455f444f45534e545f4558495354000000e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacba165627a7a723058205309edc5f032f0c04d4df3920dba832c929f34759a999515a7bb4d02b8917b7e0029", - "sourceMap": "508:39614:18:-;;;344:9:40;:7;;;;:9;:::i;:::-;508:39614:18;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;508:39614:18:-;;;;;;;", - "deployedSourceMap": "508:39614:18:-;;;;;;;;;-1:-1:-1;;;508:39614:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;12342:770:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12342:770:18;;;;;;;;;14017:550;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14017:550:18;-1:-1:-1;;;;;14017:550:18;;;;;2022:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2022:119:18;;;;;;;;;;;;;;;;;;;;5360:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5360:27:18;;;;13314:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13314:256:18;;;;;;;;;23033:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;23033:191:18;;;-1:-1:-1;;;;;23033:191:18;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2268:116:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2268:116:18;;;;5133:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5133:22:18;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;1788:107:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1788:107:18;;;;5199:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5199:17:18;;;;8212:515;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8212:515:18;-1:-1:-1;;;;;8212:515:18;;;;;;;;;;;;;;;;;;;1665:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1665:117:18;;;;9966:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9966:169:18;;;;;;;2147:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2147:115:18;;;;1543:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1543:116:18;;;;9518:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9518:129:18;-1:-1:-1;;;;;9518:129:18;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;1901:115:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1901:115:18;;;;9087:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9087:286:18;-1:-1:-1;;;;;9087:286:18;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;22584:182:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22584:182:18;;;;;11196:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11196:218:18;;;;;;;11655:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11655:242:18;;;;;;;21376:866;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21376:866:18;;;;;;;;;;-1:-1:-1;;;;;21376:866:18;-1:-1:-1;;;;;21376:866:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;21376:866:18;;;;;;;;;;;;;;;;;;;;;;;;5222:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5222:28:18;;;;;;;;;;;;;;;;;;;;;;;1427:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1427:110:18;;;;20262:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20262:136:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20262:136:18;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20262:136:18;;-1:-1:-1;20262:136:18;;-1:-1:-1;;;;;;;20262:136:18;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;19438:542:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19438:542:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19438:542:18;;-1:-1:-1;19438:542:18;;-1:-1:-1;;;;;;;19438:542:18;17049:1886;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17049:1886:18;;;;;;;;;;;;;;;;;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;10638:333:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10638:333:18;;;;-1:-1:-1;;;;;10638:333:18;;;;;;;;;;;;;;;;;;;;;5161:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5161:32:18;;;;23433:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;23433:126:18;-1:-1:-1;;;;;23433:126:18;;;;;19106:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19106:80:18;;;;15112:1163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15112:1163:18;;;;;;;;;;;;;;;;;;;;;;;;20611:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20611:229:18;-1:-1:-1;;;;;20611:229:18;;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;;:::o;12342:770:18:-;12613:25;12514:22;;;:9;:22;;;;;12450:24;12514:46;;12613:25;;1716:66;;12476:85;;12480:11;;12493:19;;12476:3;:85::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12586:11:18;7174:32;7194:11;7174:19;:32::i;:::-;7208:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7208:25:18;;;;;7166:68;;;;;;-1:-1:-1;;;;;7166:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7166:68:18;-1:-1:-1;12641:22:18;;;;:9;:22;;;;;;-1:-1:-1;12763:47:18;;12641:22;;12763:30;:47::i;:::-;12748:62;;12820:36;12838:11;12851:4;12820:17;:36::i;:::-;12958:16;:14;:16::i;:::-;12935:20;;;:39;;;;;;;-1:-1:-1;;12935:39:18;;;;;;;;;;12984:32;;:54;;;13054:51;;;;;;;;13072:11;;13054:51;;;;;;;;;;1216:1:39;12342:770:18;;;;;;:::o;14017:550::-;7403:10;14126:18;7360:23;;;:11;:23;;;;;;;;;7350:34;;:9;:34;;;;;:49;7415:27;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7415:27:18;;;;;;;14126:18;;;;7415:27;-1:-1:-1;;;;;7350:49:18;:63;7342:101;;;;-1:-1:-1;;;;;7342:101:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7342:101:18;-1:-1:-1;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;-1:-1:-1;;14159:10:18;14147:23;;;;:11;:23;;;;;;;;;14201:21;;;:9;:21;;;;;;:36;-1:-1:-1;;;;;14201:36:18;14248:51;14147:23;14280:18;14248:19;:51::i;:::-;-1:-1:-1;;;;;14454:23:18;;;;;;;:11;:23;;;;;;14447:30;;;14493:67;14454:23;;14493:67;;;14517:10;;14493:67;;;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;14017:550:18;;;:::o;2022:119::-;2075:66;2022:119;:::o;5360:27::-;;;;:::o;13314:256::-;1593:66;13435:35;13439:11;13452:17;;;13435:3;:35::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;13495:11:18;7174:32;7194:11;7174:19;:32::i;:::-;7208:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7208:25:18;;;;;7166:68;;;;;;-1:-1:-1;;;;;7166:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7166:68:18;;13522:41;13541:11;13554:8;13522:18;:41::i;:::-;1216:1:39;13314:256:18;;;;:::o;23033:191::-;23144:7;23122:11;6877:28;6893:11;6877:15;:28::i;:::-;6907:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6907:27:18;;;;;6869:66;;;;;;-1:-1:-1;;;;;6869:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6869:66:18;-1:-1:-1;23170:22:18;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;23170:47:18;;;;:39;;:47;;;;;;;-1:-1:-1;6945:1:18;23033:191;;;;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;-1:-1:-1;795:179:60;;;;:::o;2268:116:18:-;2318:66;2268:116;:::o;5133:22::-;;;-1:-1:-1;;;;;5133:22:18;;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;;:::o;1788:107:18:-;1829:66;1788:107;:::o;5199:17::-;;;-1:-1:-1;;;;;5199:17:18;;:::o;8212:515::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;8348:13:18;:11;:13::i;:::-;8380:20;8391:8;8380:10;:20::i;:::-;8402:26;;;;;;;;;;;;;;;;;;8372:57;;;;;;-1:-1:-1;;;;;8372:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8372:57:18;-1:-1:-1;8439:7:18;:18;;-1:-1:-1;;;;;8439:18:18;;;-1:-1:-1;;;;;;8439:18:18;;;;;;;;8468:38;;;;;;;;;;;;;;;8516:25;8530:10;8516:13;:25::i;:::-;8551:35;8570:15;8551:18;:35::i;:::-;-1:-1:-1;;8719:1:18;8704:12;:16;-1:-1:-1;;8212:515:18:o;1665:117::-;1716:66;1665:117;:::o;9966:169::-;10075:14;;2318:66;;10047:44;;10051:14;;;;;-1:-1:-1;;;10075:14:18;;;10047:3;:44::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;10103:25:18;10122:5;10103:18;:25::i;2147:115::-;2196:66;2147:115;:::o;1543:116::-;1593:66;1543:116;:::o;9518:129::-;9603:4;;2196:66;;9592:16;;9596:5;;-1:-1:-1;;;;;9603:4:18;9592:3;:16::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;9620:20:18;9634:5;9620:13;:20::i;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;1901:115:18:-;1950:66;1901:115;:::o;9087:286::-;2075:66;9186:11;9190:6;9186:3;:11::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;;;;;;9217:21:18;;;;;;:13;:21;;;;;;;;;;9252:23;;;;;;;;;;;;;;;;;;;9217:21;;:33;;;;;;;9209:67;;;;-1:-1:-1;;;;;9209:67:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9209:67:18;-1:-1:-1;;;;;;9286:21:18;;;;;;:13;:21;;;;;;;;;:32;;-1:-1:-1;;9286:32:18;;;;;;;;;;9333:33;;;;;;;;;;;;;;;;;9087:286;;;;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;1086:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1086:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1086:69:60;;980:231;-1:-1:-1;;980:231:60:o;22584:182:18:-;22684:7;22662:11;6877:28;6893:11;6877:15;:28::i;:::-;6907:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6907:27:18;;;;;6869:66;;;;;;-1:-1:-1;;;;;6869:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6869:66:18;-1:-1:-1;22736:22:18;;;;:9;:22;;;;;22710:49;;:25;:49::i;:::-;22703:56;;6945:1;22584:182;;;;:::o;11196:218::-;1829:66;11299:25;11303:11;11316:7;11299:3;:25::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;11349:11:18;7174:32;7194:11;7174:19;:32::i;:::-;7208:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7208:25:18;;;;;7166:68;;;;;;-1:-1:-1;;;;;7166:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7166:68:18;;11376:31;11386:11;11399:7;11376:9;:31::i;11655:242::-;1950:66;11774:25;11778:11;11791:7;11774:3;:25::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;11824:11:18;7174:32;7194:11;7174:19;:32::i;:::-;7208:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7208:25:18;;;;;7166:68;;;;;;-1:-1:-1;;;;;7166:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7166:68:18;;11851:39;11869:11;11882:7;11851:17;:39::i;21376:866::-;21514:22;21550:26;21590:21;21625:13;21652:22;21688:18;21720:14;21748:26;21799:25;21471:11;6877:28;6893:11;6877:15;:28::i;:::-;6907:27;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6907:27:18;;;;;6869:66;;;;;;-1:-1:-1;;;;;6869:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6869:66:18;;21827:9;:22;21837:11;21827:22;;;;;;;;;;;21799:50;;21877:8;:23;;;;;;;;;;-1:-1:-1;;;;;21877:23:18;21860:40;;21931:8;:32;;;21910:53;;21989:8;:22;;;21973:38;;22029:8;:14;;;22021:22;;22070:8;:23;;;22053:40;;22117:8;:20;;;;;;;;;;;;22103:34;;22157:8;:16;;;;;;;;;;;;22147:26;;22202:8;:33;;22183:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22183:52:18;;;;;;;;;;;;;;;;;;;;;;;21376:866;;;;;;;;;;;:::o;5222:28::-;;;-1:-1:-1;;;5222:28:18;;;;;:::o;1427:110::-;1471:66;1427:110;:::o;20262:136::-;-1:-1:-1;;;;;20370:20:18;;20327:4;20370:20;;;:11;:20;;;;;;20350:41;;:19;:41::i;:::-;20343:48;20262:136;-1:-1:-1;;;20262:136:18:o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;19438:542:18:-;19566:18;19837:26;19498:34;19509:10;19521;19498;:34::i;:::-;19534:21;;;;;;;;;;;;;;;;;;19490:66;;;;;;-1:-1:-1;;;;;19490:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;19490:66:18;-1:-1:-1;19587:12:18;;;19597:1;19587:12;;19880:1;19587:12;;;;19866:16;;;;;;;;19587:12;;-1:-1:-1;19587:12:18;;19880:1;;19866:16;;;;19587:12;105:10:-1;19866:16:18;88:34:-1;-1:-1;;19915:7:18;;;19892:12;;;;-1:-1:-1;;;;;;19915:7:18;;19892:12;;-1:-1:-1;19892:12:18;;;;;;-1:-1:-1;;;;;19892:31:18;;;:12;;;;;;;;;;:31;19934:39;19944:10;19956:5;19963:9;19934;:39::i;:::-;;19438:542;;;:::o;17049:1886::-;7403:10;17179:21;7360:23;;;:11;:23;;;;;;;;;7350:34;;:9;:34;;;;;:49;7415:27;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7415:27:18;;;;;;;17179:21;;;;;;;;;;;;7415:27;;-1:-1:-1;;;;;7350:49:18;;;:63;7342:101;;;;-1:-1:-1;;;;;7342:101:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7342:101:18;-1:-1:-1;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;17243:10:18;17231:23;;;;:11;:23;;;;;;;;;17292:21;;;:9;:21;;;;;;17231:23;;-1:-1:-1;17292:21:18;-1:-1:-1;17323:48:18;17292:21;17323:38;:48::i;:::-;17389:21;;;:85;;-1:-1:-1;17434:33:18;;;:40;17414:60;;17389:85;17476:24;;;;;;;;;;;;;;;;;;17381:120;;;;;;-1:-1:-1;;;;;17381:120:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17381:120:18;-1:-1:-1;17568:19:18;17559:5;:28;;;;;;;;;17555:1165;;;17902:35;17928:8;17902:25;:35::i;:::-;17876:61;;17967:55;17988:15;18005:16;17967:20;:55::i;:::-;17951:71;;18036:67;18079:8;18089:13;18036:42;:67::i;:::-;17555:1165;;;18133:25;18124:5;:34;;;;;;;;;18120:600;;;18203:8;:23;;;18174:52;;18256:58;18277:18;18297:16;18256:20;:58::i;:::-;18240:74;-1:-1:-1;18354:37:18;:18;18240:74;18354:37;:22;:37;:::i;:::-;18328:23;;;:63;18120:600;;;18421:17;18412:5;:26;;;;;;;;;18408:312;;;-1:-1:-1;18480:14:18;;;;18524:55;18480:14;18562:16;18524:20;:55::i;:::-;18508:71;-1:-1:-1;18610:34:18;:15;18508:71;18610:34;:19;:34;:::i;:::-;18593:14;;;:51;18408:312;;;18682:26;;;;;;;;;;;;;;;;;;;18675:34;;-1:-1:-1;;;;;18675:34:18;;;;;;;;;;;;;;;;18682:26;;18675:34;;;;;;;;18682:26;18675:34;;18682:26;-1:-1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18408:312:18;18782:66;18804:10;18816:5;18823:13;18838:9;;18782:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18782:21:18;;-1:-1:-1;;;;;18782:66:18:i;:::-;18850:18;;;;;;;;;;;;;;;;;;18774:95;;;;;;-1:-1:-1;;;;;18774:95:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18774:95:18;;18879:49;18917:10;18879:37;:49::i;:::-;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;17049:1886:18;;;;;;;;;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;10638:333:18:-;1471:66;10803:69;10807:15;10824:26;10852:19;;;10803:3;:69::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;10888:76:18;10901:15;10918:26;10946:10;10958:5;;10888:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10888:12:18;;-1:-1:-1;;;;;10888:76:18:i;:::-;10638:333;;;;;;;:::o;5161:32::-;;;-1:-1:-1;;;;;5161:32:18;;:::o;23433:126::-;23508:4;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;;;;;;23531:21:18;;;;;:13;:21;;;;;;;;;23433:126::o;19106:80::-;19175:4;19106:80;:::o;15112:1163::-;7403:10;15443:18;7360:23;;;:11;:23;;;;;;;;;7350:34;;:9;:34;;;;;:49;7415:27;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7415:27:18;;;;;;;15443:18;;;;15602:46;;15443:18;;;;7415:27;-1:-1:-1;;;;;7350:49:18;:63;7342:101;;;;-1:-1:-1;;;;;7342:101:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7342:101:18;-1:-1:-1;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;15317:24:18;;;;;;;;;;;;;;;;;2438:2;15279:36;;;15271:71;;;;-1:-1:-1;;;;;15271:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15271:71:18;-1:-1:-1;15400:31:18;;;;;;;;;;;;;;;;;;;;;;;;15360:38;;;15352:80;;;;-1:-1:-1;;;;;15352:80:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15352:80:18;-1:-1:-1;15476:10:18;15464:23;;;;:11;:23;;;;;;;;;15525:21;;;:9;:21;;;;;;15651:33;;;15602:82;;;;;;;;;;;;;;;;;15464:23;;-1:-1:-1;15525:21:18;;-1:-1:-1;15602:82:18;;15651:33;;15602:82;;15651:33;15602:82;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15602:82:18;;;;;;;;;;;;;;;;;;;;;;;15711:1;15699:13;;15694:158;15718:29;:36;15714:1;:40;15694:158;;;15782:8;:25;;:59;15808:29;15838:1;15808:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15782:59:18;;;;;;;;;;;-1:-1:-1;15782:59:18;;;15775:66;15756:3;;;;;15694:158;;;15861:40;15868:33;;;;15861:40;:::i;:::-;-1:-1:-1;15991:1:18;15974:190;15994:18;;;15974:190;;;16033:33;;;16072:7;;16080:1;16072:10;;;;;;;27::-1;;39:1;23:18;;45:23;;-1:-1;16033:50:18;;;16072:10;16033:50;;;;;;;-1:-1:-1;;;;;;16033:50:18;-1:-1:-1;;;;;16072:10:18;;;;;;;;;;;;;16033:50;;;;;;-1:-1:-1;16137:13:18;;16151:1;16137:16;;;;;;;;;;;;;16097:8;:25;;:37;16123:7;;16131:1;16123:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16123:10:18;16097:37;;-1:-1:-1;16097:37:18;;;;;;;;-1:-1:-1;16097:37:18;:56;16014:3;;15974:190;;;16174:48;16213:8;16174:38;:48::i;:::-;16237:31;;16257:10;;16237:31;;;;;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;15112:1163:18;;;;;;;;;:::o;20611:229::-;-1:-1:-1;;;;;20716:28:18;;20689:7;20716:28;;;:11;:28;;;;;;;;;20760:27;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;20760:27:18;;;;;;;;20716:42;;20708:80;;;;-1:-1:-1;;;;;20708:80:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;20708:80:18;-1:-1:-1;;;;;;;20805:28:18;;;;;:11;:28;;;;;;;20611:229::o;347:94:53:-;422:12;347:94;:::o;1871:179:29:-;1970:16;;;1984:1;1970:16;;;;;;;;;1943:11;;1970:16;;;1943:11;;105:10:-1;1970:16:29;88:34:-1;136:17;;-1:-1;1970:16:29;1966:20;;2003:2;1996:1;1998;1996:4;;;;;;;;;;;;;;;;;;:9;2015:4;;2022:2;;2015:1;;2017;;2015:4;;;;;;;;;;;;;;:9;2034:4;;2041:2;;2034:1;;2036;;2034:4;;;;;;;;;;;;;;:9;1871:179;;-1:-1:-1;;;1871:179:29:o;35314:144:18:-;35387:4;35428:22;;;:9;:22;;;;;35410:41;;:17;:41::i;:::-;35403:48;35314:144;-1:-1:-1;;35314:144:18:o;36718:571::-;36823:7;36842:16;36964:14;37107;36861:32;36883:9;36861:21;:32::i;:::-;36842:51;-1:-1:-1;36907:13:18;;36903:52;;;36943:1;36936:8;;;;36903:52;36981:9;:33;;;36964:50;;37029:7;37025:258;;;-1:-1:-1;37124:17:18;;;:6;37133:8;37124:17;37163;;;;;;;;:27;;37162:52;;37208:6;37162:52;;;-1:-1:-1;;37162:52:18;37155:59;;;;37025:258;37252:20;:6;37263:8;37252:20;:10;:20;:::i;37025:258::-;36718:571;;;;;;;:::o;26467:272::-;26551:25;26579:22;;;:9;:22;;;;;26636;;;;:35;;26663:7;26636:35;:26;:35;:::i;:::-;26611:22;;;:60;26686:46;;;;;;;;26711:11;;26686:46;;;;;;;;;;26467:272;;;:::o;1261:106:53:-;1310:6;1335:25;:14;:12;:14::i;:::-;:23;:25::i;105:128:55:-;210:15;;200:27::o;659:113::-;742:22;;740:26::o;26923:495:18:-;27093:27;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27062:29:18;;;;27054:67;;;;-1:-1:-1;;;;;27054:67:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;27054:67:18;-1:-1:-1;;;;;;27189:28:18;;27229:1;27189:28;;;:11;:28;;;;;;;;;;27233;;;;;;;;;;;;;;;;;;;27189:42;27181:81;;;;-1:-1:-1;;;;;27181:81:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;27181:81:18;-1:-1:-1;27273:22:18;;;;:9;:22;;;;;;;;:55;;-1:-1:-1;;;;;27273:55:18;;;-1:-1:-1;;;;;;27273:55:18;;;;;;;27369:28;;;:11;:28;;;:42;26923:495::o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;27587:306:18:-;27734:16;:14;:16::i;:::-;27752:27;;;;;;;;;;;;;;;;;;27722:28;;;;;;;;;27714:66;;;;-1:-1:-1;;;;;27714:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;27714:66:18;-1:-1:-1;27790:22:18;;;;:9;:22;;;;;;;;;:30;;:41;;-1:-1:-1;;27790:41:18;;;;;;;;;;;;;;;27846:40;;;;;;;27790:22;;27846:40;;;;;;;;;27587:306;;:::o;33701:150::-;33770:4;33793:22;;;:9;:22;;;;;:37;-1:-1:-1;;;;;33793:37:18;:51;;;33701:150::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;-1:-1:-1;;662:1:49;617:20;;655:8;;426:244::o;23716:168:18:-;23779:17;23790:5;23779:10;:17::i;:::-;23798:23;;;;;;;;;;;;;;;;;;23771:51;;;;;;-1:-1:-1;;;;;23771:51:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;23771:51:18;-1:-1:-1;23832:4:18;:12;;-1:-1:-1;;;;;;23832:12:18;-1:-1:-1;;;;;23832:12:18;;;;;;;;;;;23859:18;;23872:4;;;23859:18;;-1:-1:-1;;23859:18:18;23716:168;:::o;24165:269::-;24319:27;;;;;;;;;;;;;;;;;2534:9;24293:24;;;;;24285:62;;;;-1:-1:-1;;;;;24285:62:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;24285:62:18;-1:-1:-1;24357:14:18;:22;;;;;;-1:-1:-1;;;24357:22:18;;;-1:-1:-1;;24357:22:18;;;;;;;;;;;24394:33;;;24412:14;;;;;24394:33;;;;;;;;;;;;;24165:269;:::o;542:126:29:-;602:11;632:29;644:2;-1:-1:-1;;;;;636:11:29;657:2;-1:-1:-1;;;;;649:11:29;632:3;:29::i;435:101::-;483:11;513:16;525:2;-1:-1:-1;;;;;517:11:29;513:3;:16::i;519:134:55:-;630:15;;620:27::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;38764:416:18:-;38850:7;38869:25;38968:23;38897:47;38928:9;38939:4;38897:30;:47::i;:::-;38869:75;;39014:9;:23;;;38994:17;:43;38968:69;;39069:17;39051:15;:35;39047:95;;;-1:-1:-1;;;39047:95:18;39158:15;39151:22;;38764:416;;;;;;:::o;25517:240::-;25593:25;25621:22;;;:9;:22;;;;;25670:14;;;;:27;;25689:7;25670:27;:18;:27;:::i;:::-;25653:14;;;:44;25712:38;;;;;;;;25729:11;;25712:38;;;;;;;;;;25517:240;;;:::o;25975:274::-;26059:25;26087:22;;;:9;:22;;;;;;;;26145:23;;;;:36;;26173:7;26145:36;:27;:36;:::i;:::-;26119:23;;;:62;26196:46;;;;;;;;26221:11;;26196:46;;;;;;;;;;25975:274;;;:::o;1217:3212:60:-;1364:5;1385:27;1533:10;1584:17;1671:19;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;4467:17:60;4514:16;4495:8;:6;:8::i;:::-;4467:37;;4533:7;:5;:7::i;:::-;4514:26;;1415:29;1436:7;1415:20;:29::i;:::-;1495:26;;;;;;;;;;;;;;;;;1385:59;;-1:-1:-1;;;;;;1462:31:60;;;;1454:68;;;;-1:-1:-1;;;;;1454:68:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1454:68:60;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;1546:28;;-1:-1:-1;1546:28:60;;1632:7;;1641:6;;1649:10;;1604:56;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1604:56:60;;;;-1:-1:-1;;;;;1604:56:60;;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;;;1604:56:60;1584:76;;2067:1;1979;1930:4;1924:11;1880:4;1874;1870:15;1823:8;1768:3;1738:384;2152:4;2146:11;;-1:-1:-1;2198:7:60;2218:195;;;;2478:4;2462:14;2459:24;2500:970;;;;4144:4;4128:14;4124:25;4199:8;4193:4;4185:6;4170:38;4243:21;;4237:4;4230:35;2452:1851;;2500:970;-1:-1:-1;;;;;2845:6:60;2838:82;2995:66;2988:4;2980:6;2976:17;2969:93;3128:66;3121:4;3113:6;3109:17;3102:93;3259:66;3252:4;3244:6;3240:17;3233:93;3373:3;3365:6;3358:19;2452:1851;;2191:2126;;2218:195;2337:14;2334:1;2326:6;2311:41;2384:14;2376:6;2369:30;2191:2126;;1709:2618;4363:8;-1:-1:-1;;;;;4342:56:60;;4374:7;4383:6;4391;4342:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:6;4409:13;;4598:9;-1:-1:-1;;;;;4577:30:60;4585:8;:6;:8::i;:::-;-1:-1:-1;;;;;4577:30:60;;4609;;;;;;;;;;;;;;;;;;4569:71;;;;;;;-1:-1:-1;;;;;4569:71:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4569:71:60;-1:-1:-1;4669:8:60;4658:7;:5;:7::i;:::-;4679:30;;;;;;;;;;;;;;;;;;4658:19;4650:60;;;;-1:-1:-1;;;;;4650:60:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4650:60:60;;787:1:48;;1217:3212:60;;;;;;;;;:::o;34146:537:18:-;34246:11;34271:41;34364:9;34435:13;34260:1;34246:15;;34315:9;:34;;34271:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34271:78:18;;;;;;;;;;;;;;;;;;;;;;;34376:1;34364:13;;34359:260;34383:24;:31;34379:1;:35;34359:260;;;34451:24;34476:1;34451:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34500:20:18;;;;;;:13;:20;;;;;;;;34522:23;;;;;;;;;;;;;;;;;;;34451:27;;-1:-1:-1;34522:23:18;34500:20;;34492:54;;;;;;-1:-1:-1;;;;;34492:54:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;34492:54:18;-1:-1:-1;;;;;;34574:33:18;;;;;;:26;;;:33;;;;;;34566:42;;:3;;:42;:7;:42;:::i;:::-;34560:48;-1:-1:-1;34416:3:18;;;;;34359:260;;;34648:27;;;;;;;;;;;;;;;;;34643:3;34636:10;;34628:48;;;;-1:-1:-1;;;;;34628:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;34628:48:18;;34146:537;;;;;:::o;39799:321::-;39942:18;;;;;;;;;;;;;;;;;39898:7;;39925:15;;;39917:44;;;;-1:-1:-1;;;;;39917:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;39917:44:18;-1:-1:-1;40012:30:18;;;;;;;;;;;;;;;;;39979:31;;;;39971:72;;;;-1:-1:-1;;;;;39971:72:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;39971:72:18;;40079:1;40060:16;:20;:53;;40102:11;40060:53;;31175:2286;31322:23;;;;31298:21;;;;;31360:31;;;31356:366;;31661:30;;;31635:23;;;:56;31705:7;;31356:366;31925:14;31897:42;;31969:1;31953:13;:17;31949:441;;;32378:1;32352:23;;;:27;32247:30;;;;-1:-1:-1;31949:441:18;32417:33;;;;;-1:-1:-1;32479:29:18;:17;32417:33;32479:29;:21;:29;:::i;:::-;32460:48;;32790:6;32770:17;:26;;;;;;;;32748:48;;32824:1;32810:11;:15;32806:132;;;32852:15;:8;32865:1;32852:15;:12;:15;:::i;:::-;32907:20;;;32881:23;;;:46;32841:26;-1:-1:-1;32806:132:18;32982:21;;;;32974:44;;32982:21;;33009:8;32974:44;:34;:44;:::i;:::-;32948:70;;33276:16;:14;:16::i;:::-;33295:31;;;;;;;;;;;;;;;;;;33268:25;;33249:44;;;33241:86;;;;-1:-1:-1;;;;;33241:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;33241:86:18;-1:-1:-1;33407:21:18;;;:47;;-1:-1:-1;;33407:47:18;;;;;;;31175:2286;;;;;;;;;:::o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;28453:1822:18:-;28585:18;;;28804:30;28585:18;;;;;;28619:17;;28615:60;;;28659:5;28652:12;;;;28615:60;28713:22;;;;:9;:22;;;;;28771:23;;28713:22;;-1:-1:-1;;;;;;28771:23:18;;-1:-1:-1;28837:27:18;28858:5;28837:20;:27::i;:::-;28804:60;;28920:8;:33;;28875:78;;28980:1;28968:13;;28963:1306;28987:31;;28983:35;;28963:1306;;;29055:24;29080:1;29055:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;29055:27:18;29122:32;;;:25;;;:32;;;;;;;;29055:27;;-1:-1:-1;29122:32:18;-1:-1:-1;29172:29:18;;29168:1091;;29391:42;29427:5;29391:35;:42::i;:::-;29368:65;;29478:1;29459:9;:16;:20;:70;;29528:1;29513:12;:16;29459:70;;;29498:9;29508:1;29498:12;;;;;;;;;;;;;;;;;;29482;:28;;29459:70;29531:27;;;;;;;;;;;;;;;;;;29451:108;;;;;;-1:-1:-1;;;;;29451:108:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;29451:108:18;-1:-1:-1;29696:51:18;29731:15;29696:30;:12;29713;29696:30;:16;:30;:::i;:::-;:34;:51;:34;:51;:::i;:::-;29674:73;;29877:46;29902:4;;;;;;;;;-1:-1:-1;;;;;29902:4:18;-1:-1:-1;;;;;29902:18:18;;:20;;;;;-1:-1:-1;;;29902:20:18;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29902:20:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29902:20:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29902:20:18;29877;:11;29893:3;29877:20;:15;:20;:::i;:::-;:24;:46;:24;:46;:::i;:::-;29863:60;;30008:7;;;;;;;;;-1:-1:-1;;;;;30008:7:18;-1:-1:-1;;;;;30008:27:18;;30036:5;30043:15;30060:11;30073:16;30008:82;;;;;-1:-1:-1;;;30008:82:18;;;;;;;-1:-1:-1;;;;;30008:82:18;-1:-1:-1;;;;;30008:82:18;;;;;;-1:-1:-1;;;;;30008:82:18;-1:-1:-1;;;;;30008:82:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;30008:82:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30008:82:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30008:82:18;;;;30155:5;-1:-1:-1;;;;;30113:93:18;30138:15;-1:-1:-1;;;;;30113:93:18;30125:11;30113:93;30162:11;30175:12;30189:16;30113:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;30113:93:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30240:4;30224:20;;29168:1091;29020:3;;;;;28963:1306;;;28453:1822;;;;;;;;;;;;;;;:::o;30441:433::-;30528:25;30556:22;;;:9;:22;;;;;30630:16;;;;;30606:20;;;30630:16;;;;;30606:40;:140;;;;-1:-1:-1;30663:22:18;;;;:27;:50;;;;-1:-1:-1;30694:14:18;;;;:19;30663:50;:82;;;;-1:-1:-1;30717:23:18;;;;:28;30663:82;30589:279;;;30790:23;;-1:-1:-1;;;;;30790:23:18;30778:36;;;;:11;:36;;;;;;;;30771:43;;;30835:22;;;:9;:22;;;;;;30828:29;;-1:-1:-1;;;;;;30828:29:18;;;30790:23;30828:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30828:29:18;;;30835:22;30828:29;;;;30778:36;30828:29;:::i;30589:279::-;30441:433;;:::o;674:133:29:-;746:11;776:24;788:2;-1:-1:-1;;;;;780:11:29;793:2;797;776:3;:24::i;:::-;769:31;674:133;-1:-1:-1;;;;674:133:29:o;24761:552:18:-;24917:12;:14;;;;;;;;24896:18;24942:48;24917:14;24974:15;24942:19;:48::i;:::-;-1:-1:-1;25029:21:18;;;;:9;:21;;;;;;;;25060:32;;;:61;;;25131:20;;;:33;;-1:-1:-1;;25131:33:18;;;-1:-1:-1;;25131:33:18;;;;;25174:29;;;;;;25219:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25029:21;;-1:-1:-1;;;;;25219:87:18;;;25039:10;;25219:87;;25095:26;;25154:10;;25300:5;;25219:87;;;;;;;;;;;;;;;;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;25219:87:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24761:552;;;;;;:::o;34926:145::-;35004:4;35048:16;:14;:16::i;:::-;35027:17;;;;:37;;;;:17;;;;;;;:37;;;-1:-1:-1;34926:145:18;;;:::o;37489:882::-;37571:7;37650:11;37664:28;37682:9;37664:17;:28::i;:::-;:67;;37714:17;;;;;;;;;37664:67;;;37695:16;:14;:16::i;:::-;38139:21;;;;37650:81;;-1:-1:-1;38139:21:18;;;;38131:29;;;;38127:68;;38183:1;38176:8;;;;38127:68;38342:21;;;;;;;;38335:28;;38327:37;;-1:-1:-1;37489:882:18;;;;:::o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1928:170:79;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;926:144:53;999:15;926:144;:::o;188:149:54:-;283:20;;;;;;;;;;;;;;;;;240:6;;271:10;266:15;;;258:46;;;;-1:-1:-1;;;;;258:46:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;258:46:54;-1:-1:-1;328:1:54;;188:149;-1:-1:-1;188:149:54:o;1028:119:55:-;1117:22;;1115:26::o;1594:117:29:-;1669:16;;;1683:1;1669:16;;;;;;;;;1642:11;;1669:16;;;;;;105:10:-1;1669:16:29;88:34:-1;136:17;;-1:-1;1669:16:29;1665:20;;1702:2;1695:1;1697;1695:4;;;;;;;;;;;;;;;;;;:9;1594:117;;-1:-1:-1;1594:117:29:o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1251:313:79:-;1346:14;;;;;;;;;;;;;;;;;1311:7;;;;1338:6;;;1330:31;;;;-1:-1:-1;;;;;1330:31:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1330:31:79;;1446:2;1441;:7;;;;;;;;;1251:313;-1:-1:-1;;;;1251:313:79:o;39380:413:18:-;39452:6;39490:19;39481:5;:28;;;;;;;;;39477:185;;;-1:-1:-1;39525:24:18;;;;;;;;;;;;;;;;;;;39477:185;39579:25;39570:5;:34;;;;;;;;;39566:96;;;-1:-1:-1;39620:31:18;;;;;;;;;;;;;;;;;;;39566:96;39676:17;39667:5;:26;;;;;;;;;39663:80;;;-1:-1:-1;39709:23:18;;;;;;;;;;;;;;;;;;;35839:524;36062:4;;;36084:17;36062:122;;;;;;-1:-1:-1;;;;;36084:17:18;;;36062:122;;;;;;;;;;;;;35923:7;;;;;;36062:4;;;:8;;:122;;;;;;;;;;;35923:7;36062:4;:122;;;5:2:-1;;;;30:1;27;20:12;5:2;36062:122:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;36062:122:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36062:122:18;;;;;;;36278:14;;36062:122;;-1:-1:-1;36062:122:18;-1:-1:-1;;;;36278:14:18;;;;36248:26;36062:122;36248:16;:14;:16::i;:::-;:20;;;:26;:20;:26;:::i;:::-;:44;;;36244:83;;36315:1;36308:8;;;;36244:83;-1:-1:-1;36344:12:18;;;35839:524;-1:-1:-1;;35839:524:18:o;1596:168:80:-;1690:19;;;;;;;;;;;;;;;;;1654:6;;;;1680:8;;;;;;;;;1672:38;;;;-1:-1:-1;;;;;1672:38:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;508:39614:18;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/IForwarder.sol\";\n\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath64.sol\";\n\nimport \"@aragon/ppf-contracts/contracts/IFeed.sol\";\nimport \"@aragon/apps-finance/contracts/Finance.sol\";\n\n\n/**\n * @title Payroll in multiple currencies\n */\ncontract Payroll is EtherTokenConstant, IForwarder, IsContract, AragonApp {\n using SafeMath for uint256;\n using SafeMath64 for uint64;\n\n /* Hardcoded constants to save gas\n * bytes32 constant public ADD_EMPLOYEE_ROLE = keccak256(\"ADD_EMPLOYEE_ROLE\");\n * bytes32 constant public TERMINATE_EMPLOYEE_ROLE = keccak256(\"TERMINATE_EMPLOYEE_ROLE\");\n * bytes32 constant public SET_EMPLOYEE_SALARY_ROLE = keccak256(\"SET_EMPLOYEE_SALARY_ROLE\");\n * bytes32 constant public ADD_BONUS_ROLE = keccak256(\"ADD_BONUS_ROLE\");\n * bytes32 constant public ADD_REIMBURSEMENT_ROLE = keccak256(\"ADD_REIMBURSEMENT_ROLE\");\n * bytes32 constant public MANAGE_ALLOWED_TOKENS_ROLE = keccak256(\"MANAGE_ALLOWED_TOKENS_ROLE\");\n * bytes32 constant public MODIFY_PRICE_FEED_ROLE = keccak256(\"MODIFY_PRICE_FEED_ROLE\");\n * bytes32 constant public MODIFY_RATE_EXPIRY_ROLE = keccak256(\"MODIFY_RATE_EXPIRY_ROLE\");\n */\n\n bytes32 constant public ADD_EMPLOYEE_ROLE = 0x9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e;\n bytes32 constant public TERMINATE_EMPLOYEE_ROLE = 0x69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea9242;\n bytes32 constant public SET_EMPLOYEE_SALARY_ROLE = 0xea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d;\n bytes32 constant public ADD_BONUS_ROLE = 0xceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae;\n bytes32 constant public ADD_REIMBURSEMENT_ROLE = 0x90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a16;\n bytes32 constant public MANAGE_ALLOWED_TOKENS_ROLE = 0x0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c06;\n bytes32 constant public MODIFY_PRICE_FEED_ROLE = 0x74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb9302;\n bytes32 constant public MODIFY_RATE_EXPIRY_ROLE = 0x79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e;\n\n uint256 internal constant MAX_ALLOWED_TOKENS = 20; // prevent OOG issues with `payday()`\n uint64 internal constant MIN_RATE_EXPIRY = uint64(1 minutes); // 1 min == ~4 block window to mine both a price feed update and a payout\n\n uint256 internal constant MAX_UINT256 = uint256(-1);\n uint64 internal constant MAX_UINT64 = uint64(-1);\n\n string private constant ERROR_EMPLOYEE_DOESNT_EXIST = \"PAYROLL_EMPLOYEE_DOESNT_EXIST\";\n string private constant ERROR_NON_ACTIVE_EMPLOYEE = \"PAYROLL_NON_ACTIVE_EMPLOYEE\";\n string private constant ERROR_SENDER_DOES_NOT_MATCH = \"PAYROLL_SENDER_DOES_NOT_MATCH\";\n string private constant ERROR_FINANCE_NOT_CONTRACT = \"PAYROLL_FINANCE_NOT_CONTRACT\";\n string private constant ERROR_TOKEN_ALREADY_SET = \"PAYROLL_TOKEN_ALREADY_SET\";\n string private constant ERROR_MAX_ALLOWED_TOKENS = \"PAYROLL_MAX_ALLOWED_TOKENS\";\n string private constant ERROR_MIN_RATES_MISMATCH = \"PAYROLL_MIN_RATES_MISMATCH\";\n string private constant ERROR_TOKEN_ALLOCATION_MISMATCH = \"PAYROLL_TOKEN_ALLOCATION_MISMATCH\";\n string private constant ERROR_NOT_ALLOWED_TOKEN = \"PAYROLL_NOT_ALLOWED_TOKEN\";\n string private constant ERROR_DISTRIBUTION_NOT_FULL = \"PAYROLL_DISTRIBUTION_NOT_FULL\";\n string private constant ERROR_INVALID_PAYMENT_TYPE = \"PAYROLL_INVALID_PAYMENT_TYPE\";\n string private constant ERROR_NOTHING_PAID = \"PAYROLL_NOTHING_PAID\";\n string private constant ERROR_CAN_NOT_FORWARD = \"PAYROLL_CAN_NOT_FORWARD\";\n string private constant ERROR_EMPLOYEE_NULL_ADDRESS = \"PAYROLL_EMPLOYEE_NULL_ADDRESS\";\n string private constant ERROR_EMPLOYEE_ALREADY_EXIST = \"PAYROLL_EMPLOYEE_ALREADY_EXIST\";\n string private constant ERROR_FEED_NOT_CONTRACT = \"PAYROLL_FEED_NOT_CONTRACT\";\n string private constant ERROR_EXPIRY_TIME_TOO_SHORT = \"PAYROLL_EXPIRY_TIME_TOO_SHORT\";\n string private constant ERROR_PAST_TERMINATION_DATE = \"PAYROLL_PAST_TERMINATION_DATE\";\n string private constant ERROR_EXCHANGE_RATE_TOO_LOW = \"PAYROLL_EXCHANGE_RATE_TOO_LOW\";\n string private constant ERROR_LAST_PAYROLL_DATE_TOO_BIG = \"PAYROLL_LAST_DATE_TOO_BIG\";\n string private constant ERROR_INVALID_REQUESTED_AMOUNT = \"PAYROLL_INVALID_REQUESTED_AMT\";\n\n enum PaymentType { Payroll, Reimbursement, Bonus }\n\n struct Employee {\n address accountAddress; // unique, but can be changed over time\n uint256 denominationTokenSalary; // salary per second in denomination Token\n uint256 accruedSalary; // keep track of any leftover accrued salary when changing salaries\n uint256 bonus;\n uint256 reimbursements;\n uint64 lastPayroll;\n uint64 endDate;\n address[] allocationTokenAddresses;\n mapping(address => uint256) allocationTokens;\n }\n\n Finance public finance;\n address public denominationToken;\n IFeed public feed;\n uint64 public rateExpiryTime;\n\n // Employees start at index 1, to allow us to use employees[0] to check for non-existent employees\n uint256 public nextEmployee;\n mapping(uint256 => Employee) internal employees; // employee ID -> employee\n mapping(address => uint256) internal employeeIds; // employee address -> employee ID\n\n mapping(address => bool) internal allowedTokens;\n\n event AddEmployee(\n uint256 indexed employeeId,\n address indexed accountAddress,\n uint256 initialDenominationSalary,\n uint64 startDate,\n string role\n );\n event TerminateEmployee(uint256 indexed employeeId, uint64 endDate);\n event SetEmployeeSalary(uint256 indexed employeeId, uint256 denominationSalary);\n event AddEmployeeAccruedSalary(uint256 indexed employeeId, uint256 amount);\n event AddEmployeeBonus(uint256 indexed employeeId, uint256 amount);\n event AddEmployeeReimbursement(uint256 indexed employeeId, uint256 amount);\n event ChangeAddressByEmployee(uint256 indexed employeeId, address indexed newAccountAddress, address indexed oldAccountAddress);\n event DetermineAllocation(uint256 indexed employeeId);\n event SendPayment(\n uint256 indexed employeeId,\n address indexed accountAddress,\n address indexed token,\n uint256 amount,\n uint256 exchangeRate,\n string paymentReference\n );\n event SetAllowedToken(address indexed token, bool allowed);\n event SetPriceFeed(address indexed feed);\n event SetRateExpiryTime(uint64 time);\n\n // Check employee exists by ID\n modifier employeeIdExists(uint256 _employeeId) {\n require(_employeeExists(_employeeId), ERROR_EMPLOYEE_DOESNT_EXIST);\n _;\n }\n\n // Check employee exists and is still active\n modifier employeeActive(uint256 _employeeId) {\n // No need to check for existence as _isEmployeeIdActive() is false for non-existent employees\n require(_isEmployeeIdActive(_employeeId), ERROR_NON_ACTIVE_EMPLOYEE);\n _;\n }\n\n // Check sender matches an existing employee\n modifier employeeMatches {\n require(employees[employeeIds[msg.sender]].accountAddress == msg.sender, ERROR_SENDER_DOES_NOT_MATCH);\n _;\n }\n\n /**\n * @notice Initialize Payroll app for Finance at `_finance` and price feed at `_priceFeed`, setting denomination token to `_token` and exchange rate expiry time to `@transformTime(_rateExpiryTime)`\n * @dev Note that we do not require _denominationToken to be a contract, as it may be a \"fake\"\n * address used by the price feed to denominate fiat currencies\n * @param _finance Address of the Finance app this Payroll app will rely on for payments (non-changeable)\n * @param _denominationToken Address of the denomination token used for salary accounting\n * @param _priceFeed Address of the price feed\n * @param _rateExpiryTime Acceptable expiry time in seconds for the price feed's exchange rates\n */\n function initialize(Finance _finance, address _denominationToken, IFeed _priceFeed, uint64 _rateExpiryTime) external onlyInit {\n initialized();\n\n require(isContract(_finance), ERROR_FINANCE_NOT_CONTRACT);\n finance = _finance;\n\n denominationToken = _denominationToken;\n _setPriceFeed(_priceFeed);\n _setRateExpiryTime(_rateExpiryTime);\n\n // Employees start at index 1, to allow us to use employees[0] to check for non-existent employees\n nextEmployee = 1;\n }\n\n /**\n * @notice `_allowed ? 'Add' : 'Remove'` `_token.symbol(): string` `_allowed ? 'to' : 'from'` the set of allowed tokens\n * @param _token Address of the token to be added or removed from the list of allowed tokens for payments\n * @param _allowed Boolean to tell whether the given token should be added or removed from the list\n */\n function setAllowedToken(address _token, bool _allowed) external authP(MANAGE_ALLOWED_TOKENS_ROLE, arr(_token)) {\n require(allowedTokens[_token] != _allowed, ERROR_TOKEN_ALREADY_SET);\n allowedTokens[_token] = _allowed;\n emit SetAllowedToken(_token, _allowed);\n }\n\n /**\n * @notice Set the price feed for exchange rates to `_feed`\n * @param _feed Address of the new price feed instance\n */\n function setPriceFeed(IFeed _feed) external authP(MODIFY_PRICE_FEED_ROLE, arr(_feed, feed)) {\n _setPriceFeed(_feed);\n }\n\n /**\n * @notice Set the acceptable expiry time for the price feed's exchange rates to `@transformTime(_time)`\n * @dev Exchange rates older than the given value won't be accepted for payments and will cause payouts to revert\n * @param _time The expiration time in seconds for exchange rates\n */\n function setRateExpiryTime(uint64 _time) external authP(MODIFY_RATE_EXPIRY_ROLE, arr(uint256(_time), uint256(rateExpiryTime))) {\n _setRateExpiryTime(_time);\n }\n\n /**\n * @notice Add employee with address `_accountAddress` to payroll with an salary of `_initialDenominationSalary` per second, starting on `@formatDate(_startDate)`\n * @param _accountAddress Employee's address to receive payroll\n * @param _initialDenominationSalary Employee's salary, per second in denomination token\n * @param _startDate Employee's starting timestamp in seconds (it actually sets their initial lastPayroll value)\n * @param _role Employee's role\n */\n function addEmployee(address _accountAddress, uint256 _initialDenominationSalary, uint64 _startDate, string _role)\n external\n authP(ADD_EMPLOYEE_ROLE, arr(_accountAddress, _initialDenominationSalary, uint256(_startDate)))\n {\n _addEmployee(_accountAddress, _initialDenominationSalary, _startDate, _role);\n }\n\n /**\n * @notice Add `_amount` to bonus for employee #`_employeeId`\n * @param _employeeId Employee's identifier\n * @param _amount Amount to be added to the employee's bonuses in denomination token\n */\n function addBonus(uint256 _employeeId, uint256 _amount)\n external\n authP(ADD_BONUS_ROLE, arr(_employeeId, _amount))\n employeeActive(_employeeId)\n {\n _addBonus(_employeeId, _amount);\n }\n\n /**\n * @notice Add `_amount` to reimbursements for employee #`_employeeId`\n * @param _employeeId Employee's identifier\n * @param _amount Amount to be added to the employee's reimbursements in denomination token\n */\n function addReimbursement(uint256 _employeeId, uint256 _amount)\n external\n authP(ADD_REIMBURSEMENT_ROLE, arr(_employeeId, _amount))\n employeeActive(_employeeId)\n {\n _addReimbursement(_employeeId, _amount);\n }\n\n /**\n * @notice Set employee #`_employeeId`'s salary to `_denominationSalary` per second\n * @dev This reverts if either the employee's owed salary or accrued salary overflows, to avoid\n * losing any accrued salary for an employee due to the employer changing their salary.\n * @param _employeeId Employee's identifier\n * @param _denominationSalary Employee's new salary, per second in denomination token\n */\n function setEmployeeSalary(uint256 _employeeId, uint256 _denominationSalary)\n external\n authP(SET_EMPLOYEE_SALARY_ROLE, arr(_employeeId, _denominationSalary, employees[_employeeId].denominationTokenSalary))\n employeeActive(_employeeId)\n {\n Employee storage employee = employees[_employeeId];\n\n // Accrue employee's owed salary; don't cap to revert on overflow\n uint256 owed = _getOwedSalarySinceLastPayroll(employee, false);\n _addAccruedSalary(_employeeId, owed);\n\n // Update employee to track the new salary and payment date\n employee.lastPayroll = getTimestamp64();\n employee.denominationTokenSalary = _denominationSalary;\n\n emit SetEmployeeSalary(_employeeId, _denominationSalary);\n }\n\n /**\n * @notice Terminate employee #`_employeeId` on `@formatDate(_endDate)`\n * @param _employeeId Employee's identifier\n * @param _endDate Termination timestamp in seconds\n */\n function terminateEmployee(uint256 _employeeId, uint64 _endDate)\n external\n authP(TERMINATE_EMPLOYEE_ROLE, arr(_employeeId, uint256(_endDate)))\n employeeActive(_employeeId)\n {\n _terminateEmployee(_employeeId, _endDate);\n }\n\n /**\n * @notice Change your employee account address to `_newAccountAddress`\n * @dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n * only be added via `addEmployee(),` which requires initialization.\n * As the employee is allowed to call this, we enforce non-reentrancy.\n * @param _newAccountAddress New address to receive payments for the requesting employee\n */\n function changeAddressByEmployee(address _newAccountAddress) external employeeMatches nonReentrant {\n uint256 employeeId = employeeIds[msg.sender];\n address oldAddress = employees[employeeId].accountAddress;\n\n _setEmployeeAddress(employeeId, _newAccountAddress);\n // Don't delete the old address until after setting the new address to check that the\n // employee specified a new address\n delete employeeIds[oldAddress];\n\n emit ChangeAddressByEmployee(employeeId, _newAccountAddress, oldAddress);\n }\n\n /**\n * @notice Set the token distribution for your payments\n * @dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n * only be added via `addEmployee(),` which requires initialization.\n * As the employee is allowed to call this, we enforce non-reentrancy.\n * @param _tokens Array of token addresses; they must belong to the list of allowed tokens\n * @param _distribution Array with each token's corresponding proportions (must be integers summing to 100)\n */\n function determineAllocation(address[] _tokens, uint256[] _distribution) external employeeMatches nonReentrant {\n // Check array lengthes match\n require(_tokens.length <= MAX_ALLOWED_TOKENS, ERROR_MAX_ALLOWED_TOKENS);\n require(_tokens.length == _distribution.length, ERROR_TOKEN_ALLOCATION_MISMATCH);\n\n uint256 employeeId = employeeIds[msg.sender];\n Employee storage employee = employees[employeeId];\n\n // Delete previous token allocations\n address[] memory previousAllowedTokenAddresses = employee.allocationTokenAddresses;\n for (uint256 j = 0; j < previousAllowedTokenAddresses.length; j++) {\n delete employee.allocationTokens[previousAllowedTokenAddresses[j]];\n }\n delete employee.allocationTokenAddresses;\n\n // Set distributions only if given tokens are allowed\n for (uint256 i = 0; i < _tokens.length; i++) {\n employee.allocationTokenAddresses.push(_tokens[i]);\n employee.allocationTokens[_tokens[i]] = _distribution[i];\n }\n\n _ensureEmployeeTokenAllocationsIsValid(employee);\n emit DetermineAllocation(employeeId);\n }\n\n /**\n * @notice Request your `_type == 0 ? 'salary' : _type == 1 ? 'reimbursements' : 'bonus'`\n * @dev Reverts if no payments were made.\n * Initialization check is implicitly provided by `employeeMatches` as new employees can\n * only be added via `addEmployee(),` which requires initialization.\n * As the employee is allowed to call this, we enforce non-reentrancy.\n * @param _type Payment type being requested (Payroll, Reimbursement or Bonus)\n * @param _requestedAmount Requested amount to pay for the payment type. Must be less than or equal to total owed amount for the payment type, or zero to request all.\n * @param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens\n */\n function payday(PaymentType _type, uint256 _requestedAmount, uint256[] _minRates) external employeeMatches nonReentrant {\n uint256 paymentAmount;\n uint256 employeeId = employeeIds[msg.sender];\n Employee storage employee = employees[employeeId];\n _ensureEmployeeTokenAllocationsIsValid(employee);\n require(_minRates.length == 0 || _minRates.length == employee.allocationTokenAddresses.length, ERROR_MIN_RATES_MISMATCH);\n\n // Do internal employee accounting\n if (_type == PaymentType.Payroll) {\n // Salary is capped here to avoid reverting at this point if it becomes too big\n // (so employees aren't DDOSed if their salaries get too large)\n // If we do use a capped value, the employee's lastPayroll date will be adjusted accordingly\n uint256 totalOwedSalary = _getTotalOwedCappedSalary(employee);\n paymentAmount = _ensurePaymentAmount(totalOwedSalary, _requestedAmount);\n _updateEmployeeAccountingBasedOnPaidSalary(employee, paymentAmount);\n } else if (_type == PaymentType.Reimbursement) {\n uint256 owedReimbursements = employee.reimbursements;\n paymentAmount = _ensurePaymentAmount(owedReimbursements, _requestedAmount);\n employee.reimbursements = owedReimbursements.sub(paymentAmount);\n } else if (_type == PaymentType.Bonus) {\n uint256 owedBonusAmount = employee.bonus;\n paymentAmount = _ensurePaymentAmount(owedBonusAmount, _requestedAmount);\n employee.bonus = owedBonusAmount.sub(paymentAmount);\n } else {\n revert(ERROR_INVALID_PAYMENT_TYPE);\n }\n\n // Actually transfer the owed funds\n require(_transferTokensAmount(employeeId, _type, paymentAmount, _minRates), ERROR_NOTHING_PAID);\n _removeEmployeeIfTerminatedAndPaidOut(employeeId);\n }\n\n // Forwarding fns\n\n /**\n * @dev IForwarder interface conformance. Tells whether the Payroll app is a forwarder or not.\n * @return Always true\n */\n function isForwarder() external pure returns (bool) {\n return true;\n }\n\n /**\n * @notice Execute desired action as an active employee\n * @dev IForwarder interface conformance. Allows active employees to run EVMScripts in the context of the Payroll app.\n * @param _evmScript Script being executed\n */\n function forward(bytes _evmScript) public {\n require(canForward(msg.sender, _evmScript), ERROR_CAN_NOT_FORWARD);\n bytes memory input = new bytes(0); // TODO: Consider input for this\n\n // Add the Finance app to the blacklist to disallow employees from executing actions on the\n // Finance app from Payroll's context (since Payroll requires permissions on Finance)\n address[] memory blacklist = new address[](1);\n blacklist[0] = address(finance);\n\n runScript(_evmScript, input, blacklist);\n }\n\n /**\n * @dev IForwarder interface conformance. Tells whether a given address can forward actions or not.\n * @param _sender Address of the account intending to forward an action\n * @return True if the given address is an active employee, false otherwise\n */\n function canForward(address _sender, bytes) public view returns (bool) {\n return _isEmployeeIdActive(employeeIds[_sender]);\n }\n\n // Getter fns\n\n /**\n * @dev Return employee's identifier by their account address\n * @param _accountAddress Employee's address to receive payments\n * @return Employee's identifier\n */\n function getEmployeeIdByAddress(address _accountAddress) public view returns (uint256) {\n require(employeeIds[_accountAddress] != uint256(0), ERROR_EMPLOYEE_DOESNT_EXIST);\n return employeeIds[_accountAddress];\n }\n\n /**\n * @dev Return all information for employee by their ID\n * @param _employeeId Employee's identifier\n * @return Employee's address to receive payments\n * @return Employee's salary, per second in denomination token\n * @return Employee's accrued salary\n * @return Employee's bonus amount\n * @return Employee's reimbursements amount\n * @return Employee's last payment date\n * @return Employee's termination date (max uint64 if none)\n * @return Employee's allowed payment tokens\n */\n function getEmployee(uint256 _employeeId)\n public\n view\n employeeIdExists(_employeeId)\n returns (\n address accountAddress,\n uint256 denominationSalary,\n uint256 accruedSalary,\n uint256 bonus,\n uint256 reimbursements,\n uint64 lastPayroll,\n uint64 endDate,\n address[] allocationTokens\n )\n {\n Employee storage employee = employees[_employeeId];\n\n accountAddress = employee.accountAddress;\n denominationSalary = employee.denominationTokenSalary;\n accruedSalary = employee.accruedSalary;\n bonus = employee.bonus;\n reimbursements = employee.reimbursements;\n lastPayroll = employee.lastPayroll;\n endDate = employee.endDate;\n allocationTokens = employee.allocationTokenAddresses;\n }\n\n /**\n * @dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n * The result will be capped to max uint256 to avoid having an overflow.\n * @return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.\n */\n function getTotalOwedSalary(uint256 _employeeId) public view employeeIdExists(_employeeId) returns (uint256) {\n return _getTotalOwedCappedSalary(employees[_employeeId]);\n }\n\n /**\n * @dev Get an employee's payment allocation for a token\n * @param _employeeId Employee's identifier\n * @param _token Token to query the payment allocation for\n * @return Employee's payment allocation for the token being queried\n */\n function getAllocation(uint256 _employeeId, address _token) public view employeeIdExists(_employeeId) returns (uint256) {\n return employees[_employeeId].allocationTokens[_token];\n }\n\n /**\n * @dev Check if a token is allowed to be used for payments\n * @param _token Address of the token to be checked\n * @return True if the given token is allowed, false otherwise\n */\n function isTokenAllowed(address _token) public view isInitialized returns (bool) {\n return allowedTokens[_token];\n }\n\n // Internal fns\n\n /**\n * @dev Set the price feed used for exchange rates\n * @param _feed Address of the new price feed instance\n */\n function _setPriceFeed(IFeed _feed) internal {\n require(isContract(_feed), ERROR_FEED_NOT_CONTRACT);\n feed = _feed;\n emit SetPriceFeed(feed);\n }\n\n /**\n * @dev Set the exchange rate expiry time in seconds.\n * Exchange rates older than the given value won't be accepted for payments and will cause\n * payouts to revert.\n * @param _time The expiration time in seconds for exchange rates\n */\n function _setRateExpiryTime(uint64 _time) internal {\n // Require a sane minimum for the rate expiry time\n require(_time >= MIN_RATE_EXPIRY, ERROR_EXPIRY_TIME_TOO_SHORT);\n rateExpiryTime = _time;\n emit SetRateExpiryTime(rateExpiryTime);\n }\n\n /**\n * @dev Add a new employee to Payroll\n * @param _accountAddress Employee's address to receive payroll\n * @param _initialDenominationSalary Employee's salary, per second in denomination token\n * @param _startDate Employee's starting timestamp in seconds\n * @param _role Employee's role\n */\n function _addEmployee(address _accountAddress, uint256 _initialDenominationSalary, uint64 _startDate, string _role) internal {\n uint256 employeeId = nextEmployee++;\n\n _setEmployeeAddress(employeeId, _accountAddress);\n\n Employee storage employee = employees[employeeId];\n employee.denominationTokenSalary = _initialDenominationSalary;\n employee.lastPayroll = _startDate;\n employee.endDate = MAX_UINT64;\n\n emit AddEmployee(employeeId, _accountAddress, _initialDenominationSalary, _startDate, _role);\n }\n\n /**\n * @dev Add amount to an employee's bonuses\n * @param _employeeId Employee's identifier\n * @param _amount Amount be added to the employee's bonuses in denomination token\n */\n function _addBonus(uint256 _employeeId, uint256 _amount) internal {\n Employee storage employee = employees[_employeeId];\n employee.bonus = employee.bonus.add(_amount);\n emit AddEmployeeBonus(_employeeId, _amount);\n }\n\n /**\n * @dev Add amount to an employee's reimbursements\n * @param _employeeId Employee's identifier\n * @param _amount Amount be added to the employee's reimbursements in denomination token\n */\n function _addReimbursement(uint256 _employeeId, uint256 _amount) internal {\n Employee storage employee = employees[_employeeId];\n employee.reimbursements = employee.reimbursements.add(_amount);\n emit AddEmployeeReimbursement(_employeeId, _amount);\n }\n\n /**\n * @dev Add amount to an employee's accrued salary\n * @param _employeeId Employee's identifier\n * @param _amount Amount be added to the employee's accrued salary in denomination token\n */\n function _addAccruedSalary(uint256 _employeeId, uint256 _amount) internal {\n Employee storage employee = employees[_employeeId];\n employee.accruedSalary = employee.accruedSalary.add(_amount);\n emit AddEmployeeAccruedSalary(_employeeId, _amount);\n }\n\n /**\n * @dev Set an employee's account address\n * @param _employeeId Employee's identifier\n * @param _accountAddress Employee's address to receive payroll\n */\n function _setEmployeeAddress(uint256 _employeeId, address _accountAddress) internal {\n // Check address is non-null\n require(_accountAddress != address(0), ERROR_EMPLOYEE_NULL_ADDRESS);\n // Check address isn't already being used\n require(employeeIds[_accountAddress] == uint256(0), ERROR_EMPLOYEE_ALREADY_EXIST);\n\n employees[_employeeId].accountAddress = _accountAddress;\n\n // Create IDs mapping\n employeeIds[_accountAddress] = _employeeId;\n }\n\n /**\n * @dev Terminate employee on end date\n * @param _employeeId Employee's identifier\n * @param _endDate Termination timestamp in seconds\n */\n function _terminateEmployee(uint256 _employeeId, uint64 _endDate) internal {\n // Prevent past termination dates\n require(_endDate >= getTimestamp64(), ERROR_PAST_TERMINATION_DATE);\n employees[_employeeId].endDate = _endDate;\n emit TerminateEmployee(_employeeId, _endDate);\n }\n\n /**\n * @dev Loop over allowed tokens to send requested amount to the employee in their desired allocation\n * @param _employeeId Employee's identifier\n * @param _totalAmount Total amount to be transferred to the employee distributed in accordance to the employee's token allocation.\n * @param _type Payment type being transferred (Payroll, Reimbursement or Bonus)\n * @param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens\n * @return True if there was at least one token transfer\n */\n function _transferTokensAmount(uint256 _employeeId, PaymentType _type, uint256 _totalAmount, uint256[] _minRates) internal returns (bool somethingPaid) {\n if (_totalAmount == 0) {\n return false;\n }\n\n Employee storage employee = employees[_employeeId];\n address employeeAddress = employee.accountAddress;\n string memory paymentReference = _paymentReferenceFor(_type);\n\n address[] storage allocationTokenAddresses = employee.allocationTokenAddresses;\n for (uint256 i = 0; i < allocationTokenAddresses.length; i++) {\n address token = allocationTokenAddresses[i];\n uint256 tokenAllocation = employee.allocationTokens[token];\n if (tokenAllocation != uint256(0)) {\n // Get the exchange rate for the payout token in denomination token,\n // as we do accounting in denomination tokens\n uint256 exchangeRate = _getExchangeRateInDenominationToken(token);\n require(_minRates.length > 0 ? exchangeRate >= _minRates[i] : exchangeRate > 0, ERROR_EXCHANGE_RATE_TOO_LOW);\n\n // Convert amount (in denomination tokens) to payout token and apply allocation\n uint256 tokenAmount = _totalAmount.mul(exchangeRate).mul(tokenAllocation);\n // Divide by 100 for the allocation percentage and by the exchange rate precision\n tokenAmount = tokenAmount.div(100).div(feed.ratePrecision());\n\n // Finance reverts if the payment wasn't possible\n finance.newImmediatePayment(token, employeeAddress, tokenAmount, paymentReference);\n emit SendPayment(_employeeId, employeeAddress, token, tokenAmount, exchangeRate, paymentReference);\n somethingPaid = true;\n }\n }\n }\n\n /**\n * @dev Remove employee if there are no owed funds and employee's end date has been reached\n * @param _employeeId Employee's identifier\n */\n function _removeEmployeeIfTerminatedAndPaidOut(uint256 _employeeId) internal {\n Employee storage employee = employees[_employeeId];\n\n if (\n employee.lastPayroll == employee.endDate &&\n (employee.accruedSalary == 0 && employee.bonus == 0 && employee.reimbursements == 0)\n ) {\n delete employeeIds[employee.accountAddress];\n delete employees[_employeeId];\n }\n }\n\n /**\n * @dev Updates the accrued salary and payroll date of an employee based on a payment amount and\n * their currently owed salary since last payroll date\n * @param _employee Employee struct in storage\n * @param _paymentAmount Amount being paid to the employee\n */\n function _updateEmployeeAccountingBasedOnPaidSalary(Employee storage _employee, uint256 _paymentAmount) internal {\n uint256 accruedSalary = _employee.accruedSalary;\n\n if (_paymentAmount <= accruedSalary) {\n // Employee is only cashing out some previously owed salary so we don't need to update\n // their last payroll date\n // No need to use SafeMath as we already know _paymentAmount <= accruedSalary\n _employee.accruedSalary = accruedSalary - _paymentAmount;\n return;\n }\n\n // Employee is cashing out some of their currently owed salary so their last payroll date\n // needs to be modified based on the amount of salary paid\n uint256 currentSalaryPaid = _paymentAmount;\n if (accruedSalary > 0) {\n // Employee is cashing out a mixed amount between previous and current owed salaries;\n // first use up their accrued salary\n // No need to use SafeMath here as we already know _paymentAmount > accruedSalary\n currentSalaryPaid = _paymentAmount - accruedSalary;\n // We finally need to clear their accrued salary\n _employee.accruedSalary = 0;\n }\n\n uint256 salary = _employee.denominationTokenSalary;\n uint256 timeDiff = currentSalaryPaid.div(salary);\n\n // If they're being paid an amount that doesn't match perfectly with the adjusted time\n // (up to a seconds' worth of salary), add the second and put the extra remaining salary\n // into their accrued salary\n uint256 extraSalary = currentSalaryPaid % salary;\n if (extraSalary > 0) {\n timeDiff = timeDiff.add(1);\n _employee.accruedSalary = salary - extraSalary;\n }\n\n uint256 lastPayrollDate = uint256(_employee.lastPayroll).add(timeDiff);\n // Even though this function should never receive a currentSalaryPaid value that would\n // result in the lastPayrollDate being higher than the current time,\n // let's double check to be safe\n require(lastPayrollDate <= uint256(getTimestamp64()), ERROR_LAST_PAYROLL_DATE_TOO_BIG);\n // Already know lastPayrollDate must fit in uint64 from above\n _employee.lastPayroll = uint64(lastPayrollDate);\n }\n\n /**\n * @dev Tell whether an employee is registered in this Payroll or not\n * @param _employeeId Employee's identifier\n * @return True if the given employee ID belongs to an registered employee, false otherwise\n */\n function _employeeExists(uint256 _employeeId) internal view returns (bool) {\n return employees[_employeeId].accountAddress != address(0);\n }\n\n /**\n * @dev Tell whether an employee has a valid token allocation or not.\n * A valid allocation is one that sums to 100 and only includes allowed tokens.\n * @param _employee Employee struct in storage\n * @return Reverts if employee's allocation is invalid\n */\n function _ensureEmployeeTokenAllocationsIsValid(Employee storage _employee) internal view {\n uint256 sum = 0;\n address[] memory allocationTokenAddresses = _employee.allocationTokenAddresses;\n for (uint256 i = 0; i < allocationTokenAddresses.length; i++) {\n address token = allocationTokenAddresses[i];\n require(allowedTokens[token], ERROR_NOT_ALLOWED_TOKEN);\n sum = sum.add(_employee.allocationTokens[token]);\n }\n require(sum == 100, ERROR_DISTRIBUTION_NOT_FULL);\n }\n\n /**\n * @dev Tell whether an employee is still active or not\n * @param _employee Employee struct in storage\n * @return True if the employee exists and has an end date that has not been reached yet, false otherwise\n */\n function _isEmployeeActive(Employee storage _employee) internal view returns (bool) {\n return _employee.endDate >= getTimestamp64();\n }\n\n /**\n * @dev Tell whether an employee id is still active or not\n * @param _employeeId Employee's identifier\n * @return True if the employee exists and has an end date that has not been reached yet, false otherwise\n */\n function _isEmployeeIdActive(uint256 _employeeId) internal view returns (bool) {\n return _isEmployeeActive(employees[_employeeId]);\n }\n\n /**\n * @dev Get exchange rate for a token based on the denomination token.\n * As an example, if the denomination token was USD and ETH's price was 100USD,\n * this would return 0.01 * precision rate for ETH.\n * @param _token Token to get price of in denomination tokens\n * @return Exchange rate (multiplied by the PPF rate precision)\n */\n function _getExchangeRateInDenominationToken(address _token) internal view returns (uint256) {\n // xrt is the number of `_token` that can be exchanged for one `denominationToken`\n (uint128 xrt, uint64 when) = feed.get(\n denominationToken, // Base (e.g. USD)\n _token // Quote (e.g. ETH)\n );\n\n // Check the price feed is recent enough\n if (getTimestamp64().sub(when) >= rateExpiryTime) {\n return 0;\n }\n\n return uint256(xrt);\n }\n\n /**\n * @dev Get owed salary since last payroll for an employee\n * @param _employee Employee struct in storage\n * @param _capped Safely cap the owed salary at max uint\n * @return Owed salary in denomination tokens since last payroll for the employee.\n * If _capped is false, it reverts in case of an overflow.\n */\n function _getOwedSalarySinceLastPayroll(Employee storage _employee, bool _capped) internal view returns (uint256) {\n uint256 timeDiff = _getOwedPayrollPeriod(_employee);\n if (timeDiff == 0) {\n return 0;\n }\n uint256 salary = _employee.denominationTokenSalary;\n\n if (_capped) {\n // Return max uint if the result overflows\n uint256 result = salary * timeDiff;\n return (result / timeDiff != salary) ? MAX_UINT256 : result;\n } else {\n return salary.mul(timeDiff);\n }\n }\n\n /**\n * @dev Get owed payroll period for an employee\n * @param _employee Employee struct in storage\n * @return Owed time in seconds since the employee's last payroll date\n */\n function _getOwedPayrollPeriod(Employee storage _employee) internal view returns (uint256) {\n // Get the min of current date and termination date\n uint64 date = _isEmployeeActive(_employee) ? getTimestamp64() : _employee.endDate;\n\n // Make sure we don't revert if we try to get the owed salary for an employee whose last\n // payroll date is now or in the future\n // This can happen either by adding new employees with start dates in the future, to allow\n // us to change their salary before their start date, or by terminating an employee and\n // paying out their full owed salary\n if (date <= _employee.lastPayroll) {\n return 0;\n }\n\n // Return time diff in seconds, no need to use SafeMath as the underflow was covered by the previous check\n return uint256(date - _employee.lastPayroll);\n }\n\n /**\n * @dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n * The result will be capped to max uint256 to avoid having an overflow.\n * @param _employee Employee struct in storage\n * @return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.\n */\n function _getTotalOwedCappedSalary(Employee storage _employee) internal view returns (uint256) {\n uint256 currentOwedSalary = _getOwedSalarySinceLastPayroll(_employee, true); // cap amount\n uint256 totalOwedSalary = currentOwedSalary + _employee.accruedSalary;\n if (totalOwedSalary < currentOwedSalary) {\n totalOwedSalary = MAX_UINT256;\n }\n return totalOwedSalary;\n }\n\n /**\n * @dev Get payment reference for a given payment type\n * @param _type Payment type to query the reference of\n * @return Payment reference for the given payment type\n */\n function _paymentReferenceFor(PaymentType _type) internal pure returns (string memory) {\n if (_type == PaymentType.Payroll) {\n return \"Employee salary\";\n } else if (_type == PaymentType.Reimbursement) {\n return \"Employee reimbursement\";\n } if (_type == PaymentType.Bonus) {\n return \"Employee bonus\";\n }\n revert(ERROR_INVALID_PAYMENT_TYPE);\n }\n\n function _ensurePaymentAmount(uint256 _owedAmount, uint256 _requestedAmount) private pure returns (uint256) {\n require(_owedAmount > 0, ERROR_NOTHING_PAID);\n require(_owedAmount >= _requestedAmount, ERROR_INVALID_REQUESTED_AMOUNT);\n return _requestedAmount > 0 ? _requestedAmount : _owedAmount;\n }\n}\n", - "sourcePath": "@aragon/apps-payroll/contracts/Payroll.sol", - "ast": { - "absolutePath": "@aragon/apps-payroll/contracts/Payroll.sol", - "exportedSymbols": { - "Payroll": [ - 15995 - ] - }, - "id": 15996, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 14012, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:18" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 14013, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23454, - "src": "25:49:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 14014, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23650, - "src": "75:60:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 14015, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23826, - "src": "136:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 14016, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23672, - "src": "189:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 14017, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 27870, - "src": "243:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 14018, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 28012, - "src": "296:54:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/ppf-contracts/contracts/IFeed.sol", - "file": "@aragon/ppf-contracts/contracts/IFeed.sol", - "id": 14019, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 28119, - "src": "352:51:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "file": "@aragon/apps-finance/contracts/Finance.sol", - "id": 14020, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 14011, - "src": "404:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14021, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "528:18:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 14022, - "nodeType": "InheritanceSpecifier", - "src": "528:18:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14023, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "548:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 14024, - "nodeType": "InheritanceSpecifier", - "src": "548:10:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14025, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "560:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 14026, - "nodeType": "InheritanceSpecifier", - "src": "560:10:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14027, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "572:9:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 14028, - "nodeType": "InheritanceSpecifier", - "src": "572:9:18" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": "@title Payroll in multiple currencies", - "fullyImplemented": true, - "id": 15995, - "linearizedBaseContracts": [ - 15995, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23671, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Payroll", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 14031, - "libraryName": { - "contractScope": null, - "id": 14029, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "594:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "588:27:18", - "typeName": { - "id": 14030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "607:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 14034, - "libraryName": { - "contractScope": null, - "id": 14032, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "626:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "620:28:18", - "typeName": { - "id": 14033, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "641:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 14037, - "name": "ADD_EMPLOYEE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1427:110:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14035, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1427:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839656364633363363337313662343564303735366565636535666531363134636165313838396563356131636536326233313237633166316631363135643665", - "id": 14036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1471:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71828984908844238555949328342089860675847136120918376188830129238999052672366_by_1", - "typeString": "int_const 7182...(69 digits omitted)...2366" - }, - "value": "0x9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14040, - "name": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1543:116:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14038, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1543:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836396336376639313464313262363434306537646466303139363132313438313864393135386662636231393231316530666634323830306664656139323432", - "id": 14039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47843565259164144133809461170372969702816497096869277417040675769185680921154_by_1", - "typeString": "int_const 4784...(69 digits omitted)...1154" - }, - "value": "0x69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea9242" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14043, - "name": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1665:117:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14041, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1665:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865613961633635303138646132343231636634313965653231353233373134343063303832363761313933613333636363316533393534356431393765343464", - "id": 14042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1716:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106114669721649837030210016195818868806878882966462230778670002579541547541581_by_1", - "typeString": "int_const 1061...(70 digits omitted)...1581" - }, - "value": "0xea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14046, - "name": "ADD_BONUS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1788:107:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14044, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1788:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863656361376532663565623734396138376161663638663366373664366239323531616132663436303066313366393363356134616466376137326466346165", - "id": 14045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1829:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93534220812370054220978265633527830468714367242977563805072917605995456099502_by_1", - "typeString": "int_const 9353...(69 digits omitted)...9502" - }, - "value": "0xceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14049, - "name": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1901:115:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14047, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1901:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839303639386239643534343237663165343136333630323530313733303962646231623535333230646139363063383834356261623061353034623031613136", - "id": 14048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1950:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65319532722119508507784416685044973991992190640648452491307818028309280725526_by_1", - "typeString": "int_const 6531...(69 digits omitted)...5526" - }, - "value": "0x90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a16" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14052, - "name": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2022:119:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14050, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2022:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830626533343938376334353730306565336661653863353565323730343138626139303333333764656363366261636231383739353034626539333331633036", - "id": 14051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2075:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5377023105873739678085461058163298743547224377491716976682656041718999358470_by_1", - "typeString": "int_const 5377...(68 digits omitted)...8470" - }, - "value": "0x0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c06" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14055, - "name": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2147:115:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2147:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837343335306566626362613862383533343163356262663730636333346532613538356663313436333532343737336131326661306137316434656239333032", - "id": 14054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52562036742935426542814051682274598831193441213500536100195688242734636438274_by_1", - "typeString": "int_const 5256...(69 digits omitted)...8274" - }, - "value": "0x74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb9302" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14058, - "name": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2268:116:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14056, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2268:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837396665393839613838393930363064666264616262313734656262393636313666613966316439646164643733396638643831346362616234353234303465", - "id": 14057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2318:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55179687064690863465427953388742629249966644689543679381930473656019565297742_by_1", - "typeString": "int_const 5517...(69 digits omitted)...7742" - }, - "value": "0x79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14061, - "name": "MAX_ALLOWED_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2391:49:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2391:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 14060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2438:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14066, - "name": "MIN_RATE_EXPIRY", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2484:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14062, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2484:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 14064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2534:9:18", - "subdenomination": "minutes", - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - } - ], - "id": 14063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2527:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 14065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2527:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14072, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2625:51:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "2673:2:18", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 14069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2674:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 14068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2665:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14078, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2682:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14073, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2682:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "2727:2:18", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 14075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2728:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 14074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 14077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2720:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14081, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2737:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14079, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2737:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f444f45534e545f4558495354", - "id": 14080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2791:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3040532e3b003e5956a88c57b05878bc6423f278034ae52388cd63165fc3e833", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_DOESNT_EXIST\"" - }, - "value": "PAYROLL_EMPLOYEE_DOESNT_EXIST" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14084, - "name": "ERROR_NON_ACTIVE_EMPLOYEE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2828:81:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14082, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2828:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f4e5f4143544956455f454d504c4f594545", - "id": 14083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2880:29:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c682094980d6d373c27c2d307a90340c49b0ecc0d315e2545a5fe5f38cd22281", - "typeString": "literal_string \"PAYROLL_NON_ACTIVE_EMPLOYEE\"" - }, - "value": "PAYROLL_NON_ACTIVE_EMPLOYEE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14087, - "name": "ERROR_SENDER_DOES_NOT_MATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2915:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14085, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2915:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f53454e4445525f444f45535f4e4f545f4d41544348", - "id": 14086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2969:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d92783ff5ae559953bfbd87f56aee966d525be74f6a39bc0866fa203fa3c0f8a", - "typeString": "literal_string \"PAYROLL_SENDER_DOES_NOT_MATCH\"" - }, - "value": "PAYROLL_SENDER_DOES_NOT_MATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14090, - "name": "ERROR_FINANCE_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3006:83:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14088, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3006:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f46494e414e43455f4e4f545f434f4e5452414354", - "id": 14089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3059:30:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d92c79f660c45904491a2e152d329cf0af88eb1d4cc25a3d6e9eb1a904d6c845", - "typeString": "literal_string \"PAYROLL_FINANCE_NOT_CONTRACT\"" - }, - "value": "PAYROLL_FINANCE_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14093, - "name": "ERROR_TOKEN_ALREADY_SET", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3095:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14091, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3095:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f544f4b454e5f414c52454144595f534554", - "id": 14092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3145:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e7c4931d53d3a41fb1f6d61fa04c207cf3489ec4abea554460f89237b69ac42", - "typeString": "literal_string \"PAYROLL_TOKEN_ALREADY_SET\"" - }, - "value": "PAYROLL_TOKEN_ALREADY_SET" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14096, - "name": "ERROR_MAX_ALLOWED_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3178:79:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14094, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3178:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4d41585f414c4c4f5745445f544f4b454e53", - "id": 14095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:28:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6248890f2c0e5a94b2f632d1ea130498e2cd1d7fe8f78f6fd33e1602a4e882c7", - "typeString": "literal_string \"PAYROLL_MAX_ALLOWED_TOKENS\"" - }, - "value": "PAYROLL_MAX_ALLOWED_TOKENS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14099, - "name": "ERROR_MIN_RATES_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3263:79:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14097, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3263:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4d494e5f52415445535f4d49534d41544348", - "id": 14098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3314:28:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_59371e66108cb1395269c6c526f0d6be400c1fc6656273dc7e3b4b831daa386c", - "typeString": "literal_string \"PAYROLL_MIN_RATES_MISMATCH\"" - }, - "value": "PAYROLL_MIN_RATES_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14102, - "name": "ERROR_TOKEN_ALLOCATION_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3348:93:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14100, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3348:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f544f4b454e5f414c4c4f434154494f4e5f4d49534d41544348", - "id": 14101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3406:35:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_038fbdf003f0f02882a927a19a4a83f61295ba2b16b03154c04f677baaec410c", - "typeString": "literal_string \"PAYROLL_TOKEN_ALLOCATION_MISMATCH\"" - }, - "value": "PAYROLL_TOKEN_ALLOCATION_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14105, - "name": "ERROR_NOT_ALLOWED_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3447:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14103, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3447:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f545f414c4c4f5745445f544f4b454e", - "id": 14104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3497:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8fcfddcb695540943ae2ed4e50145415d7c0b93c25369bc835f6df2d9b3dd7d", - "typeString": "literal_string \"PAYROLL_NOT_ALLOWED_TOKEN\"" - }, - "value": "PAYROLL_NOT_ALLOWED_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14108, - "name": "ERROR_DISTRIBUTION_NOT_FULL", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3530:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14106, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3530:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f444953545249425554494f4e5f4e4f545f46554c4c", - "id": 14107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3584:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9bfe203c9c2dccdf906a33d300236c6472ef4e55c862f4f7d82a05d474145ee6", - "typeString": "literal_string \"PAYROLL_DISTRIBUTION_NOT_FULL\"" - }, - "value": "PAYROLL_DISTRIBUTION_NOT_FULL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14111, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3621:83:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14109, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3621:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f494e56414c49445f5041594d454e545f54595045", - "id": 14110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3674:30:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fbeb10f9b50b0fb2daf96e799b8fb1a904855b117f7cd54b79ea18fb7f811e60", - "typeString": "literal_string \"PAYROLL_INVALID_PAYMENT_TYPE\"" - }, - "value": "PAYROLL_INVALID_PAYMENT_TYPE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14114, - "name": "ERROR_NOTHING_PAID", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3710:67:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14112, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3710:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f5448494e475f50414944", - "id": 14113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3755:22:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_464ab43351bb39adf29249dc95c2c8d013eb81eba7ad49e0c243b46e98877fad", - "typeString": "literal_string \"PAYROLL_NOTHING_PAID\"" - }, - "value": "PAYROLL_NOTHING_PAID" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14117, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3783:73:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14115, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3783:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f43414e5f4e4f545f464f5257415244", - "id": 14116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3831:25:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af8e5d8414fe16fa841e3381a7b160e73f4bf11f9e7297d242f6bd149109a9a8", - "typeString": "literal_string \"PAYROLL_CAN_NOT_FORWARD\"" - }, - "value": "PAYROLL_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14120, - "name": "ERROR_EMPLOYEE_NULL_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3862:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14118, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3862:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f4e554c4c5f41444452455353", - "id": 14119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3916:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7cfac5b02ff2c79859c54a3fce4f9af5759533401210b72d16082aae2bfe2ee", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_NULL_ADDRESS\"" - }, - "value": "PAYROLL_EMPLOYEE_NULL_ADDRESS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14123, - "name": "ERROR_EMPLOYEE_ALREADY_EXIST", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3953:87:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3953:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f414c52454144595f4558495354", - "id": 14122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4008:32:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a98a26435327a3c46844ea4f9836be81c5293fc8a885b94b45f249465ed93698", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_ALREADY_EXIST\"" - }, - "value": "PAYROLL_EMPLOYEE_ALREADY_EXIST" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14126, - "name": "ERROR_FEED_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4046:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4046:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f464545445f4e4f545f434f4e5452414354", - "id": 14125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4096:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2229bd8fbc473114577fbfae659ff9b1622a8653983fbae3408e8827cdabab1", - "typeString": "literal_string \"PAYROLL_FEED_NOT_CONTRACT\"" - }, - "value": "PAYROLL_FEED_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14129, - "name": "ERROR_EXPIRY_TIME_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4129:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14127, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4129:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4558504952595f54494d455f544f4f5f53484f5254", - "id": 14128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_086e83ae4281322c96b09123c7687db7954640ecec690b5d0edb6dbfc17b5ec7", - "typeString": "literal_string \"PAYROLL_EXPIRY_TIME_TOO_SHORT\"" - }, - "value": "PAYROLL_EXPIRY_TIME_TOO_SHORT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14132, - "name": "ERROR_PAST_TERMINATION_DATE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4220:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14130, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4220:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f504153545f5445524d494e4154494f4e5f44415445", - "id": 14131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4274:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f89359950816e67b7f2b736b5cf048d89ad0e907dad0a20830ca273ef80123c3", - "typeString": "literal_string \"PAYROLL_PAST_TERMINATION_DATE\"" - }, - "value": "PAYROLL_PAST_TERMINATION_DATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14135, - "name": "ERROR_EXCHANGE_RATE_TOO_LOW", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4311:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14133, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4311:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f45584348414e47455f524154455f544f4f5f4c4f57", - "id": 14134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4365:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_eb441e990ecc79e1ceb2fbfc7c3c1b397bafc4965502d3fc610dffa691801763", - "typeString": "literal_string \"PAYROLL_EXCHANGE_RATE_TOO_LOW\"" - }, - "value": "PAYROLL_EXCHANGE_RATE_TOO_LOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14138, - "name": "ERROR_LAST_PAYROLL_DATE_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4402:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14136, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4402:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4c4153545f444154455f544f4f5f424947", - "id": 14137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4460:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d7e3eb66175393d9f4258ad8eed97a7c810366d3f61f9ce25a8f6f1cc275ec95", - "typeString": "literal_string \"PAYROLL_LAST_DATE_TOO_BIG\"" - }, - "value": "PAYROLL_LAST_DATE_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14141, - "name": "ERROR_INVALID_REQUESTED_AMOUNT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4493:88:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14139, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4493:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f494e56414c49445f5245515545535445445f414d54", - "id": 14140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4550:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bf445dfdf1e5b661f5955441508282db24b09bddac520fbaae8ce53716cb894e", - "typeString": "literal_string \"PAYROLL_INVALID_REQUESTED_AMT\"" - }, - "value": "PAYROLL_INVALID_REQUESTED_AMT" - }, - "visibility": "private" - }, - { - "canonicalName": "Payroll.PaymentType", - "id": 14145, - "members": [ - { - "id": 14142, - "name": "Payroll", - "nodeType": "EnumValue", - "src": "4607:7:18" - }, - { - "id": 14143, - "name": "Reimbursement", - "nodeType": "EnumValue", - "src": "4616:13:18" - }, - { - "id": 14144, - "name": "Bonus", - "nodeType": "EnumValue", - "src": "4631:5:18" - } - ], - "name": "PaymentType", - "nodeType": "EnumDefinition", - "src": "4588:50:18" - }, - { - "canonicalName": "Payroll.Employee", - "id": 14167, - "members": [ - { - "constant": false, - "id": 14147, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4670:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4670:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14149, - "name": "denominationTokenSalary", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4742:31:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4742:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14151, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4826:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14153, - "name": "bonus", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4925:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14155, - "name": "reimbursements", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4948:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4948:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14157, - "name": "lastPayroll", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4980:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14156, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4980:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14159, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5008:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14158, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5008:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14162, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5032:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14161, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5032:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14166, - "name": "allocationTokens", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5076:44:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 14165, - "keyType": { - "id": 14163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5084:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5076:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 14164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5095:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Employee", - "nodeType": "StructDefinition", - "scope": 15995, - "src": "4644:483:18", - "visibility": "public" - }, - { - "constant": false, - "id": 14169, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5133:22:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 14168, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "5133:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14171, - "name": "denominationToken", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5161:32:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5161:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14173, - "name": "feed", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5199:17:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14172, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "5199:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14175, - "name": "rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5222:28:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14174, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5222:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14177, - "name": "nextEmployee", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5360:27:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14181, - "name": "employees", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5393:47:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee)" - }, - "typeName": { - "id": 14180, - "keyType": { - "id": 14178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5401:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "5393:28:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee)" - }, - "valueType": { - "contractScope": null, - "id": 14179, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "5412:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14185, - "name": "employeeIds", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5477:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 14184, - "keyType": { - "id": 14182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5485:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5477:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 14183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5496:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14189, - "name": "allowedTokens", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5570:47:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 14188, - "keyType": { - "id": 14186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5578:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5570:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 14187, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5589:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 14201, - "name": "AddEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14191, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5651:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5651:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14193, - "indexed": true, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5687:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5687:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14195, - "indexed": false, - "name": "initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5727:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5727:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14197, - "indexed": false, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5770:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14196, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5770:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14199, - "indexed": false, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5796:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5796:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5641:172:18" - }, - "src": "5624:190:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14207, - "name": "TerminateEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14203, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14207, - "src": "5843:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5843:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14205, - "indexed": false, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 14207, - "src": "5871:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14204, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5871:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5842:44:18" - }, - "src": "5819:68:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14213, - "name": "SetEmployeeSalary", - "nodeType": "EventDefinition", - "parameters": { - "id": 14212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14209, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14213, - "src": "5916:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5916:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14211, - "indexed": false, - "name": "denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14213, - "src": "5944:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5944:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5915:56:18" - }, - "src": "5892:80:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14219, - "name": "AddEmployeeAccruedSalary", - "nodeType": "EventDefinition", - "parameters": { - "id": 14218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14215, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14219, - "src": "6008:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6008:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14217, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14219, - "src": "6036:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6036:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6007:44:18" - }, - "src": "5977:75:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14225, - "name": "AddEmployeeBonus", - "nodeType": "EventDefinition", - "parameters": { - "id": 14224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14221, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14225, - "src": "6080:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6080:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14223, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14225, - "src": "6108:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6108:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6079:44:18" - }, - "src": "6057:67:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14231, - "name": "AddEmployeeReimbursement", - "nodeType": "EventDefinition", - "parameters": { - "id": 14230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14227, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14231, - "src": "6160:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6160:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14229, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14231, - "src": "6188:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6188:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6159:44:18" - }, - "src": "6129:75:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14239, - "name": "ChangeAddressByEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14233, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6239:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6239:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14235, - "indexed": true, - "name": "newAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6267:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14237, - "indexed": true, - "name": "oldAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6302:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6302:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6238:98:18" - }, - "src": "6209:128:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14243, - "name": "DetermineAllocation", - "nodeType": "EventDefinition", - "parameters": { - "id": 14242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14241, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14243, - "src": "6368:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6368:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6367:28:18" - }, - "src": "6342:54:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14257, - "name": "SendPayment", - "nodeType": "EventDefinition", - "parameters": { - "id": 14256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14245, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6428:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6428:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14247, - "indexed": true, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6464:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6464:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14249, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6504:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6504:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14251, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6535:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6535:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14253, - "indexed": false, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6559:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6559:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14255, - "indexed": false, - "name": "paymentReference", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6589:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6589:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6418:200:18" - }, - "src": "6401:218:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14263, - "name": "SetAllowedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 14262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14259, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 14263, - "src": "6646:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14258, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6646:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14261, - "indexed": false, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 14263, - "src": "6669:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6669:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6645:37:18" - }, - "src": "6624:59:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14267, - "name": "SetPriceFeed", - "nodeType": "EventDefinition", - "parameters": { - "id": 14266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14265, - "indexed": true, - "name": "feed", - "nodeType": "VariableDeclaration", - "scope": 14267, - "src": "6707:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6707:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6706:22:18" - }, - "src": "6688:41:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14271, - "name": "SetRateExpiryTime", - "nodeType": "EventDefinition", - "parameters": { - "id": 14270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14269, - "indexed": false, - "name": "time", - "nodeType": "VariableDeclaration", - "scope": 14271, - "src": "6758:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14268, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6758:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6757:13:18" - }, - "src": "6734:37:18" - }, - { - "body": { - "id": 14283, - "nodeType": "Block", - "src": "6859:94:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14277, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14273, - "src": "6893:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14276, - "name": "_employeeExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15686, - "src": "6877:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6877:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14279, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14081, - "src": "6907:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14275, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6869:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6869:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14281, - "nodeType": "ExpressionStatement", - "src": "6869:66:18" - }, - { - "id": 14282, - "nodeType": "PlaceholderStatement", - "src": "6945:1:18" - } - ] - }, - "documentation": null, - "id": 14284, - "name": "employeeIdExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14273, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14284, - "src": "6838:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6838:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6837:21:18" - }, - "src": "6812:141:18", - "visibility": "internal" - }, - { - "body": { - "id": 14296, - "nodeType": "Block", - "src": "7053:199:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14290, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14286, - "src": "7194:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14289, - "name": "_isEmployeeIdActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15774, - "src": "7174:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7174:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14292, - "name": "ERROR_NON_ACTIVE_EMPLOYEE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14084, - "src": "7208:25:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7166:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7166:68:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14294, - "nodeType": "ExpressionStatement", - "src": "7166:68:18" - }, - { - "id": 14295, - "nodeType": "PlaceholderStatement", - "src": "7244:1:18" - } - ] - }, - "documentation": null, - "id": 14297, - "name": "employeeActive", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14286, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14297, - "src": "7032:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7032:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7031:21:18" - }, - "src": "7008:244:18", - "visibility": "internal" - }, - { - "body": { - "id": 14314, - "nodeType": "Block", - "src": "7332:129:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 14309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14300, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "7350:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14305, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14301, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "7360:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14304, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7372:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7372:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7360:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7350:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14306, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "7350:49:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7403:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7403:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7350:63:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14310, - "name": "ERROR_SENDER_DOES_NOT_MATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14087, - "src": "7415:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14299, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7342:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7342:101:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14312, - "nodeType": "ExpressionStatement", - "src": "7342:101:18" - }, - { - "id": 14313, - "nodeType": "PlaceholderStatement", - "src": "7453:1:18" - } - ] - }, - "documentation": null, - "id": 14315, - "name": "employeeMatches", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14298, - "nodeType": "ParameterList", - "parameters": [], - "src": "7332:0:18" - }, - "src": "7307:154:18", - "visibility": "internal" - }, - { - "body": { - "id": 14358, - "nodeType": "Block", - "src": "8338:389:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 14328, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "8348:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 14329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8348:13:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14330, - "nodeType": "ExpressionStatement", - "src": "8348:13:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14333, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14317, - "src": "8391:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 14332, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "8380:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 14334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8380:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14335, - "name": "ERROR_FINANCE_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14090, - "src": "8402:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14331, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8372:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:57:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14337, - "nodeType": "ExpressionStatement", - "src": "8372:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14338, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "8439:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14339, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14317, - "src": "8449:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "src": "8439:18:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 14341, - "nodeType": "ExpressionStatement", - "src": "8439:18:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14342, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14171, - "src": "8468:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14343, - "name": "_denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14319, - "src": "8488:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8468:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14345, - "nodeType": "ExpressionStatement", - "src": "8468:38:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14347, - "name": "_priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14321, - "src": "8530:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14346, - "name": "_setPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15132, - "src": "8516:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IFeed_$28118_$returns$__$", - "typeString": "function (contract IFeed)" - } - }, - "id": 14348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8516:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14349, - "nodeType": "ExpressionStatement", - "src": "8516:25:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14351, - "name": "_rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14323, - "src": "8570:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14350, - "name": "_setRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15153, - "src": "8551:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 14352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8551:35:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14353, - "nodeType": "ExpressionStatement", - "src": "8551:35:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14354, - "name": "nextEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14177, - "src": "8704:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 14355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8719:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8704:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14357, - "nodeType": "ExpressionStatement", - "src": "8704:16:18" - } - ] - }, - "documentation": "@notice Initialize Payroll app for Finance at `_finance` and price feed at `_priceFeed`, setting denomination token to `_token` and exchange rate expiry time to `@transformTime(_rateExpiryTime)`\n@dev Note that we do not require _denominationToken to be a contract, as it may be a \"fake\"\n address used by the price feed to denominate fiat currencies\n@param _finance Address of the Finance app this Payroll app will rely on for payments (non-changeable)\n@param _denominationToken Address of the denomination token used for salary accounting\n@param _priceFeed Address of the price feed\n@param _rateExpiryTime Acceptable expiry time in seconds for the price feed's exchange rates", - "id": 14359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14326, - "modifierName": { - "argumentTypes": null, - "id": 14325, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "8329:8:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8329:8:18" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14317, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8232:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 14316, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "8232:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14319, - "name": "_denominationToken", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8250:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8250:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14321, - "name": "_priceFeed", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8278:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14320, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "8278:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14323, - "name": "_rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8296:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14322, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8296:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8231:88:18" - }, - "payable": false, - "returnParameters": { - "id": 14327, - "nodeType": "ParameterList", - "parameters": [], - "src": "8338:0:18" - }, - "scope": 15995, - "src": "8212:515:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14392, - "nodeType": "Block", - "src": "9199:174:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 14377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14373, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "9217:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 14375, - "indexExpression": { - "argumentTypes": null, - "id": 14374, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9231:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9217:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 14376, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9242:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9217:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14378, - "name": "ERROR_TOKEN_ALREADY_SET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14093, - "src": "9252:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14372, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9209:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9209:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14380, - "nodeType": "ExpressionStatement", - "src": "9209:67:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14381, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "9286:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 14383, - "indexExpression": { - "argumentTypes": null, - "id": 14382, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9300:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9286:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14384, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9310:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9286:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14386, - "nodeType": "ExpressionStatement", - "src": "9286:32:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14388, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9349:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14389, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9357:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 14387, - "name": "SetAllowedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14263, - "src": "9333:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool)" - } - }, - "id": 14390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9333:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14391, - "nodeType": "EmitStatement", - "src": "9328:38:18" - } - ] - }, - "documentation": "@notice `_allowed ? 'Add' : 'Remove'` `_token.symbol(): string` `_allowed ? 'to' : 'from'` the set of allowed tokens\n@param _token Address of the token to be added or removed from the list of allowed tokens for payments\n@param _allowed Boolean to tell whether the given token should be added or removed from the list", - "id": 14393, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14366, - "name": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14052, - "src": "9158:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14368, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9190:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14367, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "9186:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 14369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:11:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14370, - "modifierName": { - "argumentTypes": null, - "id": 14365, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9152:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9152:46:18" - } - ], - "name": "setAllowedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14361, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 14393, - "src": "9112:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9112:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14363, - "name": "_allowed", - "nodeType": "VariableDeclaration", - "scope": 14393, - "src": "9128:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14362, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9128:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9111:31:18" - }, - "payable": false, - "returnParameters": { - "id": 14371, - "nodeType": "ParameterList", - "parameters": [], - "src": "9199:0:18" - }, - "scope": 15995, - "src": "9087:286:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14409, - "nodeType": "Block", - "src": "9610:37:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14406, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14395, - "src": "9634:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14405, - "name": "_setPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15132, - "src": "9620:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IFeed_$28118_$returns$__$", - "typeString": "function (contract IFeed)" - } - }, - "id": 14407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9620:20:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14408, - "nodeType": "ExpressionStatement", - "src": "9620:20:18" - } - ] - }, - "documentation": "@notice Set the price feed for exchange rates to `_feed`\n@param _feed Address of the new price feed instance", - "id": 14410, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14398, - "name": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14055, - "src": "9568:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14400, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14395, - "src": "9596:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - { - "argumentTypes": null, - "id": 14401, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "9603:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14399, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21896, - "src": "9592:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address) pure returns (uint256[] memory)" - } - }, - "id": 14402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9592:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14403, - "modifierName": { - "argumentTypes": null, - "id": 14397, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9562:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9562:47:18" - } - ], - "name": "setPriceFeed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14395, - "name": "_feed", - "nodeType": "VariableDeclaration", - "scope": 14410, - "src": "9540:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14394, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "9540:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9539:13:18" - }, - "payable": false, - "returnParameters": { - "id": 14404, - "nodeType": "ParameterList", - "parameters": [], - "src": "9610:0:18" - }, - "scope": 15995, - "src": "9518:129:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14430, - "nodeType": "Block", - "src": "10093:42:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14427, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14412, - "src": "10122:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14426, - "name": "_setRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15153, - "src": "10103:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 14428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10103:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14429, - "nodeType": "ExpressionStatement", - "src": "10103:25:18" - } - ] - }, - "documentation": "@notice Set the acceptable expiry time for the price feed's exchange rates to `@transformTime(_time)`\n@dev Exchange rates older than the given value won't be accepted for payments and will cause payouts to revert\n@param _time The expiration time in seconds for exchange rates", - "id": 14431, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14415, - "name": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14058, - "src": "10022:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14418, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14412, - "src": "10059:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10051:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10051:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14421, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "10075:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10067:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10067:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14416, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "10047:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10047:44:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14424, - "modifierName": { - "argumentTypes": null, - "id": 14414, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "10016:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10016:76:18" - } - ], - "name": "setRateExpiryTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14412, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 14431, - "src": "9993:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14411, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9993:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9992:14:18" - }, - "payable": false, - "returnParameters": { - "id": 14425, - "nodeType": "ParameterList", - "parameters": [], - "src": "10093:0:18" - }, - "scope": 15995, - "src": "9966:169:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14459, - "nodeType": "Block", - "src": "10878:93:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14453, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14433, - "src": "10901:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14454, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14435, - "src": "10918:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14455, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14437, - "src": "10946:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 14456, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14439, - "src": "10958:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 14452, - "name": "_addEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15207, - "src": "10888:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint64,string memory)" - } - }, - "id": 14457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10888:76:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14458, - "nodeType": "ExpressionStatement", - "src": "10888:76:18" - } - ] - }, - "documentation": "@notice Add employee with address `_accountAddress` to payroll with an salary of `_initialDenominationSalary` per second, starting on `@formatDate(_startDate)`\n@param _accountAddress Employee's address to receive payroll\n@param _initialDenominationSalary Employee's salary, per second in denomination token\n@param _startDate Employee's starting timestamp in seconds (it actually sets their initial lastPayroll value)\n@param _role Employee's role", - "id": 14460, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14442, - "name": "ADD_EMPLOYEE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14037, - "src": "10784:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14444, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14433, - "src": "10807:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14445, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14435, - "src": "10824:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14447, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14437, - "src": "10860:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10852:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10852:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14443, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21917, - "src": "10803:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10803:69:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14450, - "modifierName": { - "argumentTypes": null, - "id": 14441, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "10778:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10778:95:18" - } - ], - "name": "addEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14433, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10659:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14432, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10659:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14435, - "name": "_initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10684:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10684:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14437, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10720:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14436, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14439, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10739:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14438, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10739:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10658:94:18" - }, - "payable": false, - "returnParameters": { - "id": 14451, - "nodeType": "ParameterList", - "parameters": [], - "src": "10878:0:18" - }, - "scope": 15995, - "src": "10638:333:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14482, - "nodeType": "Block", - "src": "11366:48:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14478, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11386:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14479, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14464, - "src": "11399:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14477, - "name": "_addBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15236, - "src": "11376:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11376:31:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14481, - "nodeType": "ExpressionStatement", - "src": "11376:31:18" - } - ] - }, - "documentation": "@notice Add `_amount` to bonus for employee #`_employeeId`\n@param _employeeId Employee's identifier\n@param _amount Amount to be added to the employee's bonuses in denomination token", - "id": 14483, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14467, - "name": "ADD_BONUS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14046, - "src": "11283:14:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14469, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11303:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14470, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14464, - "src": "11316:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14468, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "11299:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11299:25:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14472, - "modifierName": { - "argumentTypes": null, - "id": 14466, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11277:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11277:48:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14474, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11349:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14475, - "modifierName": { - "argumentTypes": null, - "id": 14473, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "11334:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11334:27:18" - } - ], - "name": "addBonus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14462, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14483, - "src": "11214:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11214:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14464, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 14483, - "src": "11235:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11235:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11213:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14476, - "nodeType": "ParameterList", - "parameters": [], - "src": "11366:0:18" - }, - "scope": 15995, - "src": "11196:218:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14505, - "nodeType": "Block", - "src": "11841:56:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14501, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11869:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14502, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14487, - "src": "11882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14500, - "name": "_addReimbursement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15265, - "src": "11851:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11851:39:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14504, - "nodeType": "ExpressionStatement", - "src": "11851:39:18" - } - ] - }, - "documentation": "@notice Add `_amount` to reimbursements for employee #`_employeeId`\n@param _employeeId Employee's identifier\n@param _amount Amount to be added to the employee's reimbursements in denomination token", - "id": 14506, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14490, - "name": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14049, - "src": "11750:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14492, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11778:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14493, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14487, - "src": "11791:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14491, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "11774:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11774:25:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14495, - "modifierName": { - "argumentTypes": null, - "id": 14489, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11744:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11744:56:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14497, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11824:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14498, - "modifierName": { - "argumentTypes": null, - "id": 14496, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "11809:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11809:27:18" - } - ], - "name": "addReimbursement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14485, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14506, - "src": "11681:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11681:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14487, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 14506, - "src": "11702:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11702:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11680:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14499, - "nodeType": "ParameterList", - "parameters": [], - "src": "11841:0:18" - }, - "scope": 15995, - "src": "11655:242:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14563, - "nodeType": "Block", - "src": "12603:509:18", - "statements": [ - { - "assignments": [ - 14528 - ], - "declarations": [ - { - "constant": false, - "id": 14528, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12613:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14527, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "12613:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14532, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14529, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "12641:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14531, - "indexExpression": { - "argumentTypes": null, - "id": 14530, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12651:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12641:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12613:50:18" - }, - { - "assignments": [ - 14534 - ], - "declarations": [ - { - "constant": false, - "id": 14534, - "name": "owed", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12748:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14539, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14536, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12794:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 14537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12804:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 14535, - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15860, - "src": "12763:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer,bool) view returns (uint256)" - } - }, - "id": 14538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12763:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12748:62:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14541, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12838:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14542, - "name": "owed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14534, - "src": "12851:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14540, - "name": "_addAccruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15294, - "src": "12820:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12820:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14544, - "nodeType": "ExpressionStatement", - "src": "12820:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14545, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12935:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "12935:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 14548, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12958:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 14549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12958:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12935:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 14551, - "nodeType": "ExpressionStatement", - "src": "12935:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14552, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12984:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "12984:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14555, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "13019:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12984:54:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14557, - "nodeType": "ExpressionStatement", - "src": "12984:54:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14559, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "13072:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14560, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "13085:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14558, - "name": "SetEmployeeSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14213, - "src": "13054:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14562, - "nodeType": "EmitStatement", - "src": "13049:56:18" - } - ] - }, - "documentation": "@notice Set employee #`_employeeId`'s salary to `_denominationSalary` per second\n@dev This reverts if either the employee's owed salary or accrued salary overflows, to avoid\n losing any accrued salary for an employee due to the employer changing their salary.\n@param _employeeId Employee's identifier\n@param _denominationSalary Employee's new salary, per second in denomination token", - "id": 14564, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14513, - "name": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14043, - "src": "12450:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14515, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12480:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14516, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "12493:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14517, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "12514:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14519, - "indexExpression": { - "argumentTypes": null, - "id": 14518, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12524:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12514:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "12514:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14514, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "12476:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12476:85:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14522, - "modifierName": { - "argumentTypes": null, - "id": 14512, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "12444:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12444:118:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14524, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12586:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14525, - "modifierName": { - "argumentTypes": null, - "id": 14523, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "12571:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12571:27:18" - } - ], - "name": "setEmployeeSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14508, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12369:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12369:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14510, - "name": "_denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12390:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12390:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12368:50:18" - }, - "payable": false, - "returnParameters": { - "id": 14526, - "nodeType": "ParameterList", - "parameters": [], - "src": "12603:0:18" - }, - "scope": 15995, - "src": "12342:770:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14588, - "nodeType": "Block", - "src": "13512:58:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14584, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13541:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14585, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14568, - "src": "13554:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14583, - "name": "_terminateEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15363, - "src": "13522:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64)" - } - }, - "id": 14586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13522:41:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14587, - "nodeType": "ExpressionStatement", - "src": "13522:41:18" - } - ] - }, - "documentation": "@notice Terminate employee #`_employeeId` on `@formatDate(_endDate)`\n@param _employeeId Employee's identifier\n@param _endDate Termination timestamp in seconds", - "id": 14589, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14571, - "name": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14040, - "src": "13410:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14573, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13439:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14575, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14568, - "src": "13460:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13452:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13452:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14572, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "13435:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13435:35:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14578, - "modifierName": { - "argumentTypes": null, - "id": 14570, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13404:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13404:67:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14580, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13495:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14581, - "modifierName": { - "argumentTypes": null, - "id": 14579, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "13480:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13480:27:18" - } - ], - "name": "terminateEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14566, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14589, - "src": "13341:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13341:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14568, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "scope": 14589, - "src": "13362:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14567, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13362:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13340:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14582, - "nodeType": "ParameterList", - "parameters": [], - "src": "13512:0:18" - }, - "scope": 15995, - "src": "13314:256:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14628, - "nodeType": "Block", - "src": "14116:451:18", - "statements": [ - { - "assignments": [ - 14599 - ], - "declarations": [ - { - "constant": false, - "id": 14599, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14126:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14126:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14604, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14600, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "14147:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14603, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14159:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14159:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14147:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14126:44:18" - }, - { - "assignments": [ - 14606 - ], - "declarations": [ - { - "constant": false, - "id": 14606, - "name": "oldAddress", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14180:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14180:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14611, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14607, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "14201:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14609, - "indexExpression": { - "argumentTypes": null, - "id": 14608, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14211:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14201:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "14201:36:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14180:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14613, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14614, - "name": "_newAccountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14591, - "src": "14280:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14612, - "name": "_setEmployeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15335, - "src": "14248:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 14615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14248:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14616, - "nodeType": "ExpressionStatement", - "src": "14248:51:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "14447:30:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14617, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "14454:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14619, - "indexExpression": { - "argumentTypes": null, - "id": 14618, - "name": "oldAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14606, - "src": "14466:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14454:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14621, - "nodeType": "ExpressionStatement", - "src": "14447:30:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14623, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14517:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14624, - "name": "_newAccountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14591, - "src": "14529:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14625, - "name": "oldAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14606, - "src": "14549:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14622, - "name": "ChangeAddressByEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14239, - "src": "14493:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", - "typeString": "function (uint256,address,address)" - } - }, - "id": 14626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14493:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14627, - "nodeType": "EmitStatement", - "src": "14488:72:18" - } - ] - }, - "documentation": "@notice Change your employee account address to `_newAccountAddress`\n@dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _newAccountAddress New address to receive payments for the requesting employee", - "id": 14629, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14594, - "modifierName": { - "argumentTypes": null, - "id": 14593, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "14087:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14087:15:18" - }, - { - "arguments": null, - "id": 14596, - "modifierName": { - "argumentTypes": null, - "id": 14595, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "14103:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14103:12:18" - } - ], - "name": "changeAddressByEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14591, - "name": "_newAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14050:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14050:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14049:28:18" - }, - "payable": false, - "returnParameters": { - "id": 14597, - "nodeType": "ParameterList", - "parameters": [], - "src": "14116:0:18" - }, - "scope": 15995, - "src": "14017:550:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14747, - "nodeType": "Block", - "src": "15223:1052:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14643, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15279:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15279:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 14645, - "name": "MAX_ALLOWED_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14061, - "src": "15297:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15279:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14647, - "name": "ERROR_MAX_ALLOWED_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14096, - "src": "15317:24:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14642, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15271:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15271:71:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14649, - "nodeType": "ExpressionStatement", - "src": "15271:71:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14651, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15360:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14653, - "name": "_distribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14635, - "src": "15378:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15378:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15360:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14656, - "name": "ERROR_TOKEN_ALLOCATION_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14102, - "src": "15400:31:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14650, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15352:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15352:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14658, - "nodeType": "ExpressionStatement", - "src": "15352:80:18" - }, - { - "assignments": [ - 14660 - ], - "declarations": [ - { - "constant": false, - "id": 14660, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15443:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15443:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14665, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14661, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "15464:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14664, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14662, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15476:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15476:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15464:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15443:44:18" - }, - { - "assignments": [ - 14667 - ], - "declarations": [ - { - "constant": false, - "id": 14667, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15497:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14666, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "15497:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14671, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14668, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "15525:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14670, - "indexExpression": { - "argumentTypes": null, - "id": 14669, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14660, - "src": "15535:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15525:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15497:49:18" - }, - { - "assignments": [ - 14675 - ], - "declarations": [ - { - "constant": false, - "id": 14675, - "name": "previousAllowedTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15602:46:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14674, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15602:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14678, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14676, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15651:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "15651:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15602:82:18" - }, - { - "body": { - "id": 14698, - "nodeType": "Block", - "src": "15761:91:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "15775:66:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14690, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15782:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "15782:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14695, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14692, - "name": "previousAllowedTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14675, - "src": "15808:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14694, - "indexExpression": { - "argumentTypes": null, - "id": 14693, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15808:32:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15782:59:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14697, - "nodeType": "ExpressionStatement", - "src": "15775:66:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14683, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15714:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14684, - "name": "previousAllowedTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14675, - "src": "15718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15718:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15714:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14699, - "initializationExpression": { - "assignments": [ - 14680 - ], - "declarations": [ - { - "constant": false, - "id": 14680, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15699:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15699:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14682, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 14681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15711:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15699:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 14688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15756:3:18", - "subExpression": { - "argumentTypes": null, - "id": 14687, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15756:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14689, - "nodeType": "ExpressionStatement", - "src": "15756:3:18" - }, - "nodeType": "ForStatement", - "src": "15694:158:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "15861:40:18", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14700, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15868:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "15868:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14703, - "nodeType": "ExpressionStatement", - "src": "15861:40:18" - }, - { - "body": { - "id": 14737, - "nodeType": "Block", - "src": "16019:145:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14720, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "16072:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14722, - "indexExpression": { - "argumentTypes": null, - "id": 14721, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16080:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16072:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14715, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16033:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "16033:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 14719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16033:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 14723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:50:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14724, - "nodeType": "ExpressionStatement", - "src": "16033:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14725, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16097:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "16097:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14731, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14727, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "16123:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14729, - "indexExpression": { - "argumentTypes": null, - "id": 14728, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16131:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16123:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16097:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14732, - "name": "_distribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14635, - "src": "16137:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14734, - "indexExpression": { - "argumentTypes": null, - "id": 14733, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16151:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16137:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16097:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14736, - "nodeType": "ExpressionStatement", - "src": "16097:56:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "15994:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14709, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15998:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15998:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15994:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14738, - "initializationExpression": { - "assignments": [ - 14705 - ], - "declarations": [ - { - "constant": false, - "id": 14705, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15979:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15979:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14707, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 14706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15991:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15979:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 14713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16014:3:18", - "subExpression": { - "argumentTypes": null, - "id": 14712, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16014:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14714, - "nodeType": "ExpressionStatement", - "src": "16014:3:18" - }, - "nodeType": "ForStatement", - "src": "15974:190:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14740, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16213:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14739, - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15746, - "src": "16174:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer) view" - } - }, - "id": 14741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16174:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14742, - "nodeType": "ExpressionStatement", - "src": "16174:48:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14744, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14660, - "src": "16257:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14743, - "name": "DetermineAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14243, - "src": "16237:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 14745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16237:31:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14746, - "nodeType": "EmitStatement", - "src": "16232:36:18" - } - ] - }, - "documentation": "@notice Set the token distribution for your payments\n@dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _tokens Array of token addresses; they must belong to the list of allowed tokens\n@param _distribution Array with each token's corresponding proportions (must be integers summing to 100)", - "id": 14748, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14638, - "modifierName": { - "argumentTypes": null, - "id": 14637, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "15194:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15194:15:18" - }, - { - "arguments": null, - "id": 14640, - "modifierName": { - "argumentTypes": null, - "id": 14639, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "15210:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15210:12:18" - } - ], - "name": "determineAllocation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14632, - "name": "_tokens", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15141:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15141:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14631, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15141:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14635, - "name": "_distribution", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15160:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 14633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15160:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14634, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15160:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15140:44:18" - }, - "payable": false, - "returnParameters": { - "id": 14641, - "nodeType": "ParameterList", - "parameters": [], - "src": "15223:0:18" - }, - "scope": 15995, - "src": "15112:1163:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14894, - "nodeType": "Block", - "src": "17169:1766:18", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 14763, - "name": "paymentAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17179:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17179:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14764, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17179:21:18" - }, - { - "assignments": [ - 14766 - ], - "declarations": [ - { - "constant": false, - "id": 14766, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17210:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17210:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14771, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14767, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "17231:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14770, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14768, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "17243:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17243:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17231:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:44:18" - }, - { - "assignments": [ - 14773 - ], - "declarations": [ - { - "constant": false, - "id": 14773, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17264:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14772, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "17264:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14777, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14774, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "17292:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14776, - "indexExpression": { - "argumentTypes": null, - "id": 14775, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "17302:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17292:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17264:49:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14779, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17362:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14778, - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15746, - "src": "17323:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer) view" - } - }, - "id": 14780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17323:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14781, - "nodeType": "ExpressionStatement", - "src": "17323:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 14793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14783, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "17389:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17389:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 14785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17409:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17389:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14787, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "17414:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17414:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14789, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17434:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "17434:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 14791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17434:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17414:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17389:85:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14794, - "name": "ERROR_MIN_RATES_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14099, - "src": "17476:24:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14782, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17381:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17381:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14796, - "nodeType": "ExpressionStatement", - "src": "17381:120:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14797, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "17559:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14798, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "17568:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Payroll", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17568:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "17559:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14820, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18124:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14821, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "18133:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Reimbursement", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18133:25:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "18124:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14846, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18412:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14847, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "18421:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18421:17:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "18412:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 14876, - "nodeType": "Block", - "src": "18661:59:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14873, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14111, - "src": "18682:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14872, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "18675:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 14874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18675:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14875, - "nodeType": "ExpressionStatement", - "src": "18675:34:18" - } - ] - }, - "id": 14877, - "nodeType": "IfStatement", - "src": "18408:312:18", - "trueBody": { - "id": 14871, - "nodeType": "Block", - "src": "18440:215:18", - "statements": [ - { - "assignments": [ - 14851 - ], - "declarations": [ - { - "constant": false, - "id": 14851, - "name": "owedBonusAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "18454:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18454:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14854, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14852, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18480:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "18480:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18454:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14855, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18508:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14857, - "name": "owedBonusAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14851, - "src": "18545:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14858, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18562:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14856, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "18524:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18524:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18508:71:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14861, - "nodeType": "ExpressionStatement", - "src": "18508:71:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14862, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18593:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "18593:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14867, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18630:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 14865, - "name": "owedBonusAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14851, - "src": "18610:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18610:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18610:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18593:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14870, - "nodeType": "ExpressionStatement", - "src": "18593:51:18" - } - ] - } - }, - "id": 14878, - "nodeType": "IfStatement", - "src": "18120:600:18", - "trueBody": { - "id": 14845, - "nodeType": "Block", - "src": "18160:242:18", - "statements": [ - { - "assignments": [ - 14825 - ], - "declarations": [ - { - "constant": false, - "id": 14825, - "name": "owedReimbursements", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "18174:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18174:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14828, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14826, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18203:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "18203:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18174:52:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14829, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18240:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14831, - "name": "owedReimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14825, - "src": "18277:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14832, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18297:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14830, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "18256:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18256:58:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18240:74:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14835, - "nodeType": "ExpressionStatement", - "src": "18240:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14836, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "18328:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14841, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18377:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 14839, - "name": "owedReimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14825, - "src": "18354:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18354:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18354:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18328:63:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14844, - "nodeType": "ExpressionStatement", - "src": "18328:63:18" - } - ] - } - }, - "id": 14879, - "nodeType": "IfStatement", - "src": "17555:1165:18", - "trueBody": { - "id": 14819, - "nodeType": "Block", - "src": "17589:525:18", - "statements": [ - { - "assignments": [ - 14802 - ], - "declarations": [ - { - "constant": false, - "id": 14802, - "name": "totalOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17876:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17876:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14806, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14804, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17928:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14803, - "name": "_getTotalOwedCappedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15927, - "src": "17902:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 14805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17902:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17876:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14807, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "17951:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14809, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14802, - "src": "17988:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14810, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18005:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14808, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "17967:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17967:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17951:71:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14813, - "nodeType": "ExpressionStatement", - "src": "17951:71:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14815, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18079:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "id": 14816, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18089:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14814, - "name": "_updateEmployeeAccountingBasedOnPaidSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15669, - "src": "18036:42:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Employee_$14167_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer,uint256)" - } - }, - "id": 14817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18036:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14818, - "nodeType": "ExpressionStatement", - "src": "18036:67:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14882, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "18804:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14883, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18816:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - { - "argumentTypes": null, - "id": 14884, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18823:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14885, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "18838:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "id": 14881, - "name": "_transferTokensAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15509, - "src": "18782:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_PaymentType_$14145_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256,enum Payroll.PaymentType,uint256,uint256[] memory) returns (bool)" - } - }, - "id": 14886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18782:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14887, - "name": "ERROR_NOTHING_PAID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14114, - "src": "18850:18:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14880, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18774:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18774:95:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14889, - "nodeType": "ExpressionStatement", - "src": "18774:95:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14891, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "18917:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14890, - "name": "_removeEmployeeIfTerminatedAndPaidOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15555, - "src": "18879:37:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 14892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18879:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14893, - "nodeType": "ExpressionStatement", - "src": "18879:49:18" - } - ] - }, - "documentation": "@notice Request your `_type == 0 ? 'salary' : _type == 1 ? 'reimbursements' : 'bonus'`\n@dev Reverts if no payments were made.\n Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _type Payment type being requested (Payroll, Reimbursement or Bonus)\n@param _requestedAmount Requested amount to pay for the payment type. Must be less than or equal to total owed amount for the payment type, or zero to request all.\n@param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens", - "id": 14895, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14758, - "modifierName": { - "argumentTypes": null, - "id": 14757, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "17140:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17140:15:18" - }, - { - "arguments": null, - "id": 14760, - "modifierName": { - "argumentTypes": null, - "id": 14759, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "17156:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17156:12:18" - } - ], - "name": "payday", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14750, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17065:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 14749, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "17065:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14752, - "name": "_requestedAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17084:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17084:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14755, - "name": "_minRates", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17110:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 14753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17110:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14754, - "length": null, - "nodeType": "ArrayTypeName", - "src": "17110:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17064:66:18" - }, - "payable": false, - "returnParameters": { - "id": 14761, - "nodeType": "ParameterList", - "parameters": [], - "src": "17169:0:18" - }, - "scope": 15995, - "src": "17049:1886:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14902, - "nodeType": "Block", - "src": "19158:28:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 14900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19175:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 14899, - "id": 14901, - "nodeType": "Return", - "src": "19168:11:18" - } - ] - }, - "documentation": "@dev IForwarder interface conformance. Tells whether the Payroll app is a forwarder or not.\n@return Always true", - "id": 14903, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14896, - "nodeType": "ParameterList", - "parameters": [], - "src": "19126:2:18" - }, - "payable": false, - "returnParameters": { - "id": 14899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14898, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14903, - "src": "19152:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14897, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19152:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19151:6:18" - }, - "scope": 15995, - "src": "19106:80:18", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 14948, - "nodeType": "Block", - "src": "19480:500:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "19509:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19509:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14912, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14905, - "src": "19521:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 14909, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 14965 - ], - "referencedDeclaration": 14965, - "src": "19498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 14913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19498:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14914, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14117, - "src": "19534:21:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19490:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19490:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14916, - "nodeType": "ExpressionStatement", - "src": "19490:66:18" - }, - { - "assignments": [ - 14918 - ], - "declarations": [ - { - "constant": false, - "id": 14918, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19566:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14917, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19566:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14923, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 14921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19597:1:18", - "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": 14920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "19587:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 14919, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19591:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 14922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19587:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19566:33:18" - }, - { - "assignments": [ - 14927 - ], - "declarations": [ - { - "constant": false, - "id": 14927, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19837:26:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19837:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14926, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19837:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14933, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 14931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19880:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 14930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "19866:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 14928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19870:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14929, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19870:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 14932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19866:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19837:45:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14934, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14927, - "src": "19892:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14936, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 14935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19902:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19892:12:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14938, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "19915:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 14937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19907:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 14939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19907:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19892:31:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14941, - "nodeType": "ExpressionStatement", - "src": "19892:31:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14943, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14905, - "src": "19944:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 14944, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14918, - "src": "19956:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 14945, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14927, - "src": "19963:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 14942, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "19934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 14946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19934:39:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 14947, - "nodeType": "ExpressionStatement", - "src": "19934:39:18" - } - ] - }, - "documentation": "@notice Execute desired action as an active employee\n@dev IForwarder interface conformance. Allows active employees to run EVMScripts in the context of the Payroll app.\n@param _evmScript Script being executed", - "id": 14949, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14905, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19455:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14904, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19455:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19454:18:18" - }, - "payable": false, - "returnParameters": { - "id": 14907, - "nodeType": "ParameterList", - "parameters": [], - "src": "19480:0:18" - }, - "scope": 15995, - "src": "19438:542:18", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 14964, - "nodeType": "Block", - "src": "20333:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14959, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20370:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14961, - "indexExpression": { - "argumentTypes": null, - "id": 14960, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14951, - "src": "20382:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20370:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14958, - "name": "_isEmployeeIdActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15774, - "src": "20350:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20350:41:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 14957, - "id": 14963, - "nodeType": "Return", - "src": "20343:48:18" - } - ] - }, - "documentation": "@dev IForwarder interface conformance. Tells whether a given address can forward actions or not.\n@param _sender Address of the account intending to forward an action\n@return True if the given address is an active employee, false otherwise", - "id": 14965, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14951, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20282:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20282:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14953, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20299:5:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14952, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "20299:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20281:24:18" - }, - "payable": false, - "returnParameters": { - "id": 14957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14956, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20327:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14955, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20327:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20326:6:18" - }, - "scope": 15995, - "src": "20262:136:18", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 14987, - "nodeType": "Block", - "src": "20698:142:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14973, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20716:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14975, - "indexExpression": { - "argumentTypes": null, - "id": 14974, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14967, - "src": "20728:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20716:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 14977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20756:1:18", - "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": 14976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20748:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20716:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14980, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14081, - "src": "20760:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20708:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20708:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14982, - "nodeType": "ExpressionStatement", - "src": "20708:80:18" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14983, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20805:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14985, - "indexExpression": { - "argumentTypes": null, - "id": 14984, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14967, - "src": "20817:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20805:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 14971, - "id": 14986, - "nodeType": "Return", - "src": "20798:35:18" - } - ] - }, - "documentation": "@dev Return employee's identifier by their account address\n@param _accountAddress Employee's address to receive payments\n@return Employee's identifier", - "id": 14988, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEmployeeIdByAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14967, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14988, - "src": "20643:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14966, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20643:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20642:25:18" - }, - "payable": false, - "returnParameters": { - "id": 14971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14988, - "src": "20689:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20689:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20688:9:18" - }, - "scope": 15995, - "src": "20611:229:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15059, - "nodeType": "Block", - "src": "21789:453:18", - "statements": [ - { - "assignments": [ - 15014 - ], - "declarations": [ - { - "constant": false, - "id": 15014, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21799:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15013, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "21799:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15018, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15015, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "21827:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15017, - "indexExpression": { - "argumentTypes": null, - "id": 15016, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14990, - "src": "21837:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21827:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21799:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15019, - "name": "accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14996, - "src": "21860:14:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15020, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21877:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "21877:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "21860:40:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15023, - "nodeType": "ExpressionStatement", - "src": "21860:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15024, - "name": "denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14998, - "src": "21910:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15025, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21931:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "21931:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21910:53:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15028, - "nodeType": "ExpressionStatement", - "src": "21910:53:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15029, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15000, - "src": "21973:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15030, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21989:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "21989:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21973:38:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15033, - "nodeType": "ExpressionStatement", - "src": "21973:38:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15034, - "name": "bonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15002, - "src": "22021:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15035, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22029:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "22029:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22021:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15038, - "nodeType": "ExpressionStatement", - "src": "22021:22:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15039, - "name": "reimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15004, - "src": "22053:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15040, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22070:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "22070:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22053:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15043, - "nodeType": "ExpressionStatement", - "src": "22053:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15044, - "name": "lastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15006, - "src": "22103:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15045, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22117:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "22117:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "22103:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15048, - "nodeType": "ExpressionStatement", - "src": "22103:34:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15049, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15008, - "src": "22147:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15050, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22157:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "22157:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "22147:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15053, - "nodeType": "ExpressionStatement", - "src": "22147:26:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15054, - "name": "allocationTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15011, - "src": "22183:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15055, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22202:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "22202:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "src": "22183:52:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15058, - "nodeType": "ExpressionStatement", - "src": "22183:52:18" - } - ] - }, - "documentation": "@dev Return all information for employee by their ID\n@param _employeeId Employee's identifier\n@return Employee's address to receive payments\n@return Employee's salary, per second in denomination token\n@return Employee's accrued salary\n@return Employee's bonus amount\n@return Employee's reimbursements amount\n@return Employee's last payment date\n@return Employee's termination date (max uint64 if none)\n@return Employee's allowed payment tokens", - "id": 15060, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14993, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14990, - "src": "21471:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14994, - "modifierName": { - "argumentTypes": null, - "id": 14992, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "21454:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "21454:29:18" - } - ], - "name": "getEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14990, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21397:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21396:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15012, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14996, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21514:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21514:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14998, - "name": "denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21550:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14997, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21550:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15000, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21590:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21590:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15002, - "name": "bonus", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21625:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15004, - "name": "reimbursements", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21652:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21652:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15006, - "name": "lastPayroll", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21688:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15005, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21688:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15008, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21720:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15007, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15011, - "name": "allocationTokens", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21748:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15009, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15010, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21748:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21500:284:18" - }, - "scope": 15995, - "src": "21376:866:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15076, - "nodeType": "Block", - "src": "22693:73:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15071, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "22736:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15073, - "indexExpression": { - "argumentTypes": null, - "id": 15072, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15062, - "src": "22746:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22736:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - ], - "id": 15070, - "name": "_getTotalOwedCappedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15927, - "src": "22710:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 15074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22710:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15069, - "id": 15075, - "nodeType": "Return", - "src": "22703:56:18" - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n The result will be capped to max uint256 to avoid having an overflow.\n@return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.", - "id": 15077, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 15065, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15062, - "src": "22662:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 15066, - "modifierName": { - "argumentTypes": null, - "id": 15064, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "22645:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "22645:29:18" - } - ], - "name": "getTotalOwedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15062, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15077, - "src": "22612:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22612:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22611:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15068, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15077, - "src": "22684:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22684:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22683:9:18" - }, - "scope": 15995, - "src": "22584:182:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15096, - "nodeType": "Block", - "src": "23153:71:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15089, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "23170:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15091, - "indexExpression": { - "argumentTypes": null, - "id": 15090, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15079, - "src": "23180:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23170:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "23170:39:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15094, - "indexExpression": { - "argumentTypes": null, - "id": 15093, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15081, - "src": "23210:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23170:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15088, - "id": 15095, - "nodeType": "Return", - "src": "23163:54:18" - } - ] - }, - "documentation": "@dev Get an employee's payment allocation for a token\n@param _employeeId Employee's identifier\n@param _token Token to query the payment allocation for\n@return Employee's payment allocation for the token being queried", - "id": 15097, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 15084, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15079, - "src": "23122:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 15085, - "modifierName": { - "argumentTypes": null, - "id": 15083, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "23105:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "23105:29:18" - } - ], - "name": "getAllocation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15079, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23056:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23056:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15081, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23077:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15080, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23077:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23055:37:18" - }, - "payable": false, - "returnParameters": { - "id": 15088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15087, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23144:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23144:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23143:9:18" - }, - "scope": 15995, - "src": "23033:191:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15110, - "nodeType": "Block", - "src": "23514:45:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15106, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "23531:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 15108, - "indexExpression": { - "argumentTypes": null, - "id": 15107, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15099, - "src": "23545:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23531:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15105, - "id": 15109, - "nodeType": "Return", - "src": "23524:28:18" - } - ] - }, - "documentation": "@dev Check if a token is allowed to be used for payments\n@param _token Address of the token to be checked\n@return True if the given token is allowed, false otherwise", - "id": 15111, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 15102, - "modifierName": { - "argumentTypes": null, - "id": 15101, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "23485:13:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "23485:13:18" - } - ], - "name": "isTokenAllowed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15099, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15111, - "src": "23457:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15098, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23457:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23456:16:18" - }, - "payable": false, - "returnParameters": { - "id": 15105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15104, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15111, - "src": "23508:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15103, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23508:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23507:6:18" - }, - "scope": 15995, - "src": "23433:126:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15131, - "nodeType": "Block", - "src": "23761:123:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15118, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15113, - "src": "23790:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 15117, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "23779:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 15119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23779:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15120, - "name": "ERROR_FEED_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14126, - "src": "23798:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15116, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23771:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23771:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15122, - "nodeType": "ExpressionStatement", - "src": "23771:51:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15123, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "23832:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15124, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15113, - "src": "23839:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "src": "23832:12:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15126, - "nodeType": "ExpressionStatement", - "src": "23832:12:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15128, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "23872:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 15127, - "name": "SetPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14267, - "src": "23859:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 15129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23859:18:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15130, - "nodeType": "EmitStatement", - "src": "23854:23:18" - } - ] - }, - "documentation": "@dev Set the price feed used for exchange rates\n@param _feed Address of the new price feed instance", - "id": 15132, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPriceFeed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15113, - "name": "_feed", - "nodeType": "VariableDeclaration", - "scope": 15132, - "src": "23739:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 15112, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "23739:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23738:13:18" - }, - "payable": false, - "returnParameters": { - "id": 15115, - "nodeType": "ParameterList", - "parameters": [], - "src": "23761:0:18" - }, - "scope": 15995, - "src": "23716:168:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15152, - "nodeType": "Block", - "src": "24216:218:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15138, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15134, - "src": "24293:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15139, - "name": "MIN_RATE_EXPIRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14066, - "src": "24302:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24293:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15141, - "name": "ERROR_EXPIRY_TIME_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14129, - "src": "24319:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15137, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24285:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24285:62:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15143, - "nodeType": "ExpressionStatement", - "src": "24285:62:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15144, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "24357:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15145, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15134, - "src": "24374:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24357:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15147, - "nodeType": "ExpressionStatement", - "src": "24357:22:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15149, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "24412:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15148, - "name": "SetRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14271, - "src": "24394:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 15150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24394:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15151, - "nodeType": "EmitStatement", - "src": "24389:38:18" - } - ] - }, - "documentation": "@dev Set the exchange rate expiry time in seconds.\n Exchange rates older than the given value won't be accepted for payments and will cause\n payouts to revert.\n@param _time The expiration time in seconds for exchange rates", - "id": 15153, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setRateExpiryTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15134, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 15153, - "src": "24193:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15133, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24193:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24192:14:18" - }, - "payable": false, - "returnParameters": { - "id": 15136, - "nodeType": "ParameterList", - "parameters": [], - "src": "24216:0:18" - }, - "scope": 15995, - "src": "24165:269:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15206, - "nodeType": "Block", - "src": "24886:427:18", - "statements": [ - { - "assignments": [ - 15165 - ], - "declarations": [ - { - "constant": false, - "id": 15165, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24896:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24896:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15168, - "initialValue": { - "argumentTypes": null, - "id": 15167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "24917:14:18", - "subExpression": { - "argumentTypes": null, - "id": 15166, - "name": "nextEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14177, - "src": "24917:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24896:35:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15170, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "24962:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15171, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15155, - "src": "24974:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 15169, - "name": "_setEmployeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15335, - "src": "24942:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 15172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24942:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15173, - "nodeType": "ExpressionStatement", - "src": "24942:48:18" - }, - { - "assignments": [ - 15175 - ], - "declarations": [ - { - "constant": false, - "id": 15175, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "25001:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15174, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "25001:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15179, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15176, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "25029:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15178, - "indexExpression": { - "argumentTypes": null, - "id": 15177, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "25039:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25029:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25001:49:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15180, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25060:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "25060:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15183, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15157, - "src": "25095:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25060:61:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15185, - "nodeType": "ExpressionStatement", - "src": "25060:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15186, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25131:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "25131:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15189, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15159, - "src": "25154:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25131:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15191, - "nodeType": "ExpressionStatement", - "src": "25131:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15192, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25174:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15194, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "25174:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15195, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14078, - "src": "25193:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25174:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15197, - "nodeType": "ExpressionStatement", - "src": "25174:29:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15199, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "25231:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15200, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15155, - "src": "25243:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15201, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15157, - "src": "25260:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15202, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15159, - "src": "25288:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 15203, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15161, - "src": "25300:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 15198, - "name": "AddEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14201, - "src": "25219:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,uint256,uint64,string memory)" - } - }, - "id": 15204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25219:87:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15205, - "nodeType": "EmitStatement", - "src": "25214:92:18" - } - ] - }, - "documentation": "@dev Add a new employee to Payroll\n@param _accountAddress Employee's address to receive payroll\n@param _initialDenominationSalary Employee's salary, per second in denomination token\n@param _startDate Employee's starting timestamp in seconds\n@param _role Employee's role", - "id": 15207, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15155, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24783:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15154, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24783:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15157, - "name": "_initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24808:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24808:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15159, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24844:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15158, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24844:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15161, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24863:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15160, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24863:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24782:94:18" - }, - "payable": false, - "returnParameters": { - "id": 15163, - "nodeType": "ParameterList", - "parameters": [], - "src": "24886:0:18" - }, - "scope": 15995, - "src": "24761:552:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15235, - "nodeType": "Block", - "src": "25583:174:18", - "statements": [ - { - "assignments": [ - 15215 - ], - "declarations": [ - { - "constant": false, - "id": 15215, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25593:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15214, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "25593:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15219, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15216, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "25621:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15218, - "indexExpression": { - "argumentTypes": null, - "id": 15217, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15209, - "src": "25631:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25621:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25593:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15220, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15215, - "src": "25653:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "25653:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15226, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15211, - "src": "25689:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15223, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15215, - "src": "25670:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "25670:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "25670:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25670:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25653:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15229, - "nodeType": "ExpressionStatement", - "src": "25653:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15231, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15209, - "src": "25729:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15232, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15211, - "src": "25742:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15230, - "name": "AddEmployeeBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14225, - "src": "25712:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25712:38:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15234, - "nodeType": "EmitStatement", - "src": "25707:43:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's bonuses\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's bonuses in denomination token", - "id": 15236, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addBonus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15209, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25536:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25536:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15211, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25557:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25557:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25535:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15213, - "nodeType": "ParameterList", - "parameters": [], - "src": "25583:0:18" - }, - "scope": 15995, - "src": "25517:240:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15264, - "nodeType": "Block", - "src": "26049:200:18", - "statements": [ - { - "assignments": [ - 15244 - ], - "declarations": [ - { - "constant": false, - "id": 15244, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26059:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15243, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "26059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15248, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15245, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "26087:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15247, - "indexExpression": { - "argumentTypes": null, - "id": 15246, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15238, - "src": "26097:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26087:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26059:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15249, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15244, - "src": "26119:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "26119:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15255, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15240, - "src": "26173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15252, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15244, - "src": "26145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15253, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "26145:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26145:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26145:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26119:62:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15258, - "nodeType": "ExpressionStatement", - "src": "26119:62:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15260, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15238, - "src": "26221:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15261, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15240, - "src": "26234:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15259, - "name": "AddEmployeeReimbursement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14231, - "src": "26196:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26196:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15263, - "nodeType": "EmitStatement", - "src": "26191:51:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's reimbursements\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's reimbursements in denomination token", - "id": 15265, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addReimbursement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15241, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15238, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26002:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26002:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15240, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26023:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26023:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26001:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15242, - "nodeType": "ParameterList", - "parameters": [], - "src": "26049:0:18" - }, - "scope": 15995, - "src": "25975:274:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15293, - "nodeType": "Block", - "src": "26541:198:18", - "statements": [ - { - "assignments": [ - 15273 - ], - "declarations": [ - { - "constant": false, - "id": 15273, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26551:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15272, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "26551:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15277, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15274, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "26579:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15276, - "indexExpression": { - "argumentTypes": null, - "id": 15275, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15267, - "src": "26589:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26579:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26551:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15278, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15273, - "src": "26611:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "26611:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15269, - "src": "26663:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15281, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15273, - "src": "26636:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "26636:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26636:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26636:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26611:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15287, - "nodeType": "ExpressionStatement", - "src": "26611:60:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15289, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15267, - "src": "26711:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15290, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15269, - "src": "26724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15288, - "name": "AddEmployeeAccruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14219, - "src": "26686:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26686:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15292, - "nodeType": "EmitStatement", - "src": "26681:51:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's accrued salary\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's accrued salary in denomination token", - "id": 15294, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addAccruedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15267, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26494:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26494:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15269, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26515:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26515:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26493:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15271, - "nodeType": "ParameterList", - "parameters": [], - "src": "26541:0:18" - }, - "scope": 15995, - "src": "26467:272:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15334, - "nodeType": "Block", - "src": "27007:411:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 15306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15302, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27062:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27089:1:18", - "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": 15303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27081:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 15305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27081:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27062:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15307, - "name": "ERROR_EMPLOYEE_NULL_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14120, - "src": "27093:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15301, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27054:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27054:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15309, - "nodeType": "ExpressionStatement", - "src": "27054:67:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15311, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "27189:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15313, - "indexExpression": { - "argumentTypes": null, - "id": 15312, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27201:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27189:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27229:1:18", - "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": 15314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27221:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27221:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27189:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15318, - "name": "ERROR_EMPLOYEE_ALREADY_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14123, - "src": "27233:28:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27181:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27181:81:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15320, - "nodeType": "ExpressionStatement", - "src": "27181:81:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15321, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "27273:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15323, - "indexExpression": { - "argumentTypes": null, - "id": 15322, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15296, - "src": "27283:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27273:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "27273:37:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15325, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27313:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27273:55:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15327, - "nodeType": "ExpressionStatement", - "src": "27273:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15328, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "27369:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15330, - "indexExpression": { - "argumentTypes": null, - "id": 15329, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27381:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "27369:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15331, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15296, - "src": "27400:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27369:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15333, - "nodeType": "ExpressionStatement", - "src": "27369:42:18" - } - ] - }, - "documentation": "@dev Set an employee's account address\n@param _employeeId Employee's identifier\n@param _accountAddress Employee's address to receive payroll", - "id": 15335, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setEmployeeAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15299, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15296, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15335, - "src": "26952:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26952:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15298, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15335, - "src": "26973:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26973:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26951:46:18" - }, - "payable": false, - "returnParameters": { - "id": 15300, - "nodeType": "ParameterList", - "parameters": [], - "src": "27007:0:18" - }, - "scope": 15995, - "src": "26923:495:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15362, - "nodeType": "Block", - "src": "27662:231:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15343, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27722:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15344, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "27734:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27734:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27722:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15347, - "name": "ERROR_PAST_TERMINATION_DATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14132, - "src": "27752:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27714:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27714:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15349, - "nodeType": "ExpressionStatement", - "src": "27714:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15350, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "27790:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15352, - "indexExpression": { - "argumentTypes": null, - "id": 15351, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15337, - "src": "27800:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27790:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "27790:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15354, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27823:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27790:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15356, - "nodeType": "ExpressionStatement", - "src": "27790:41:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15358, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15337, - "src": "27864:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15359, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27877:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15357, - "name": "TerminateEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14207, - "src": "27846:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64)" - } - }, - "id": 15360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27846:40:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15361, - "nodeType": "EmitStatement", - "src": "27841:45:18" - } - ] - }, - "documentation": "@dev Terminate employee on end date\n@param _employeeId Employee's identifier\n@param _endDate Termination timestamp in seconds", - "id": 15363, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_terminateEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15337, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15363, - "src": "27615:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27615:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15339, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "scope": 15363, - "src": "27636:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15338, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27636:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27614:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15341, - "nodeType": "ParameterList", - "parameters": [], - "src": "27662:0:18" - }, - "scope": 15995, - "src": "27587:306:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15508, - "nodeType": "Block", - "src": "28605:1670:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15377, - "name": "_totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15369, - "src": "28619:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28635:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28619:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15383, - "nodeType": "IfStatement", - "src": "28615:60:18", - "trueBody": { - "id": 15382, - "nodeType": "Block", - "src": "28638:37:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 15380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28659:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 15376, - "id": 15381, - "nodeType": "Return", - "src": "28652:12:18" - } - ] - } - }, - { - "assignments": [ - 15385 - ], - "declarations": [ - { - "constant": false, - "id": 15385, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28685:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15384, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "28685:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15389, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15386, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "28713:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15388, - "indexExpression": { - "argumentTypes": null, - "id": 15387, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15365, - "src": "28723:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28713:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28685:50:18" - }, - { - "assignments": [ - 15391 - ], - "declarations": [ - { - "constant": false, - "id": 15391, - "name": "employeeAddress", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28745:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28745:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15394, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15392, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "28771:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "28771:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28745:49:18" - }, - { - "assignments": [ - 15396 - ], - "declarations": [ - { - "constant": false, - "id": 15396, - "name": "paymentReference", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28804:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15395, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "28804:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15400, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15398, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15367, - "src": "28858:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - ], - "id": 15397, - "name": "_paymentReferenceFor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15963, - "src": "28837:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_PaymentType_$14145_$returns$_t_string_memory_ptr_$", - "typeString": "function (enum Payroll.PaymentType) pure returns (string memory)" - } - }, - "id": 15399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28837:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28804:60:18" - }, - { - "assignments": [ - 15404 - ], - "declarations": [ - { - "constant": false, - "id": 15404, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28875:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28875:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15403, - "length": null, - "nodeType": "ArrayTypeName", - "src": "28875:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15407, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15405, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "28920:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "28920:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28875:78:18" - }, - { - "body": { - "id": 15506, - "nodeType": "Block", - "src": "29025:1244:18", - "statements": [ - { - "assignments": [ - 15420 - ], - "declarations": [ - { - "constant": false, - "id": 15420, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29039:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29039:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15424, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15421, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15404, - "src": "29055:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 15423, - "indexExpression": { - "argumentTypes": null, - "id": 15422, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29080:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29055:27:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29039:43:18" - }, - { - "assignments": [ - 15426 - ], - "declarations": [ - { - "constant": false, - "id": 15426, - "name": "tokenAllocation", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29096:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29096:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15431, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15427, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "29122:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "29122:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15430, - "indexExpression": { - "argumentTypes": null, - "id": 15429, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "29148:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29122:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29096:58:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15432, - "name": "tokenAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15426, - "src": "29172:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29199:1:18", - "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": 15433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "29191:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29191:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29172:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15505, - "nodeType": "IfStatement", - "src": "29168:1091:18", - "trueBody": { - "id": 15504, - "nodeType": "Block", - "src": "29203:1056:18", - "statements": [ - { - "assignments": [ - 15438 - ], - "declarations": [ - { - "constant": false, - "id": 15438, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29368:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29368:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15440, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "29427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 15439, - "name": "_getExchangeRateInDenominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15807, - "src": "29391:35:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 15441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29391:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29368:65:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15444, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15372, - "src": "29459:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 15445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "29459:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29478:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29459:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15453, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29513:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29528:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29513:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "29459:70:18", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15448, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29482:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15449, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15372, - "src": "29498:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 15451, - "indexExpression": { - "argumentTypes": null, - "id": 15450, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29508:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29498:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29482:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15457, - "name": "ERROR_EXCHANGE_RATE_TOO_LOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14135, - "src": "29531:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "29451:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29451:108:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15459, - "nodeType": "ExpressionStatement", - "src": "29451:108:18" - }, - { - "assignments": [ - 15461 - ], - "declarations": [ - { - "constant": false, - "id": 15461, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29674:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15469, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15467, - "name": "tokenAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15426, - "src": "29731:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15464, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29713:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15462, - "name": "_totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15369, - "src": "29696:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "29696:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29696:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "29696:34:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29696:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29674:73:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15470, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "29863:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 15476, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "29902:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ratePrecision", - "nodeType": "MemberAccess", - "referencedDeclaration": 28106, - "src": "29902:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", - "typeString": "function () pure external returns (uint256)" - } - }, - "id": 15478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29902:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 15473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29893:3:18", - "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": 15471, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "29877:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "29877:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29877:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "29877:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29877:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29863:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15481, - "nodeType": "ExpressionStatement", - "src": "29863:60:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15485, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "30036:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15486, - "name": "employeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15391, - "src": "30043:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15487, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "30060:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15488, - "name": "paymentReference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15396, - "src": "30073:16:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 15482, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "30008:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 15484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newImmediatePayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 12484, - "src": "30008:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,string memory) external" - } - }, - "id": 15489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30008:82:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15490, - "nodeType": "ExpressionStatement", - "src": "30008:82:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15492, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15365, - "src": "30125:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15493, - "name": "employeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15391, - "src": "30138:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15494, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "30155:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15495, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "30162:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15496, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "30175:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15497, - "name": "paymentReference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15396, - "src": "30189:16:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 15491, - "name": "SendPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14257, - "src": "30113:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint256,string memory)" - } - }, - "id": 15498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30113:93:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15499, - "nodeType": "EmitStatement", - "src": "30108:98:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15500, - "name": "somethingPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15375, - "src": "30224:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 15501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30240:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "30224:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15503, - "nodeType": "ExpressionStatement", - "src": "30224:20:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15412, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "28983:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15413, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15404, - "src": "28987:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 15414, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "28987:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28983:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15507, - "initializationExpression": { - "assignments": [ - 15409 - ], - "declarations": [ - { - "constant": false, - "id": 15409, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28968:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15411, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28980:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28968:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 15417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29020:3:18", - "subExpression": { - "argumentTypes": null, - "id": 15416, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29020:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15418, - "nodeType": "ExpressionStatement", - "src": "29020:3:18" - }, - "nodeType": "ForStatement", - "src": "28963:1306:18" - } - ] - }, - "documentation": "@dev Loop over allowed tokens to send requested amount to the employee in their desired allocation\n@param _employeeId Employee's identifier\n@param _totalAmount Total amount to be transferred to the employee distributed in accordance to the employee's token allocation.\n@param _type Payment type being transferred (Payroll, Reimbursement or Bonus)\n@param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens\n@return True if there was at least one token transfer", - "id": 15509, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferTokensAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15365, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28484:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28484:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15367, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28505:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 15366, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "28505:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15369, - "name": "_totalAmount", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28524:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15368, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28524:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15372, - "name": "_minRates", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28546:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 15370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28546:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15371, - "length": null, - "nodeType": "ArrayTypeName", - "src": "28546:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "28483:83:18" - }, - "payable": false, - "returnParameters": { - "id": 15376, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15375, - "name": "somethingPaid", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28585:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "28585:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "28584:20:18" - }, - "scope": 15995, - "src": "28453:1822:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15554, - "nodeType": "Block", - "src": "30518:356:18", - "statements": [ - { - "assignments": [ - 15515 - ], - "declarations": [ - { - "constant": false, - "id": 15515, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15555, - "src": "30528:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15514, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "30528:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15519, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15516, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "30556:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15518, - "indexExpression": { - "argumentTypes": null, - "id": 15517, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15511, - "src": "30566:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30556:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30528:50:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15520, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30606:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "30606:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15522, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30630:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "30630:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "30606:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15525, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30663:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "30663:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30689:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30663:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15529, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30694:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "30694:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30712:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30694:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30663:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15534, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30717:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "30717:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30744:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30717:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30663:82:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 15539, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30662:84:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30606:140:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15553, - "nodeType": "IfStatement", - "src": "30589:279:18", - "trueBody": { - "id": 15552, - "nodeType": "Block", - "src": "30757:111:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "30771:43:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15541, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "30778:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15544, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15542, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30790:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15543, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "30790:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30778:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15546, - "nodeType": "ExpressionStatement", - "src": "30771:43:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "30828:29:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15547, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "30835:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15549, - "indexExpression": { - "argumentTypes": null, - "id": 15548, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15511, - "src": "30845:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30835:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15551, - "nodeType": "ExpressionStatement", - "src": "30828:29:18" - } - ] - } - } - ] - }, - "documentation": "@dev Remove employee if there are no owed funds and employee's end date has been reached\n@param _employeeId Employee's identifier", - "id": 15555, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeEmployeeIfTerminatedAndPaidOut", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15511, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15555, - "src": "30488:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30488:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30487:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15513, - "nodeType": "ParameterList", - "parameters": [], - "src": "30518:0:18" - }, - "scope": 15995, - "src": "30441:433:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15668, - "nodeType": "Block", - "src": "31288:2173:18", - "statements": [ - { - "assignments": [ - 15563 - ], - "declarations": [ - { - "constant": false, - "id": 15563, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31298:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31298:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15566, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15564, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "31322:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15565, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "31322:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31298:47:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15567, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31360:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 15568, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31378:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31360:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15580, - "nodeType": "IfStatement", - "src": "31356:366:18", - "trueBody": { - "id": 15579, - "nodeType": "Block", - "src": "31393:329:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15570, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "31635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "31635:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15573, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31661:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15574, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31677:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31661:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31635:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15577, - "nodeType": "ExpressionStatement", - "src": "31635:56:18" - }, - { - "expression": null, - "functionReturnParameters": 15561, - "id": 15578, - "nodeType": "Return", - "src": "31705:7:18" - } - ] - } - }, - { - "assignments": [ - 15582 - ], - "declarations": [ - { - "constant": false, - "id": 15582, - "name": "currentSalaryPaid", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31897:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31897:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15584, - "initialValue": { - "argumentTypes": null, - "id": 15583, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31925:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31897:42:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15585, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31953:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31969:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "31953:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15601, - "nodeType": "IfStatement", - "src": "31949:441:18", - "trueBody": { - "id": 15600, - "nodeType": "Block", - "src": "31972:418:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15588, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32227:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15589, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "32247:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15590, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "32264:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32247:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32227:50:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15593, - "nodeType": "ExpressionStatement", - "src": "32227:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15594, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32352:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "32352:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 15597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32378:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32352:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15599, - "nodeType": "ExpressionStatement", - "src": "32352:27:18" - } - ] - } - }, - { - "assignments": [ - 15603 - ], - "declarations": [ - { - "constant": false, - "id": 15603, - "name": "salary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32400:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32400:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15606, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15604, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32417:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "32417:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32400:50:18" - }, - { - "assignments": [ - 15608 - ], - "declarations": [ - { - "constant": false, - "id": 15608, - "name": "timeDiff", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32460:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32460:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15613, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15611, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32501:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15609, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32479:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "32479:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32479:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32460:48:18" - }, - { - "assignments": [ - 15615 - ], - "declarations": [ - { - "constant": false, - "id": 15615, - "name": "extraSalary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32748:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15619, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15616, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 15617, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32790:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32770:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32748:48:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15620, - "name": "extraSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15615, - "src": "32810:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32824:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32810:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15639, - "nodeType": "IfStatement", - "src": "32806:132:18", - "trueBody": { - "id": 15638, - "nodeType": "Block", - "src": "32827:111:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15623, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "32841:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 15626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32865:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 15624, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "32852:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32852:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32852:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32841:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15629, - "nodeType": "ExpressionStatement", - "src": "32841:26:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15630, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32881:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "32881:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15633, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32907:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15634, - "name": "extraSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15615, - "src": "32916:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32907:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32881:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15637, - "nodeType": "ExpressionStatement", - "src": "32881:46:18" - } - ] - } - }, - { - "assignments": [ - 15641 - ], - "declarations": [ - { - "constant": false, - "id": 15641, - "name": "lastPayrollDate", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32948:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32948:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15649, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15647, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "33009:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15643, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32982:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "32982:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32974:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32974:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32974:34:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32974:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32948:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15651, - "name": "lastPayrollDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15641, - "src": "33249:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15653, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "33276:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33276:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33268:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33268:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33249:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15657, - "name": "ERROR_LAST_PAYROLL_DATE_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14138, - "src": "33295:31:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15650, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "33241:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33241:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15659, - "nodeType": "ExpressionStatement", - "src": "33241:86:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15660, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "33407:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "33407:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15664, - "name": "lastPayrollDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15641, - "src": "33438:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33431:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 15665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33431:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "33407:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15667, - "nodeType": "ExpressionStatement", - "src": "33407:47:18" - } - ] - }, - "documentation": "@dev Updates the accrued salary and payroll date of an employee based on a payment amount and\n their currently owed salary since last payroll date\n@param _employee Employee struct in storage\n@param _paymentAmount Amount being paid to the employee", - "id": 15669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateEmployeeAccountingBasedOnPaidSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15557, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31227:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15556, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "31227:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15559, - "name": "_paymentAmount", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31255:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31255:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31226:52:18" - }, - "payable": false, - "returnParameters": { - "id": 15561, - "nodeType": "ParameterList", - "parameters": [], - "src": "31288:0:18" - }, - "scope": 15995, - "src": "31175:2286:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15685, - "nodeType": "Block", - "src": "33776:75:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 15683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15676, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "33793:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15678, - "indexExpression": { - "argumentTypes": null, - "id": 15677, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15671, - "src": "33803:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33793:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "33793:37:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33842:1:18", - "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": 15680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33834:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 15682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33834:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "33793:51:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15675, - "id": 15684, - "nodeType": "Return", - "src": "33786:58:18" - } - ] - }, - "documentation": "@dev Tell whether an employee is registered in this Payroll or not\n@param _employeeId Employee's identifier\n@return True if the given employee ID belongs to an registered employee, false otherwise", - "id": 15686, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_employeeExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15671, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15686, - "src": "33726:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33726:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33725:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15674, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15686, - "src": "33770:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15673, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "33770:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33769:6:18" - }, - "scope": 15995, - "src": "33701:150:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15745, - "nodeType": "Block", - "src": "34236:447:18", - "statements": [ - { - "assignments": [ - 15692 - ], - "declarations": [ - { - "constant": false, - "id": 15692, - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34246:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34246:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15694, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34260:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "34246:15:18" - }, - { - "assignments": [ - 15698 - ], - "declarations": [ - { - "constant": false, - "id": 15698, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34271:41:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15696, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34271:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15697, - "length": null, - "nodeType": "ArrayTypeName", - "src": "34271:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15701, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15699, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15688, - "src": "34315:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15700, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "34315:34:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34271:78:18" - }, - { - "body": { - "id": 15736, - "nodeType": "Block", - "src": "34421:198:18", - "statements": [ - { - "assignments": [ - 15714 - ], - "declarations": [ - { - "constant": false, - "id": 15714, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34435:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15718, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15715, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15698, - "src": "34451:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15717, - "indexExpression": { - "argumentTypes": null, - "id": 15716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34476:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34451:27:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34435:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15720, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "34500:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 15722, - "indexExpression": { - "argumentTypes": null, - "id": 15721, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15714, - "src": "34514:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34500:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15723, - "name": "ERROR_NOT_ALLOWED_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14105, - "src": "34522:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "34492:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34492:54:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15725, - "nodeType": "ExpressionStatement", - "src": "34492:54:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15726, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34560:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15729, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15688, - "src": "34574:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "34574:26:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15732, - "indexExpression": { - "argumentTypes": null, - "id": 15731, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15714, - "src": "34601:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34574:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15727, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34566:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "34566:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34566:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34560:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15735, - "nodeType": "ExpressionStatement", - "src": "34560:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15706, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34379:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15707, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15698, - "src": "34383:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "34383:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34379:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15737, - "initializationExpression": { - "assignments": [ - 15703 - ], - "declarations": [ - { - "constant": false, - "id": 15703, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34364:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34364:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15705, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34376:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "34364:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 15711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "34416:3:18", - "subExpression": { - "argumentTypes": null, - "id": 15710, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34416:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15712, - "nodeType": "ExpressionStatement", - "src": "34416:3:18" - }, - "nodeType": "ForStatement", - "src": "34359:260:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15739, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34636:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 15740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34643:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "34636:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15742, - "name": "ERROR_DISTRIBUTION_NOT_FULL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14108, - "src": "34648:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "34628:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34628:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15744, - "nodeType": "ExpressionStatement", - "src": "34628:48:18" - } - ] - }, - "documentation": "@dev Tell whether an employee has a valid token allocation or not.\n A valid allocation is one that sums to 100 and only includes allowed tokens.\n@param _employee Employee struct in storage\n@return Reverts if employee's allocation is invalid", - "id": 15746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15688, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34194:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15687, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "34194:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34193:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15690, - "nodeType": "ParameterList", - "parameters": [], - "src": "34236:0:18" - }, - "scope": 15995, - "src": "34146:537:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15759, - "nodeType": "Block", - "src": "35010:61:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15753, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15748, - "src": "35027:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "35027:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15755, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "35048:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35048:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "35027:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15752, - "id": 15758, - "nodeType": "Return", - "src": "35020:44:18" - } - ] - }, - "documentation": "@dev Tell whether an employee is still active or not\n@param _employee Employee struct in storage\n@return True if the employee exists and has an end date that has not been reached yet, false otherwise", - "id": 15760, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isEmployeeActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15748, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15760, - "src": "34953:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15747, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "34953:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34952:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15760, - "src": "35004:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15750, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "35004:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35003:6:18" - }, - "scope": 15995, - "src": "34926:145:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15773, - "nodeType": "Block", - "src": "35393:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15768, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "35428:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15770, - "indexExpression": { - "argumentTypes": null, - "id": 15769, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15762, - "src": "35438:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35428:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - ], - "id": 15767, - "name": "_isEmployeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15760, - "src": "35410:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (bool)" - } - }, - "id": 15771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35410:41:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15766, - "id": 15772, - "nodeType": "Return", - "src": "35403:48:18" - } - ] - }, - "documentation": "@dev Tell whether an employee id is still active or not\n@param _employeeId Employee's identifier\n@return True if the employee exists and has an end date that has not been reached yet, false otherwise", - "id": 15774, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isEmployeeIdActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15762, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15774, - "src": "35343:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35343:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35342:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15765, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15774, - "src": "35387:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15764, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "35387:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35386:6:18" - }, - "scope": 15995, - "src": "35314:144:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15806, - "nodeType": "Block", - "src": "35932:431:18", - "statements": [ - { - "assignments": [ - 15782, - 15784 - ], - "declarations": [ - { - "constant": false, - "id": 15782, - "name": "xrt", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "36034:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 15781, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "36034:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15784, - "name": "when", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "36047:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "36047:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15790, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15787, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14171, - "src": "36084:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15788, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15776, - "src": "36135:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 15785, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "36062:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 28117, - "src": "36062:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint128_$_t_uint64_$", - "typeString": "function (address,address) view external returns (uint128,uint64)" - } - }, - "id": 15789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36062:122:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint64_$", - "typeString": "tuple(uint128,uint64)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36033:151:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15794, - "name": "when", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15784, - "src": "36269:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15791, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "36248:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36248:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27964, - "src": "36248:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 15795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36248:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15796, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "36278:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "36248:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15801, - "nodeType": "IfStatement", - "src": "36244:83:18", - "trueBody": { - "id": 15800, - "nodeType": "Block", - "src": "36294:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15780, - "id": 15799, - "nodeType": "Return", - "src": "36308:8:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15803, - "name": "xrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15782, - "src": "36352:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "id": 15802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36344:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36344:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15780, - "id": 15805, - "nodeType": "Return", - "src": "36337:19:18" - } - ] - }, - "documentation": "@dev Get exchange rate for a token based on the denomination token.\n As an example, if the denomination token was USD and ETH's price was 100USD,\n this would return 0.01 * precision rate for ETH.\n@param _token Token to get price of in denomination tokens\n@return Exchange rate (multiplied by the PPF rate precision)", - "id": 15807, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getExchangeRateInDenominationToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15776, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "35884:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "35884:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35883:16:18" - }, - "payable": false, - "returnParameters": { - "id": 15780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15779, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "35923:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35923:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35922:9:18" - }, - "scope": 15995, - "src": "35839:524:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15859, - "nodeType": "Block", - "src": "36832:457:18", - "statements": [ - { - "assignments": [ - 15817 - ], - "declarations": [ - { - "constant": false, - "id": 15817, - "name": "timeDiff", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36842:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36842:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15821, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15819, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15809, - "src": "36883:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 15818, - "name": "_getOwedPayrollPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15894, - "src": "36861:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 15820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36861:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36842:51:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15822, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "36907:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36919:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36907:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15828, - "nodeType": "IfStatement", - "src": "36903:52:18", - "trueBody": { - "id": 15827, - "nodeType": "Block", - "src": "36922:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36943:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15815, - "id": 15826, - "nodeType": "Return", - "src": "36936:8:18" - } - ] - } - }, - { - "assignments": [ - 15830 - ], - "declarations": [ - { - "constant": false, - "id": 15830, - "name": "salary", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36964:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36964:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15833, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15831, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15809, - "src": "36981:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "36981:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36964:50:18" - }, - { - "condition": { - "argumentTypes": null, - "id": 15834, - "name": "_capped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15811, - "src": "37029:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 15857, - "nodeType": "Block", - "src": "37231:52:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15854, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37263:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15852, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37252:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "37252:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37252:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15815, - "id": 15856, - "nodeType": "Return", - "src": "37245:27:18" - } - ] - }, - "id": 15858, - "nodeType": "IfStatement", - "src": "37025:258:18", - "trueBody": { - "id": 15851, - "nodeType": "Block", - "src": "37038:187:18", - "statements": [ - { - "assignments": [ - 15836 - ], - "declarations": [ - { - "constant": false, - "id": 15836, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "37107:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37107:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15840, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15837, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37124:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 15838, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37133:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37124:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37107:34:18" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15841, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15836, - "src": "37163:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 15842, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37172:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37163:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 15844, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37184:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37163:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 15846, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37162:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 15848, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15836, - "src": "37208:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "37162:52:18", - "trueExpression": { - "argumentTypes": null, - "id": 15847, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14072, - "src": "37194:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15815, - "id": 15850, - "nodeType": "Return", - "src": "37155:59:18" - } - ] - } - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee\n@param _employee Employee struct in storage\n@param _capped Safely cap the owed salary at max uint\n@return Owed salary in denomination tokens since last payroll for the employee.\n If _capped is false, it reverts in case of an overflow.", - "id": 15860, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15809, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36758:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15808, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "36758:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15811, - "name": "_capped", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36786:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15810, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "36786:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36757:42:18" - }, - "payable": false, - "returnParameters": { - "id": 15815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15814, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36823:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36823:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36822:9:18" - }, - "scope": 15995, - "src": "36718:571:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15893, - "nodeType": "Block", - "src": "37580:791:18", - "statements": [ - { - "assignments": [ - 15868 - ], - "declarations": [ - { - "constant": false, - "id": 15868, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37650:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15867, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "37650:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15877, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15870, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "37682:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 15869, - "name": "_isEmployeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15760, - "src": "37664:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (bool)" - } - }, - "id": 15871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37664:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15874, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "37714:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "37714:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "37664:67:18", - "trueExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15872, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "37695:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37695:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37650:81:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15878, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15868, - "src": "38131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15879, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "38139:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "38139:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "38131:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15885, - "nodeType": "IfStatement", - "src": "38127:68:18", - "trueBody": { - "id": 15884, - "nodeType": "Block", - "src": "38162:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38183:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15866, - "id": 15883, - "nodeType": "Return", - "src": "38176:8:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15887, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15868, - "src": "38335:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15888, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "38342:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "38342:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "38335:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "38327:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38327:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15866, - "id": 15892, - "nodeType": "Return", - "src": "38320:44:18" - } - ] - }, - "documentation": "@dev Get owed payroll period for an employee\n@param _employee Employee struct in storage\n@return Owed time in seconds since the employee's last payroll date", - "id": 15894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getOwedPayrollPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15862, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37520:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15861, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "37520:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37519:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37571:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37571:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37570:9:18" - }, - "scope": 15995, - "src": "37489:882:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15926, - "nodeType": "Block", - "src": "38859:321:18", - "statements": [ - { - "assignments": [ - 15902 - ], - "declarations": [ - { - "constant": false, - "id": 15902, - "name": "currentOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38869:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38869:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15907, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15904, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15896, - "src": "38928:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 15905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38939:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 15903, - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15860, - "src": "38897:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer,bool) view returns (uint256)" - } - }, - "id": 15906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38897:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38869:75:18" - }, - { - "assignments": [ - 15909 - ], - "declarations": [ - { - "constant": false, - "id": 15909, - "name": "totalOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38968:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15914, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15910, - "name": "currentOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15902, - "src": "38994:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15911, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15896, - "src": "39014:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "39014:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38994:43:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38968:69:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15915, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39051:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 15916, - "name": "currentOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15902, - "src": "39069:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39051:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15923, - "nodeType": "IfStatement", - "src": "39047:95:18", - "trueBody": { - "id": 15922, - "nodeType": "Block", - "src": "39088:54:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15918, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39102:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15919, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14072, - "src": "39120:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39102:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15921, - "nodeType": "ExpressionStatement", - "src": "39102:29:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 15924, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39158:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15900, - "id": 15925, - "nodeType": "Return", - "src": "39151:22:18" - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n The result will be capped to max uint256 to avoid having an overflow.\n@param _employee Employee struct in storage\n@return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.", - "id": 15927, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getTotalOwedCappedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15896, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38799:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15895, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "38799:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38798:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15899, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38850:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38850:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38849:9:18" - }, - "scope": 15995, - "src": "38764:416:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15962, - "nodeType": "Block", - "src": "39467:326:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15934, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39481:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15935, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39490:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Payroll", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39490:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39481:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15941, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39570:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15942, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39579:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Reimbursement", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39579:25:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39570:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15948, - "nodeType": "IfStatement", - "src": "39566:96:18", - "trueBody": { - "id": 15947, - "nodeType": "Block", - "src": "39606:56:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f796565207265696d62757273656d656e74", - "id": 15945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39627:24:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bbb2ad9332292ede951972e02d091a13684c35a8d15242ca014d83fc24223c70", - "typeString": "literal_string \"Employee reimbursement\"" - }, - "value": "Employee reimbursement" - }, - "functionReturnParameters": 15933, - "id": 15946, - "nodeType": "Return", - "src": "39620:31:18" - } - ] - } - }, - "id": 15949, - "nodeType": "IfStatement", - "src": "39477:185:18", - "trueBody": { - "id": 15940, - "nodeType": "Block", - "src": "39511:49:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f7965652073616c617279", - "id": 15938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39532:17:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9663ea10cc7328675b783385c4968d93ca8f6560fb62ecadc3bab8fb17894e44", - "typeString": "literal_string \"Employee salary\"" - }, - "value": "Employee salary" - }, - "functionReturnParameters": 15933, - "id": 15939, - "nodeType": "Return", - "src": "39525:24:18" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15950, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39667:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15951, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39676:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39676:17:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39667:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15957, - "nodeType": "IfStatement", - "src": "39663:80:18", - "trueBody": { - "id": 15956, - "nodeType": "Block", - "src": "39695:48:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f79656520626f6e7573", - "id": 15954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39716:16:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2016c14dd8969cad91c4b8ce072ffc5ec4536027be9b0c8d966002f125494149", - "typeString": "literal_string \"Employee bonus\"" - }, - "value": "Employee bonus" - }, - "functionReturnParameters": 15933, - "id": 15955, - "nodeType": "Return", - "src": "39709:23:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15959, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14111, - "src": "39759:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15958, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "39752:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 15960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39752:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15961, - "nodeType": "ExpressionStatement", - "src": "39752:34:18" - } - ] - }, - "documentation": "@dev Get payment reference for a given payment type\n@param _type Payment type to query the reference of\n@return Payment reference for the given payment type", - "id": 15963, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_paymentReferenceFor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15929, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 15963, - "src": "39410:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 15928, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "39410:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39409:19:18" - }, - "payable": false, - "returnParameters": { - "id": 15933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15963, - "src": "39452:6:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15931, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "39452:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39451:15:18" - }, - "scope": 15995, - "src": "39380:413:18", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15993, - "nodeType": "Block", - "src": "39907:213:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15973, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "39925:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39939:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39925:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15976, - "name": "ERROR_NOTHING_PAID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14114, - "src": "39942:18:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "39917:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39917:44:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15978, - "nodeType": "ExpressionStatement", - "src": "39917:44:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15980, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "39979:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15981, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "39994:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39979:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15983, - "name": "ERROR_INVALID_REQUESTED_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14141, - "src": "40012:30:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "39971:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39971:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15985, - "nodeType": "ExpressionStatement", - "src": "39971:72:18" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15986, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "40060:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "40079:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "40060:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 15990, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "40102:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "40060:53:18", - "trueExpression": { - "argumentTypes": null, - "id": 15989, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "40083:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15971, - "id": 15992, - "nodeType": "Return", - "src": "40053:60:18" - } - ] - }, - "documentation": null, - "id": 15994, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensurePaymentAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15965, - "name": "_owedAmount", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39829:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39829:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15967, - "name": "_requestedAmount", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39850:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39850:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39828:47:18" - }, - "payable": false, - "returnParameters": { - "id": 15971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39898:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39898:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39897:9:18" - }, - "scope": 15995, - "src": "39799:321:18", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 15996, - "src": "508:39614:18" - } - ], - "src": "0:40123:18" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-payroll/contracts/Payroll.sol", - "exportedSymbols": { - "Payroll": [ - 15995 - ] - }, - "id": 15996, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 14012, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:18" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 14013, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23454, - "src": "25:49:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 14014, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23650, - "src": "75:60:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 14015, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23826, - "src": "136:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 14016, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 23672, - "src": "189:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 14017, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 27870, - "src": "243:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 14018, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 28012, - "src": "296:54:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/ppf-contracts/contracts/IFeed.sol", - "file": "@aragon/ppf-contracts/contracts/IFeed.sol", - "id": 14019, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 28119, - "src": "352:51:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-finance/contracts/Finance.sol", - "file": "@aragon/apps-finance/contracts/Finance.sol", - "id": 14020, - "nodeType": "ImportDirective", - "scope": 15996, - "sourceUnit": 14011, - "src": "404:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14021, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "528:18:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 14022, - "nodeType": "InheritanceSpecifier", - "src": "528:18:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14023, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "548:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 14024, - "nodeType": "InheritanceSpecifier", - "src": "548:10:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14025, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "560:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 14026, - "nodeType": "InheritanceSpecifier", - "src": "560:10:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 14027, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "572:9:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 14028, - "nodeType": "InheritanceSpecifier", - "src": "572:9:18" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": "@title Payroll in multiple currencies", - "fullyImplemented": true, - "id": 15995, - "linearizedBaseContracts": [ - 15995, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23671, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Payroll", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 14031, - "libraryName": { - "contractScope": null, - "id": 14029, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "594:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "588:27:18", - "typeName": { - "id": 14030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "607:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 14034, - "libraryName": { - "contractScope": null, - "id": 14032, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "626:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "620:28:18", - "typeName": { - "id": 14033, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "641:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 14037, - "name": "ADD_EMPLOYEE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1427:110:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14035, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1427:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839656364633363363337313662343564303735366565636535666531363134636165313838396563356131636536326233313237633166316631363135643665", - "id": 14036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1471:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_71828984908844238555949328342089860675847136120918376188830129238999052672366_by_1", - "typeString": "int_const 7182...(69 digits omitted)...2366" - }, - "value": "0x9ecdc3c63716b45d0756eece5fe1614cae1889ec5a1ce62b3127c1f1f1615d6e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14040, - "name": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1543:116:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14038, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1543:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836396336376639313464313262363434306537646466303139363132313438313864393135386662636231393231316530666634323830306664656139323432", - "id": 14039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_47843565259164144133809461170372969702816497096869277417040675769185680921154_by_1", - "typeString": "int_const 4784...(69 digits omitted)...1154" - }, - "value": "0x69c67f914d12b6440e7ddf01961214818d9158fbcb19211e0ff42800fdea9242" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14043, - "name": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1665:117:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14041, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1665:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865613961633635303138646132343231636634313965653231353233373134343063303832363761313933613333636363316533393534356431393765343464", - "id": 14042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1716:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106114669721649837030210016195818868806878882966462230778670002579541547541581_by_1", - "typeString": "int_const 1061...(70 digits omitted)...1581" - }, - "value": "0xea9ac65018da2421cf419ee2152371440c08267a193a33ccc1e39545d197e44d" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14046, - "name": "ADD_BONUS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1788:107:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14044, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1788:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863656361376532663565623734396138376161663638663366373664366239323531616132663436303066313366393363356134616466376137326466346165", - "id": 14045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1829:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_93534220812370054220978265633527830468714367242977563805072917605995456099502_by_1", - "typeString": "int_const 9353...(69 digits omitted)...9502" - }, - "value": "0xceca7e2f5eb749a87aaf68f3f76d6b9251aa2f4600f13f93c5a4adf7a72df4ae" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14049, - "name": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "1901:115:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14047, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1901:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839303639386239643534343237663165343136333630323530313733303962646231623535333230646139363063383834356261623061353034623031613136", - "id": 14048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1950:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65319532722119508507784416685044973991992190640648452491307818028309280725526_by_1", - "typeString": "int_const 6531...(69 digits omitted)...5526" - }, - "value": "0x90698b9d54427f1e41636025017309bdb1b55320da960c8845bab0a504b01a16" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14052, - "name": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2022:119:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14050, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2022:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307830626533343938376334353730306565336661653863353565323730343138626139303333333764656363366261636231383739353034626539333331633036", - "id": 14051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2075:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5377023105873739678085461058163298743547224377491716976682656041718999358470_by_1", - "typeString": "int_const 5377...(68 digits omitted)...8470" - }, - "value": "0x0be34987c45700ee3fae8c55e270418ba903337decc6bacb1879504be9331c06" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14055, - "name": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2147:115:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2147:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837343335306566626362613862383533343163356262663730636333346532613538356663313436333532343737336131326661306137316434656239333032", - "id": 14054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_52562036742935426542814051682274598831193441213500536100195688242734636438274_by_1", - "typeString": "int_const 5256...(69 digits omitted)...8274" - }, - "value": "0x74350efbcba8b85341c5bbf70cc34e2a585fc1463524773a12fa0a71d4eb9302" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14058, - "name": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2268:116:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14056, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2268:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837396665393839613838393930363064666264616262313734656262393636313666613966316439646164643733396638643831346362616234353234303465", - "id": 14057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2318:66:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_55179687064690863465427953388742629249966644689543679381930473656019565297742_by_1", - "typeString": "int_const 5517...(69 digits omitted)...7742" - }, - "value": "0x79fe989a8899060dfbdabb174ebb96616fa9f1d9dadd739f8d814cbab452404e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 14061, - "name": "MAX_ALLOWED_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2391:49:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2391:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 14060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2438:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14066, - "name": "MIN_RATE_EXPIRY", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2484:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14062, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2484:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 14064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2534:9:18", - "subdenomination": "minutes", - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - } - ], - "id": 14063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2527:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 14065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2527:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14072, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2625:51:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "2673:2:18", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 14069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2674:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 14068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2665:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14078, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2682:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14073, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2682:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "2727:2:18", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 14075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2728:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 14074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 14077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2720:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 14081, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2737:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14079, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2737:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f444f45534e545f4558495354", - "id": 14080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2791:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3040532e3b003e5956a88c57b05878bc6423f278034ae52388cd63165fc3e833", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_DOESNT_EXIST\"" - }, - "value": "PAYROLL_EMPLOYEE_DOESNT_EXIST" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14084, - "name": "ERROR_NON_ACTIVE_EMPLOYEE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2828:81:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14082, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2828:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f4e5f4143544956455f454d504c4f594545", - "id": 14083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2880:29:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c682094980d6d373c27c2d307a90340c49b0ecc0d315e2545a5fe5f38cd22281", - "typeString": "literal_string \"PAYROLL_NON_ACTIVE_EMPLOYEE\"" - }, - "value": "PAYROLL_NON_ACTIVE_EMPLOYEE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14087, - "name": "ERROR_SENDER_DOES_NOT_MATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "2915:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14085, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2915:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f53454e4445525f444f45535f4e4f545f4d41544348", - "id": 14086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2969:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d92783ff5ae559953bfbd87f56aee966d525be74f6a39bc0866fa203fa3c0f8a", - "typeString": "literal_string \"PAYROLL_SENDER_DOES_NOT_MATCH\"" - }, - "value": "PAYROLL_SENDER_DOES_NOT_MATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14090, - "name": "ERROR_FINANCE_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3006:83:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14088, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3006:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f46494e414e43455f4e4f545f434f4e5452414354", - "id": 14089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3059:30:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d92c79f660c45904491a2e152d329cf0af88eb1d4cc25a3d6e9eb1a904d6c845", - "typeString": "literal_string \"PAYROLL_FINANCE_NOT_CONTRACT\"" - }, - "value": "PAYROLL_FINANCE_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14093, - "name": "ERROR_TOKEN_ALREADY_SET", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3095:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14091, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3095:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f544f4b454e5f414c52454144595f534554", - "id": 14092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3145:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e7c4931d53d3a41fb1f6d61fa04c207cf3489ec4abea554460f89237b69ac42", - "typeString": "literal_string \"PAYROLL_TOKEN_ALREADY_SET\"" - }, - "value": "PAYROLL_TOKEN_ALREADY_SET" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14096, - "name": "ERROR_MAX_ALLOWED_TOKENS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3178:79:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14094, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3178:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4d41585f414c4c4f5745445f544f4b454e53", - "id": 14095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:28:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6248890f2c0e5a94b2f632d1ea130498e2cd1d7fe8f78f6fd33e1602a4e882c7", - "typeString": "literal_string \"PAYROLL_MAX_ALLOWED_TOKENS\"" - }, - "value": "PAYROLL_MAX_ALLOWED_TOKENS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14099, - "name": "ERROR_MIN_RATES_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3263:79:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14097, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3263:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4d494e5f52415445535f4d49534d41544348", - "id": 14098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3314:28:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_59371e66108cb1395269c6c526f0d6be400c1fc6656273dc7e3b4b831daa386c", - "typeString": "literal_string \"PAYROLL_MIN_RATES_MISMATCH\"" - }, - "value": "PAYROLL_MIN_RATES_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14102, - "name": "ERROR_TOKEN_ALLOCATION_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3348:93:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14100, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3348:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f544f4b454e5f414c4c4f434154494f4e5f4d49534d41544348", - "id": 14101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3406:35:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_038fbdf003f0f02882a927a19a4a83f61295ba2b16b03154c04f677baaec410c", - "typeString": "literal_string \"PAYROLL_TOKEN_ALLOCATION_MISMATCH\"" - }, - "value": "PAYROLL_TOKEN_ALLOCATION_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14105, - "name": "ERROR_NOT_ALLOWED_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3447:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14103, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3447:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f545f414c4c4f5745445f544f4b454e", - "id": 14104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3497:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8fcfddcb695540943ae2ed4e50145415d7c0b93c25369bc835f6df2d9b3dd7d", - "typeString": "literal_string \"PAYROLL_NOT_ALLOWED_TOKEN\"" - }, - "value": "PAYROLL_NOT_ALLOWED_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14108, - "name": "ERROR_DISTRIBUTION_NOT_FULL", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3530:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14106, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3530:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f444953545249425554494f4e5f4e4f545f46554c4c", - "id": 14107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3584:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9bfe203c9c2dccdf906a33d300236c6472ef4e55c862f4f7d82a05d474145ee6", - "typeString": "literal_string \"PAYROLL_DISTRIBUTION_NOT_FULL\"" - }, - "value": "PAYROLL_DISTRIBUTION_NOT_FULL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14111, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3621:83:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14109, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3621:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f494e56414c49445f5041594d454e545f54595045", - "id": 14110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3674:30:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fbeb10f9b50b0fb2daf96e799b8fb1a904855b117f7cd54b79ea18fb7f811e60", - "typeString": "literal_string \"PAYROLL_INVALID_PAYMENT_TYPE\"" - }, - "value": "PAYROLL_INVALID_PAYMENT_TYPE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14114, - "name": "ERROR_NOTHING_PAID", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3710:67:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14112, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3710:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4e4f5448494e475f50414944", - "id": 14113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3755:22:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_464ab43351bb39adf29249dc95c2c8d013eb81eba7ad49e0c243b46e98877fad", - "typeString": "literal_string \"PAYROLL_NOTHING_PAID\"" - }, - "value": "PAYROLL_NOTHING_PAID" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14117, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3783:73:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14115, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3783:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f43414e5f4e4f545f464f5257415244", - "id": 14116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3831:25:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af8e5d8414fe16fa841e3381a7b160e73f4bf11f9e7297d242f6bd149109a9a8", - "typeString": "literal_string \"PAYROLL_CAN_NOT_FORWARD\"" - }, - "value": "PAYROLL_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14120, - "name": "ERROR_EMPLOYEE_NULL_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3862:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14118, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3862:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f4e554c4c5f41444452455353", - "id": 14119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3916:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7cfac5b02ff2c79859c54a3fce4f9af5759533401210b72d16082aae2bfe2ee", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_NULL_ADDRESS\"" - }, - "value": "PAYROLL_EMPLOYEE_NULL_ADDRESS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14123, - "name": "ERROR_EMPLOYEE_ALREADY_EXIST", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "3953:87:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3953:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f454d504c4f5945455f414c52454144595f4558495354", - "id": 14122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4008:32:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a98a26435327a3c46844ea4f9836be81c5293fc8a885b94b45f249465ed93698", - "typeString": "literal_string \"PAYROLL_EMPLOYEE_ALREADY_EXIST\"" - }, - "value": "PAYROLL_EMPLOYEE_ALREADY_EXIST" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14126, - "name": "ERROR_FEED_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4046:77:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14124, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4046:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f464545445f4e4f545f434f4e5452414354", - "id": 14125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4096:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2229bd8fbc473114577fbfae659ff9b1622a8653983fbae3408e8827cdabab1", - "typeString": "literal_string \"PAYROLL_FEED_NOT_CONTRACT\"" - }, - "value": "PAYROLL_FEED_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14129, - "name": "ERROR_EXPIRY_TIME_TOO_SHORT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4129:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14127, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4129:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4558504952595f54494d455f544f4f5f53484f5254", - "id": 14128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_086e83ae4281322c96b09123c7687db7954640ecec690b5d0edb6dbfc17b5ec7", - "typeString": "literal_string \"PAYROLL_EXPIRY_TIME_TOO_SHORT\"" - }, - "value": "PAYROLL_EXPIRY_TIME_TOO_SHORT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14132, - "name": "ERROR_PAST_TERMINATION_DATE", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4220:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14130, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4220:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f504153545f5445524d494e4154494f4e5f44415445", - "id": 14131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4274:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f89359950816e67b7f2b736b5cf048d89ad0e907dad0a20830ca273ef80123c3", - "typeString": "literal_string \"PAYROLL_PAST_TERMINATION_DATE\"" - }, - "value": "PAYROLL_PAST_TERMINATION_DATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14135, - "name": "ERROR_EXCHANGE_RATE_TOO_LOW", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4311:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14133, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4311:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f45584348414e47455f524154455f544f4f5f4c4f57", - "id": 14134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4365:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_eb441e990ecc79e1ceb2fbfc7c3c1b397bafc4965502d3fc610dffa691801763", - "typeString": "literal_string \"PAYROLL_EXCHANGE_RATE_TOO_LOW\"" - }, - "value": "PAYROLL_EXCHANGE_RATE_TOO_LOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14138, - "name": "ERROR_LAST_PAYROLL_DATE_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4402:85:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14136, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4402:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f4c4153545f444154455f544f4f5f424947", - "id": 14137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4460:27:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d7e3eb66175393d9f4258ad8eed97a7c810366d3f61f9ce25a8f6f1cc275ec95", - "typeString": "literal_string \"PAYROLL_LAST_DATE_TOO_BIG\"" - }, - "value": "PAYROLL_LAST_DATE_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 14141, - "name": "ERROR_INVALID_REQUESTED_AMOUNT", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "4493:88:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 14139, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4493:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "504159524f4c4c5f494e56414c49445f5245515545535445445f414d54", - "id": 14140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4550:31:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bf445dfdf1e5b661f5955441508282db24b09bddac520fbaae8ce53716cb894e", - "typeString": "literal_string \"PAYROLL_INVALID_REQUESTED_AMT\"" - }, - "value": "PAYROLL_INVALID_REQUESTED_AMT" - }, - "visibility": "private" - }, - { - "canonicalName": "Payroll.PaymentType", - "id": 14145, - "members": [ - { - "id": 14142, - "name": "Payroll", - "nodeType": "EnumValue", - "src": "4607:7:18" - }, - { - "id": 14143, - "name": "Reimbursement", - "nodeType": "EnumValue", - "src": "4616:13:18" - }, - { - "id": 14144, - "name": "Bonus", - "nodeType": "EnumValue", - "src": "4631:5:18" - } - ], - "name": "PaymentType", - "nodeType": "EnumDefinition", - "src": "4588:50:18" - }, - { - "canonicalName": "Payroll.Employee", - "id": 14167, - "members": [ - { - "constant": false, - "id": 14147, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4670:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4670:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14149, - "name": "denominationTokenSalary", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4742:31:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4742:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14151, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4826:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14153, - "name": "bonus", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4925:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14155, - "name": "reimbursements", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4948:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4948:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14157, - "name": "lastPayroll", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "4980:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14156, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4980:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14159, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5008:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14158, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5008:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14162, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5032:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14161, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5032:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14166, - "name": "allocationTokens", - "nodeType": "VariableDeclaration", - "scope": 14167, - "src": "5076:44:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 14165, - "keyType": { - "id": 14163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5084:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5076:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 14164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5095:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Employee", - "nodeType": "StructDefinition", - "scope": 15995, - "src": "4644:483:18", - "visibility": "public" - }, - { - "constant": false, - "id": 14169, - "name": "finance", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5133:22:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 14168, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "5133:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14171, - "name": "denominationToken", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5161:32:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5161:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14173, - "name": "feed", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5199:17:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14172, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "5199:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14175, - "name": "rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5222:28:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14174, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5222:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14177, - "name": "nextEmployee", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5360:27:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 14181, - "name": "employees", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5393:47:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee)" - }, - "typeName": { - "id": 14180, - "keyType": { - "id": 14178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5401:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "5393:28:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee)" - }, - "valueType": { - "contractScope": null, - "id": 14179, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "5412:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14185, - "name": "employeeIds", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5477:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 14184, - "keyType": { - "id": 14182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5485:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5477:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 14183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5496:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14189, - "name": "allowedTokens", - "nodeType": "VariableDeclaration", - "scope": 15995, - "src": "5570:47:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 14188, - "keyType": { - "id": 14186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5578:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5570:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 14187, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5589:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 14201, - "name": "AddEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14191, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5651:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5651:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14193, - "indexed": true, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5687:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5687:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14195, - "indexed": false, - "name": "initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5727:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5727:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14197, - "indexed": false, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5770:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14196, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5770:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14199, - "indexed": false, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 14201, - "src": "5796:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5796:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5641:172:18" - }, - "src": "5624:190:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14207, - "name": "TerminateEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14203, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14207, - "src": "5843:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5843:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14205, - "indexed": false, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 14207, - "src": "5871:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14204, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5871:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5842:44:18" - }, - "src": "5819:68:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14213, - "name": "SetEmployeeSalary", - "nodeType": "EventDefinition", - "parameters": { - "id": 14212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14209, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14213, - "src": "5916:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5916:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14211, - "indexed": false, - "name": "denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14213, - "src": "5944:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5944:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5915:56:18" - }, - "src": "5892:80:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14219, - "name": "AddEmployeeAccruedSalary", - "nodeType": "EventDefinition", - "parameters": { - "id": 14218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14215, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14219, - "src": "6008:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6008:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14217, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14219, - "src": "6036:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6036:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6007:44:18" - }, - "src": "5977:75:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14225, - "name": "AddEmployeeBonus", - "nodeType": "EventDefinition", - "parameters": { - "id": 14224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14221, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14225, - "src": "6080:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6080:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14223, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14225, - "src": "6108:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6108:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6079:44:18" - }, - "src": "6057:67:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14231, - "name": "AddEmployeeReimbursement", - "nodeType": "EventDefinition", - "parameters": { - "id": 14230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14227, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14231, - "src": "6160:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6160:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14229, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14231, - "src": "6188:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6188:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6159:44:18" - }, - "src": "6129:75:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14239, - "name": "ChangeAddressByEmployee", - "nodeType": "EventDefinition", - "parameters": { - "id": 14238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14233, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6239:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6239:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14235, - "indexed": true, - "name": "newAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6267:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14237, - "indexed": true, - "name": "oldAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14239, - "src": "6302:33:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6302:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6238:98:18" - }, - "src": "6209:128:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14243, - "name": "DetermineAllocation", - "nodeType": "EventDefinition", - "parameters": { - "id": 14242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14241, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14243, - "src": "6368:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6368:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6367:28:18" - }, - "src": "6342:54:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14257, - "name": "SendPayment", - "nodeType": "EventDefinition", - "parameters": { - "id": 14256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14245, - "indexed": true, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6428:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6428:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14247, - "indexed": true, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6464:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6464:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14249, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6504:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6504:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14251, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6535:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6535:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14253, - "indexed": false, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6559:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6559:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14255, - "indexed": false, - "name": "paymentReference", - "nodeType": "VariableDeclaration", - "scope": 14257, - "src": "6589:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6589:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6418:200:18" - }, - "src": "6401:218:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14263, - "name": "SetAllowedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 14262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14259, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 14263, - "src": "6646:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14258, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6646:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14261, - "indexed": false, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 14263, - "src": "6669:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6669:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6645:37:18" - }, - "src": "6624:59:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14267, - "name": "SetPriceFeed", - "nodeType": "EventDefinition", - "parameters": { - "id": 14266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14265, - "indexed": true, - "name": "feed", - "nodeType": "VariableDeclaration", - "scope": 14267, - "src": "6707:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6707:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6706:22:18" - }, - "src": "6688:41:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 14271, - "name": "SetRateExpiryTime", - "nodeType": "EventDefinition", - "parameters": { - "id": 14270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14269, - "indexed": false, - "name": "time", - "nodeType": "VariableDeclaration", - "scope": 14271, - "src": "6758:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14268, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6758:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6757:13:18" - }, - "src": "6734:37:18" - }, - { - "body": { - "id": 14283, - "nodeType": "Block", - "src": "6859:94:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14277, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14273, - "src": "6893:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14276, - "name": "_employeeExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15686, - "src": "6877:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6877:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14279, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14081, - "src": "6907:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14275, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6869:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6869:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14281, - "nodeType": "ExpressionStatement", - "src": "6869:66:18" - }, - { - "id": 14282, - "nodeType": "PlaceholderStatement", - "src": "6945:1:18" - } - ] - }, - "documentation": null, - "id": 14284, - "name": "employeeIdExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14273, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14284, - "src": "6838:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6838:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6837:21:18" - }, - "src": "6812:141:18", - "visibility": "internal" - }, - { - "body": { - "id": 14296, - "nodeType": "Block", - "src": "7053:199:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14290, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14286, - "src": "7194:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14289, - "name": "_isEmployeeIdActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15774, - "src": "7174:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7174:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14292, - "name": "ERROR_NON_ACTIVE_EMPLOYEE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14084, - "src": "7208:25:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7166:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7166:68:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14294, - "nodeType": "ExpressionStatement", - "src": "7166:68:18" - }, - { - "id": 14295, - "nodeType": "PlaceholderStatement", - "src": "7244:1:18" - } - ] - }, - "documentation": null, - "id": 14297, - "name": "employeeActive", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14286, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14297, - "src": "7032:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7032:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7031:21:18" - }, - "src": "7008:244:18", - "visibility": "internal" - }, - { - "body": { - "id": 14314, - "nodeType": "Block", - "src": "7332:129:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 14309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14300, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "7350:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14305, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14301, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "7360:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14304, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7372:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7372:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7360:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7350:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14306, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "7350:49:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7403:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7403:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7350:63:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14310, - "name": "ERROR_SENDER_DOES_NOT_MATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14087, - "src": "7415:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14299, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7342:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7342:101:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14312, - "nodeType": "ExpressionStatement", - "src": "7342:101:18" - }, - { - "id": 14313, - "nodeType": "PlaceholderStatement", - "src": "7453:1:18" - } - ] - }, - "documentation": null, - "id": 14315, - "name": "employeeMatches", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 14298, - "nodeType": "ParameterList", - "parameters": [], - "src": "7332:0:18" - }, - "src": "7307:154:18", - "visibility": "internal" - }, - { - "body": { - "id": 14358, - "nodeType": "Block", - "src": "8338:389:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 14328, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "8348:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 14329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8348:13:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14330, - "nodeType": "ExpressionStatement", - "src": "8348:13:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14333, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14317, - "src": "8391:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 14332, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "8380:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 14334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8380:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14335, - "name": "ERROR_FINANCE_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14090, - "src": "8402:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14331, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8372:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:57:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14337, - "nodeType": "ExpressionStatement", - "src": "8372:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14338, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "8439:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14339, - "name": "_finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14317, - "src": "8449:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "src": "8439:18:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 14341, - "nodeType": "ExpressionStatement", - "src": "8439:18:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14342, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14171, - "src": "8468:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14343, - "name": "_denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14319, - "src": "8488:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8468:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14345, - "nodeType": "ExpressionStatement", - "src": "8468:38:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14347, - "name": "_priceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14321, - "src": "8530:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14346, - "name": "_setPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15132, - "src": "8516:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IFeed_$28118_$returns$__$", - "typeString": "function (contract IFeed)" - } - }, - "id": 14348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8516:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14349, - "nodeType": "ExpressionStatement", - "src": "8516:25:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14351, - "name": "_rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14323, - "src": "8570:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14350, - "name": "_setRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15153, - "src": "8551:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 14352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8551:35:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14353, - "nodeType": "ExpressionStatement", - "src": "8551:35:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14354, - "name": "nextEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14177, - "src": "8704:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 14355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8719:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8704:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14357, - "nodeType": "ExpressionStatement", - "src": "8704:16:18" - } - ] - }, - "documentation": "@notice Initialize Payroll app for Finance at `_finance` and price feed at `_priceFeed`, setting denomination token to `_token` and exchange rate expiry time to `@transformTime(_rateExpiryTime)`\n@dev Note that we do not require _denominationToken to be a contract, as it may be a \"fake\"\n address used by the price feed to denominate fiat currencies\n@param _finance Address of the Finance app this Payroll app will rely on for payments (non-changeable)\n@param _denominationToken Address of the denomination token used for salary accounting\n@param _priceFeed Address of the price feed\n@param _rateExpiryTime Acceptable expiry time in seconds for the price feed's exchange rates", - "id": 14359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14326, - "modifierName": { - "argumentTypes": null, - "id": 14325, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "8329:8:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8329:8:18" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14317, - "name": "_finance", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8232:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - }, - "typeName": { - "contractScope": null, - "id": 14316, - "name": "Finance", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14010, - "src": "8232:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14319, - "name": "_denominationToken", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8250:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8250:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14321, - "name": "_priceFeed", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8278:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14320, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "8278:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14323, - "name": "_rateExpiryTime", - "nodeType": "VariableDeclaration", - "scope": 14359, - "src": "8296:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14322, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8296:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8231:88:18" - }, - "payable": false, - "returnParameters": { - "id": 14327, - "nodeType": "ParameterList", - "parameters": [], - "src": "8338:0:18" - }, - "scope": 15995, - "src": "8212:515:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14392, - "nodeType": "Block", - "src": "9199:174:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 14377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14373, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "9217:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 14375, - "indexExpression": { - "argumentTypes": null, - "id": 14374, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9231:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9217:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 14376, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9242:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9217:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14378, - "name": "ERROR_TOKEN_ALREADY_SET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14093, - "src": "9252:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14372, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9209:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9209:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14380, - "nodeType": "ExpressionStatement", - "src": "9209:67:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14381, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "9286:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 14383, - "indexExpression": { - "argumentTypes": null, - "id": 14382, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9300:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9286:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14384, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9310:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9286:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14386, - "nodeType": "ExpressionStatement", - "src": "9286:32:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14388, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9349:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14389, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14363, - "src": "9357:8:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 14387, - "name": "SetAllowedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14263, - "src": "9333:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool)" - } - }, - "id": 14390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9333:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14391, - "nodeType": "EmitStatement", - "src": "9328:38:18" - } - ] - }, - "documentation": "@notice `_allowed ? 'Add' : 'Remove'` `_token.symbol(): string` `_allowed ? 'to' : 'from'` the set of allowed tokens\n@param _token Address of the token to be added or removed from the list of allowed tokens for payments\n@param _allowed Boolean to tell whether the given token should be added or removed from the list", - "id": 14393, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14366, - "name": "MANAGE_ALLOWED_TOKENS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14052, - "src": "9158:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14368, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14361, - "src": "9190:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14367, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "9186:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 14369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:11:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14370, - "modifierName": { - "argumentTypes": null, - "id": 14365, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9152:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9152:46:18" - } - ], - "name": "setAllowedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14361, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 14393, - "src": "9112:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9112:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14363, - "name": "_allowed", - "nodeType": "VariableDeclaration", - "scope": 14393, - "src": "9128:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14362, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9128:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9111:31:18" - }, - "payable": false, - "returnParameters": { - "id": 14371, - "nodeType": "ParameterList", - "parameters": [], - "src": "9199:0:18" - }, - "scope": 15995, - "src": "9087:286:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14409, - "nodeType": "Block", - "src": "9610:37:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14406, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14395, - "src": "9634:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14405, - "name": "_setPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15132, - "src": "9620:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IFeed_$28118_$returns$__$", - "typeString": "function (contract IFeed)" - } - }, - "id": 14407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9620:20:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14408, - "nodeType": "ExpressionStatement", - "src": "9620:20:18" - } - ] - }, - "documentation": "@notice Set the price feed for exchange rates to `_feed`\n@param _feed Address of the new price feed instance", - "id": 14410, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14398, - "name": "MODIFY_PRICE_FEED_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14055, - "src": "9568:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14400, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14395, - "src": "9596:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - { - "argumentTypes": null, - "id": 14401, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "9603:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 14399, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21896, - "src": "9592:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address) pure returns (uint256[] memory)" - } - }, - "id": 14402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9592:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14403, - "modifierName": { - "argumentTypes": null, - "id": 14397, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "9562:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9562:47:18" - } - ], - "name": "setPriceFeed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14395, - "name": "_feed", - "nodeType": "VariableDeclaration", - "scope": 14410, - "src": "9540:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 14394, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "9540:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9539:13:18" - }, - "payable": false, - "returnParameters": { - "id": 14404, - "nodeType": "ParameterList", - "parameters": [], - "src": "9610:0:18" - }, - "scope": 15995, - "src": "9518:129:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14430, - "nodeType": "Block", - "src": "10093:42:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14427, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14412, - "src": "10122:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14426, - "name": "_setRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15153, - "src": "10103:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 14428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10103:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14429, - "nodeType": "ExpressionStatement", - "src": "10103:25:18" - } - ] - }, - "documentation": "@notice Set the acceptable expiry time for the price feed's exchange rates to `@transformTime(_time)`\n@dev Exchange rates older than the given value won't be accepted for payments and will cause payouts to revert\n@param _time The expiration time in seconds for exchange rates", - "id": 14431, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14415, - "name": "MODIFY_RATE_EXPIRY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14058, - "src": "10022:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14418, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14412, - "src": "10059:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10051:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10051:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14421, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "10075:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10067:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10067:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14416, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "10047:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10047:44:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14424, - "modifierName": { - "argumentTypes": null, - "id": 14414, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "10016:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10016:76:18" - } - ], - "name": "setRateExpiryTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14412, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 14431, - "src": "9993:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14411, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9993:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9992:14:18" - }, - "payable": false, - "returnParameters": { - "id": 14425, - "nodeType": "ParameterList", - "parameters": [], - "src": "10093:0:18" - }, - "scope": 15995, - "src": "9966:169:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14459, - "nodeType": "Block", - "src": "10878:93:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14453, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14433, - "src": "10901:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14454, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14435, - "src": "10918:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14455, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14437, - "src": "10946:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 14456, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14439, - "src": "10958:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 14452, - "name": "_addEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15207, - "src": "10888:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint64,string memory)" - } - }, - "id": 14457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10888:76:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14458, - "nodeType": "ExpressionStatement", - "src": "10888:76:18" - } - ] - }, - "documentation": "@notice Add employee with address `_accountAddress` to payroll with an salary of `_initialDenominationSalary` per second, starting on `@formatDate(_startDate)`\n@param _accountAddress Employee's address to receive payroll\n@param _initialDenominationSalary Employee's salary, per second in denomination token\n@param _startDate Employee's starting timestamp in seconds (it actually sets their initial lastPayroll value)\n@param _role Employee's role", - "id": 14460, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14442, - "name": "ADD_EMPLOYEE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14037, - "src": "10784:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14444, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14433, - "src": "10807:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14445, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14435, - "src": "10824:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14447, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14437, - "src": "10860:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10852:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10852:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14443, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21917, - "src": "10803:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10803:69:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14450, - "modifierName": { - "argumentTypes": null, - "id": 14441, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "10778:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10778:95:18" - } - ], - "name": "addEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14433, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10659:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14432, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10659:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14435, - "name": "_initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10684:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10684:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14437, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10720:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14436, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14439, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 14460, - "src": "10739:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 14438, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10739:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10658:94:18" - }, - "payable": false, - "returnParameters": { - "id": 14451, - "nodeType": "ParameterList", - "parameters": [], - "src": "10878:0:18" - }, - "scope": 15995, - "src": "10638:333:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14482, - "nodeType": "Block", - "src": "11366:48:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14478, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11386:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14479, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14464, - "src": "11399:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14477, - "name": "_addBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15236, - "src": "11376:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11376:31:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14481, - "nodeType": "ExpressionStatement", - "src": "11376:31:18" - } - ] - }, - "documentation": "@notice Add `_amount` to bonus for employee #`_employeeId`\n@param _employeeId Employee's identifier\n@param _amount Amount to be added to the employee's bonuses in denomination token", - "id": 14483, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14467, - "name": "ADD_BONUS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14046, - "src": "11283:14:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14469, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11303:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14470, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14464, - "src": "11316:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14468, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "11299:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11299:25:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14472, - "modifierName": { - "argumentTypes": null, - "id": 14466, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11277:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11277:48:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14474, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14462, - "src": "11349:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14475, - "modifierName": { - "argumentTypes": null, - "id": 14473, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "11334:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11334:27:18" - } - ], - "name": "addBonus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14462, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14483, - "src": "11214:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11214:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14464, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 14483, - "src": "11235:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11235:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11213:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14476, - "nodeType": "ParameterList", - "parameters": [], - "src": "11366:0:18" - }, - "scope": 15995, - "src": "11196:218:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14505, - "nodeType": "Block", - "src": "11841:56:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14501, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11869:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14502, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14487, - "src": "11882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14500, - "name": "_addReimbursement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15265, - "src": "11851:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11851:39:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14504, - "nodeType": "ExpressionStatement", - "src": "11851:39:18" - } - ] - }, - "documentation": "@notice Add `_amount` to reimbursements for employee #`_employeeId`\n@param _employeeId Employee's identifier\n@param _amount Amount to be added to the employee's reimbursements in denomination token", - "id": 14506, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14490, - "name": "ADD_REIMBURSEMENT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14049, - "src": "11750:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14492, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11778:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14493, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14487, - "src": "11791:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14491, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "11774:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11774:25:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14495, - "modifierName": { - "argumentTypes": null, - "id": 14489, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "11744:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11744:56:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14497, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14485, - "src": "11824:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14498, - "modifierName": { - "argumentTypes": null, - "id": 14496, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "11809:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11809:27:18" - } - ], - "name": "addReimbursement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14485, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14506, - "src": "11681:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11681:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14487, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 14506, - "src": "11702:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11702:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11680:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14499, - "nodeType": "ParameterList", - "parameters": [], - "src": "11841:0:18" - }, - "scope": 15995, - "src": "11655:242:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14563, - "nodeType": "Block", - "src": "12603:509:18", - "statements": [ - { - "assignments": [ - 14528 - ], - "declarations": [ - { - "constant": false, - "id": 14528, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12613:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14527, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "12613:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14532, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14529, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "12641:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14531, - "indexExpression": { - "argumentTypes": null, - "id": 14530, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12651:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12641:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12613:50:18" - }, - { - "assignments": [ - 14534 - ], - "declarations": [ - { - "constant": false, - "id": 14534, - "name": "owed", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12748:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14539, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14536, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12794:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 14537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12804:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 14535, - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15860, - "src": "12763:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer,bool) view returns (uint256)" - } - }, - "id": 14538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12763:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12748:62:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14541, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12838:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14542, - "name": "owed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14534, - "src": "12851:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14540, - "name": "_addAccruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15294, - "src": "12820:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12820:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14544, - "nodeType": "ExpressionStatement", - "src": "12820:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14545, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12935:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "12935:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 14548, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12958:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 14549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12958:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12935:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 14551, - "nodeType": "ExpressionStatement", - "src": "12935:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14552, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14528, - "src": "12984:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "12984:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 14555, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "13019:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12984:54:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14557, - "nodeType": "ExpressionStatement", - "src": "12984:54:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14559, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "13072:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14560, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "13085:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14558, - "name": "SetEmployeeSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14213, - "src": "13054:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 14561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14562, - "nodeType": "EmitStatement", - "src": "13049:56:18" - } - ] - }, - "documentation": "@notice Set employee #`_employeeId`'s salary to `_denominationSalary` per second\n@dev This reverts if either the employee's owed salary or accrued salary overflows, to avoid\n losing any accrued salary for an employee due to the employer changing their salary.\n@param _employeeId Employee's identifier\n@param _denominationSalary Employee's new salary, per second in denomination token", - "id": 14564, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14513, - "name": "SET_EMPLOYEE_SALARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14043, - "src": "12450:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14515, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12480:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14516, - "name": "_denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14510, - "src": "12493:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14517, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "12514:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14519, - "indexExpression": { - "argumentTypes": null, - "id": 14518, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12524:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12514:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "12514:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14514, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22133, - "src": "12476:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12476:85:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14522, - "modifierName": { - "argumentTypes": null, - "id": 14512, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "12444:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12444:118:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14524, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14508, - "src": "12586:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14525, - "modifierName": { - "argumentTypes": null, - "id": 14523, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "12571:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12571:27:18" - } - ], - "name": "setEmployeeSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14508, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12369:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12369:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14510, - "name": "_denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 14564, - "src": "12390:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12390:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12368:50:18" - }, - "payable": false, - "returnParameters": { - "id": 14526, - "nodeType": "ParameterList", - "parameters": [], - "src": "12603:0:18" - }, - "scope": 15995, - "src": "12342:770:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14588, - "nodeType": "Block", - "src": "13512:58:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14584, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13541:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14585, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14568, - "src": "13554:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14583, - "name": "_terminateEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15363, - "src": "13522:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64)" - } - }, - "id": 14586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13522:41:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14587, - "nodeType": "ExpressionStatement", - "src": "13522:41:18" - } - ] - }, - "documentation": "@notice Terminate employee #`_employeeId` on `@formatDate(_endDate)`\n@param _employeeId Employee's identifier\n@param _endDate Termination timestamp in seconds", - "id": 14589, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14571, - "name": "TERMINATE_EMPLOYEE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14040, - "src": "13410:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14573, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13439:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14575, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14568, - "src": "13460:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 14574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13452:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13452:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14572, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "13435:3:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 14577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13435:35:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 14578, - "modifierName": { - "argumentTypes": null, - "id": 14570, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "13404:5:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13404:67:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 14580, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14566, - "src": "13495:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14581, - "modifierName": { - "argumentTypes": null, - "id": 14579, - "name": "employeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14297, - "src": "13480:14:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "13480:27:18" - } - ], - "name": "terminateEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14566, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 14589, - "src": "13341:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13341:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14568, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "scope": 14589, - "src": "13362:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 14567, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13362:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13340:38:18" - }, - "payable": false, - "returnParameters": { - "id": 14582, - "nodeType": "ParameterList", - "parameters": [], - "src": "13512:0:18" - }, - "scope": 15995, - "src": "13314:256:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14628, - "nodeType": "Block", - "src": "14116:451:18", - "statements": [ - { - "assignments": [ - 14599 - ], - "declarations": [ - { - "constant": false, - "id": 14599, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14126:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14126:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14604, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14600, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "14147:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14603, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14159:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14159:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14147:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14126:44:18" - }, - { - "assignments": [ - 14606 - ], - "declarations": [ - { - "constant": false, - "id": 14606, - "name": "oldAddress", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14180:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14180:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14611, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14607, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "14201:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14609, - "indexExpression": { - "argumentTypes": null, - "id": 14608, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14211:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14201:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 14610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "14201:36:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14180:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14613, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14614, - "name": "_newAccountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14591, - "src": "14280:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14612, - "name": "_setEmployeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15335, - "src": "14248:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 14615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14248:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14616, - "nodeType": "ExpressionStatement", - "src": "14248:51:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "14447:30:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14617, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "14454:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14619, - "indexExpression": { - "argumentTypes": null, - "id": 14618, - "name": "oldAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14606, - "src": "14466:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14454:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14621, - "nodeType": "ExpressionStatement", - "src": "14447:30:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14623, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14599, - "src": "14517:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14624, - "name": "_newAccountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14591, - "src": "14529:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14625, - "name": "oldAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14606, - "src": "14549:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 14622, - "name": "ChangeAddressByEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14239, - "src": "14493:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", - "typeString": "function (uint256,address,address)" - } - }, - "id": 14626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14493:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14627, - "nodeType": "EmitStatement", - "src": "14488:72:18" - } - ] - }, - "documentation": "@notice Change your employee account address to `_newAccountAddress`\n@dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _newAccountAddress New address to receive payments for the requesting employee", - "id": 14629, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14594, - "modifierName": { - "argumentTypes": null, - "id": 14593, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "14087:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14087:15:18" - }, - { - "arguments": null, - "id": 14596, - "modifierName": { - "argumentTypes": null, - "id": 14595, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "14103:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14103:12:18" - } - ], - "name": "changeAddressByEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14591, - "name": "_newAccountAddress", - "nodeType": "VariableDeclaration", - "scope": 14629, - "src": "14050:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14050:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14049:28:18" - }, - "payable": false, - "returnParameters": { - "id": 14597, - "nodeType": "ParameterList", - "parameters": [], - "src": "14116:0:18" - }, - "scope": 15995, - "src": "14017:550:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14747, - "nodeType": "Block", - "src": "15223:1052:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14643, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15279:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15279:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 14645, - "name": "MAX_ALLOWED_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14061, - "src": "15297:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15279:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14647, - "name": "ERROR_MAX_ALLOWED_TOKENS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14096, - "src": "15317:24:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14642, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15271:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15271:71:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14649, - "nodeType": "ExpressionStatement", - "src": "15271:71:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14651, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15360:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14653, - "name": "_distribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14635, - "src": "15378:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15378:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15360:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14656, - "name": "ERROR_TOKEN_ALLOCATION_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14102, - "src": "15400:31:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14650, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "15352:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15352:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14658, - "nodeType": "ExpressionStatement", - "src": "15352:80:18" - }, - { - "assignments": [ - 14660 - ], - "declarations": [ - { - "constant": false, - "id": 14660, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15443:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15443:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14665, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14661, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "15464:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14664, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14662, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "15476:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15476:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15464:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15443:44:18" - }, - { - "assignments": [ - 14667 - ], - "declarations": [ - { - "constant": false, - "id": 14667, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15497:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14666, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "15497:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14671, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14668, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "15525:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14670, - "indexExpression": { - "argumentTypes": null, - "id": 14669, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14660, - "src": "15535:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15525:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15497:49:18" - }, - { - "assignments": [ - 14675 - ], - "declarations": [ - { - "constant": false, - "id": 14675, - "name": "previousAllowedTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15602:46:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14674, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15602:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14678, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14676, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15651:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "15651:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15602:82:18" - }, - { - "body": { - "id": 14698, - "nodeType": "Block", - "src": "15761:91:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "15775:66:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14690, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15782:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "15782:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14695, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14692, - "name": "previousAllowedTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14675, - "src": "15808:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14694, - "indexExpression": { - "argumentTypes": null, - "id": 14693, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15808:32:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15782:59:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14697, - "nodeType": "ExpressionStatement", - "src": "15775:66:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14683, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15714:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14684, - "name": "previousAllowedTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14675, - "src": "15718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15718:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15714:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14699, - "initializationExpression": { - "assignments": [ - 14680 - ], - "declarations": [ - { - "constant": false, - "id": 14680, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15699:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15699:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14682, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 14681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15711:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15699:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 14688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15756:3:18", - "subExpression": { - "argumentTypes": null, - "id": 14687, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14680, - "src": "15756:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14689, - "nodeType": "ExpressionStatement", - "src": "15756:3:18" - }, - "nodeType": "ForStatement", - "src": "15694:158:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "15861:40:18", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14700, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "15868:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "15868:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14703, - "nodeType": "ExpressionStatement", - "src": "15861:40:18" - }, - { - "body": { - "id": 14737, - "nodeType": "Block", - "src": "16019:145:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14720, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "16072:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14722, - "indexExpression": { - "argumentTypes": null, - "id": 14721, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16080:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16072:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14715, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16033:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "16033:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 14719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16033:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 14723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:50:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14724, - "nodeType": "ExpressionStatement", - "src": "16033:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14725, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16097:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "16097:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14731, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14727, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "16123:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14729, - "indexExpression": { - "argumentTypes": null, - "id": 14728, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16131:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16123:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16097:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14732, - "name": "_distribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14635, - "src": "16137:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14734, - "indexExpression": { - "argumentTypes": null, - "id": 14733, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16151:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16137:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16097:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14736, - "nodeType": "ExpressionStatement", - "src": "16097:56:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "15994:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14709, - "name": "_tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14632, - "src": "15998:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 14710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15998:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15994:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 14738, - "initializationExpression": { - "assignments": [ - 14705 - ], - "declarations": [ - { - "constant": false, - "id": 14705, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15979:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15979:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14707, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 14706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15991:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15979:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 14713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16014:3:18", - "subExpression": { - "argumentTypes": null, - "id": 14712, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14705, - "src": "16014:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14714, - "nodeType": "ExpressionStatement", - "src": "16014:3:18" - }, - "nodeType": "ForStatement", - "src": "15974:190:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14740, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14667, - "src": "16213:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14739, - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15746, - "src": "16174:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer) view" - } - }, - "id": 14741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16174:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14742, - "nodeType": "ExpressionStatement", - "src": "16174:48:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14744, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14660, - "src": "16257:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14743, - "name": "DetermineAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14243, - "src": "16237:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 14745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16237:31:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14746, - "nodeType": "EmitStatement", - "src": "16232:36:18" - } - ] - }, - "documentation": "@notice Set the token distribution for your payments\n@dev Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _tokens Array of token addresses; they must belong to the list of allowed tokens\n@param _distribution Array with each token's corresponding proportions (must be integers summing to 100)", - "id": 14748, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14638, - "modifierName": { - "argumentTypes": null, - "id": 14637, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "15194:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15194:15:18" - }, - { - "arguments": null, - "id": 14640, - "modifierName": { - "argumentTypes": null, - "id": 14639, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "15210:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15210:12:18" - } - ], - "name": "determineAllocation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14632, - "name": "_tokens", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15141:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15141:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14631, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15141:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14635, - "name": "_distribution", - "nodeType": "VariableDeclaration", - "scope": 14748, - "src": "15160:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 14633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15160:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14634, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15160:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15140:44:18" - }, - "payable": false, - "returnParameters": { - "id": 14641, - "nodeType": "ParameterList", - "parameters": [], - "src": "15223:0:18" - }, - "scope": 15995, - "src": "15112:1163:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14894, - "nodeType": "Block", - "src": "17169:1766:18", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 14763, - "name": "paymentAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17179:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17179:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14764, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17179:21:18" - }, - { - "assignments": [ - 14766 - ], - "declarations": [ - { - "constant": false, - "id": 14766, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17210:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17210:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14771, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14767, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "17231:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14770, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14768, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "17243:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17243:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17231:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:44:18" - }, - { - "assignments": [ - 14773 - ], - "declarations": [ - { - "constant": false, - "id": 14773, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17264:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 14772, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "17264:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14777, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14774, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "17292:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 14776, - "indexExpression": { - "argumentTypes": null, - "id": 14775, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "17302:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17292:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17264:49:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14779, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17362:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14778, - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15746, - "src": "17323:38:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer) view" - } - }, - "id": 14780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17323:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14781, - "nodeType": "ExpressionStatement", - "src": "17323:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 14793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14783, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "17389:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17389:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 14785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17409:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17389:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14787, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "17414:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 14788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17414:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14789, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17434:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "17434:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 14791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17434:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17414:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17389:85:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14794, - "name": "ERROR_MIN_RATES_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14099, - "src": "17476:24:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14782, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17381:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17381:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14796, - "nodeType": "ExpressionStatement", - "src": "17381:120:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14797, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "17559:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14798, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "17568:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Payroll", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17568:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "17559:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14820, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18124:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14821, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "18133:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Reimbursement", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18133:25:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "18124:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 14849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 14846, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18412:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14847, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "18421:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 14848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18421:17:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "18412:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 14876, - "nodeType": "Block", - "src": "18661:59:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14873, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14111, - "src": "18682:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14872, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "18675:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 14874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18675:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14875, - "nodeType": "ExpressionStatement", - "src": "18675:34:18" - } - ] - }, - "id": 14877, - "nodeType": "IfStatement", - "src": "18408:312:18", - "trueBody": { - "id": 14871, - "nodeType": "Block", - "src": "18440:215:18", - "statements": [ - { - "assignments": [ - 14851 - ], - "declarations": [ - { - "constant": false, - "id": 14851, - "name": "owedBonusAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "18454:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18454:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14854, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14852, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18480:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "18480:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18454:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14855, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18508:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14857, - "name": "owedBonusAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14851, - "src": "18545:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14858, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18562:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14856, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "18524:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18524:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18508:71:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14861, - "nodeType": "ExpressionStatement", - "src": "18508:71:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14862, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18593:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "18593:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14867, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18630:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 14865, - "name": "owedBonusAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14851, - "src": "18610:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18610:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18610:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18593:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14870, - "nodeType": "ExpressionStatement", - "src": "18593:51:18" - } - ] - } - }, - "id": 14878, - "nodeType": "IfStatement", - "src": "18120:600:18", - "trueBody": { - "id": 14845, - "nodeType": "Block", - "src": "18160:242:18", - "statements": [ - { - "assignments": [ - 14825 - ], - "declarations": [ - { - "constant": false, - "id": 14825, - "name": "owedReimbursements", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "18174:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18174:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14828, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14826, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18203:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "18203:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18174:52:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14829, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18240:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14831, - "name": "owedReimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14825, - "src": "18277:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14832, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18297:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14830, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "18256:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18256:58:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18240:74:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14835, - "nodeType": "ExpressionStatement", - "src": "18240:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14836, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 14838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "18328:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14841, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18377:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 14839, - "name": "owedReimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14825, - "src": "18354:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "18354:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18354:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18328:63:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14844, - "nodeType": "ExpressionStatement", - "src": "18328:63:18" - } - ] - } - }, - "id": 14879, - "nodeType": "IfStatement", - "src": "17555:1165:18", - "trueBody": { - "id": 14819, - "nodeType": "Block", - "src": "17589:525:18", - "statements": [ - { - "assignments": [ - 14802 - ], - "declarations": [ - { - "constant": false, - "id": 14802, - "name": "totalOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17876:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17876:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14806, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14804, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "17928:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 14803, - "name": "_getTotalOwedCappedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15927, - "src": "17902:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 14805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17902:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17876:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 14807, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "17951:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14809, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14802, - "src": "17988:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14810, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14752, - "src": "18005:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14808, - "name": "_ensurePaymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15994, - "src": "17967:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 14811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17967:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17951:71:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14813, - "nodeType": "ExpressionStatement", - "src": "17951:71:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14815, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14773, - "src": "18079:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "id": 14816, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18089:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14814, - "name": "_updateEmployeeAccountingBasedOnPaidSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15669, - "src": "18036:42:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Employee_$14167_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct Payroll.Employee storage pointer,uint256)" - } - }, - "id": 14817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18036:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14818, - "nodeType": "ExpressionStatement", - "src": "18036:67:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14882, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "18804:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14883, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14750, - "src": "18816:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - { - "argumentTypes": null, - "id": 14884, - "name": "paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14763, - "src": "18823:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 14885, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14755, - "src": "18838:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "id": 14881, - "name": "_transferTokensAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15509, - "src": "18782:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_PaymentType_$14145_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256,enum Payroll.PaymentType,uint256,uint256[] memory) returns (bool)" - } - }, - "id": 14886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18782:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14887, - "name": "ERROR_NOTHING_PAID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14114, - "src": "18850:18:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14880, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "18774:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18774:95:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14889, - "nodeType": "ExpressionStatement", - "src": "18774:95:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14891, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14766, - "src": "18917:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14890, - "name": "_removeEmployeeIfTerminatedAndPaidOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15555, - "src": "18879:37:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 14892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18879:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14893, - "nodeType": "ExpressionStatement", - "src": "18879:49:18" - } - ] - }, - "documentation": "@notice Request your `_type == 0 ? 'salary' : _type == 1 ? 'reimbursements' : 'bonus'`\n@dev Reverts if no payments were made.\n Initialization check is implicitly provided by `employeeMatches` as new employees can\n only be added via `addEmployee(),` which requires initialization.\n As the employee is allowed to call this, we enforce non-reentrancy.\n@param _type Payment type being requested (Payroll, Reimbursement or Bonus)\n@param _requestedAmount Requested amount to pay for the payment type. Must be less than or equal to total owed amount for the payment type, or zero to request all.\n@param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens", - "id": 14895, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 14758, - "modifierName": { - "argumentTypes": null, - "id": 14757, - "name": "employeeMatches", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14315, - "src": "17140:15:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17140:15:18" - }, - { - "arguments": null, - "id": 14760, - "modifierName": { - "argumentTypes": null, - "id": 14759, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "17156:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17156:12:18" - } - ], - "name": "payday", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14750, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17065:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 14749, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "17065:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14752, - "name": "_requestedAmount", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17084:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17084:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14755, - "name": "_minRates", - "nodeType": "VariableDeclaration", - "scope": 14895, - "src": "17110:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 14753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17110:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 14754, - "length": null, - "nodeType": "ArrayTypeName", - "src": "17110:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17064:66:18" - }, - "payable": false, - "returnParameters": { - "id": 14761, - "nodeType": "ParameterList", - "parameters": [], - "src": "17169:0:18" - }, - "scope": 15995, - "src": "17049:1886:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 14902, - "nodeType": "Block", - "src": "19158:28:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 14900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19175:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 14899, - "id": 14901, - "nodeType": "Return", - "src": "19168:11:18" - } - ] - }, - "documentation": "@dev IForwarder interface conformance. Tells whether the Payroll app is a forwarder or not.\n@return Always true", - "id": 14903, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14896, - "nodeType": "ParameterList", - "parameters": [], - "src": "19126:2:18" - }, - "payable": false, - "returnParameters": { - "id": 14899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14898, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14903, - "src": "19152:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14897, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19152:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19151:6:18" - }, - "scope": 15995, - "src": "19106:80:18", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 14948, - "nodeType": "Block", - "src": "19480:500:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 14910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "19509:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 14911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19509:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 14912, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14905, - "src": "19521:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 14909, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 14965 - ], - "referencedDeclaration": 14965, - "src": "19498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 14913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19498:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14914, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14117, - "src": "19534:21:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "19490:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19490:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14916, - "nodeType": "ExpressionStatement", - "src": "19490:66:18" - }, - { - "assignments": [ - 14918 - ], - "declarations": [ - { - "constant": false, - "id": 14918, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19566:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14917, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19566:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14923, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 14921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19597:1:18", - "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": 14920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "19587:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 14919, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19591:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 14922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19587:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19566:33:18" - }, - { - "assignments": [ - 14927 - ], - "declarations": [ - { - "constant": false, - "id": 14927, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19837:26:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 14925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19837:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14926, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19837:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 14933, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 14931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19880:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 14930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "19866:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 14928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19870:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14929, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19870:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 14932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19866:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19837:45:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 14940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14934, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14927, - "src": "19892:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 14936, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 14935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19902:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19892:12:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14938, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "19915:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - ], - "id": 14937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19907:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 14939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19907:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19892:31:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 14941, - "nodeType": "ExpressionStatement", - "src": "19892:31:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 14943, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14905, - "src": "19944:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 14944, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14918, - "src": "19956:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 14945, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14927, - "src": "19963:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 14942, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "19934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 14946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19934:39:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 14947, - "nodeType": "ExpressionStatement", - "src": "19934:39:18" - } - ] - }, - "documentation": "@notice Execute desired action as an active employee\n@dev IForwarder interface conformance. Allows active employees to run EVMScripts in the context of the Payroll app.\n@param _evmScript Script being executed", - "id": 14949, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14905, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 14949, - "src": "19455:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14904, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19455:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19454:18:18" - }, - "payable": false, - "returnParameters": { - "id": 14907, - "nodeType": "ParameterList", - "parameters": [], - "src": "19480:0:18" - }, - "scope": 15995, - "src": "19438:542:18", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 14964, - "nodeType": "Block", - "src": "20333:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14959, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20370:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14961, - "indexExpression": { - "argumentTypes": null, - "id": 14960, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14951, - "src": "20382:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20370:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 14958, - "name": "_isEmployeeIdActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15774, - "src": "20350:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 14962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20350:41:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 14957, - "id": 14963, - "nodeType": "Return", - "src": "20343:48:18" - } - ] - }, - "documentation": "@dev IForwarder interface conformance. Tells whether a given address can forward actions or not.\n@param _sender Address of the account intending to forward an action\n@return True if the given address is an active employee, false otherwise", - "id": 14965, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14951, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20282:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20282:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14953, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20299:5:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 14952, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "20299:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20281:24:18" - }, - "payable": false, - "returnParameters": { - "id": 14957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14956, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14965, - "src": "20327:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 14955, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20327:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20326:6:18" - }, - "scope": 15995, - "src": "20262:136:18", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 14987, - "nodeType": "Block", - "src": "20698:142:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 14979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14973, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20716:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14975, - "indexExpression": { - "argumentTypes": null, - "id": 14974, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14967, - "src": "20728:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20716:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 14977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20756:1:18", - "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": 14976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 14978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20748:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20716:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 14980, - "name": "ERROR_EMPLOYEE_DOESNT_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14081, - "src": "20760:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 14972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "20708:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 14981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20708:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 14982, - "nodeType": "ExpressionStatement", - "src": "20708:80:18" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 14983, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "20805:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 14985, - "indexExpression": { - "argumentTypes": null, - "id": 14984, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14967, - "src": "20817:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20805:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 14971, - "id": 14986, - "nodeType": "Return", - "src": "20798:35:18" - } - ] - }, - "documentation": "@dev Return employee's identifier by their account address\n@param _accountAddress Employee's address to receive payments\n@return Employee's identifier", - "id": 14988, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEmployeeIdByAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14967, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 14988, - "src": "20643:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14966, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20643:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20642:25:18" - }, - "payable": false, - "returnParameters": { - "id": 14971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 14988, - "src": "20689:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20689:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20688:9:18" - }, - "scope": 15995, - "src": "20611:229:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15059, - "nodeType": "Block", - "src": "21789:453:18", - "statements": [ - { - "assignments": [ - 15014 - ], - "declarations": [ - { - "constant": false, - "id": 15014, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21799:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15013, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "21799:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15018, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15015, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "21827:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15017, - "indexExpression": { - "argumentTypes": null, - "id": 15016, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14990, - "src": "21837:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21827:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21799:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15019, - "name": "accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14996, - "src": "21860:14:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15020, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21877:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "21877:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "21860:40:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15023, - "nodeType": "ExpressionStatement", - "src": "21860:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15024, - "name": "denominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14998, - "src": "21910:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15025, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21931:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "21931:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21910:53:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15028, - "nodeType": "ExpressionStatement", - "src": "21910:53:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15029, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15000, - "src": "21973:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15030, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "21989:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "21989:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21973:38:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15033, - "nodeType": "ExpressionStatement", - "src": "21973:38:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15034, - "name": "bonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15002, - "src": "22021:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15035, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22029:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "22029:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22021:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15038, - "nodeType": "ExpressionStatement", - "src": "22021:22:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15039, - "name": "reimbursements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15004, - "src": "22053:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15040, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22070:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "22070:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22053:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15043, - "nodeType": "ExpressionStatement", - "src": "22053:40:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15044, - "name": "lastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15006, - "src": "22103:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15045, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22117:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "22117:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "22103:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15048, - "nodeType": "ExpressionStatement", - "src": "22103:34:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15049, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15008, - "src": "22147:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15050, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22157:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "22157:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "22147:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15053, - "nodeType": "ExpressionStatement", - "src": "22147:26:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15054, - "name": "allocationTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15011, - "src": "22183:16:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15055, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15014, - "src": "22202:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "22202:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "src": "22183:52:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15058, - "nodeType": "ExpressionStatement", - "src": "22183:52:18" - } - ] - }, - "documentation": "@dev Return all information for employee by their ID\n@param _employeeId Employee's identifier\n@return Employee's address to receive payments\n@return Employee's salary, per second in denomination token\n@return Employee's accrued salary\n@return Employee's bonus amount\n@return Employee's reimbursements amount\n@return Employee's last payment date\n@return Employee's termination date (max uint64 if none)\n@return Employee's allowed payment tokens", - "id": 15060, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 14993, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14990, - "src": "21471:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 14994, - "modifierName": { - "argumentTypes": null, - "id": 14992, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "21454:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "21454:29:18" - } - ], - "name": "getEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 14991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14990, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21397:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21396:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15012, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 14996, - "name": "accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21514:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14995, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21514:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14998, - "name": "denominationSalary", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21550:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14997, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21550:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15000, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21590:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21590:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15002, - "name": "bonus", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21625:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15004, - "name": "reimbursements", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21652:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21652:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15006, - "name": "lastPayroll", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21688:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15005, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21688:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15008, - "name": "endDate", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21720:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15007, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "21720:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15011, - "name": "allocationTokens", - "nodeType": "VariableDeclaration", - "scope": 15060, - "src": "21748:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15009, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15010, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21748:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21500:284:18" - }, - "scope": 15995, - "src": "21376:866:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15076, - "nodeType": "Block", - "src": "22693:73:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15071, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "22736:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15073, - "indexExpression": { - "argumentTypes": null, - "id": 15072, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15062, - "src": "22746:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22736:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - ], - "id": 15070, - "name": "_getTotalOwedCappedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15927, - "src": "22710:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 15074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22710:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15069, - "id": 15075, - "nodeType": "Return", - "src": "22703:56:18" - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n The result will be capped to max uint256 to avoid having an overflow.\n@return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.", - "id": 15077, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 15065, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15062, - "src": "22662:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 15066, - "modifierName": { - "argumentTypes": null, - "id": 15064, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "22645:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "22645:29:18" - } - ], - "name": "getTotalOwedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15062, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15077, - "src": "22612:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22612:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22611:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15068, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15077, - "src": "22684:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22684:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22683:9:18" - }, - "scope": 15995, - "src": "22584:182:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15096, - "nodeType": "Block", - "src": "23153:71:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15089, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "23170:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15091, - "indexExpression": { - "argumentTypes": null, - "id": 15090, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15079, - "src": "23180:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23170:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "23170:39:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15094, - "indexExpression": { - "argumentTypes": null, - "id": 15093, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15081, - "src": "23210:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23170:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15088, - "id": 15095, - "nodeType": "Return", - "src": "23163:54:18" - } - ] - }, - "documentation": "@dev Get an employee's payment allocation for a token\n@param _employeeId Employee's identifier\n@param _token Token to query the payment allocation for\n@return Employee's payment allocation for the token being queried", - "id": 15097, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 15084, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15079, - "src": "23122:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 15085, - "modifierName": { - "argumentTypes": null, - "id": 15083, - "name": "employeeIdExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14284, - "src": "23105:16:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "23105:29:18" - } - ], - "name": "getAllocation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15079, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23056:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23056:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15081, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23077:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15080, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23077:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23055:37:18" - }, - "payable": false, - "returnParameters": { - "id": 15088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15087, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15097, - "src": "23144:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23144:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23143:9:18" - }, - "scope": 15995, - "src": "23033:191:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15110, - "nodeType": "Block", - "src": "23514:45:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15106, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "23531:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 15108, - "indexExpression": { - "argumentTypes": null, - "id": 15107, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15099, - "src": "23545:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23531:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15105, - "id": 15109, - "nodeType": "Return", - "src": "23524:28:18" - } - ] - }, - "documentation": "@dev Check if a token is allowed to be used for payments\n@param _token Address of the token to be checked\n@return True if the given token is allowed, false otherwise", - "id": 15111, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 15102, - "modifierName": { - "argumentTypes": null, - "id": 15101, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "23485:13:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "23485:13:18" - } - ], - "name": "isTokenAllowed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15099, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15111, - "src": "23457:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15098, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23457:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23456:16:18" - }, - "payable": false, - "returnParameters": { - "id": 15105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15104, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15111, - "src": "23508:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15103, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23508:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23507:6:18" - }, - "scope": 15995, - "src": "23433:126:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 15131, - "nodeType": "Block", - "src": "23761:123:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15118, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15113, - "src": "23790:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 15117, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "23779:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 15119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23779:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15120, - "name": "ERROR_FEED_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14126, - "src": "23798:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15116, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "23771:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23771:51:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15122, - "nodeType": "ExpressionStatement", - "src": "23771:51:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15123, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "23832:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15124, - "name": "_feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15113, - "src": "23839:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "src": "23832:12:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15126, - "nodeType": "ExpressionStatement", - "src": "23832:12:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15128, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "23872:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - ], - "id": 15127, - "name": "SetPriceFeed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14267, - "src": "23859:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 15129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23859:18:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15130, - "nodeType": "EmitStatement", - "src": "23854:23:18" - } - ] - }, - "documentation": "@dev Set the price feed used for exchange rates\n@param _feed Address of the new price feed instance", - "id": 15132, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setPriceFeed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15113, - "name": "_feed", - "nodeType": "VariableDeclaration", - "scope": 15132, - "src": "23739:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - }, - "typeName": { - "contractScope": null, - "id": 15112, - "name": "IFeed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28118, - "src": "23739:5:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23738:13:18" - }, - "payable": false, - "returnParameters": { - "id": 15115, - "nodeType": "ParameterList", - "parameters": [], - "src": "23761:0:18" - }, - "scope": 15995, - "src": "23716:168:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15152, - "nodeType": "Block", - "src": "24216:218:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15138, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15134, - "src": "24293:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15139, - "name": "MIN_RATE_EXPIRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14066, - "src": "24302:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24293:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15141, - "name": "ERROR_EXPIRY_TIME_TOO_SHORT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14129, - "src": "24319:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15137, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "24285:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24285:62:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15143, - "nodeType": "ExpressionStatement", - "src": "24285:62:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15144, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "24357:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15145, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15134, - "src": "24374:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "24357:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15147, - "nodeType": "ExpressionStatement", - "src": "24357:22:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15149, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "24412:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15148, - "name": "SetRateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14271, - "src": "24394:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 15150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24394:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15151, - "nodeType": "EmitStatement", - "src": "24389:38:18" - } - ] - }, - "documentation": "@dev Set the exchange rate expiry time in seconds.\n Exchange rates older than the given value won't be accepted for payments and will cause\n payouts to revert.\n@param _time The expiration time in seconds for exchange rates", - "id": 15153, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setRateExpiryTime", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15134, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 15153, - "src": "24193:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15133, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24193:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24192:14:18" - }, - "payable": false, - "returnParameters": { - "id": 15136, - "nodeType": "ParameterList", - "parameters": [], - "src": "24216:0:18" - }, - "scope": 15995, - "src": "24165:269:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15206, - "nodeType": "Block", - "src": "24886:427:18", - "statements": [ - { - "assignments": [ - 15165 - ], - "declarations": [ - { - "constant": false, - "id": 15165, - "name": "employeeId", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24896:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24896:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15168, - "initialValue": { - "argumentTypes": null, - "id": 15167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "24917:14:18", - "subExpression": { - "argumentTypes": null, - "id": 15166, - "name": "nextEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14177, - "src": "24917:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24896:35:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15170, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "24962:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15171, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15155, - "src": "24974:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 15169, - "name": "_setEmployeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15335, - "src": "24942:19:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 15172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24942:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15173, - "nodeType": "ExpressionStatement", - "src": "24942:48:18" - }, - { - "assignments": [ - 15175 - ], - "declarations": [ - { - "constant": false, - "id": 15175, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "25001:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15174, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "25001:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15179, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15176, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "25029:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15178, - "indexExpression": { - "argumentTypes": null, - "id": 15177, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "25039:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25029:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25001:49:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15180, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25060:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "25060:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15183, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15157, - "src": "25095:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25060:61:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15185, - "nodeType": "ExpressionStatement", - "src": "25060:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15186, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25131:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "25131:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15189, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15159, - "src": "25154:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25131:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15191, - "nodeType": "ExpressionStatement", - "src": "25131:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15192, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15175, - "src": "25174:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15194, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "25174:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15195, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14078, - "src": "25193:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "25174:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15197, - "nodeType": "ExpressionStatement", - "src": "25174:29:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15199, - "name": "employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15165, - "src": "25231:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15200, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15155, - "src": "25243:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15201, - "name": "_initialDenominationSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15157, - "src": "25260:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15202, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15159, - "src": "25288:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 15203, - "name": "_role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15161, - "src": "25300:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 15198, - "name": "AddEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14201, - "src": "25219:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint64_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,uint256,uint64,string memory)" - } - }, - "id": 15204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25219:87:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15205, - "nodeType": "EmitStatement", - "src": "25214:92:18" - } - ] - }, - "documentation": "@dev Add a new employee to Payroll\n@param _accountAddress Employee's address to receive payroll\n@param _initialDenominationSalary Employee's salary, per second in denomination token\n@param _startDate Employee's starting timestamp in seconds\n@param _role Employee's role", - "id": 15207, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15155, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24783:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15154, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24783:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15157, - "name": "_initialDenominationSalary", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24808:34:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24808:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15159, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24844:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15158, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "24844:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15161, - "name": "_role", - "nodeType": "VariableDeclaration", - "scope": 15207, - "src": "24863:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15160, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24863:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24782:94:18" - }, - "payable": false, - "returnParameters": { - "id": 15163, - "nodeType": "ParameterList", - "parameters": [], - "src": "24886:0:18" - }, - "scope": 15995, - "src": "24761:552:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15235, - "nodeType": "Block", - "src": "25583:174:18", - "statements": [ - { - "assignments": [ - 15215 - ], - "declarations": [ - { - "constant": false, - "id": 15215, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25593:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15214, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "25593:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15219, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15216, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "25621:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15218, - "indexExpression": { - "argumentTypes": null, - "id": 15217, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15209, - "src": "25631:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25621:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25593:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15220, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15215, - "src": "25653:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "25653:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15226, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15211, - "src": "25689:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15223, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15215, - "src": "25670:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "25670:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "25670:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25670:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25653:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15229, - "nodeType": "ExpressionStatement", - "src": "25653:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15231, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15209, - "src": "25729:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15232, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15211, - "src": "25742:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15230, - "name": "AddEmployeeBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14225, - "src": "25712:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25712:38:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15234, - "nodeType": "EmitStatement", - "src": "25707:43:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's bonuses\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's bonuses in denomination token", - "id": 15236, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addBonus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15209, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25536:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25536:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15211, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15236, - "src": "25557:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25557:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "25535:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15213, - "nodeType": "ParameterList", - "parameters": [], - "src": "25583:0:18" - }, - "scope": 15995, - "src": "25517:240:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15264, - "nodeType": "Block", - "src": "26049:200:18", - "statements": [ - { - "assignments": [ - 15244 - ], - "declarations": [ - { - "constant": false, - "id": 15244, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26059:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15243, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "26059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15248, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15245, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "26087:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15247, - "indexExpression": { - "argumentTypes": null, - "id": 15246, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15238, - "src": "26097:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26087:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26059:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15249, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15244, - "src": "26119:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "26119:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15255, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15240, - "src": "26173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15252, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15244, - "src": "26145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15253, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "26145:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26145:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26145:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26119:62:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15258, - "nodeType": "ExpressionStatement", - "src": "26119:62:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15260, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15238, - "src": "26221:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15261, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15240, - "src": "26234:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15259, - "name": "AddEmployeeReimbursement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14231, - "src": "26196:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26196:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15263, - "nodeType": "EmitStatement", - "src": "26191:51:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's reimbursements\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's reimbursements in denomination token", - "id": 15265, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addReimbursement", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15241, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15238, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26002:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26002:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15240, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15265, - "src": "26023:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26023:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26001:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15242, - "nodeType": "ParameterList", - "parameters": [], - "src": "26049:0:18" - }, - "scope": 15995, - "src": "25975:274:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15293, - "nodeType": "Block", - "src": "26541:198:18", - "statements": [ - { - "assignments": [ - 15273 - ], - "declarations": [ - { - "constant": false, - "id": 15273, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26551:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15272, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "26551:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15277, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15274, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "26579:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15276, - "indexExpression": { - "argumentTypes": null, - "id": 15275, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15267, - "src": "26589:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26579:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26551:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15278, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15273, - "src": "26611:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "26611:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15284, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15269, - "src": "26663:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15281, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15273, - "src": "26636:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "26636:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "26636:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26636:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26611:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15287, - "nodeType": "ExpressionStatement", - "src": "26611:60:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15289, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15267, - "src": "26711:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15290, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15269, - "src": "26724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15288, - "name": "AddEmployeeAccruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14219, - "src": "26686:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 15291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26686:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15292, - "nodeType": "EmitStatement", - "src": "26681:51:18" - } - ] - }, - "documentation": "@dev Add amount to an employee's accrued salary\n@param _employeeId Employee's identifier\n@param _amount Amount be added to the employee's accrued salary in denomination token", - "id": 15294, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addAccruedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15267, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26494:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26494:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15269, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 15294, - "src": "26515:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26515:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26493:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15271, - "nodeType": "ParameterList", - "parameters": [], - "src": "26541:0:18" - }, - "scope": 15995, - "src": "26467:272:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15334, - "nodeType": "Block", - "src": "27007:411:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 15306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15302, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27062:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27089:1:18", - "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": 15303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27081:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 15305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27081:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27062:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15307, - "name": "ERROR_EMPLOYEE_NULL_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14120, - "src": "27093:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15301, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27054:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27054:67:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15309, - "nodeType": "ExpressionStatement", - "src": "27054:67:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15311, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "27189:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15313, - "indexExpression": { - "argumentTypes": null, - "id": 15312, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27201:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27189:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27229:1:18", - "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": 15314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27221:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27221:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27189:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15318, - "name": "ERROR_EMPLOYEE_ALREADY_EXIST", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14123, - "src": "27233:28:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27181:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27181:81:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15320, - "nodeType": "ExpressionStatement", - "src": "27181:81:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15321, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "27273:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15323, - "indexExpression": { - "argumentTypes": null, - "id": 15322, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15296, - "src": "27283:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27273:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "27273:37:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15325, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27313:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27273:55:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15327, - "nodeType": "ExpressionStatement", - "src": "27273:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15328, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "27369:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15330, - "indexExpression": { - "argumentTypes": null, - "id": 15329, - "name": "_accountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15298, - "src": "27381:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "27369:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15331, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15296, - "src": "27400:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27369:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15333, - "nodeType": "ExpressionStatement", - "src": "27369:42:18" - } - ] - }, - "documentation": "@dev Set an employee's account address\n@param _employeeId Employee's identifier\n@param _accountAddress Employee's address to receive payroll", - "id": 15335, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setEmployeeAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15299, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15296, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15335, - "src": "26952:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26952:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15298, - "name": "_accountAddress", - "nodeType": "VariableDeclaration", - "scope": 15335, - "src": "26973:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26973:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26951:46:18" - }, - "payable": false, - "returnParameters": { - "id": 15300, - "nodeType": "ParameterList", - "parameters": [], - "src": "27007:0:18" - }, - "scope": 15995, - "src": "26923:495:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15362, - "nodeType": "Block", - "src": "27662:231:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15343, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27722:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15344, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "27734:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27734:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27722:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15347, - "name": "ERROR_PAST_TERMINATION_DATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14132, - "src": "27752:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "27714:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27714:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15349, - "nodeType": "ExpressionStatement", - "src": "27714:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15350, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "27790:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15352, - "indexExpression": { - "argumentTypes": null, - "id": 15351, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15337, - "src": "27800:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27790:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "27790:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15354, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27823:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "27790:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15356, - "nodeType": "ExpressionStatement", - "src": "27790:41:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15358, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15337, - "src": "27864:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15359, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15339, - "src": "27877:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15357, - "name": "TerminateEmployee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14207, - "src": "27846:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint64_$returns$__$", - "typeString": "function (uint256,uint64)" - } - }, - "id": 15360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27846:40:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15361, - "nodeType": "EmitStatement", - "src": "27841:45:18" - } - ] - }, - "documentation": "@dev Terminate employee on end date\n@param _employeeId Employee's identifier\n@param _endDate Termination timestamp in seconds", - "id": 15363, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_terminateEmployee", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15337, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15363, - "src": "27615:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27615:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15339, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "scope": 15363, - "src": "27636:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15338, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "27636:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27614:38:18" - }, - "payable": false, - "returnParameters": { - "id": 15341, - "nodeType": "ParameterList", - "parameters": [], - "src": "27662:0:18" - }, - "scope": 15995, - "src": "27587:306:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15508, - "nodeType": "Block", - "src": "28605:1670:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15377, - "name": "_totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15369, - "src": "28619:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28635:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28619:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15383, - "nodeType": "IfStatement", - "src": "28615:60:18", - "trueBody": { - "id": 15382, - "nodeType": "Block", - "src": "28638:37:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 15380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28659:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 15376, - "id": 15381, - "nodeType": "Return", - "src": "28652:12:18" - } - ] - } - }, - { - "assignments": [ - 15385 - ], - "declarations": [ - { - "constant": false, - "id": 15385, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28685:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15384, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "28685:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15389, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15386, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "28713:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15388, - "indexExpression": { - "argumentTypes": null, - "id": 15387, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15365, - "src": "28723:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28713:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28685:50:18" - }, - { - "assignments": [ - 15391 - ], - "declarations": [ - { - "constant": false, - "id": 15391, - "name": "employeeAddress", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28745:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28745:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15394, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15392, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "28771:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "28771:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28745:49:18" - }, - { - "assignments": [ - 15396 - ], - "declarations": [ - { - "constant": false, - "id": 15396, - "name": "paymentReference", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28804:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15395, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "28804:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15400, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15398, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15367, - "src": "28858:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - ], - "id": 15397, - "name": "_paymentReferenceFor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15963, - "src": "28837:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_PaymentType_$14145_$returns$_t_string_memory_ptr_$", - "typeString": "function (enum Payroll.PaymentType) pure returns (string memory)" - } - }, - "id": 15399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "28837:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28804:60:18" - }, - { - "assignments": [ - 15404 - ], - "declarations": [ - { - "constant": false, - "id": 15404, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28875:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28875:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15403, - "length": null, - "nodeType": "ArrayTypeName", - "src": "28875:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15407, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15405, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "28920:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "28920:33:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28875:78:18" - }, - { - "body": { - "id": 15506, - "nodeType": "Block", - "src": "29025:1244:18", - "statements": [ - { - "assignments": [ - 15420 - ], - "declarations": [ - { - "constant": false, - "id": 15420, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29039:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29039:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15424, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15421, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15404, - "src": "29055:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 15423, - "indexExpression": { - "argumentTypes": null, - "id": 15422, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29080:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29055:27:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29039:43:18" - }, - { - "assignments": [ - 15426 - ], - "declarations": [ - { - "constant": false, - "id": 15426, - "name": "tokenAllocation", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29096:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29096:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15431, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15427, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15385, - "src": "29122:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "29122:25:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15430, - "indexExpression": { - "argumentTypes": null, - "id": 15429, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "29148:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29122:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29096:58:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15432, - "name": "tokenAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15426, - "src": "29172:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29199:1:18", - "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": 15433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "29191:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29191:10:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29172:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15505, - "nodeType": "IfStatement", - "src": "29168:1091:18", - "trueBody": { - "id": 15504, - "nodeType": "Block", - "src": "29203:1056:18", - "statements": [ - { - "assignments": [ - 15438 - ], - "declarations": [ - { - "constant": false, - "id": 15438, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29368:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29368:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15440, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "29427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 15439, - "name": "_getExchangeRateInDenominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15807, - "src": "29391:35:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 15441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29391:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29368:65:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15444, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15372, - "src": "29459:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 15445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "29459:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29478:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29459:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15453, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29513:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29528:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29513:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "29459:70:18", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15448, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29482:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15449, - "name": "_minRates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15372, - "src": "29498:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 15451, - "indexExpression": { - "argumentTypes": null, - "id": 15450, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29508:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29498:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29482:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15457, - "name": "ERROR_EXCHANGE_RATE_TOO_LOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14135, - "src": "29531:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "29451:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29451:108:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15459, - "nodeType": "ExpressionStatement", - "src": "29451:108:18" - }, - { - "assignments": [ - 15461 - ], - "declarations": [ - { - "constant": false, - "id": 15461, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "29674:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15469, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15467, - "name": "tokenAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15426, - "src": "29731:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15464, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "29713:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15462, - "name": "_totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15369, - "src": "29696:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "29696:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29696:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "29696:34:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29696:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29674:73:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15470, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "29863:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 15476, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "29902:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ratePrecision", - "nodeType": "MemberAccess", - "referencedDeclaration": 28106, - "src": "29902:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", - "typeString": "function () pure external returns (uint256)" - } - }, - "id": 15478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29902:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 15473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29893:3:18", - "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": 15471, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "29877:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "29877:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29877:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "29877:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29877:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29863:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15481, - "nodeType": "ExpressionStatement", - "src": "29863:60:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15485, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "30036:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15486, - "name": "employeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15391, - "src": "30043:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15487, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "30060:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15488, - "name": "paymentReference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15396, - "src": "30073:16:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 15482, - "name": "finance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14169, - "src": "30008:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Finance_$14010", - "typeString": "contract Finance" - } - }, - "id": 15484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "newImmediatePayment", - "nodeType": "MemberAccess", - "referencedDeclaration": 12484, - "src": "30008:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,string memory) external" - } - }, - "id": 15489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30008:82:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15490, - "nodeType": "ExpressionStatement", - "src": "30008:82:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15492, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15365, - "src": "30125:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15493, - "name": "employeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15391, - "src": "30138:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15494, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15420, - "src": "30155:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15495, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15461, - "src": "30162:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15496, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15438, - "src": "30175:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 15497, - "name": "paymentReference", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15396, - "src": "30189:16:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 15491, - "name": "SendPayment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14257, - "src": "30113:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint256,string memory)" - } - }, - "id": 15498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30113:93:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15499, - "nodeType": "EmitStatement", - "src": "30108:98:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15500, - "name": "somethingPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15375, - "src": "30224:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 15501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30240:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "30224:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15503, - "nodeType": "ExpressionStatement", - "src": "30224:20:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15412, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "28983:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15413, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15404, - "src": "28987:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 15414, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "28987:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28983:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15507, - "initializationExpression": { - "assignments": [ - 15409 - ], - "declarations": [ - { - "constant": false, - "id": 15409, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28968:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15411, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28980:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28968:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 15417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29020:3:18", - "subExpression": { - "argumentTypes": null, - "id": 15416, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15409, - "src": "29020:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15418, - "nodeType": "ExpressionStatement", - "src": "29020:3:18" - }, - "nodeType": "ForStatement", - "src": "28963:1306:18" - } - ] - }, - "documentation": "@dev Loop over allowed tokens to send requested amount to the employee in their desired allocation\n@param _employeeId Employee's identifier\n@param _totalAmount Total amount to be transferred to the employee distributed in accordance to the employee's token allocation.\n@param _type Payment type being transferred (Payroll, Reimbursement or Bonus)\n@param _minRates Array of employee's minimum acceptable rates for their allowed payment tokens\n@return True if there was at least one token transfer", - "id": 15509, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transferTokensAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15365, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28484:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28484:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15367, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28505:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 15366, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "28505:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15369, - "name": "_totalAmount", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28524:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15368, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28524:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15372, - "name": "_minRates", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28546:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 15370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28546:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15371, - "length": null, - "nodeType": "ArrayTypeName", - "src": "28546:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "28483:83:18" - }, - "payable": false, - "returnParameters": { - "id": 15376, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15375, - "name": "somethingPaid", - "nodeType": "VariableDeclaration", - "scope": 15509, - "src": "28585:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "28585:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "28584:20:18" - }, - "scope": 15995, - "src": "28453:1822:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15554, - "nodeType": "Block", - "src": "30518:356:18", - "statements": [ - { - "assignments": [ - 15515 - ], - "declarations": [ - { - "constant": false, - "id": 15515, - "name": "employee", - "nodeType": "VariableDeclaration", - "scope": 15555, - "src": "30528:25:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15514, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "30528:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15519, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15516, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "30556:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15518, - "indexExpression": { - "argumentTypes": null, - "id": 15517, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15511, - "src": "30566:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30556:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30528:50:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15520, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30606:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "30606:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15522, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30630:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "30630:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "30606:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 15533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15525, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30663:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "30663:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30689:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30663:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15529, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30694:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": 14153, - "src": "30694:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30712:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30694:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30663:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15534, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30717:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "reimbursements", - "nodeType": "MemberAccess", - "referencedDeclaration": 14155, - "src": "30717:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30744:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "30717:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30663:82:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 15539, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "30662:84:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "30606:140:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15553, - "nodeType": "IfStatement", - "src": "30589:279:18", - "trueBody": { - "id": 15552, - "nodeType": "Block", - "src": "30757:111:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "30771:43:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15541, - "name": "employeeIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14185, - "src": "30778:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15544, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15542, - "name": "employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15515, - "src": "30790:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15543, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "30790:23:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30778:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15546, - "nodeType": "ExpressionStatement", - "src": "30771:43:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "30828:29:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15547, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "30835:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15549, - "indexExpression": { - "argumentTypes": null, - "id": 15548, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15511, - "src": "30845:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30835:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15551, - "nodeType": "ExpressionStatement", - "src": "30828:29:18" - } - ] - } - } - ] - }, - "documentation": "@dev Remove employee if there are no owed funds and employee's end date has been reached\n@param _employeeId Employee's identifier", - "id": 15555, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeEmployeeIfTerminatedAndPaidOut", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15511, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15555, - "src": "30488:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30488:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30487:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15513, - "nodeType": "ParameterList", - "parameters": [], - "src": "30518:0:18" - }, - "scope": 15995, - "src": "30441:433:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15668, - "nodeType": "Block", - "src": "31288:2173:18", - "statements": [ - { - "assignments": [ - 15563 - ], - "declarations": [ - { - "constant": false, - "id": 15563, - "name": "accruedSalary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31298:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31298:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15566, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15564, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "31322:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15565, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "31322:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31298:47:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15567, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31360:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 15568, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31378:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31360:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15580, - "nodeType": "IfStatement", - "src": "31356:366:18", - "trueBody": { - "id": 15579, - "nodeType": "Block", - "src": "31393:329:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15570, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "31635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "31635:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15573, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31661:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15574, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31677:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31661:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31635:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15577, - "nodeType": "ExpressionStatement", - "src": "31635:56:18" - }, - { - "expression": null, - "functionReturnParameters": 15561, - "id": 15578, - "nodeType": "Return", - "src": "31705:7:18" - } - ] - } - }, - { - "assignments": [ - 15582 - ], - "declarations": [ - { - "constant": false, - "id": 15582, - "name": "currentSalaryPaid", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31897:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31897:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15584, - "initialValue": { - "argumentTypes": null, - "id": 15583, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "31925:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31897:42:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15585, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "31953:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31969:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "31953:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15601, - "nodeType": "IfStatement", - "src": "31949:441:18", - "trueBody": { - "id": 15600, - "nodeType": "Block", - "src": "31972:418:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15588, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32227:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15589, - "name": "_paymentAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15559, - "src": "32247:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15590, - "name": "accruedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15563, - "src": "32264:13:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32247:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32227:50:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15593, - "nodeType": "ExpressionStatement", - "src": "32227:50:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15594, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32352:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "32352:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 15597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32378:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32352:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15599, - "nodeType": "ExpressionStatement", - "src": "32352:27:18" - } - ] - } - }, - { - "assignments": [ - 15603 - ], - "declarations": [ - { - "constant": false, - "id": 15603, - "name": "salary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32400:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32400:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15606, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15604, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32417:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "32417:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32400:50:18" - }, - { - "assignments": [ - 15608 - ], - "declarations": [ - { - "constant": false, - "id": 15608, - "name": "timeDiff", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32460:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32460:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15613, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15611, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32501:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15609, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32479:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "32479:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32479:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32460:48:18" - }, - { - "assignments": [ - 15615 - ], - "declarations": [ - { - "constant": false, - "id": 15615, - "name": "extraSalary", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32748:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15619, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15616, - "name": "currentSalaryPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15582, - "src": "32770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 15617, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32790:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32770:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32748:48:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15620, - "name": "extraSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15615, - "src": "32810:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32824:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32810:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15639, - "nodeType": "IfStatement", - "src": "32806:132:18", - "trueBody": { - "id": 15638, - "nodeType": "Block", - "src": "32827:111:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15623, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "32841:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 15626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32865:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 15624, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "32852:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32852:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32852:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32841:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15629, - "nodeType": "ExpressionStatement", - "src": "32841:26:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15630, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32881:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "32881:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15633, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15603, - "src": "32907:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 15634, - "name": "extraSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15615, - "src": "32916:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32907:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32881:46:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15637, - "nodeType": "ExpressionStatement", - "src": "32881:46:18" - } - ] - } - }, - { - "assignments": [ - 15641 - ], - "declarations": [ - { - "constant": false, - "id": 15641, - "name": "lastPayrollDate", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "32948:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32948:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15649, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15647, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15608, - "src": "33009:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15643, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "32982:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "32982:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32974:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32974:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "32974:34:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32974:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32948:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15651, - "name": "lastPayrollDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15641, - "src": "33249:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15653, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "33276:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33276:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33268:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33268:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33249:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15657, - "name": "ERROR_LAST_PAYROLL_DATE_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14138, - "src": "33295:31:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15650, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "33241:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33241:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15659, - "nodeType": "ExpressionStatement", - "src": "33241:86:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15660, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15557, - "src": "33407:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "33407:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15664, - "name": "lastPayrollDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15641, - "src": "33438:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 15663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33431:6:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 15665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33431:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "33407:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15667, - "nodeType": "ExpressionStatement", - "src": "33407:47:18" - } - ] - }, - "documentation": "@dev Updates the accrued salary and payroll date of an employee based on a payment amount and\n their currently owed salary since last payroll date\n@param _employee Employee struct in storage\n@param _paymentAmount Amount being paid to the employee", - "id": 15669, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateEmployeeAccountingBasedOnPaidSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15557, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31227:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15556, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "31227:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15559, - "name": "_paymentAmount", - "nodeType": "VariableDeclaration", - "scope": 15669, - "src": "31255:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31255:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "31226:52:18" - }, - "payable": false, - "returnParameters": { - "id": 15561, - "nodeType": "ParameterList", - "parameters": [], - "src": "31288:0:18" - }, - "scope": 15995, - "src": "31175:2286:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15685, - "nodeType": "Block", - "src": "33776:75:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 15683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15676, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "33793:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15678, - "indexExpression": { - "argumentTypes": null, - "id": 15677, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15671, - "src": "33803:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33793:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - }, - "id": 15679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accountAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 14147, - "src": "33793:37:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 15681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33842:1:18", - "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": 15680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33834:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 15682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "33834:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "33793:51:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15675, - "id": 15684, - "nodeType": "Return", - "src": "33786:58:18" - } - ] - }, - "documentation": "@dev Tell whether an employee is registered in this Payroll or not\n@param _employeeId Employee's identifier\n@return True if the given employee ID belongs to an registered employee, false otherwise", - "id": 15686, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_employeeExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15671, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15686, - "src": "33726:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33726:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33725:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15674, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15686, - "src": "33770:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15673, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "33770:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33769:6:18" - }, - "scope": 15995, - "src": "33701:150:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15745, - "nodeType": "Block", - "src": "34236:447:18", - "statements": [ - { - "assignments": [ - 15692 - ], - "declarations": [ - { - "constant": false, - "id": 15692, - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34246:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34246:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15694, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34260:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "34246:15:18" - }, - { - "assignments": [ - 15698 - ], - "declarations": [ - { - "constant": false, - "id": 15698, - "name": "allocationTokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34271:41:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 15696, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34271:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 15697, - "length": null, - "nodeType": "ArrayTypeName", - "src": "34271:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15701, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15699, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15688, - "src": "34315:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15700, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 14162, - "src": "34315:34:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34271:78:18" - }, - { - "body": { - "id": 15736, - "nodeType": "Block", - "src": "34421:198:18", - "statements": [ - { - "assignments": [ - 15714 - ], - "declarations": [ - { - "constant": false, - "id": 15714, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34435:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15718, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15715, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15698, - "src": "34451:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15717, - "indexExpression": { - "argumentTypes": null, - "id": 15716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34476:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34451:27:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34435:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15720, - "name": "allowedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14189, - "src": "34500:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 15722, - "indexExpression": { - "argumentTypes": null, - "id": 15721, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15714, - "src": "34514:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34500:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15723, - "name": "ERROR_NOT_ALLOWED_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14105, - "src": "34522:23:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "34492:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34492:54:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15725, - "nodeType": "ExpressionStatement", - "src": "34492:54:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 15734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15726, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34560:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15729, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15688, - "src": "34574:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocationTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 14166, - "src": "34574:26:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 15732, - "indexExpression": { - "argumentTypes": null, - "id": 15731, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15714, - "src": "34601:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34574:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15727, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34566:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "34566:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34566:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34560:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15735, - "nodeType": "ExpressionStatement", - "src": "34560:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15706, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34379:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15707, - "name": "allocationTokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15698, - "src": "34383:24:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 15708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "34383:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34379:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 15737, - "initializationExpression": { - "assignments": [ - 15703 - ], - "declarations": [ - { - "constant": false, - "id": 15703, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34364:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34364:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15705, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 15704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34376:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "34364:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 15711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "34416:3:18", - "subExpression": { - "argumentTypes": null, - "id": 15710, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15703, - "src": "34416:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15712, - "nodeType": "ExpressionStatement", - "src": "34416:3:18" - }, - "nodeType": "ForStatement", - "src": "34359:260:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15739, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15692, - "src": "34636:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 15740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34643:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "34636:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15742, - "name": "ERROR_DISTRIBUTION_NOT_FULL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14108, - "src": "34648:27:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "34628:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "34628:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15744, - "nodeType": "ExpressionStatement", - "src": "34628:48:18" - } - ] - }, - "documentation": "@dev Tell whether an employee has a valid token allocation or not.\n A valid allocation is one that sums to 100 and only includes allowed tokens.\n@param _employee Employee struct in storage\n@return Reverts if employee's allocation is invalid", - "id": 15746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensureEmployeeTokenAllocationsIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15688, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15746, - "src": "34194:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15687, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "34194:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34193:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15690, - "nodeType": "ParameterList", - "parameters": [], - "src": "34236:0:18" - }, - "scope": 15995, - "src": "34146:537:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15759, - "nodeType": "Block", - "src": "35010:61:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15753, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15748, - "src": "35027:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "35027:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15755, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "35048:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35048:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "35027:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15752, - "id": 15758, - "nodeType": "Return", - "src": "35020:44:18" - } - ] - }, - "documentation": "@dev Tell whether an employee is still active or not\n@param _employee Employee struct in storage\n@return True if the employee exists and has an end date that has not been reached yet, false otherwise", - "id": 15760, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isEmployeeActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15748, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15760, - "src": "34953:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15747, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "34953:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34952:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15760, - "src": "35004:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15750, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "35004:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35003:6:18" - }, - "scope": 15995, - "src": "34926:145:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15773, - "nodeType": "Block", - "src": "35393:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 15768, - "name": "employees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14181, - "src": "35428:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Employee_$14167_storage_$", - "typeString": "mapping(uint256 => struct Payroll.Employee storage ref)" - } - }, - "id": 15770, - "indexExpression": { - "argumentTypes": null, - "id": 15769, - "name": "_employeeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15762, - "src": "35438:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35428:22:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage", - "typeString": "struct Payroll.Employee storage ref" - } - ], - "id": 15767, - "name": "_isEmployeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15760, - "src": "35410:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (bool)" - } - }, - "id": 15771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "35410:41:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 15766, - "id": 15772, - "nodeType": "Return", - "src": "35403:48:18" - } - ] - }, - "documentation": "@dev Tell whether an employee id is still active or not\n@param _employeeId Employee's identifier\n@return True if the employee exists and has an end date that has not been reached yet, false otherwise", - "id": 15774, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isEmployeeIdActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15762, - "name": "_employeeId", - "nodeType": "VariableDeclaration", - "scope": 15774, - "src": "35343:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35343:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35342:21:18" - }, - "payable": false, - "returnParameters": { - "id": 15766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15765, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15774, - "src": "35387:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15764, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "35387:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35386:6:18" - }, - "scope": 15995, - "src": "35314:144:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15806, - "nodeType": "Block", - "src": "35932:431:18", - "statements": [ - { - "assignments": [ - 15782, - 15784 - ], - "declarations": [ - { - "constant": false, - "id": 15782, - "name": "xrt", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "36034:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 15781, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "36034:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15784, - "name": "when", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "36047:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "36047:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15790, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15787, - "name": "denominationToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14171, - "src": "36084:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 15788, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15776, - "src": "36135:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 15785, - "name": "feed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14173, - "src": "36062:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeed_$28118", - "typeString": "contract IFeed" - } - }, - "id": 15786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 28117, - "src": "36062:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint128_$_t_uint64_$", - "typeString": "function (address,address) view external returns (uint128,uint64)" - } - }, - "id": 15789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36062:122:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint64_$", - "typeString": "tuple(uint128,uint64)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36033:151:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15794, - "name": "when", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15784, - "src": "36269:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15791, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "36248:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36248:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27964, - "src": "36248:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 15795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36248:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15796, - "name": "rateExpiryTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14175, - "src": "36278:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "36248:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15801, - "nodeType": "IfStatement", - "src": "36244:83:18", - "trueBody": { - "id": 15800, - "nodeType": "Block", - "src": "36294:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15780, - "id": 15799, - "nodeType": "Return", - "src": "36308:8:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15803, - "name": "xrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15782, - "src": "36352:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "id": 15802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36344:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36344:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15780, - "id": 15805, - "nodeType": "Return", - "src": "36337:19:18" - } - ] - }, - "documentation": "@dev Get exchange rate for a token based on the denomination token.\n As an example, if the denomination token was USD and ETH's price was 100USD,\n this would return 0.01 * precision rate for ETH.\n@param _token Token to get price of in denomination tokens\n@return Exchange rate (multiplied by the PPF rate precision)", - "id": 15807, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getExchangeRateInDenominationToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15776, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "35884:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "35884:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35883:16:18" - }, - "payable": false, - "returnParameters": { - "id": 15780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15779, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15807, - "src": "35923:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35923:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35922:9:18" - }, - "scope": 15995, - "src": "35839:524:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15859, - "nodeType": "Block", - "src": "36832:457:18", - "statements": [ - { - "assignments": [ - 15817 - ], - "declarations": [ - { - "constant": false, - "id": 15817, - "name": "timeDiff", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36842:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36842:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15821, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15819, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15809, - "src": "36883:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 15818, - "name": "_getOwedPayrollPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15894, - "src": "36861:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (uint256)" - } - }, - "id": 15820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "36861:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36842:51:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15822, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "36907:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36919:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36907:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15828, - "nodeType": "IfStatement", - "src": "36903:52:18", - "trueBody": { - "id": 15827, - "nodeType": "Block", - "src": "36922:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36943:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15815, - "id": 15826, - "nodeType": "Return", - "src": "36936:8:18" - } - ] - } - }, - { - "assignments": [ - 15830 - ], - "declarations": [ - { - "constant": false, - "id": 15830, - "name": "salary", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36964:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36964:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15833, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15831, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15809, - "src": "36981:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "denominationTokenSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14149, - "src": "36981:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36964:50:18" - }, - { - "condition": { - "argumentTypes": null, - "id": 15834, - "name": "_capped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15811, - "src": "37029:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 15857, - "nodeType": "Block", - "src": "37231:52:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15854, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37263:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 15852, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37252:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "37252:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 15855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37252:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15815, - "id": 15856, - "nodeType": "Return", - "src": "37245:27:18" - } - ] - }, - "id": 15858, - "nodeType": "IfStatement", - "src": "37025:258:18", - "trueBody": { - "id": 15851, - "nodeType": "Block", - "src": "37038:187:18", - "statements": [ - { - "assignments": [ - 15836 - ], - "declarations": [ - { - "constant": false, - "id": 15836, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "37107:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37107:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15840, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15837, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37124:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 15838, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37133:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37124:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37107:34:18" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15841, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15836, - "src": "37163:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 15842, - "name": "timeDiff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15817, - "src": "37172:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37163:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 15844, - "name": "salary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15830, - "src": "37184:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37163:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 15846, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37162:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 15848, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15836, - "src": "37208:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "37162:52:18", - "trueExpression": { - "argumentTypes": null, - "id": 15847, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14072, - "src": "37194:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15815, - "id": 15850, - "nodeType": "Return", - "src": "37155:59:18" - } - ] - } - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee\n@param _employee Employee struct in storage\n@param _capped Safely cap the owed salary at max uint\n@return Owed salary in denomination tokens since last payroll for the employee.\n If _capped is false, it reverts in case of an overflow.", - "id": 15860, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15809, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36758:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15808, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "36758:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15811, - "name": "_capped", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36786:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 15810, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "36786:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36757:42:18" - }, - "payable": false, - "returnParameters": { - "id": 15815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15814, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15860, - "src": "36823:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36823:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "36822:9:18" - }, - "scope": 15995, - "src": "36718:571:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15893, - "nodeType": "Block", - "src": "37580:791:18", - "statements": [ - { - "assignments": [ - 15868 - ], - "declarations": [ - { - "constant": false, - "id": 15868, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37650:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 15867, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "37650:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15877, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15870, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "37682:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - ], - "id": 15869, - "name": "_isEmployeeActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15760, - "src": "37664:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Payroll.Employee storage pointer) view returns (bool)" - } - }, - "id": 15871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37664:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15874, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "37714:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 14159, - "src": "37714:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 15876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "37664:67:18", - "trueExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 15872, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "37695:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 15873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "37695:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37650:81:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15878, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15868, - "src": "38131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15879, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "38139:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "38139:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "38131:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15885, - "nodeType": "IfStatement", - "src": "38127:68:18", - "trueBody": { - "id": 15884, - "nodeType": "Block", - "src": "38162:33:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38183:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 15866, - "id": 15883, - "nodeType": "Return", - "src": "38176:8:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 15890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15887, - "name": "date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15868, - "src": "38335:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15888, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15862, - "src": "38342:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastPayroll", - "nodeType": "MemberAccess", - "referencedDeclaration": 14157, - "src": "38342:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "38335:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 15886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "38327:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 15891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38327:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15866, - "id": 15892, - "nodeType": "Return", - "src": "38320:44:18" - } - ] - }, - "documentation": "@dev Get owed payroll period for an employee\n@param _employee Employee struct in storage\n@return Owed time in seconds since the employee's last payroll date", - "id": 15894, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getOwedPayrollPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15862, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37520:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15861, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "37520:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37519:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15894, - "src": "37571:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37571:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "37570:9:18" - }, - "scope": 15995, - "src": "37489:882:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15926, - "nodeType": "Block", - "src": "38859:321:18", - "statements": [ - { - "assignments": [ - 15902 - ], - "declarations": [ - { - "constant": false, - "id": 15902, - "name": "currentOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38869:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38869:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15907, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15904, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15896, - "src": "38928:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 15905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38939:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 15903, - "name": "_getOwedSalarySinceLastPayroll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15860, - "src": "38897:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Employee_$14167_storage_ptr_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (struct Payroll.Employee storage pointer,bool) view returns (uint256)" - } - }, - "id": 15906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "38897:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38869:75:18" - }, - { - "assignments": [ - 15909 - ], - "declarations": [ - { - "constant": false, - "id": 15909, - "name": "totalOwedSalary", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38968:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 15914, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15910, - "name": "currentOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15902, - "src": "38994:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15911, - "name": "_employee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15896, - "src": "39014:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee storage pointer" - } - }, - "id": 15912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accruedSalary", - "nodeType": "MemberAccess", - "referencedDeclaration": 14151, - "src": "39014:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38994:43:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38968:69:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15915, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39051:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 15916, - "name": "currentOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15902, - "src": "39069:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39051:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15923, - "nodeType": "IfStatement", - "src": "39047:95:18", - "trueBody": { - "id": 15922, - "nodeType": "Block", - "src": "39088:54:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 15920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 15918, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39102:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 15919, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14072, - "src": "39120:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39102:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15921, - "nodeType": "ExpressionStatement", - "src": "39102:29:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 15924, - "name": "totalOwedSalary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15909, - "src": "39158:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15900, - "id": 15925, - "nodeType": "Return", - "src": "39151:22:18" - } - ] - }, - "documentation": "@dev Get owed salary since last payroll for an employee. It will take into account the accrued salary as well.\n The result will be capped to max uint256 to avoid having an overflow.\n@param _employee Employee struct in storage\n@return Employee's total owed salary: current owed payroll since the last payroll date, plus the accrued salary.", - "id": 15927, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_getTotalOwedCappedSalary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15896, - "name": "_employee", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38799:26:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - }, - "typeName": { - "contractScope": null, - "id": 15895, - "name": "Employee", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14167, - "src": "38799:8:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Employee_$14167_storage_ptr", - "typeString": "struct Payroll.Employee" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38798:28:18" - }, - "payable": false, - "returnParameters": { - "id": 15900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15899, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15927, - "src": "38850:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38850:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "38849:9:18" - }, - "scope": 15995, - "src": "38764:416:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15962, - "nodeType": "Block", - "src": "39467:326:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15934, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39481:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15935, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39490:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Payroll", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39490:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39481:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15941, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39570:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15942, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39579:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Reimbursement", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39579:25:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39570:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15948, - "nodeType": "IfStatement", - "src": "39566:96:18", - "trueBody": { - "id": 15947, - "nodeType": "Block", - "src": "39606:56:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f796565207265696d62757273656d656e74", - "id": 15945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39627:24:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bbb2ad9332292ede951972e02d091a13684c35a8d15242ca014d83fc24223c70", - "typeString": "literal_string \"Employee reimbursement\"" - }, - "value": "Employee reimbursement" - }, - "functionReturnParameters": 15933, - "id": 15946, - "nodeType": "Return", - "src": "39620:31:18" - } - ] - } - }, - "id": 15949, - "nodeType": "IfStatement", - "src": "39477:185:18", - "trueBody": { - "id": 15940, - "nodeType": "Block", - "src": "39511:49:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f7965652073616c617279", - "id": 15938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39532:17:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9663ea10cc7328675b783385c4968d93ca8f6560fb62ecadc3bab8fb17894e44", - "typeString": "literal_string \"Employee salary\"" - }, - "value": "Employee salary" - }, - "functionReturnParameters": 15933, - "id": 15939, - "nodeType": "Return", - "src": "39525:24:18" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "id": 15953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15950, - "name": "_type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15929, - "src": "39667:5:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 15951, - "name": "PaymentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14145, - "src": "39676:11:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PaymentType_$14145_$", - "typeString": "type(enum Payroll.PaymentType)" - } - }, - "id": 15952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Bonus", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "39676:17:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "src": "39667:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 15957, - "nodeType": "IfStatement", - "src": "39663:80:18", - "trueBody": { - "id": 15956, - "nodeType": "Block", - "src": "39695:48:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "456d706c6f79656520626f6e7573", - "id": 15954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39716:16:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2016c14dd8969cad91c4b8ce072ffc5ec4536027be9b0c8d966002f125494149", - "typeString": "literal_string \"Employee bonus\"" - }, - "value": "Employee bonus" - }, - "functionReturnParameters": 15933, - "id": 15955, - "nodeType": "Return", - "src": "39709:23:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 15959, - "name": "ERROR_INVALID_PAYMENT_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14111, - "src": "39759:26:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15958, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29789, - 29790 - ], - "referencedDeclaration": 29790, - "src": "39752:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 15960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39752:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15961, - "nodeType": "ExpressionStatement", - "src": "39752:34:18" - } - ] - }, - "documentation": "@dev Get payment reference for a given payment type\n@param _type Payment type to query the reference of\n@return Payment reference for the given payment type", - "id": 15963, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_paymentReferenceFor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15929, - "name": "_type", - "nodeType": "VariableDeclaration", - "scope": 15963, - "src": "39410:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - }, - "typeName": { - "contractScope": null, - "id": 15928, - "name": "PaymentType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14145, - "src": "39410:11:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PaymentType_$14145", - "typeString": "enum Payroll.PaymentType" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39409:19:18" - }, - "payable": false, - "returnParameters": { - "id": 15933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15963, - "src": "39452:6:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 15931, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "39452:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39451:15:18" - }, - "scope": 15995, - "src": "39380:413:18", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 15993, - "nodeType": "Block", - "src": "39907:213:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15973, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "39925:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39939:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39925:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15976, - "name": "ERROR_NOTHING_PAID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14114, - "src": "39942:18:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "39917:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39917:44:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15978, - "nodeType": "ExpressionStatement", - "src": "39917:44:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15980, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "39979:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 15981, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "39994:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39979:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 15983, - "name": "ERROR_INVALID_REQUESTED_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14141, - "src": "40012:30:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 15979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "39971:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 15984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "39971:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 15985, - "nodeType": "ExpressionStatement", - "src": "39971:72:18" - }, - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 15988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 15986, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "40060:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 15987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "40079:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "40060:20:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 15990, - "name": "_owedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15965, - "src": "40102:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "40060:53:18", - "trueExpression": { - "argumentTypes": null, - "id": 15989, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15967, - "src": "40083:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15971, - "id": 15992, - "nodeType": "Return", - "src": "40053:60:18" - } - ] - }, - "documentation": null, - "id": 15994, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_ensurePaymentAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15965, - "name": "_owedAmount", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39829:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39829:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15967, - "name": "_requestedAmount", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39850:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39850:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39828:47:18" - }, - "payable": false, - "returnParameters": { - "id": 15971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15970, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 15994, - "src": "39898:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 15969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39898:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "39897:9:18" - }, - "scope": 15995, - "src": "39799:321:18", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 15996, - "src": "508:39614:18" - } - ], - "src": "0:40123:18" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.631Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Petrifiable.json b/templates/multisig/build/contracts/Petrifiable.json deleted file mode 100644 index d68ed36..0000000 --- a/templates/multisig/build/contracts/Petrifiable.json +++ /dev/null @@ -1,884 +0,0 @@ -{ - "contractName": "Petrifiable", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610160806100206000396000f3006080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac0811461005b5780638b3dd74914610084578063de4796ed146100ab575b600080fd5b34801561006757600080fd5b506100706100c0565b604080519115158252519081900360200190f35b34801561009057600080fd5b506100996100e9565b60408051918252519081900360200190f35b3480156100b757600080fd5b50610070610119565b6000806100cb6100e9565b905080158015906100e35750806100e061012c565b10155b91505090565b60006101147febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e610130565b905090565b60006000196101266100e9565b14905090565b4390565b54905600a165627a7a72305820f6ce19c4f551695b01425051a09d95b464a93216a26c8bc056cf87532aaf028d0029", - "deployedBytecode": "0x6080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac0811461005b5780638b3dd74914610084578063de4796ed146100ab575b600080fd5b34801561006757600080fd5b506100706100c0565b604080519115158252519081900360200190f35b34801561009057600080fd5b506100996100e9565b60408051918252519081900360200190f35b3480156100b757600080fd5b50610070610119565b6000806100cb6100e9565b905080158015906100e35750806100e061012c565b10155b91505090565b60006101147febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e610130565b905090565b60006000196101266100e9565b14905090565b4390565b54905600a165627a7a72305820f6ce19c4f551695b01425051a09d95b464a93216a26c8bc056cf87532aaf028d0029", - "sourceMap": "102:574:50:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:574:50;;;;;;;", - "deployedSourceMap": "102:574:50:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;881:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;;;;;;;;;;;;;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;881:137::-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:53:-;422:12;347:94;:::o;519:134:55:-;630:15;;620:27::o", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./Initializable.sol\";\n\n\ncontract Petrifiable is Initializable {\n // Use block UINT256_MAX (which should be never) as the initializable date\n uint256 internal constant PETRIFIED_BLOCK = uint256(-1);\n\n function isPetrified() public view returns (bool) {\n return getInitializationBlock() == PETRIFIED_BLOCK;\n }\n\n /**\n * @dev Function to be called by top level contract to prevent being initialized.\n * Useful for freezing base contracts when they're used behind proxies.\n */\n function petrify() internal onlyInit {\n initializedAt(PETRIFIED_BLOCK);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/Petrifiable.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "exportedSymbols": { - "Petrifiable": [ - 23858 - ] - }, - "id": 23859, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23827, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:50" - }, - { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "file": "./Initializable.sol", - "id": 23828, - "nodeType": "ImportDirective", - "scope": 23859, - "sourceUnit": 23798, - "src": "70:29:50", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23829, - "name": "Initializable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23797, - "src": "126:13:50", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$23797", - "typeString": "contract Initializable" - } - }, - "id": 23830, - "nodeType": "InheritanceSpecifier", - "src": "126:13:50" - } - ], - "contractDependencies": [ - 23797, - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23858, - "linearizedBaseContracts": [ - 23858, - 23797, - 24154 - ], - "name": "Petrifiable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23836, - "name": "PETRIFIED_BLOCK", - "nodeType": "VariableDeclaration", - "scope": 23858, - "src": "225:55:50", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "225:7:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "277:2:50", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "278:1:50", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 23832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "269:7:50", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 23835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "269:11:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 23846, - "nodeType": "Block", - "src": "337:67:50", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23841, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "354:22:50", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "354:24:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 23843, - "name": "PETRIFIED_BLOCK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23836, - "src": "382:15:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "354:43:50", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23840, - "id": 23845, - "nodeType": "Return", - "src": "347:50:50" - } - ] - }, - "documentation": null, - "id": 23847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isPetrified", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23837, - "nodeType": "ParameterList", - "parameters": [], - "src": "307:2:50" - }, - "payable": false, - "returnParameters": { - "id": 23840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23847, - "src": "331:4:50", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23838, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "331:4:50", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "330:6:50" - }, - "scope": 23858, - "src": "287:117:50", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23856, - "nodeType": "Block", - "src": "627:47:50", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23853, - "name": "PETRIFIED_BLOCK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23836, - "src": "651:15:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 23852, - "name": "initializedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23796, - "src": "637:13:50", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 23854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "637:30:50", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23855, - "nodeType": "ExpressionStatement", - "src": "637:30:50" - } - ] - }, - "documentation": "@dev Function to be called by top level contract to prevent being initialized.\n Useful for freezing base contracts when they're used behind proxies.", - "id": 23857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23850, - "modifierName": { - "argumentTypes": null, - "id": 23849, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "618:8:50", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "618:8:50" - } - ], - "name": "petrify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23848, - "nodeType": "ParameterList", - "parameters": [], - "src": "606:2:50" - }, - "payable": false, - "returnParameters": { - "id": 23851, - "nodeType": "ParameterList", - "parameters": [], - "src": "627:0:50" - }, - "scope": 23858, - "src": "590:84:50", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23859, - "src": "102:574:50" - } - ], - "src": "44:633:50" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol", - "exportedSymbols": { - "Petrifiable": [ - 23858 - ] - }, - "id": 23859, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23827, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:50" - }, - { - "absolutePath": "@aragon/os/contracts/common/Initializable.sol", - "file": "./Initializable.sol", - "id": 23828, - "nodeType": "ImportDirective", - "scope": 23859, - "sourceUnit": 23798, - "src": "70:29:50", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 23829, - "name": "Initializable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23797, - "src": "126:13:50", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$23797", - "typeString": "contract Initializable" - } - }, - "id": 23830, - "nodeType": "InheritanceSpecifier", - "src": "126:13:50" - } - ], - "contractDependencies": [ - 23797, - 24154 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23858, - "linearizedBaseContracts": [ - 23858, - 23797, - 24154 - ], - "name": "Petrifiable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23836, - "name": "PETRIFIED_BLOCK", - "nodeType": "VariableDeclaration", - "scope": 23858, - "src": "225:55:50", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "225:7:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "277:2:50", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "278:1:50", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 23832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "269:7:50", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 23835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "269:11:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 23846, - "nodeType": "Block", - "src": "337:67:50", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 23844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 23841, - "name": "getInitializationBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23749, - "src": "354:22:50", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 23842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "354:24:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 23843, - "name": "PETRIFIED_BLOCK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23836, - "src": "382:15:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "354:43:50", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23840, - "id": 23845, - "nodeType": "Return", - "src": "347:50:50" - } - ] - }, - "documentation": null, - "id": 23847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isPetrified", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23837, - "nodeType": "ParameterList", - "parameters": [], - "src": "307:2:50" - }, - "payable": false, - "returnParameters": { - "id": 23840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23847, - "src": "331:4:50", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23838, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "331:4:50", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "330:6:50" - }, - "scope": 23858, - "src": "287:117:50", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23856, - "nodeType": "Block", - "src": "627:47:50", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23853, - "name": "PETRIFIED_BLOCK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23836, - "src": "651:15:50", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 23852, - "name": "initializedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23796, - "src": "637:13:50", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 23854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "637:30:50", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23855, - "nodeType": "ExpressionStatement", - "src": "637:30:50" - } - ] - }, - "documentation": "@dev Function to be called by top level contract to prevent being initialized.\n Useful for freezing base contracts when they're used behind proxies.", - "id": 23857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 23850, - "modifierName": { - "argumentTypes": null, - "id": 23849, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "618:8:50", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "618:8:50" - } - ], - "name": "petrify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23848, - "nodeType": "ParameterList", - "parameters": [], - "src": "606:2:50" - }, - "payable": false, - "returnParameters": { - "id": 23851, - "nodeType": "ParameterList", - "parameters": [], - "src": "627:0:50" - }, - "scope": 23858, - "src": "590:84:50", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23859, - "src": "102:574:50" - } - ], - "src": "44:633:50" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.206Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Presale.json b/templates/multisig/build/contracts/Presale.json deleted file mode 100644 index 7553c73..0000000 --- a/templates/multisig/build/contracts/Presale.json +++ /dev/null @@ -1,27906 +0,0 @@ -{ - "contractName": "Presale", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "vestingCompletePeriod", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PPM", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "supplyOfferedPct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "vestingCliffPeriod", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenManager", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "beneficiary", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "fundingForBeneficiaryPct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "goal", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "contributions", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "OPEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRIBUTE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isClosed", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalRaised", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "reserve", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "vestingCliffDate", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "openDate", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "period", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "vestingCompleteDate", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "controller", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "date", - "type": "uint64" - } - ], - "name": "SetOpenDate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "Close", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "contributor", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "vestedPurchaseId", - "type": "uint256" - } - ], - "name": "Contribute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "contributor", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "vestedPurchaseId", - "type": "uint256" - } - ], - "name": "Refund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_controller", - "type": "address" - }, - { - "name": "_tokenManager", - "type": "address" - }, - { - "name": "_reserve", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - }, - { - "name": "_contributionToken", - "type": "address" - }, - { - "name": "_goal", - "type": "uint256" - }, - { - "name": "_period", - "type": "uint64" - }, - { - "name": "_exchangeRate", - "type": "uint256" - }, - { - "name": "_vestingCliffPeriod", - "type": "uint64" - }, - { - "name": "_vestingCompletePeriod", - "type": "uint64" - }, - { - "name": "_supplyOfferedPct", - "type": "uint256" - }, - { - "name": "_fundingForBeneficiaryPct", - "type": "uint256" - }, - { - "name": "_openDate", - "type": "uint64" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "open", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_contributor", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "contribute", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_contributor", - "type": "address" - }, - { - "name": "_vestedPurchaseId", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "close", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_value", - "type": "uint256" - } - ], - "name": "contributionToTokens", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "contributionToken", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "state", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062003e398339815191526401000000006200235c6200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062003e3983398151915282640100000000620023606200023782021704565b50565b5490565b9055565b613bee806200024b6000396000f3006080604052600436106101d35763ffffffff60e060020a600035041662fb40c281146101d85780630803fac01461020a5780630d720bbc146102335780631e4e5b611461025a57806325eeb6c61461026f5780632914b9bd146102845780632a709b14146102f957806332f0a3b51461030e57806338af3eed146103235780633ba0b9a9146103385780633c2ab1ba1461034d5780634019388314610362578063410085df1461037757806343d726d61461039d5780634bedf9a8146103b2578063550b521c146103c75780636a928e8f146103eb5780637e7db6e11461040057806380afdea8146104215780638418cd99146104365780638b3dd7491461044d57806396330f46146104625780639d4941d81461047a578063a1658fad1461049b578063a2b96b6f14610502578063a479e50814610517578063b472fc811461052c578063c19d93fb14610598578063c2b6b58c146105d1578063c5c4744c146105e6578063cd3293de146105fb578063d4aae0c414610610578063daba92f914610625578063de4796ed1461063a578063ec8cb2811461064f578063ef78d4fd14610664578063eff1e3b214610679578063f77c47911461068e578063fc0c546a146106a3578063fcfff16f146106b8575b600080fd5b3480156101e457600080fd5b506101ed6106cd565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561021657600080fd5b5061021f6106e9565b604080519115158252519081900360200190f35b34801561023f57600080fd5b50610248610712565b60408051918252519081900360200190f35b34801561026657600080fd5b50610248610719565b34801561027b57600080fd5b506101ed61071f565b34801561029057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102dd94369492936024939284019190819084018382808284375094975061072f9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561030557600080fd5b506102dd610815565b34801561031a57600080fd5b506102dd610824565b34801561032f57600080fd5b506102dd61089d565b34801561034457600080fd5b506102486108ac565b34801561035957600080fd5b506102486108b2565b34801561036e57600080fd5b506102486108b8565b34801561038357600080fd5b5061039b600160a060020a03600435166024356108be565b005b3480156103a957600080fd5b5061039b610ad7565b3480156103be57600080fd5b506102dd610cb0565b3480156103d357600080fd5b50610248600160a060020a0360043516602435610d3f565b3480156103f757600080fd5b50610248610d5c565b34801561040c57600080fd5b5061021f600160a060020a0360043516610d80565b34801561042d57600080fd5b50610248610d86565b61039b600160a060020a0360043516602435610db6565b34801561045957600080fd5b50610248611152565b34801561046e57600080fd5b5061024860043561117d565b34801561048657600080fd5b5061039b600160a060020a036004351661122a565b3480156104a757600080fd5b50604080516020600460443581810135838102808601850190965280855261021f958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506114b99650505050505050565b34801561050e57600080fd5b50610248611609565b34801561052357600080fd5b506102dd61162d565b34801561053857600080fd5b5061039b600160a060020a036004358116906024358116906044358116906064358116906084351660a43567ffffffffffffffff60c43581169060e4359061010435811690610124358116906101443590610164359061018435166116e2565b3480156105a457600080fd5b506105ad611f80565b604051808260048111156105bd57fe5b60ff16815260200191505060405180910390f35b3480156105dd57600080fd5b5061021f6120a2565b3480156105f257600080fd5b506102486120b7565b34801561060757600080fd5b506102dd6120bd565b34801561061c57600080fd5b506102dd6120cc565b34801561063157600080fd5b506101ed6120f7565b34801561064657600080fd5b5061021f612114565b34801561065b57600080fd5b506101ed612127565b34801561067057600080fd5b506101ed612137565b34801561068557600080fd5b506101ed612147565b34801561069a57600080fd5b506102dd61215e565b3480156106af57600080fd5b506102dd61216d565b3480156106c457600080fd5b5061039b61217c565b60095468010000000000000000900467ffffffffffffffff1681565b6000806106f4611152565b9050801580159061070c575080610709612358565b10155b91505090565b620f424081565b600a5481565b60095467ffffffffffffffff1681565b600061073961162d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561079757818101518382015260200161077f565b50505050905090810190601f1680156107c45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b505192915050565b600154600160a060020a031681565b600061082e6120cc565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b505050506040513d602081101561089557600080fd5b505190505b90565b600454600160a060020a031681565b60085481565b600b5481565b60065481565b6108d5600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae3833981519152602082015290156109845760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610949578181015183820152602001610931565b50505050905090810190601f1680156109765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506109a4600080516020613b63833981519152600163ffffffff61236016565b6109ac6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610a205760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506002610a2b611f80565b6004811115610a3657fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610aa95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610ab48282612364565b610ad3600080516020613b63833981519152600063ffffffff61236016565b5050565b610aee600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae383398151915260208201529015610b615760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610b81600080516020613b63833981519152600163ffffffff61236016565b610b896106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610bfd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506003610c08611f80565b6004811115610c1357fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610c865760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610c8f612641565b610cae600080516020613b63833981519152600063ffffffff61236016565b565b6000610cba6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610d2e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5050600554600160a060020a031690565b600e60209081526000928352604080842090915290825290205481565b7fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a481565b50600190565b6000610db17fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61235c565b905090565b610dcd600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae383398151915260208201529015610e405760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610e60600080516020613b63833981519152600163ffffffff61236016565b604080516000808252602082019092527f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0791610ea29133918491905b506114b9565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515610f285760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506001610f33611f80565b6004811115610f3e57fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610fb15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50604080518082019091526020808252600080516020613b43833981519152908201528215156110265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554600160a060020a031615156110b357604080518082019091526020808252600080516020613b43833981519152908201523483146110ad5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611128565b604080518082019091526020808252600080516020613b438339815191529082015234156111265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b61113283836129e4565b50610ad3600080516020613b63833981519152600063ffffffff61236016565b6000610db17febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61235c565b60006111876106e9565b6040805180820190915260148152600080516020613b8383398151915260208201529015156111fb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611224620f424061121860085485612e9390919063ffffffff16565b9063ffffffff612f4a16565b92915050565b600080600061123884610d80565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156112be5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506112c7610824565b92506112d283612fea565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113585760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600160a060020a03841615156113a95760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113a3573d6000803e3d6000fd5b50611468565b50826113c4600160a060020a0382163063ffffffff61301716565b91506113e0600160a060020a038216848463ffffffff61310116565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156114665760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806114c46106e9565b15156114d35760009150611601565b6114db6120cc565b9050600160a060020a03811615156114f65760009150611601565b80600160a060020a031663fdef910686308761151188613177565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561158357818101518382015260200161156b565b50505050905090810190601f1680156115b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156115d257600080fd5b505af11580156115e6573d6000803e3d6000fd5b505050506040513d60208110156115fc57600080fd5b505191505b509392505050565b7f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0781565b6000806116386120cc565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156107e357600080fd5b6116ea611152565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561176f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506117798d612fea565b6040805180820190915260178152600080516020613b0383398151915260208201529015156117ed5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506117f78c612fea565b6040805180820190915260178152600080516020613b03833981519152602082015290151561186b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506118758b612fea565b6040805180820190915260178152600080516020613b0383398151915260208201529015156118e95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b81527f50524553414c455f494e56414c49445f42454e454649434941525900000000006020820152600160a060020a038b1615156119795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5061198389612fea565b806119955750600160a060020a038916155b6040805190810160405280602081526020017f50524553414c455f494e56414c49445f434f4e545249425554455f544f4b454e815250901515611a1d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601481527f50524553414c455f494e56414c49445f474f414c000000000000000000000000602082015260008911611aa55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba38339815191526020820152600067ffffffffffffffff891611611b255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601d81527f50524553414c455f494e56414c49445f45584348414e47455f52415445000000602082015260008711611bad5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba3833981519152602082015267ffffffffffffffff80891690871611611c2f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba3833981519152602082015267ffffffffffffffff80871690861611611cb15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600083118015611cc55750620f42408311155b60408051808201909152601381527f50524553414c455f494e56414c49445f504354000000000000000000000000006020820152901515611d4b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060008210158015611d605750620f42408211155b60408051808201909152601381527f50524553414c455f494e56414c49445f504354000000000000000000000000006020820152901515611de65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611def613181565b8c6000806101000a815481600160a060020a030219169083600160a060020a031602179055508b600160006101000a815481600160a060020a030219169083600160a060020a031602179055508b600160a060020a031663fc0c546a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611e7a57600080fd5b505af1158015611e8e573d6000803e3d6000fd5b505050506040513d6020811015611ea457600080fd5b50516002805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03938416179091556003805482168e84161790556004805482168d841617905560058054909116918b1691909117905560068890556007805467ffffffffffffffff1990811667ffffffffffffffff8a811691909117909255600888905560098054909116878316176fffffffffffffffff000000000000000019166801000000000000000087841602179055600a849055600b839055811615611f7157611f7181613247565b50505050505050505050505050565b6000611f8a6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515611ffe5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c5467ffffffffffffffff16158061202e575061201b613338565b600c5467ffffffffffffffff9182169116115b1561203b5750600061089a565b600654600d541061206d57600c5468010000000000000000900460ff16156120655750600461089a565b50600361089a565b60075467ffffffffffffffff1661208261334a565b67ffffffffffffffff16101561209a5750600161089a565b50600261089a565b600c5468010000000000000000900460ff1681565b600d5481565b600354600160a060020a031681565b6000610db17f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61235c565b600c546901000000000000000000900467ffffffffffffffff1681565b6000600019612121611152565b14905090565b600c5467ffffffffffffffff1681565b60075467ffffffffffffffff1681565b600c54608860020a900467ffffffffffffffff1681565b600054600160a060020a031681565b600254600160a060020a031681565b604080516000808252602082019092527fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4916121bc913391849190610e9c565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156122425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600061224d611f80565b600481111561225857fe5b6040805180820190915260158152600080516020613ac3833981519152602082015291146122cb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c546040805180820190915260158152600080516020613ac383398151915260208201529067ffffffffffffffff161561234c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5061235561339e565b50565b4390565b5490565b9055565b600160a060020a0382166000908152600e602090815260408083208484528252808320548151808301909252601982527f50524553414c455f4e4f5448494e475f544f5f524546554e4400000000000000928201929092529091908183116124115760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600160a060020a038085166000908152600e6020908152604080832087845290915281205560055461244791163086856133ae565b600154604080517f3e05a36d000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905291519190921691633e05a36d9160448083019260a09291908290030181600087803b1580156124b657600080fd5b505af11580156124ca573d6000803e3d6000fd5b505050506040513d60a08110156124e057600080fd5b5051600154604080517ffa6799f2000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915193945091169163fa6799f29160448082019260009290919082900301818387803b15801561255257600080fd5b505af1158015612566573d6000803e3d6000fd5b5050600154604080517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a0390921660048301819052602483018690529051909350639dc29fac9250604480830192600092919082900301818387803b1580156125d757600080fd5b505af11580156125eb573d6000803e3d6000fd5b505060408051858152602081018590528082018790529051600160a060020a03881693507fb7048c2ad36aadee977bb16b4543a18866044d27a2ca753e1c7dbcfa7d7a696292509081900360600190a250505050565b600c805468ff0000000000000000191668010000000000000000179055600b54600d546000918291829161268491620f424091611218919063ffffffff612e9316565b925060008311156126ae576005546004546126ae91600160a060020a0390811691309116866133ae565b600554600160a060020a031615612740576005546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561270f57600080fd5b505af1158015612723573d6000803e3d6000fd5b505050506040513d602081101561273957600080fd5b5051612743565b30315b60055460035491935061276591600160a060020a0391821691309116856133ae565b600a5461280d90611218612782620f42408363ffffffff61362d16565b600260009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156127d557600080fd5b505af11580156127e9573d6000803e3d6000fd5b505050506040513d60208110156127ff57600080fd5b50519063ffffffff612e9316565b6001546040805160e160020a63664395b3028152600481018490529051929350600160a060020a039091169163cc872b669160248082019260009290919082900301818387803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505060015460048054600c546040805160e060020a6321cb18cd028152600160a060020a03938416948101949094526024840188905267ffffffffffffffff80831660448601526901000000000000000000830481166064860152608860020a9092049091166084840152600060a4840181905290519190931694506321cb18cd935060c48083019360209383900390910190829087803b15801561291857600080fd5b505af115801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b505060008054604080517fc9567bf90000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169263c9567bf99260048084019382900301818387803b15801561299e57600080fd5b505af11580156129b2573d6000803e3d6000fd5b50506040517fc35789ccff76271dc0efa6bfde2f4d4a32cd48dd86278f75f8648cb068c86e3b925060009150a1505050565b6000806000600654612a0185600d546136c190919063ffffffff16565b11612a0c5783612a21565b600d54600654612a219163ffffffff61362d16565b600554909350600160a060020a0316158015612a3c57508284115b15612a7f57336108fc612a55868663ffffffff61362d16565b6040518115909202916000818181858888f19350505050158015612a7d573d6000803e3d6000fd5b505b600554600160a060020a031615612cd4576005546040805160e060020a6370a08231028152600160a060020a0388811660048301529151869392909216916370a08231916024808201926020929091908290030181600087803b158015612ae557600080fd5b505af1158015612af9573d6000803e3d6000fd5b505050506040513d6020811015612b0f57600080fd5b505160408051808201909152601c81527f50524553414c455f494e53554646494349454e545f42414c414e4345000000006020820152911115612b975760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015230602483015291518693929092169163dd62ed3e916044808201926020929091908290030181600087803b158015612c0957600080fd5b505af1158015612c1d573d6000803e3d6000fd5b505050506040513d6020811015612c3357600080fd5b505160408051808201909152601e81527f50524553414c455f494e53554646494349454e545f414c4c4f57414e434500006020820152911115612cbb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554612cd490600160a060020a03168630866133ae565b612cdd8361117d565b6001546040805160e160020a63664395b3028152600481018490529051929450600160a060020a039091169163cc872b669160248082019260009290919082900301818387803b158015612d3057600080fd5b505af1158015612d44573d6000803e3d6000fd5b505060018054600c546040805160e060020a6321cb18cd028152600160a060020a038c81166004830152602482018a905267ffffffffffffffff80851660448401526901000000000000000000850481166064840152608860020a909404909316608482015260a481019490945251911693506321cb18cd925060c48083019260209291908290030181600087803b158015612ddf57600080fd5b505af1158015612df3573d6000803e3d6000fd5b505050506040513d6020811015612e0957600080fd5b5051600d54909150612e21908463ffffffff6136c116565b600d55600160a060020a0385166000818152600e60209081526040808320858452825291829020869055815186815290810185905280820184905290517f37e36ebc6d4ece9d361f20138c5dee2a19f8029f2236a30715e971bcf0f0b7349181900360600190a25050505050565b5490565b600080831515612ea65760009150612f43565b50828202828482811515612eb657fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b508091505b5092915050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411612fd55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b508284811515612fe157fe5b04949350505050565b600080600160a060020a03831615156130065760009150613011565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a0823102179052600090818061306c868461374f565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156130f75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061316e8582613780565b95945050505050565b8051602002815290565b613189611152565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561320e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610cae61321a612358565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61236016565b61324f613338565b60408051808201909152601b8152600080516020613ba383398151915260208201529067ffffffffffffffff90811690831610156132d25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c805467ffffffffffffffff191667ffffffffffffffff83161790556132f86137d2565b6040805167ffffffffffffffff8316815290517fab2aeaceefdbd207caa02bf58306335f7c37fd3b434a6cc547733be5e33a86779181900360200190a150565b6000610db1613345613872565b613876565b600c5460009067ffffffffffffffff1615156133685750600061089a565b600c546133979067ffffffffffffffff16613381613338565b67ffffffffffffffff169063ffffffff61390f16565b905061089a565b610cae6133a9613338565b613247565b600160a060020a03841615156134f75760408051808201909152601f8152600080516020613b238339815191526020820152600160a060020a038416301461343b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601f8152600080516020613b238339815191526020820152600160a060020a0383163014156134ba5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156134f1573d6000803e3d6000fd5b50613627565b600160a060020a03831630141561359657613522600160a060020a038516838363ffffffff61310116565b60408051808201909152601f8152600080516020613b2383398151915260208201529015156134f15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b6135b1600160a060020a03851684848463ffffffff6139a816565b60408051808201909152601f8152600080516020613b2383398151915260208201529015156136255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b50505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156136b95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b6000806000806040516020818751602089018a5afa9250600083111561377457805191505b50909590945092505050565b6000806040516020818551602087016000895af160008111156137c4573d80156137b157602081146137ba576137c2565b600193506137c2565b600183511493505b505b5090949350505050565b9055565b600954600c546137f59167ffffffffffffffff918216911663ffffffff613a2716565b600c805470ffffffffffffffff0000000000000000001916690100000000000000000067ffffffffffffffff93841602179081905560095461384892918216916801000000000000000090910416613a27565b600c60116101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff8311156139085760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5090919050565b60408051808201909152601481527f4d41544836345f5355425f554e444552464c4f570000000000000000000000006020820152600090819067ffffffffffffffff80861690851611156136b95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090613a1d8682613780565b9695505050505050565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f570000000000000000000000000060208201526000908383019067ffffffffffffffff8086169083161015612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931560050524553414c455f494e56414c49445f535441544500000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c0000000000000050524553414c455f434f4e54524143545f49535f454f4100000000000000000050524553414c455f544f4b454e5f5452414e534645525f52455645525445440050524553414c455f494e56414c49445f434f4e545249425554455f56414c5545e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb494e49545f4e4f545f494e495449414c495a454400000000000000000000000050524553414c455f494e56414c49445f54494d455f504552494f440000000000a165627a7a72305820b656e4b686e3d5bb1ffcd03d57f2b27d9a926f8625b2b6e0c21cd3d8a032f6b00029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101d35763ffffffff60e060020a600035041662fb40c281146101d85780630803fac01461020a5780630d720bbc146102335780631e4e5b611461025a57806325eeb6c61461026f5780632914b9bd146102845780632a709b14146102f957806332f0a3b51461030e57806338af3eed146103235780633ba0b9a9146103385780633c2ab1ba1461034d5780634019388314610362578063410085df1461037757806343d726d61461039d5780634bedf9a8146103b2578063550b521c146103c75780636a928e8f146103eb5780637e7db6e11461040057806380afdea8146104215780638418cd99146104365780638b3dd7491461044d57806396330f46146104625780639d4941d81461047a578063a1658fad1461049b578063a2b96b6f14610502578063a479e50814610517578063b472fc811461052c578063c19d93fb14610598578063c2b6b58c146105d1578063c5c4744c146105e6578063cd3293de146105fb578063d4aae0c414610610578063daba92f914610625578063de4796ed1461063a578063ec8cb2811461064f578063ef78d4fd14610664578063eff1e3b214610679578063f77c47911461068e578063fc0c546a146106a3578063fcfff16f146106b8575b600080fd5b3480156101e457600080fd5b506101ed6106cd565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561021657600080fd5b5061021f6106e9565b604080519115158252519081900360200190f35b34801561023f57600080fd5b50610248610712565b60408051918252519081900360200190f35b34801561026657600080fd5b50610248610719565b34801561027b57600080fd5b506101ed61071f565b34801561029057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102dd94369492936024939284019190819084018382808284375094975061072f9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561030557600080fd5b506102dd610815565b34801561031a57600080fd5b506102dd610824565b34801561032f57600080fd5b506102dd61089d565b34801561034457600080fd5b506102486108ac565b34801561035957600080fd5b506102486108b2565b34801561036e57600080fd5b506102486108b8565b34801561038357600080fd5b5061039b600160a060020a03600435166024356108be565b005b3480156103a957600080fd5b5061039b610ad7565b3480156103be57600080fd5b506102dd610cb0565b3480156103d357600080fd5b50610248600160a060020a0360043516602435610d3f565b3480156103f757600080fd5b50610248610d5c565b34801561040c57600080fd5b5061021f600160a060020a0360043516610d80565b34801561042d57600080fd5b50610248610d86565b61039b600160a060020a0360043516602435610db6565b34801561045957600080fd5b50610248611152565b34801561046e57600080fd5b5061024860043561117d565b34801561048657600080fd5b5061039b600160a060020a036004351661122a565b3480156104a757600080fd5b50604080516020600460443581810135838102808601850190965280855261021f958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506114b99650505050505050565b34801561050e57600080fd5b50610248611609565b34801561052357600080fd5b506102dd61162d565b34801561053857600080fd5b5061039b600160a060020a036004358116906024358116906044358116906064358116906084351660a43567ffffffffffffffff60c43581169060e4359061010435811690610124358116906101443590610164359061018435166116e2565b3480156105a457600080fd5b506105ad611f80565b604051808260048111156105bd57fe5b60ff16815260200191505060405180910390f35b3480156105dd57600080fd5b5061021f6120a2565b3480156105f257600080fd5b506102486120b7565b34801561060757600080fd5b506102dd6120bd565b34801561061c57600080fd5b506102dd6120cc565b34801561063157600080fd5b506101ed6120f7565b34801561064657600080fd5b5061021f612114565b34801561065b57600080fd5b506101ed612127565b34801561067057600080fd5b506101ed612137565b34801561068557600080fd5b506101ed612147565b34801561069a57600080fd5b506102dd61215e565b3480156106af57600080fd5b506102dd61216d565b3480156106c457600080fd5b5061039b61217c565b60095468010000000000000000900467ffffffffffffffff1681565b6000806106f4611152565b9050801580159061070c575080610709612358565b10155b91505090565b620f424081565b600a5481565b60095467ffffffffffffffff1681565b600061073961162d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561079757818101518382015260200161077f565b50505050905090810190601f1680156107c45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b505192915050565b600154600160a060020a031681565b600061082e6120cc565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b505050506040513d602081101561089557600080fd5b505190505b90565b600454600160a060020a031681565b60085481565b600b5481565b60065481565b6108d5600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae3833981519152602082015290156109845760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610949578181015183820152602001610931565b50505050905090810190601f1680156109765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506109a4600080516020613b63833981519152600163ffffffff61236016565b6109ac6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610a205760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506002610a2b611f80565b6004811115610a3657fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610aa95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610ab48282612364565b610ad3600080516020613b63833981519152600063ffffffff61236016565b5050565b610aee600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae383398151915260208201529015610b615760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610b81600080516020613b63833981519152600163ffffffff61236016565b610b896106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610bfd5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506003610c08611f80565b6004811115610c1357fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610c865760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610c8f612641565b610cae600080516020613b63833981519152600063ffffffff61236016565b565b6000610cba6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515610d2e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5050600554600160a060020a031690565b600e60209081526000928352604080842090915290825290205481565b7fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a481565b50600190565b6000610db17fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61235c565b905090565b610dcd600080516020613b6383398151915261235c565b6040805180820190915260198152600080516020613ae383398151915260208201529015610e405760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610e60600080516020613b63833981519152600163ffffffff61236016565b604080516000808252602082019092527f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0791610ea29133918491905b506114b9565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515610f285760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506001610f33611f80565b6004811115610f3e57fe5b6040805180820190915260158152600080516020613ac383398151915260208201529114610fb15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50604080518082019091526020808252600080516020613b43833981519152908201528215156110265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554600160a060020a031615156110b357604080518082019091526020808252600080516020613b43833981519152908201523483146110ad5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611128565b604080518082019091526020808252600080516020613b438339815191529082015234156111265760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b61113283836129e4565b50610ad3600080516020613b63833981519152600063ffffffff61236016565b6000610db17febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61235c565b60006111876106e9565b6040805180820190915260148152600080516020613b8383398151915260208201529015156111fb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611224620f424061121860085485612e9390919063ffffffff16565b9063ffffffff612f4a16565b92915050565b600080600061123884610d80565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156112be5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506112c7610824565b92506112d283612fea565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113585760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600160a060020a03841615156113a95760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113a3573d6000803e3d6000fd5b50611468565b50826113c4600160a060020a0382163063ffffffff61301716565b91506113e0600160a060020a038216848463ffffffff61310116565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156114665760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806114c46106e9565b15156114d35760009150611601565b6114db6120cc565b9050600160a060020a03811615156114f65760009150611601565b80600160a060020a031663fdef910686308761151188613177565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561158357818101518382015260200161156b565b50505050905090810190601f1680156115b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156115d257600080fd5b505af11580156115e6573d6000803e3d6000fd5b505050506040513d60208110156115fc57600080fd5b505191505b509392505050565b7f9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f0781565b6000806116386120cc565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156107e357600080fd5b6116ea611152565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561176f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506117798d612fea565b6040805180820190915260178152600080516020613b0383398151915260208201529015156117ed5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506117f78c612fea565b6040805180820190915260178152600080516020613b03833981519152602082015290151561186b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b506118758b612fea565b6040805180820190915260178152600080516020613b0383398151915260208201529015156118e95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b81527f50524553414c455f494e56414c49445f42454e454649434941525900000000006020820152600160a060020a038b1615156119795760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5061198389612fea565b806119955750600160a060020a038916155b6040805190810160405280602081526020017f50524553414c455f494e56414c49445f434f4e545249425554455f544f4b454e815250901515611a1d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601481527f50524553414c455f494e56414c49445f474f414c000000000000000000000000602082015260008911611aa55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba38339815191526020820152600067ffffffffffffffff891611611b255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601d81527f50524553414c455f494e56414c49445f45584348414e47455f52415445000000602082015260008711611bad5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba3833981519152602082015267ffffffffffffffff80891690871611611c2f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601b8152600080516020613ba3833981519152602082015267ffffffffffffffff80871690861611611cb15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600083118015611cc55750620f42408311155b60408051808201909152601381527f50524553414c455f494e56414c49445f504354000000000000000000000000006020820152901515611d4b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060008210158015611d605750620f42408211155b60408051808201909152601381527f50524553414c455f494e56414c49445f504354000000000000000000000000006020820152901515611de65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50611def613181565b8c6000806101000a815481600160a060020a030219169083600160a060020a031602179055508b600160006101000a815481600160a060020a030219169083600160a060020a031602179055508b600160a060020a031663fc0c546a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611e7a57600080fd5b505af1158015611e8e573d6000803e3d6000fd5b505050506040513d6020811015611ea457600080fd5b50516002805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03938416179091556003805482168e84161790556004805482168d841617905560058054909116918b1691909117905560068890556007805467ffffffffffffffff1990811667ffffffffffffffff8a811691909117909255600888905560098054909116878316176fffffffffffffffff000000000000000019166801000000000000000087841602179055600a849055600b839055811615611f7157611f7181613247565b50505050505050505050505050565b6000611f8a6106e9565b6040805180820190915260148152600080516020613b838339815191526020820152901515611ffe5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c5467ffffffffffffffff16158061202e575061201b613338565b600c5467ffffffffffffffff9182169116115b1561203b5750600061089a565b600654600d541061206d57600c5468010000000000000000900460ff16156120655750600461089a565b50600361089a565b60075467ffffffffffffffff1661208261334a565b67ffffffffffffffff16101561209a5750600161089a565b50600261089a565b600c5468010000000000000000900460ff1681565b600d5481565b600354600160a060020a031681565b6000610db17f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61235c565b600c546901000000000000000000900467ffffffffffffffff1681565b6000600019612121611152565b14905090565b600c5467ffffffffffffffff1681565b60075467ffffffffffffffff1681565b600c54608860020a900467ffffffffffffffff1681565b600054600160a060020a031681565b600254600160a060020a031681565b604080516000808252602082019092527fefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4916121bc913391849190610e9c565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156122425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600061224d611f80565b600481111561225857fe5b6040805180820190915260158152600080516020613ac3833981519152602082015291146122cb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c546040805180820190915260158152600080516020613ac383398151915260208201529067ffffffffffffffff161561234c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5061235561339e565b50565b4390565b5490565b9055565b600160a060020a0382166000908152600e602090815260408083208484528252808320548151808301909252601982527f50524553414c455f4e4f5448494e475f544f5f524546554e4400000000000000928201929092529091908183116124115760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600160a060020a038085166000908152600e6020908152604080832087845290915281205560055461244791163086856133ae565b600154604080517f3e05a36d000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905291519190921691633e05a36d9160448083019260a09291908290030181600087803b1580156124b657600080fd5b505af11580156124ca573d6000803e3d6000fd5b505050506040513d60a08110156124e057600080fd5b5051600154604080517ffa6799f2000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915193945091169163fa6799f29160448082019260009290919082900301818387803b15801561255257600080fd5b505af1158015612566573d6000803e3d6000fd5b5050600154604080517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a0390921660048301819052602483018690529051909350639dc29fac9250604480830192600092919082900301818387803b1580156125d757600080fd5b505af11580156125eb573d6000803e3d6000fd5b505060408051858152602081018590528082018790529051600160a060020a03881693507fb7048c2ad36aadee977bb16b4543a18866044d27a2ca753e1c7dbcfa7d7a696292509081900360600190a250505050565b600c805468ff0000000000000000191668010000000000000000179055600b54600d546000918291829161268491620f424091611218919063ffffffff612e9316565b925060008311156126ae576005546004546126ae91600160a060020a0390811691309116866133ae565b600554600160a060020a031615612740576005546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561270f57600080fd5b505af1158015612723573d6000803e3d6000fd5b505050506040513d602081101561273957600080fd5b5051612743565b30315b60055460035491935061276591600160a060020a0391821691309116856133ae565b600a5461280d90611218612782620f42408363ffffffff61362d16565b600260009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156127d557600080fd5b505af11580156127e9573d6000803e3d6000fd5b505050506040513d60208110156127ff57600080fd5b50519063ffffffff612e9316565b6001546040805160e160020a63664395b3028152600481018490529051929350600160a060020a039091169163cc872b669160248082019260009290919082900301818387803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505060015460048054600c546040805160e060020a6321cb18cd028152600160a060020a03938416948101949094526024840188905267ffffffffffffffff80831660448601526901000000000000000000830481166064860152608860020a9092049091166084840152600060a4840181905290519190931694506321cb18cd935060c48083019360209383900390910190829087803b15801561291857600080fd5b505af115801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b505060008054604080517fc9567bf90000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169263c9567bf99260048084019382900301818387803b15801561299e57600080fd5b505af11580156129b2573d6000803e3d6000fd5b50506040517fc35789ccff76271dc0efa6bfde2f4d4a32cd48dd86278f75f8648cb068c86e3b925060009150a1505050565b6000806000600654612a0185600d546136c190919063ffffffff16565b11612a0c5783612a21565b600d54600654612a219163ffffffff61362d16565b600554909350600160a060020a0316158015612a3c57508284115b15612a7f57336108fc612a55868663ffffffff61362d16565b6040518115909202916000818181858888f19350505050158015612a7d573d6000803e3d6000fd5b505b600554600160a060020a031615612cd4576005546040805160e060020a6370a08231028152600160a060020a0388811660048301529151869392909216916370a08231916024808201926020929091908290030181600087803b158015612ae557600080fd5b505af1158015612af9573d6000803e3d6000fd5b505050506040513d6020811015612b0f57600080fd5b505160408051808201909152601c81527f50524553414c455f494e53554646494349454e545f42414c414e4345000000006020820152911115612b975760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015230602483015291518693929092169163dd62ed3e916044808201926020929091908290030181600087803b158015612c0957600080fd5b505af1158015612c1d573d6000803e3d6000fd5b505050506040513d6020811015612c3357600080fd5b505160408051808201909152601e81527f50524553414c455f494e53554646494349454e545f414c4c4f57414e434500006020820152911115612cbb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600554612cd490600160a060020a03168630866133ae565b612cdd8361117d565b6001546040805160e160020a63664395b3028152600481018490529051929450600160a060020a039091169163cc872b669160248082019260009290919082900301818387803b158015612d3057600080fd5b505af1158015612d44573d6000803e3d6000fd5b505060018054600c546040805160e060020a6321cb18cd028152600160a060020a038c81166004830152602482018a905267ffffffffffffffff80851660448401526901000000000000000000850481166064840152608860020a909404909316608482015260a481019490945251911693506321cb18cd925060c48083019260209291908290030181600087803b158015612ddf57600080fd5b505af1158015612df3573d6000803e3d6000fd5b505050506040513d6020811015612e0957600080fd5b5051600d54909150612e21908463ffffffff6136c116565b600d55600160a060020a0385166000818152600e60209081526040808320858452825291829020869055815186815290810185905280820184905290517f37e36ebc6d4ece9d361f20138c5dee2a19f8029f2236a30715e971bcf0f0b7349181900360600190a25050505050565b5490565b600080831515612ea65760009150612f43565b50828202828482811515612eb657fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f5700000000000000000000000000000060208201529291900414612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b508091505b5092915050565b60408051808201909152600d81527f4d4154485f4449565f5a45524f0000000000000000000000000000000000000060208201526000908190818411612fd55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b508284811515612fe157fe5b04949350505050565b600080600160a060020a03831615156130065760009150613011565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a0823102179052600090818061306c868461374f565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156130f75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061316e8582613780565b95945050505050565b8051602002815290565b613189611152565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561320e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50610cae61321a612358565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61236016565b61324f613338565b60408051808201909152601b8152600080516020613ba383398151915260208201529067ffffffffffffffff90811690831610156132d25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50600c805467ffffffffffffffff191667ffffffffffffffff83161790556132f86137d2565b6040805167ffffffffffffffff8316815290517fab2aeaceefdbd207caa02bf58306335f7c37fd3b434a6cc547733be5e33a86779181900360200190a150565b6000610db1613345613872565b613876565b600c5460009067ffffffffffffffff1615156133685750600061089a565b600c546133979067ffffffffffffffff16613381613338565b67ffffffffffffffff169063ffffffff61390f16565b905061089a565b610cae6133a9613338565b613247565b600160a060020a03841615156134f75760408051808201909152601f8152600080516020613b238339815191526020820152600160a060020a038416301461343b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5060408051808201909152601f8152600080516020613b238339815191526020820152600160a060020a0383163014156134ba5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b50604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156134f1573d6000803e3d6000fd5b50613627565b600160a060020a03831630141561359657613522600160a060020a038516838363ffffffff61310116565b60408051808201909152601f8152600080516020613b2383398151915260208201529015156134f15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b6135b1600160a060020a03851684848463ffffffff6139a816565b60408051808201909152601f8152600080516020613b2383398151915260208201529015156136255760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505b50505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156136b95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f5700000000000000000000000000000060208201526000908383019084821015612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b6000806000806040516020818751602089018a5afa9250600083111561377457805191505b50909590945092505050565b6000806040516020818551602087016000895af160008111156137c4573d80156137b157602081146137ba576137c2565b600193506137c2565b600183511493505b505b5090949350505050565b9055565b600954600c546137f59167ffffffffffffffff918216911663ffffffff613a2716565b600c805470ffffffffffffffff0000000000000000001916690100000000000000000067ffffffffffffffff93841602179081905560095461384892918216916801000000000000000090910416613a27565b600c60116101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff8311156139085760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b5090919050565b60408051808201909152601481527f4d41544836345f5355425f554e444552464c4f570000000000000000000000006020820152600090819067ffffffffffffffff80861690851611156136b95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd00000000000000000000000000000000000000000000000000000000179052600090613a1d8682613780565b9695505050505050565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f570000000000000000000000000060208201526000908383019067ffffffffffffffff8086169083161015612f3e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610949578181015183820152602001610931560050524553414c455f494e56414c49445f535441544500000000000000000000005245454e5452414e43595f5245454e5452414e545f43414c4c0000000000000050524553414c455f434f4e54524143545f49535f454f4100000000000000000050524553414c455f544f4b454e5f5452414e534645525f52455645525445440050524553414c455f494e56414c49445f434f4e545249425554455f56414c5545e855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb494e49545f4e4f545f494e495449414c495a454400000000000000000000000050524553414c455f494e56414c49445f54494d455f504552494f440000000000a165627a7a72305820b656e4b686e3d5bb1ffcd03d57f2b27d9a926f8625b2b6e0c21cd3d8a032f6b00029", - "sourceMap": "628:16613:8:-;;;344:9:40;:7;;;;:9;:::i;:::-;628:16613:8;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;628:16613:8:-;;;;;;;", - "deployedSourceMap": "628:16613:8:-;;;;;;;;;-1:-1:-1;;;628:16613:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3713:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3713:76:8;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;1232:37:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1232:37:8;;;;;;;;;;;;;;;;;;;;3795:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3795:71:8;;;;3634:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3634:73:8;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;3071:67:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3071:67:8;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;3278:66:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3278:66:8;;;;3561:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3561:67:8;;;;3872:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3872:79:8;;;;3429:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3429:59:8;;;;10353:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10353:225:8;-1:-1:-1;;;;;10353:225:8;;;;;;;;;10645:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10645:147:8;;;;11233:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11233:114:8;;;;4325:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4325:68:8;-1:-1:-1;;;;;4325:68:8;;;;;;;1003:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1003:108:8;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;9553:516:8;;-1:-1:-1;;;;;9553:516:8;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;11080:147:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11080:147:8;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;1117:108:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:108:8;;;;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;6317:2706:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6317:2706:8;-1:-1:-1;;;;;6317:2706:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11425:497;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11425:497:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4027:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4027:63:8;;;;4253:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4253:66:8;;;;3210:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3210:62:8;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;4096:71:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4096:71:8;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;3957:63:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3957:63:8;;;;3494:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3494:61:8;;;;4173:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4173:74:8;;;;3000:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3000:65:8;;;;3144:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3144:60:8;;;;9103:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9103:194:8;;;;3713:76;;;;;;;;;:::o;1128:208:48:-;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;1232:37:8:-;1262:7;1232:37;:::o;3795:71::-;;;;:::o;3634:73::-;;;;;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;3071:67:8:-;;;-1:-1:-1;;;;;3071:67:8;;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;;:::o;3278:66:8:-;;;-1:-1:-1;;;;;3278:66:8;;:::o;3561:67::-;;;;:::o;3872:79::-;;;;:::o;3429:59::-;;;;:::o;10353:225::-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;10483:15:8;10472:7;:5;:7::i;:::-;:26;;;;;;;;10500:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10500:19:8;;;;;10472:26;10464:56;;;;-1:-1:-1;;;;;10464:56:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10464:56:8;;10531:40;10539:12;10553:17;10531:7;:40::i;:::-;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;10353:225:8;;:::o;10645:147::-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;10727:17:8;10716:7;:5;:7::i;:::-;:28;;;;;;;;10746:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10746:19:8;;;;;10716:28;10708:58;;;;-1:-1:-1;;;;;10708:58:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10708:58:8;;10777:8;:6;:8::i;:::-;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:::-;10645:147:8:o;11233:114::-;11297:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;11323:17:8;;-1:-1:-1;;;;;11323:17:8;11233:114;:::o;4325:68::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1003:108::-;1045:66;1003:108;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;9553:516:8:-;621:42:51;-1:-1:-1;;;;;;;;;;;621:40:51;:42::i;:::-;665:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;665:15:51;;;;;620:43;612:69;;;;-1:-1:-1;;;;;612:69:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;612:69:51;-1:-1:-1;735:46:51;-1:-1:-1;;;;;;;;;;;776:4:51;735:46;:40;:46;:::i;:::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;1159:66:8;;990:47:39;;1001:10;;1159:66:8;;1020:16:39;;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;9692:13:8;9681:7;:5;:7::i;:::-;:24;;;;;;;;9707:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9707:19:8;;;;;9681:24;9673:54;;;;-1:-1:-1;;;;;9673:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9673:54:8;-1:-1:-1;9771:30:8;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9771:30:8;;;;9745:11;;;9737:65;;;;-1:-1:-1;;;;;9737:65:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9737:65:8;-1:-1:-1;9817:17:8;;-1:-1:-1;;;;;9817:17:8;:24;9813:206;;;9886:30;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9886:30:8;;;;9865:9;:19;;9857:60;;;;-1:-1:-1;;;;;9857:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9857:60:8;;9813:206;;;9977:30;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9977:30:8;;;;9956:9;:14;9948:60;;;;-1:-1:-1;;;;;9948:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9948:60:8;;9813:206;10029:33;10041:12;10055:6;10029:11;:33::i;:::-;-1:-1:-1;881:47:51;-1:-1:-1;;;;;;;;;;;922:5:51;881:47;:40;:47;:::i;:137:48:-;936:7;962:49;345:66;962:47;:49::i;11080:147:8:-;11161:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;11187:33:8;1262:7;11187:24;11198:12;;11187:6;:10;;:24;;;;:::i;:::-;:28;:33;:28;:33;:::i;:::-;11180:40;11080:147;-1:-1:-1;;11080:147:8:o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;1117:108:8:-;1159:66;1117:108;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;6317:2706:8;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;7085:23:8;7096:11;7085:10;:23::i;:::-;7153:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7153:21:8;;;;;7077:98;;;;;;-1:-1:-1;;;;;7077:98:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7077:98:8;;7193:25;7204:13;7193:10;:25::i;:::-;7261:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7261:21:8;;;;;7185:98;;;;;;-1:-1:-1;;;;;7185:98:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7185:98:8;;7301:20;7312:8;7301:10;:20::i;:::-;7369:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7369:21:8;;;;;7293:98;;;;;;-1:-1:-1;;;;;7293:98:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7293:98:8;-1:-1:-1;7477:25:8;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7409:26:8;;;;7401:102;;;;-1:-1:-1;;;;;7401:102:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7401:102:8;;7521:30;7532:18;7521:10;:30::i;:::-;:59;;;-1:-1:-1;;;;;;7555:25:8;;;7521:59;7589:30;;;;;;;;;;;;;;;;;;7513:107;;;;;;;-1:-1:-1;;;;;7513:107:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7513:107:8;-1:-1:-1;7706:18:8;;;;;;;;;;;;;;;;;7646:1;7638:9;;7630:95;;;;-1:-1:-1;;;;;7630:95:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7630:95:8;-1:-1:-1;7811:25:8;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7811:25:8;;;;7753:1;7743:11;;;;7735:102;;;;-1:-1:-1;;;;;7735:102:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7735:102:8;-1:-1:-1;7923:27:8;;;;;;;;;;;;;;;;;7871:1;7855:17;;7847:104;;;;-1:-1:-1;;;;;7847:104:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7847:104:8;-1:-1:-1;8037:25:8;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:25:8;;;;7969:29;;;;;;;;7961:102;;;;-1:-1:-1;;;;;7961:102:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7961:102:8;-1:-1:-1;8149:25:8;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8149:25:8;;;;8081:44;;;;;;;;8073:102;;;;-1:-1:-1;;;;;8073:102:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8073:102:8;;8213:1;8193:17;:21;:49;;;;;1262:7;8218:17;:24;;8193:49;8261:17;;;;;;;;;;;;;;;;;;8185:94;;;;;;-1:-1:-1;;;;;8185:94:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8185:94:8;;8326:1;8297:25;:30;;:66;;;;;1262:7;8331:25;:32;;8297:66;8365:17;;;;;;;;;;;;;;;;;;8289:94;;;;;;-1:-1:-1;;;;;8289:94:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8289:94:8;;8394:13;:11;:13::i;:::-;8431:11;8418:10;;:24;;;;;-1:-1:-1;;;;;8418:24:8;;;;;-1:-1:-1;;;;;8418:24:8;;;;;;8467:13;8452:12;;:28;;;;;-1:-1:-1;;;;;8452:28:8;;;;;-1:-1:-1;;;;;8452:28:8;;;;;;8504:13;-1:-1:-1;;;;;8504:19:8;;:21;;;;;-1:-1:-1;;;8504:21:8;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8504:21:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8504:21:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8504:21:8;8490:5;:36;;-1:-1:-1;;8490:36:8;;;-1:-1:-1;;;;;8490:36:8;;;;;;;8536:7;:18;;;;;;;;;;8564:11;:26;;;;;;;;;;8600:17;:38;;;;;;;;;;;;;;8648:4;:12;;;8670:6;:16;;-1:-1:-1;;8670:16:8;;;;;;;;;;;;;;8696:12;:28;;;8734:18;:40;;;;;;;;;-1:-1:-1;;8784:46:8;;;;;;;;;8840:16;:36;;;8886:24;:52;;;8953:14;;;8949:68;;8983:23;8996:9;8983:12;:23::i;:::-;6317:2706;;;;;;;;;;;;;:::o;11425:497::-;11477:5;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;11498:8:8;;;;:13;;:44;;;11526:16;:14;:16::i;:::-;11515:8;;:27;;;;:8;;:27;11498:44;11494:95;;;-1:-1:-1;11565:13:8;11558:20;;11494:95;11618:4;;11603:11;;:19;11599:178;;11642:8;;;;;;;11638:129;;;-1:-1:-1;11677:12:8;11670:19;;11638:129;-1:-1:-1;11735:17:8;11728:24;;11638:129;11810:6;;;;11791:16;:14;:16::i;:::-;:25;;;11787:129;;;-1:-1:-1;11839:13:8;11832:20;;11787:129;-1:-1:-1;11890:15:8;11883:22;;4027:63;;;;;;;;;:::o;4253:66::-;;;;:::o;3210:62::-;;;-1:-1:-1;;;;;3210:62:8;;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;4096:71:8:-;;;;;;;;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;3957:63:8:-;;;;;;:::o;3494:61::-;;;;;;:::o;4173:74::-;;;-1:-1:-1;;;4173:74:8;;;;;:::o;3000:65::-;;;-1:-1:-1;;;;;3000:65:8;;:::o;3144:60::-;;;-1:-1:-1;;;;;3144:60:8;;:::o;9103:194::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;1045:66:8;;990:47:39;;1001:10;;1045:66:8;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;-1:-1:-1;9173:13:8;9162:7;:5;:7::i;:::-;:24;;;;;;;;9188:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9188:19:8;;;;;9162:24;9154:54;;;;-1:-1:-1;;;;;9154:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9154:54:8;-1:-1:-1;9226:8:8;;9252:19;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9252:19:8;;;;;9226:8;;:13;9218:54;;;;-1:-1:-1;;;;;9218:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9218:54:8;;9283:7;:5;:7::i;:::-;9103:194;:::o;347:94:53:-;422:12;347:94;:::o;105:128:55:-;210:15;;200:27::o;659:113::-;742:22;;740:26::o;14098:1343:8:-;-1:-1:-1;;;;;14290:27:8;;14265:22;14290:27;;;:13;:27;;;;;;;;:46;;;;;;;;;14374:23;;;;;;;;;;;;;;;;;;;14290:46;;14265:22;14354:18;;;14346:52;;;;-1:-1:-1;;;;;14346:52:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;14346:52:8;-1:-1:-1;;;;;;14408:27:8;;;14457:1;14408:27;;;:13;:27;;;;;;;;:46;;;;;;;;:50;14543:17;;14533:73;;14543:17;14570:4;14422:12;14591:14;14533:9;:73::i;:::-;15100:12;;:56;;;;;;-1:-1:-1;;;;;15100:56:8;;;;;;;;;;;;;;;:12;;;;;:23;;:56;;;;;;;;;;;;;;:12;;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;15100:56:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15100:56:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;15100:56:8;15166:12;;15100:56;15166:59;;;;;-1:-1:-1;;;;;15166:59:8;;;;;;;;;;;;;;;15100:56;;-1:-1:-1;15166:12:8;;;:26;;:59;;;;;:12;;:59;;;;;;;;:12;;:59;;;5:2:-1;;;;30:1;27;20:12;5:2;15166:59:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15299:12:8;;:52;;;;;;-1:-1:-1;;;;;15299:12:8;;;:52;;;;;;;;;;;;;;:12;;-1:-1:-1;15299:17:8;;-1:-1:-1;15299:52:8;;;;;:12;;:52;;;;;;;:12;;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;15299:52:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15367:67:8;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15367:67:8;;;-1:-1:-1;15367:67:8;;-1:-1:-1;15367:67:8;;;;;;;;14098:1343;;;;:::o;15447:1163::-;15484:8;:15;;-1:-1:-1;;15484:15:8;;;;;15621:24;;15605:11;;15575:27;;;;;;15605:50;;1262:7;;15605:41;;:11;:41;:15;:41;:::i;:50::-;15575:80;;15691:1;15669:19;:23;15665:131;;;15718:17;;15752:11;;15708:77;;-1:-1:-1;;;;;15718:17:8;;;;15745:4;;15752:11;15765:19;15708:9;:77::i;:::-;15893:17;;-1:-1:-1;;;;;15893:17:8;:24;:100;;15950:17;;15944:49;;;-1:-1:-1;;;;;15944:49:8;;15987:4;15944:49;;;;;;-1:-1:-1;;;;;15950:17:8;;;;15944:34;;:49;;;;;;;;;;;;;;;15950:17;;15944:49;;;5:2:-1;;;;30:1;27;20:12;5:2;15944:49:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15944:49:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15944:49:8;15893:100;;;15928:4;15920:21;15893:100;16014:17;;16048:7;;15866:127;;-1:-1:-1;16004:70:8;;-1:-1:-1;;;;;16014:17:8;;;;16041:4;;16048:7;15866:127;16004:9;:70::i;:::-;16231:16;;16176:72;;:50;16200:25;1262:7;16231:16;16200:25;:7;:25;:::i;:::-;16176:5;;;;;;;;;-1:-1:-1;;;;;16176:5:8;-1:-1:-1;;;;;16176:17:8;;:19;;;;;-1:-1:-1;;;16176:19:8;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16176:19:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16176:19:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16176:19:8;;:50;:23;:50;:::i;:72::-;16258:12;;:40;;;-1:-1:-1;;;;;16258:40:8;;;;;;;;;;16145:103;;-1:-1:-1;;;;;;16258:12:8;;;;:18;;:40;;;;;:12;;:40;;;;;;;;:12;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;16258:40:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16308:12:8;;16347:11;;;16406:8;;16308:214;;;-1:-1:-1;;;;;16308:214:8;;-1:-1:-1;;;;;16347:11:8;;;16308:214;;;;;;;;;;;;;16406:8;;;;16308:214;;;;16428:16;;;;;16308:214;;;;-1:-1:-1;;;16458:19:8;;;;;;16308:214;;;;:12;:214;;;;;;;;:12;;;;;-1:-1:-1;16308:25:8;;-1:-1:-1;16308:214:8;;;;;;;;;;;;;;;;:12;:214;;;5:2:-1;;;;30:1;27;20:12;5:2;16308:214:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16308:214:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;16556:10:8;;;:24;;;;;;;;-1:-1:-1;;;;;16556:10:8;;;;:22;;:24;;;;;;;;;;:10;;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;16556:24:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16596:7:8;;;;-1:-1:-1;16596:7:8;;-1:-1:-1;16596:7:8;15447:1163;;;:::o;12678:1414::-;12756:13;13468:20;13570:24;12798:4;;12772:23;12788:6;12772:11;;:15;;:23;;;;:::i;:::-;:30;:63;;12829:6;12772:63;;;12814:11;;12805:4;;:21;;;:8;:21;:::i;:::-;12849:17;;12756:79;;-1:-1:-1;;;;;;12849:17:8;:24;:42;;;;;12886:5;12877:6;:14;12849:42;12845:111;;;12907:10;:38;12927:17;:6;12938:5;12927:17;:10;:17;:::i;:::-;12907:38;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12907:38:8;12845:111;13035:17;;-1:-1:-1;;;;;13035:17:8;:24;13031:367;;13089:17;;13083:48;;;-1:-1:-1;;;;;13083:48:8;;-1:-1:-1;;;;;13083:48:8;;;;;;;;;13135:5;;13089:17;;;;;13083:34;;:48;;;;;;;;;;;;;;;13089:17;;13083:48;;;5:2:-1;;;;30:1;27;20:12;5:2;13083:48:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13083:48:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13083:48:8;13157:26;;;;;;;;;;;;;13083:48;13157:26;;;;-1:-1:-1;13083:57:8;13075:109;;;;-1:-1:-1;;;;;13075:109:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13075:109:8;-1:-1:-1;13212:17:8;;13206:63;;;;;;-1:-1:-1;;;;;13206:63:8;;;;;;;13263:4;13206:63;;;;;;13273:5;;13212:17;;;;;13206:34;;:63;;;;;;;;;;;;;;;13212:17;;13206:63;;;5:2:-1;;;;30:1;27;20:12;5:2;13206:63:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13206:63:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13206:63:8;13280:28;;;;;;;;;;;;;13206:63;13280:28;;;;-1:-1:-1;13206:72:8;13198:111;;;;-1:-1:-1;;;;;13198:111:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13198:111:8;-1:-1:-1;13333:17:8;;13323:64;;-1:-1:-1;;;;;13333:17:8;13352:12;13374:4;13381:5;13323:9;:64::i;:::-;13491:27;13512:5;13491:20;:27::i;:::-;13528:12;;:32;;;-1:-1:-1;;;;;13528:32:8;;;;;;;;;;13468:50;;-1:-1:-1;;;;;;13528:12:8;;;;:18;;:32;;;;;:12;;:32;;;;;;;;:12;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;13528:32:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;13597:12:8;;;13688:8;;13597:206;;;-1:-1:-1;;;;;13597:206:8;;-1:-1:-1;;;;;13597:206:8;;;;;;;;;;;;;13688:8;;;;13597:206;;;;13710:16;;;;;13597:206;;;;-1:-1:-1;;;13740:19:8;;;;;;13597:206;;;;;;;;;;;;:12;;;-1:-1:-1;13597:25:8;;-1:-1:-1;13597:206:8;;;;;;;;;;;;;;:12;;:206;;;5:2:-1;;;;30:1;27;20:12;5:2;13597:206:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13597:206:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13597:206:8;13827:11;;13597:206;;-1:-1:-1;13827:22:8;;13843:5;13827:22;:15;:22;:::i;:::-;13813:11;:36;-1:-1:-1;;;;;13953:27:8;;;;;;:13;:27;;;;;;;;:45;;;;;;;;;:53;;;14022:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;12678:1414;;;;;:::o;519:134:55:-;630:15;;620:27::o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1066:41:79;;1125:1;1118:8;;685:448;;;;;;:::o;1251:313::-;1346:14;;;;;;;;;;;;;;;;;1311:7;;;;1338:6;;;1330:31;;;;-1:-1:-1;;;;;1330:31:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1330:31:79;;1446:2;1441;:7;;;;;;;;;1251:313;-1:-1:-1;;;;1251:313:79:o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;179:29;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;12165:231:8:-;12237:16;:14;:16::i;:::-;12255:25;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12255:25:8;;;;;12228;;;;;;;;;12220:61;;;;-1:-1:-1;;;;;12220:61:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12220:61:8;-1:-1:-1;12292:8:8;:16;;-1:-1:-1;;12292:16:8;;;;;;;12318:37;:35;:37::i;:::-;12371:18;;;;;;;;;;;;;;;;;;;12165:231;:::o;1261:106:53:-;1310:6;1335:25;:14;:12;:14::i;:::-;:23;:25::i;11966:193:8:-;12037:8;;12015:6;;12037:8;;:13;12033:120;;;-1:-1:-1;12073:1:8;12066:8;;12033:120;12133:8;;12112:30;;12133:8;;12112:16;:14;:16::i;:::-;:20;;;:30;:20;:30;:::i;:::-;12105:37;;;;12599:73;12635:30;12648:16;:14;:16::i;:::-;12635:12;:30::i;16616:623::-;-1:-1:-1;;;;;16719:13:8;;;16715:518;;;16780:29;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16780:29:8;;;;-1:-1:-1;;;;;16756:22:8;;16773:4;16756:22;16748:62;;;;-1:-1:-1;;;;;16748:62:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16748:62:8;-1:-1:-1;16856:29:8;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16856:29:8;;;;-1:-1:-1;;;;;16832:20:8;;16847:4;16832:20;;16824:62;;;;-1:-1:-1;;;;;16824:62:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16824:62:8;-1:-1:-1;16900:21:8;;-1:-1:-1;;;;;16900:12:8;;;:21;;;;;16913:7;;16900:21;;;;16913:7;16900:12;:21;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16900:21:8;16715:518;;;-1:-1:-1;;;;;16956:22:8;;16973:4;16956:22;16952:271;;;17006:40;-1:-1:-1;;;;;17006:26:8;;17033:3;17038:7;17006:40;:26;:40;:::i;:::-;17048:29;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17048:29:8;;;;;16998:80;;;;;;-1:-1:-1;;;;;16998:80:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16952:271:8;17125:51;-1:-1:-1;;;;;17125:30:8;;17156:5;17163:3;17168:7;17125:51;:30;:51;:::i;:::-;17178:29;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17178:29:8;;;;;17117:91;;;;;;-1:-1:-1;;;;;17117:91:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;17117:91:8;;16952:271;16616:623;;;;:::o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;1928:170::-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2148:774:52;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o;12402:191:8:-;12500:18;;12487:8;;:32;;12500:18;12487:8;;;;12500:18;12487:32;:12;:32;:::i;:::-;12468:16;:51;;-1:-1:-1;;12468:51:8;;;;;;;;;;;;:16;12564:21;12551:35;;:8;;;;12564:21;;;;;12551:12;:35::i;:::-;12529:19;;:57;;;;;;;;;;;;;;;;;;12402:191::o;926:144:53:-;999:15;926:144;:::o;188:149:54:-;283:20;;;;;;;;;;;;;;;;;240:6;;271:10;266:15;;;258:46;;;;-1:-1:-1;;;;;258:46:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;258:46:54;-1:-1:-1;328:1:54;;188:149;-1:-1:-1;188:149:54:o;1596:168:80:-;1690:19;;;;;;;;;;;;;;;;;1654:6;;;;1680:8;;;;;;;;;1672:38;;;;-1:-1:-1;;;;;1672:38:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3586:361:52;3741:131;;;-1:-1:-1;;;;;3741:131:52;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3741:131:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3777:28:52;179:29:-1;160:49;;3689:4:52;;3889:51;3777:6;3741:131;3889:21;:51::i;:::-;3882:58;3586:361;-1:-1:-1;;;;;;3586:361:52:o;1835:166:80:-;1956:18;;;;;;;;;;;;;;;;;1893:6;;1922:7;;;;1947;;;;;;;;;1939:36;;;;-1:-1:-1;;;;;1939:36:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;", - "source": "pragma solidity ^0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath64.sol\";\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\nimport \"@aragon/apps-token-manager/contracts/TokenManager.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IPresale.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol\";\n\ncontract Presale is IPresale, EtherTokenConstant, IsContract, AragonApp {\n using SafeERC20 for ERC20;\n using SafeMath for uint256;\n using SafeMath64 for uint64;\n\n /**\n Hardcoded constants to save gas\n bytes32 public constant OPEN_ROLE = keccak256(\"OPEN_ROLE\");\n bytes32 public constant CONTRIBUTE_ROLE = keccak256(\"CONTRIBUTE_ROLE\");\n */\n bytes32 public constant OPEN_ROLE = 0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4;\n bytes32 public constant CONTRIBUTE_ROLE = 0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07;\n\n uint256 public constant PPM = 1000000; // 0% = 0 * 10 ** 4; 1% = 1 * 10 ** 4; 100% = 100 * 10 ** 4\n\n string private constant ERROR_CONTRACT_IS_EOA = \"PRESALE_CONTRACT_IS_EOA\";\n string private constant ERROR_INVALID_BENEFICIARY = \"PRESALE_INVALID_BENEFICIARY\";\n string private constant ERROR_INVALID_CONTRIBUTE_TOKEN = \"PRESALE_INVALID_CONTRIBUTE_TOKEN\";\n string private constant ERROR_INVALID_GOAL = \"PRESALE_INVALID_GOAL\";\n string private constant ERROR_INVALID_EXCHANGE_RATE = \"PRESALE_INVALID_EXCHANGE_RATE\";\n string private constant ERROR_INVALID_TIME_PERIOD = \"PRESALE_INVALID_TIME_PERIOD\";\n string private constant ERROR_INVALID_PCT = \"PRESALE_INVALID_PCT\";\n string private constant ERROR_INVALID_STATE = \"PRESALE_INVALID_STATE\";\n string private constant ERROR_INVALID_CONTRIBUTE_VALUE = \"PRESALE_INVALID_CONTRIBUTE_VALUE\";\n string private constant ERROR_INSUFFICIENT_BALANCE = \"PRESALE_INSUFFICIENT_BALANCE\";\n string private constant ERROR_INSUFFICIENT_ALLOWANCE = \"PRESALE_INSUFFICIENT_ALLOWANCE\";\n string private constant ERROR_NOTHING_TO_REFUND = \"PRESALE_NOTHING_TO_REFUND\";\n string private constant ERROR_TOKEN_TRANSFER_REVERTED = \"PRESALE_TOKEN_TRANSFER_REVERTED\";\n\n enum State {\n Pending, // presale is idle and pending to be started\n Funding, // presale has started and contributors can purchase tokens\n Refunding, // presale has not reached goal within period and contributors can claim refunds\n GoalReached, // presale has reached goal within period and trading is ready to be open\n Closed // presale has reached goal within period, has been closed and trading has been open\n }\n\n IAragonFundraisingController public controller;\n TokenManager public tokenManager;\n ERC20 public token;\n address public reserve;\n address public beneficiary;\n address public contributionToken;\n\n uint256 public goal;\n uint64 public period;\n uint256 public exchangeRate;\n uint64 public vestingCliffPeriod;\n uint64 public vestingCompletePeriod;\n uint256 public supplyOfferedPct;\n uint256 public fundingForBeneficiaryPct;\n uint64 public openDate;\n\n bool public isClosed;\n uint64 public vestingCliffDate;\n uint64 public vestingCompleteDate;\n uint256 public totalRaised;\n mapping(address => mapping(uint256 => uint256)) public contributions; // contributor => (vestedPurchaseId => tokensSpent)\n\n event SetOpenDate (uint64 date);\n event Close ();\n event Contribute (address indexed contributor, uint256 value, uint256 amount, uint256 vestedPurchaseId);\n event Refund (address indexed contributor, uint256 value, uint256 amount, uint256 vestedPurchaseId);\n\n\n /***** external function *****/\n\n /**\n * @notice Initialize presale\n * @param _controller The address of the controller contract\n * @param _tokenManager The address of the [bonded] token manager contract\n * @param _reserve The address of the reserve [pool] contract\n * @param _beneficiary The address of the beneficiary [to whom a percentage of the raised funds is be to be sent]\n * @param _contributionToken The address of the token to be used to contribute\n * @param _goal The goal to be reached by the end of that presale [in contribution token wei]\n * @param _period The period within which to accept contribution for that presale\n * @param _exchangeRate The exchangeRate [= 1/price] at which [bonded] tokens are to be purchased for that presale [in PPM]\n * @param _vestingCliffPeriod The period during which purchased [bonded] tokens are to be cliffed\n * @param _vestingCompletePeriod The complete period during which purchased [bonded] tokens are to be vested\n * @param _supplyOfferedPct The percentage of the initial supply of [bonded] tokens to be offered during that presale [in PPM]\n * @param _fundingForBeneficiaryPct The percentage of the raised contribution tokens to be sent to the beneficiary [instead of the fundraising reserve] when that presale is closed [in PPM]\n * @param _openDate The date upon which that presale is to be open [ignored if 0]\n */\n function initialize(\n IAragonFundraisingController _controller,\n TokenManager _tokenManager,\n address _reserve,\n address _beneficiary,\n address _contributionToken,\n uint256 _goal,\n uint64 _period,\n uint256 _exchangeRate,\n uint64 _vestingCliffPeriod,\n uint64 _vestingCompletePeriod,\n uint256 _supplyOfferedPct,\n uint256 _fundingForBeneficiaryPct,\n uint64 _openDate\n )\n external\n onlyInit\n {\n require(isContract(_controller), ERROR_CONTRACT_IS_EOA);\n require(isContract(_tokenManager), ERROR_CONTRACT_IS_EOA);\n require(isContract(_reserve), ERROR_CONTRACT_IS_EOA);\n require(_beneficiary != address(0), ERROR_INVALID_BENEFICIARY);\n require(isContract(_contributionToken) || _contributionToken == ETH, ERROR_INVALID_CONTRIBUTE_TOKEN);\n require(_goal > 0, ERROR_INVALID_GOAL);\n require(_period > 0, ERROR_INVALID_TIME_PERIOD);\n require(_exchangeRate > 0, ERROR_INVALID_EXCHANGE_RATE);\n require(_vestingCliffPeriod > _period, ERROR_INVALID_TIME_PERIOD);\n require(_vestingCompletePeriod > _vestingCliffPeriod, ERROR_INVALID_TIME_PERIOD);\n require(_supplyOfferedPct > 0 && _supplyOfferedPct <= PPM, ERROR_INVALID_PCT);\n require(_fundingForBeneficiaryPct >= 0 && _fundingForBeneficiaryPct <= PPM, ERROR_INVALID_PCT);\n\n initialized();\n\n controller = _controller;\n tokenManager = _tokenManager;\n token = ERC20(_tokenManager.token());\n reserve = _reserve;\n beneficiary = _beneficiary;\n contributionToken = _contributionToken;\n goal = _goal;\n period = _period;\n exchangeRate = _exchangeRate;\n vestingCliffPeriod = _vestingCliffPeriod;\n vestingCompletePeriod = _vestingCompletePeriod;\n supplyOfferedPct = _supplyOfferedPct;\n fundingForBeneficiaryPct = _fundingForBeneficiaryPct;\n\n if (_openDate != 0) {\n _setOpenDate(_openDate);\n }\n }\n\n /**\n * @notice Open presale [enabling users to contribute]\n */\n function open() external auth(OPEN_ROLE) {\n require(state() == State.Pending, ERROR_INVALID_STATE);\n require(openDate == 0, ERROR_INVALID_STATE);\n\n _open();\n }\n\n /**\n * @notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n * @param _contributor The address of the contributor\n * @param _value The amount of contribution token to be spent\n */\n function contribute(address _contributor, uint256 _value) external payable nonReentrant auth(CONTRIBUTE_ROLE) {\n require(state() == State.Funding, ERROR_INVALID_STATE);\n require(_value != 0, ERROR_INVALID_CONTRIBUTE_VALUE);\n\n if (contributionToken == ETH) {\n require(msg.value == _value, ERROR_INVALID_CONTRIBUTE_VALUE);\n } else {\n require(msg.value == 0, ERROR_INVALID_CONTRIBUTE_VALUE);\n }\n\n _contribute(_contributor, _value);\n }\n\n /**\n * @notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n * @param _contributor The address of the contributor whose presale contribution is to be refunded\n * @param _vestedPurchaseId The id of the contribution to be refunded\n */\n function refund(address _contributor, uint256 _vestedPurchaseId) external nonReentrant isInitialized {\n require(state() == State.Refunding, ERROR_INVALID_STATE);\n\n _refund(_contributor, _vestedPurchaseId);\n }\n\n /**\n * @notice Close presale and open trading\n */\n function close() external nonReentrant isInitialized {\n require(state() == State.GoalReached, ERROR_INVALID_STATE);\n\n _close();\n }\n\n /***** public view functions *****/\n\n /**\n * @notice Computes the amount of [bonded] tokens that would be purchased for `@tokenAmount(self.contributionToken(): address, _value)`\n * @param _value The amount of contribution tokens to be used in that computation\n */\n function contributionToTokens(uint256 _value) public view isInitialized returns (uint256) {\n return _value.mul(exchangeRate).div(PPM);\n }\n\n function contributionToken() public view isInitialized returns (address) {\n return contributionToken;\n }\n\n /**\n * @notice Returns the current state of that presale\n */\n function state() public view isInitialized returns (State) {\n if (openDate == 0 || openDate > getTimestamp64()) {\n return State.Pending;\n }\n\n if (totalRaised >= goal) {\n if (isClosed) {\n return State.Closed;\n } else {\n return State.GoalReached;\n }\n }\n\n if (_timeSinceOpen() < period) {\n return State.Funding;\n } else {\n return State.Refunding;\n }\n }\n\n /***** internal functions *****/\n\n function _timeSinceOpen() internal view returns (uint64) {\n if (openDate == 0) {\n return 0;\n } else {\n return getTimestamp64().sub(openDate);\n }\n }\n\n function _setOpenDate(uint64 _date) internal {\n require(_date >= getTimestamp64(), ERROR_INVALID_TIME_PERIOD);\n\n openDate = _date;\n _setVestingDatesWhenOpenDateIsKnown();\n\n emit SetOpenDate(_date);\n }\n\n function _setVestingDatesWhenOpenDateIsKnown() internal {\n vestingCliffDate = openDate.add(vestingCliffPeriod);\n vestingCompleteDate = openDate.add(vestingCompletePeriod);\n }\n\n function _open() internal {\n _setOpenDate(getTimestamp64());\n }\n\n function _contribute(address _contributor, uint256 _value) internal {\n uint256 value = totalRaised.add(_value) > goal ? goal.sub(totalRaised) : _value;\n if (contributionToken == ETH && _value > value) {\n msg.sender.transfer(_value.sub(value));\n }\n\n // (contributor) ~~~> contribution tokens ~~~> (presale)\n if (contributionToken != ETH) {\n require(ERC20(contributionToken).balanceOf(_contributor) >= value, ERROR_INSUFFICIENT_BALANCE);\n require(ERC20(contributionToken).allowance(_contributor, address(this)) >= value, ERROR_INSUFFICIENT_ALLOWANCE);\n _transfer(contributionToken, _contributor, address(this), value);\n }\n // (mint ✨) ~~~> project tokens ~~~> (contributor)\n uint256 tokensToSell = contributionToTokens(value);\n tokenManager.issue(tokensToSell);\n uint256 vestedPurchaseId = tokenManager.assignVested(\n _contributor,\n tokensToSell,\n openDate,\n vestingCliffDate,\n vestingCompleteDate,\n true /* revokable */\n );\n totalRaised = totalRaised.add(value);\n // register contribution tokens spent in this purchase for a possible upcoming refund\n contributions[_contributor][vestedPurchaseId] = value;\n\n emit Contribute(_contributor, value, tokensToSell, vestedPurchaseId);\n }\n\n function _refund(address _contributor, uint256 _vestedPurchaseId) internal {\n // recall how much contribution tokens are to be refund for this purchase\n uint256 tokensToRefund = contributions[_contributor][_vestedPurchaseId];\n require(tokensToRefund > 0, ERROR_NOTHING_TO_REFUND);\n contributions[_contributor][_vestedPurchaseId] = 0;\n // (presale) ~~~> contribution tokens ~~~> (contributor)\n _transfer(contributionToken, address(this), _contributor, tokensToRefund);\n /**\n * NOTE\n * the following lines assume that _contributor has not transfered any of its vested tokens\n * for now TokenManager does not handle switching the transferrable status of its underlying token\n * there is thus no way to enforce non-transferrability during the presale phase only\n * this will be updated in a later version\n */\n // (contributor) ~~~> project tokens ~~~> (token manager)\n (uint256 tokensSold,,,,) = tokenManager.getVesting(_contributor, _vestedPurchaseId);\n tokenManager.revokeVesting(_contributor, _vestedPurchaseId);\n // (token manager) ~~~> project tokens ~~~> (burn 💥)\n tokenManager.burn(address(tokenManager), tokensSold);\n\n emit Refund(_contributor, tokensToRefund, tokensSold, _vestedPurchaseId);\n }\n\n function _close() internal {\n isClosed = true;\n\n // (presale) ~~~> contribution tokens ~~~> (beneficiary)\n uint256 fundsForBeneficiary = totalRaised.mul(fundingForBeneficiaryPct).div(PPM);\n if (fundsForBeneficiary > 0) {\n _transfer(contributionToken, address(this), beneficiary, fundsForBeneficiary);\n }\n // (presale) ~~~> contribution tokens ~~~> (reserve)\n uint256 tokensForReserve = contributionToken == ETH ? address(this).balance : ERC20(contributionToken).balanceOf(address(this));\n\n _transfer(contributionToken, address(this), reserve, tokensForReserve);\n // (mint ✨) ~~~> project tokens ~~~> (beneficiary)\n uint256 tokensForBeneficiary = token.totalSupply().mul(PPM.sub(supplyOfferedPct)).div(supplyOfferedPct);\n tokenManager.issue(tokensForBeneficiary);\n tokenManager.assignVested(\n beneficiary,\n tokensForBeneficiary,\n openDate,\n vestingCliffDate,\n vestingCompleteDate,\n false /* revokable */\n );\n // open trading\n controller.openTrading();\n\n emit Close();\n }\n\n function _transfer(address _token, address _from, address _to, uint256 _amount) internal {\n if (_token == ETH) {\n require(_from == address(this), ERROR_TOKEN_TRANSFER_REVERTED);\n require(_to != address(this), ERROR_TOKEN_TRANSFER_REVERTED);\n _to.transfer(_amount);\n } else {\n if (_from == address(this)) {\n require(ERC20(_token).safeTransfer(_to, _amount), ERROR_TOKEN_TRANSFER_REVERTED);\n } else {\n require(ERC20(_token).safeTransferFrom(_from, _to, _amount), ERROR_TOKEN_TRANSFER_REVERTED);\n }\n }\n }\n}\n", - "sourcePath": "@ablack/fundraising-presale/contracts/Presale.sol", - "ast": { - "absolutePath": "@ablack/fundraising-presale/contracts/Presale.sol", - "exportedSymbols": { - "Presale": [ - 9579 - ] - }, - "id": 9580, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8580, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 8581, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23454, - "src": "26:49:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 8582, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23650, - "src": "76:60:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 8583, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23826, - "src": "137:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 8584, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 24108, - "src": "190:51:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 8585, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 27870, - "src": "242:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 8586, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 28012, - "src": "295:54:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 8587, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 28100, - "src": "350:50:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 8588, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 19074, - "src": "401:63:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "id": 8589, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 9642, - "src": "465:70:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 8590, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 9607, - "src": "536:90:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8591, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "648:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 8592, - "nodeType": "InheritanceSpecifier", - "src": "648:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8593, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "658:18:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 8594, - "nodeType": "InheritanceSpecifier", - "src": "658:18:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8595, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "678:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 8596, - "nodeType": "InheritanceSpecifier", - "src": "678:10:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8597, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "690:9:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 8598, - "nodeType": "InheritanceSpecifier", - "src": "690:9:8" - } - ], - "contractDependencies": [ - 9641, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9579, - "linearizedBaseContracts": [ - 9579, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 9641 - ], - "name": "Presale", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8601, - "libraryName": { - "contractScope": null, - "id": 8599, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "712:9:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "706:27:8", - "typeName": { - "contractScope": null, - "id": 8600, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "727:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 8604, - "libraryName": { - "contractScope": null, - "id": 8602, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "744:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "738:29:8", - "typeName": { - "id": 8603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8607, - "libraryName": { - "contractScope": null, - "id": 8605, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "778:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "772:28:8", - "typeName": { - "id": 8606, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "793:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 8610, - "name": "OPEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1003:108:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 8608, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1003:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865666130363035336532636139396134336339376334613466336438613339346565333332336138666632333765363235666261303966653330636562306134", - "id": 8609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1045:66:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108386131170973996371274332126567441977523977910033735392086041742419547828388_by_1", - "typeString": "int_const 1083...(70 digits omitted)...8388" - }, - "value": "0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8613, - "name": "CONTRIBUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1117:108:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 8611, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839636361636134656466323132376632306334323566646438366166316261313738623965356265653238306364373064383861633566363837346334663037", - "id": 8612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1159:66:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70919103765210962597078456092644523779665220219512086497638370503967881580295_by_1", - "typeString": "int_const 7091...(69 digits omitted)...0295" - }, - "value": "0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8616, - "name": "PPM", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1232:37:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1232:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 8615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1262:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8619, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1336:82:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8617, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1336:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f434f4e54524143545f49535f454f41", - "id": 8618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1393:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e4fb9bad7d76e3a86a319b92d3cafdb75e10efe073b7e75bfac758364cc4b53", - "typeString": "literal_string \"PRESALE_CONTRACT_IS_EOA\"" - }, - "value": "PRESALE_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8622, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1424:86:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8620, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1424:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f42454e4546494349415259", - "id": 8621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1481:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a3c91ae1b6e155a91ffe764372acfd3bf628b0cf2201b4dec4dcf30d2fc3705", - "typeString": "literal_string \"PRESALE_INVALID_BENEFICIARY\"" - }, - "value": "PRESALE_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8625, - "name": "ERROR_INVALID_CONTRIBUTE_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1516:91:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8623, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1516:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f434f4e545249425554455f544f4b454e", - "id": 8624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1573:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c6d86a3ccece47ffd46f7528dfb955c535066062eec1cb2ffdb21f09a1e50a17", - "typeString": "literal_string \"PRESALE_INVALID_CONTRIBUTE_TOKEN\"" - }, - "value": "PRESALE_INVALID_CONTRIBUTE_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8628, - "name": "ERROR_INVALID_GOAL", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1613:79:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8626, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1613:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f474f414c", - "id": 8627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1670:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05f833e987dc957573499089d8b1004aa9ce623fa4246b3bda888aa54c0bf29c", - "typeString": "literal_string \"PRESALE_INVALID_GOAL\"" - }, - "value": "PRESALE_INVALID_GOAL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8631, - "name": "ERROR_INVALID_EXCHANGE_RATE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1698:88:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8629, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1698:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f45584348414e47455f52415445", - "id": 8630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1755:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_75af5ed5a0b852fbf03ea08123471ebda1624966a6fbcd4ac0442cf9167c2cd2", - "typeString": "literal_string \"PRESALE_INVALID_EXCHANGE_RATE\"" - }, - "value": "PRESALE_INVALID_EXCHANGE_RATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8634, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1792:86:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8632, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1792:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f54494d455f504552494f44", - "id": 8633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1849:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae0db9345a0262919501084328b27f54d6ac564a4e3519cfca27a95f601a4a0b", - "typeString": "literal_string \"PRESALE_INVALID_TIME_PERIOD\"" - }, - "value": "PRESALE_INVALID_TIME_PERIOD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8637, - "name": "ERROR_INVALID_PCT", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1884:78:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8635, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1884:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f504354", - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1941:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7bea63bf5331e01f4174e282133d6e06096bd047a625aa65cbdef06e63808e7", - "typeString": "literal_string \"PRESALE_INVALID_PCT\"" - }, - "value": "PRESALE_INVALID_PCT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8640, - "name": "ERROR_INVALID_STATE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1968:80:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8638, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f5354415445", - "id": 8639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2025:23:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_388c8a5b5590af274ddc14828dfad9a55c4472defb04f7ef9940e1e6f4558ff6", - "typeString": "literal_string \"PRESALE_INVALID_STATE\"" - }, - "value": "PRESALE_INVALID_STATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8643, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2054:91:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8641, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f434f4e545249425554455f56414c5545", - "id": 8642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2111:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1ead879d9d1734b6041838e254252b4bd8f9176641ce7985b50c09e264ebc7f", - "typeString": "literal_string \"PRESALE_INVALID_CONTRIBUTE_VALUE\"" - }, - "value": "PRESALE_INVALID_CONTRIBUTE_VALUE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8646, - "name": "ERROR_INSUFFICIENT_BALANCE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2151:87:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8644, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2151:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e53554646494349454e545f42414c414e4345", - "id": 8645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2208:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d44ddd18c210a0d9a066b3fb080735fee31a9bbba73545a142fde47ad82abf7b", - "typeString": "literal_string \"PRESALE_INSUFFICIENT_BALANCE\"" - }, - "value": "PRESALE_INSUFFICIENT_BALANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8649, - "name": "ERROR_INSUFFICIENT_ALLOWANCE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2244:89:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8647, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2244:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e53554646494349454e545f414c4c4f57414e4345", - "id": 8648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2301:32:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7098251a9c8f1c85ec5ce5491ed648e062971b5c44c18359d4bc6f21b36cdf64", - "typeString": "literal_string \"PRESALE_INSUFFICIENT_ALLOWANCE\"" - }, - "value": "PRESALE_INSUFFICIENT_ALLOWANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8652, - "name": "ERROR_NOTHING_TO_REFUND", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2339:84:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8650, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2339:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f4e4f5448494e475f544f5f524546554e44", - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2396:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a6ba96456031dd4bfd8463c1cd5428cdf08ee18a9031637f8403f1cc50615c24", - "typeString": "literal_string \"PRESALE_NOTHING_TO_REFUND\"" - }, - "value": "PRESALE_NOTHING_TO_REFUND" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8655, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2429:90:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8653, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2429:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f544f4b454e5f5452414e534645525f5245564552544544", - "id": 8654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2486:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1883312c4434e866f3c74088769f001755001e4e3f210c580eed849aaaa4a21f", - "typeString": "literal_string \"PRESALE_TOKEN_TRANSFER_REVERTED\"" - }, - "value": "PRESALE_TOKEN_TRANSFER_REVERTED" - }, - "visibility": "private" - }, - { - "canonicalName": "Presale.State", - "id": 8661, - "members": [ - { - "id": 8656, - "name": "Pending", - "nodeType": "EnumValue", - "src": "2547:7:8" - }, - { - "id": 8657, - "name": "Funding", - "nodeType": "EnumValue", - "src": "2613:7:8" - }, - { - "id": 8658, - "name": "Refunding", - "nodeType": "EnumValue", - "src": "2694:9:8" - }, - { - "id": 8659, - "name": "GoalReached", - "nodeType": "EnumValue", - "src": "2796:11:8" - }, - { - "id": 8660, - "name": "Closed", - "nodeType": "EnumValue", - "src": "2891:6:8" - } - ], - "name": "State", - "nodeType": "EnumDefinition", - "src": "2526:468:8" - }, - { - "constant": false, - "id": 8663, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3000:65:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 8662, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "3000:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8665, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3071:67:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 8664, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "3071:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8667, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3144:60:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 8666, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3144:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8669, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3210:62:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8671, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3278:66:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3278:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8673, - "name": "contributionToken", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3350:72:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8672, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3350:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8675, - "name": "goal", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3429:59:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3429:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8677, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3494:61:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8676, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3494:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8679, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3561:67:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3561:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8681, - "name": "vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3634:73:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8680, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3634:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8683, - "name": "vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3713:76:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8682, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3713:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8685, - "name": "supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3795:71:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8684, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3795:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8687, - "name": "fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3872:79:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3872:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8689, - "name": "openDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3957:63:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8688, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3957:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8691, - "name": "isClosed", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4027:63:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4027:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8693, - "name": "vestingCliffDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4096:71:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8692, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8695, - "name": "vestingCompleteDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4173:74:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8694, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4173:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8697, - "name": "totalRaised", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4253:66:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4253:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8703, - "name": "contributions", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4325:68:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 8702, - "keyType": { - "id": 8698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4333:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4325:47:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 8701, - "keyType": { - "id": 8699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4344:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 8700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 8707, - "name": "SetOpenDate", - "nodeType": "EventDefinition", - "parameters": { - "id": 8706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8705, - "indexed": false, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 8707, - "src": "4471:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8704, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4471:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4470:13:8" - }, - "src": "4452:32:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8709, - "name": "Close", - "nodeType": "EventDefinition", - "parameters": { - "id": 8708, - "nodeType": "ParameterList", - "parameters": [], - "src": "4507:2:8" - }, - "src": "4489:21:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8719, - "name": "Contribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 8718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8711, - "indexed": true, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4534:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8710, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4534:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8713, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4563:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4563:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8715, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4578:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8717, - "indexed": false, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4594:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4594:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4533:86:8" - }, - "src": "4515:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8729, - "name": "Refund", - "nodeType": "EventDefinition", - "parameters": { - "id": 8728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8721, - "indexed": true, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4644:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4644:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8723, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4673:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8725, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4688:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4688:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8727, - "indexed": false, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4704:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4643:86:8" - }, - "src": "4625:105:8" - }, - { - "body": { - "id": 8926, - "nodeType": "Block", - "src": "7067:1956:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8762, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8731, - "src": "7096:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 8761, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7085:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7085:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8764, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7153:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7077:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7077:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8766, - "nodeType": "ExpressionStatement", - "src": "7077:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8769, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "7204:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 8768, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7193:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7193:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8771, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7261:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8767, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7185:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7185:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8773, - "nodeType": "ExpressionStatement", - "src": "7185:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8776, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8735, - "src": "7312:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8775, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7301:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7301:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8778, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7369:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7293:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7293:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8780, - "nodeType": "ExpressionStatement", - "src": "7293:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8782, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "7409:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7433: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": 8783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7425:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 8785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7425:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7409:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8787, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8622, - "src": "7477:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7401:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7401:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8789, - "nodeType": "ExpressionStatement", - "src": "7401:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8792, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "7532:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8791, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7521:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7521:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8794, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "7555:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8795, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "7577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7555:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7521:59:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "ERROR_INVALID_CONTRIBUTE_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8625, - "src": "7589:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8790, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:107:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8800, - "nodeType": "ExpressionStatement", - "src": "7513:107:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8802, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "7638:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7646:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7638:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8805, - "name": "ERROR_INVALID_GOAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8628, - "src": "7706:18:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8801, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7630:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7630:95:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8807, - "nodeType": "ExpressionStatement", - "src": "7630:95:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8809, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "7743:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7753:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7743:11:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8812, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "7811:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8808, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7735:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7735:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8814, - "nodeType": "ExpressionStatement", - "src": "7735:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8816, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8745, - "src": "7855:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7871:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7855:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8819, - "name": "ERROR_INVALID_EXCHANGE_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8631, - "src": "7923:27:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8815, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7847:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7847:104:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8821, - "nodeType": "ExpressionStatement", - "src": "7847:104:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8823, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "7969:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 8824, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "7991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7969:29:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8826, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "8037:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8822, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7961:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7961:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8828, - "nodeType": "ExpressionStatement", - "src": "7961:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8830, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "8081:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 8831, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "8106:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8081:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8833, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "8149:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8829, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8073:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8073:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8835, - "nodeType": "ExpressionStatement", - "src": "8073:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8837, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8193:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8213:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8193:21:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8840, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8218:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8841, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "8239:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8218:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8193:49:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8844, - "name": "ERROR_INVALID_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8637, - "src": "8261:17:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8836, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8185:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8185:94:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8846, - "nodeType": "ExpressionStatement", - "src": "8185:94:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8848, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8297:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8326:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8297:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8851, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8331:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8852, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "8360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8331:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8297:66:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8855, - "name": "ERROR_INVALID_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8637, - "src": "8365:17:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8847, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8289:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8289:94:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8857, - "nodeType": "ExpressionStatement", - "src": "8289:94:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8858, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "8394:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 8859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8394:13:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8860, - "nodeType": "ExpressionStatement", - "src": "8394:13:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8861, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "8418:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8862, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8731, - "src": "8431:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "8418:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 8864, - "nodeType": "ExpressionStatement", - "src": "8418:24:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8865, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "8452:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8866, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "8467:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "8452:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8868, - "nodeType": "ExpressionStatement", - "src": "8452:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8869, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8667, - "src": "8490:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8871, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "8504:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 18274, - "src": "8504:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function () view external returns (contract MiniMeToken)" - } - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8504:21:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 8870, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "8498:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 8874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8498:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "src": "8490:36:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 8876, - "nodeType": "ExpressionStatement", - "src": "8490:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8877, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8669, - "src": "8536:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8878, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8735, - "src": "8546:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8536:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8880, - "nodeType": "ExpressionStatement", - "src": "8536:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8881, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "8564:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8882, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "8578:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8564:26:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8884, - "nodeType": "ExpressionStatement", - "src": "8564:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8885, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "8600:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8886, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "8620:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8600:38:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8888, - "nodeType": "ExpressionStatement", - "src": "8600:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8889, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "8648:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8890, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "8655:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8648:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8892, - "nodeType": "ExpressionStatement", - "src": "8648:12:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8893, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8677, - "src": "8670:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8894, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "8679:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8670:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8896, - "nodeType": "ExpressionStatement", - "src": "8670:16:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8897, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "8696:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8898, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8745, - "src": "8711:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8696:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8900, - "nodeType": "ExpressionStatement", - "src": "8696:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8901, - "name": "vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8681, - "src": "8734:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8902, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "8755:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8734:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8904, - "nodeType": "ExpressionStatement", - "src": "8734:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8905, - "name": "vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8683, - "src": "8784:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8906, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "8808:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8784:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8908, - "nodeType": "ExpressionStatement", - "src": "8784:46:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8909, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "8840:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8910, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8859:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8840:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8912, - "nodeType": "ExpressionStatement", - "src": "8840:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8913, - "name": "fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8687, - "src": "8886:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8914, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8913:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8886:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8916, - "nodeType": "ExpressionStatement", - "src": "8886:52:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8917, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "8953:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8966:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8953:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8925, - "nodeType": "IfStatement", - "src": "8949:68:8", - "trueBody": { - "id": 8924, - "nodeType": "Block", - "src": "8969:48:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8921, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "8996:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 8920, - "name": "_setOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9177, - "src": "8983:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 8922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:23:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8923, - "nodeType": "ExpressionStatement", - "src": "8983:23:8" - } - ] - } - } - ] - }, - "documentation": "@notice Initialize presale\n@param _controller The address of the controller contract\n@param _tokenManager The address of the [bonded] token manager contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom a percentage of the raised funds is be to be sent]\n@param _contributionToken The address of the token to be used to contribute\n@param _goal The goal to be reached by the end of that presale [in contribution token wei]\n@param _period The period within which to accept contribution for that presale\n@param _exchangeRate The exchangeRate [= 1/price] at which [bonded] tokens are to be purchased for that presale [in PPM]\n@param _vestingCliffPeriod The period during which purchased [bonded] tokens are to be cliffed\n@param _vestingCompletePeriod The complete period during which purchased [bonded] tokens are to be vested\n@param _supplyOfferedPct The percentage of the initial supply of [bonded] tokens to be offered during that presale [in PPM]\n@param _fundingForBeneficiaryPct The percentage of the raised contribution tokens to be sent to the beneficiary [instead of the fundraising reserve] when that presale is closed [in PPM]\n@param _openDate The date upon which that presale is to be open [ignored if 0]", - "id": 8927, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 8758, - "modifierName": { - "argumentTypes": null, - "id": 8757, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "7054:8:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7054:8:8" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8731, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6346:40:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 8730, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "6346:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8733, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6396:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 8732, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "6396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8735, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6448:37:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8737, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6495:41:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6495:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8739, - "name": "_contributionToken", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6546:47:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8741, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6603:34:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6603:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8743, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6647:36:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8742, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6647:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8745, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6693:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8747, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6745:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8746, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6745:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8749, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6803:51:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8748, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6803:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8751, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6864:46:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6864:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8753, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6920:54:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6920:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8755, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6984:38:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8754, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6984:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:692:8" - }, - "payable": false, - "returnParameters": { - "id": 8759, - "nodeType": "ParameterList", - "parameters": [], - "src": "7067:0:8" - }, - "scope": 9579, - "src": "6317:2706:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 8952, - "nodeType": "Block", - "src": "9144:153:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 8938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8934, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9162:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 8935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9162:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8936, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "9173:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 8937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Pending", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9173:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "9162:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8939, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9188:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8933, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9154:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8941, - "nodeType": "ExpressionStatement", - "src": "9154:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8943, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "9226:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9238:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9226:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8946, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9252:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8942, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9218:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8948, - "nodeType": "ExpressionStatement", - "src": "9218:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8949, - "name": "_open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9204, - "src": "9283:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9283:7:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8951, - "nodeType": "ExpressionStatement", - "src": "9283:7:8" - } - ] - }, - "documentation": "@notice Open presale [enabling users to contribute]", - "id": 8953, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 8930, - "name": "OPEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9133:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 8931, - "modifierName": { - "argumentTypes": null, - "id": 8929, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9128:4:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9128:15:8" - } - ], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8928, - "nodeType": "ParameterList", - "parameters": [], - "src": "9116:2:8" - }, - "payable": false, - "returnParameters": { - "id": 8932, - "nodeType": "ParameterList", - "parameters": [], - "src": "9144:0:8" - }, - "scope": 9579, - "src": "9103:194:8", - "stateMutability": "nonpayable", - "superFunction": 9611, - "visibility": "external" - }, - { - "body": { - "id": 9008, - "nodeType": "Block", - "src": "9663:406:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 8970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8966, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9681:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 8967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8968, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "9692:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 8969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9692:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "9681:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8971, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9707:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8965, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9673:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8973, - "nodeType": "ExpressionStatement", - "src": "9673:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8975, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "9745:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9755:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9745:11:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8978, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9771:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8974, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9737:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9737:65:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8980, - "nodeType": "ExpressionStatement", - "src": "9737:65:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8981, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "9817:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8982, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "9838:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9817:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9001, - "nodeType": "Block", - "src": "9934:85:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8994, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9956:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9956:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9969:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9956:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8998, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9977:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8993, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9948:60:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9000, - "nodeType": "ExpressionStatement", - "src": "9948:60:8" - } - ] - }, - "id": 9002, - "nodeType": "IfStatement", - "src": "9813:206:8", - "trueBody": { - "id": 8992, - "nodeType": "Block", - "src": "9843:85:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8985, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8987, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "9878:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9865:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8989, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9886:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8984, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9857:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9857:60:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8991, - "nodeType": "ExpressionStatement", - "src": "9857:60:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9004, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8955, - "src": "10041:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9005, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "10055:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9003, - "name": "_contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "10029:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10029:33:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9007, - "nodeType": "ExpressionStatement", - "src": "10029:33:8" - } - ] - }, - "documentation": "@notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n@param _contributor The address of the contributor\n@param _value The amount of contribution token to be spent", - "id": 9009, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 8960, - "modifierName": { - "argumentTypes": null, - "id": 8959, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "9628:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9628:12:8" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 8962, - "name": "CONTRIBUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8613, - "src": "9646:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 8963, - "modifierName": { - "argumentTypes": null, - "id": 8961, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9641:4:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9641:21:8" - } - ], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8955, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9009, - "src": "9573:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9573:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8957, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9009, - "src": "9595:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9595:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9572:38:8" - }, - "payable": true, - "returnParameters": { - "id": 8964, - "nodeType": "ParameterList", - "parameters": [], - "src": "9663:0:8" - }, - "scope": 9579, - "src": "9553:516:8", - "stateMutability": "payable", - "superFunction": 9621, - "visibility": "external" - }, - { - "body": { - "id": 9034, - "nodeType": "Block", - "src": "10454:124:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 9025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9021, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "10472:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 9022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10472:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9023, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "10483:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Refunding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10483:15:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "10472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9026, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "10500:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9020, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10464:56:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9028, - "nodeType": "ExpressionStatement", - "src": "10464:56:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9030, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9011, - "src": "10539:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9031, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "10553:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9029, - "name": "_refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9405, - "src": "10531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10531:40:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9033, - "nodeType": "ExpressionStatement", - "src": "10531:40:8" - } - ] - }, - "documentation": "@notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n@param _contributor The address of the contributor whose presale contribution is to be refunded\n@param _vestedPurchaseId The id of the contribution to be refunded", - "id": 9035, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9016, - "modifierName": { - "argumentTypes": null, - "id": 9015, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "10427:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10427:12:8" - }, - { - "arguments": null, - "id": 9018, - "modifierName": { - "argumentTypes": null, - "id": 9017, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10440:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10440:13:8" - } - ], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9011, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9035, - "src": "10369:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9010, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9013, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9035, - "src": "10391:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10391:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10368:49:8" - }, - "payable": false, - "returnParameters": { - "id": 9019, - "nodeType": "ParameterList", - "parameters": [], - "src": "10454:0:8" - }, - "scope": 9579, - "src": "10353:225:8", - "stateMutability": "nonpayable", - "superFunction": 9628, - "visibility": "external" - }, - { - "body": { - "id": 9054, - "nodeType": "Block", - "src": "10698:94:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 9047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9043, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "10716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 9044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10716:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9045, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "10727:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GoalReached", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10727:17:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "10716:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9048, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "10746:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10708:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10708:58:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9050, - "nodeType": "ExpressionStatement", - "src": "10708:58:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9051, - "name": "_close", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9505, - "src": "10777:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9053, - "nodeType": "ExpressionStatement", - "src": "10777:8:8" - } - ] - }, - "documentation": "@notice Close presale and open trading", - "id": 9055, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9038, - "modifierName": { - "argumentTypes": null, - "id": 9037, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "10671:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10671:12:8" - }, - { - "arguments": null, - "id": 9040, - "modifierName": { - "argumentTypes": null, - "id": 9039, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10684:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10684:13:8" - } - ], - "name": "close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9036, - "nodeType": "ParameterList", - "parameters": [], - "src": "10659:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9041, - "nodeType": "ParameterList", - "parameters": [], - "src": "10698:0:8" - }, - "scope": 9579, - "src": "10645:147:8", - "stateMutability": "nonpayable", - "superFunction": 9614, - "visibility": "external" - }, - { - "body": { - "id": 9072, - "nodeType": "Block", - "src": "11170:57:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9069, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "11216:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9066, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "11198:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9064, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9057, - "src": "11187:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "11187:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11187:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "11187:28:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11187:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9063, - "id": 9071, - "nodeType": "Return", - "src": "11180:40:8" - } - ] - }, - "documentation": "@notice Computes the amount of [bonded] tokens that would be purchased for `@tokenAmount(self.contributionToken(): address, _value)`\n@param _value The amount of contribution tokens to be used in that computation", - "id": 9073, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9060, - "modifierName": { - "argumentTypes": null, - "id": 9059, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11138:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11138:13:8" - } - ], - "name": "contributionToTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9057, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9073, - "src": "11110:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11110:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11109:16:8" - }, - "payable": false, - "returnParameters": { - "id": 9063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9062, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9073, - "src": "11161:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11161:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11160:9:8" - }, - "scope": 9579, - "src": "11080:147:8", - "stateMutability": "view", - "superFunction": 9635, - "visibility": "public" - }, - { - "body": { - "id": 9082, - "nodeType": "Block", - "src": "11306:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9080, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "11323:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 9079, - "id": 9081, - "nodeType": "Return", - "src": "11316:24:8" - } - ] - }, - "documentation": null, - "id": 9083, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9076, - "modifierName": { - "argumentTypes": null, - "id": 9075, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11274:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11274:13:8" - } - ], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9074, - "nodeType": "ParameterList", - "parameters": [], - "src": "11259:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9078, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9083, - "src": "11297:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11297:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11296:9:8" - }, - "scope": 9579, - "src": "11233:114:8", - "stateMutability": "view", - "superFunction": 9640, - "visibility": "public" - }, - { - "body": { - "id": 9131, - "nodeType": "Block", - "src": "11484:438:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9090, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "11498:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11510:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11498:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9093, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "11515:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9094, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "11526:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11526:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11515:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11498:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9102, - "nodeType": "IfStatement", - "src": "11494:95:8", - "trueBody": { - "id": 9101, - "nodeType": "Block", - "src": "11544:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9098, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11565:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Pending", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11565:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9100, - "nodeType": "Return", - "src": "11558:20:8" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9103, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "11603:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9104, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "11618:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11603:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9117, - "nodeType": "IfStatement", - "src": "11599:178:8", - "trueBody": { - "id": 9116, - "nodeType": "Block", - "src": "11624:153:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9106, - "name": "isClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "11642:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9114, - "nodeType": "Block", - "src": "11710:57:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9111, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11735:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GoalReached", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:17:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9113, - "nodeType": "Return", - "src": "11728:24:8" - } - ] - }, - "id": 9115, - "nodeType": "IfStatement", - "src": "11638:129:8", - "trueBody": { - "id": 9110, - "nodeType": "Block", - "src": "11652:52:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9107, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11677:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Closed", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11677:12:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9109, - "nodeType": "Return", - "src": "11670:19:8" - } - ] - } - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9118, - "name": "_timeSinceOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9152, - "src": "11791:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11791:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 9120, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8677, - "src": "11810:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11791:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9129, - "nodeType": "Block", - "src": "11869:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9126, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11890:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Refunding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11890:15:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9128, - "nodeType": "Return", - "src": "11883:22:8" - } - ] - }, - "id": 9130, - "nodeType": "IfStatement", - "src": "11787:129:8", - "trueBody": { - "id": 9125, - "nodeType": "Block", - "src": "11818:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9122, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11839:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11839:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9124, - "nodeType": "Return", - "src": "11832:20:8" - } - ] - } - } - ] - }, - "documentation": "@notice Returns the current state of that presale", - "id": 9132, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9086, - "modifierName": { - "argumentTypes": null, - "id": 9085, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11454:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11454:13:8" - } - ], - "name": "state", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9084, - "nodeType": "ParameterList", - "parameters": [], - "src": "11439:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9088, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9132, - "src": "11477:5:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "typeName": { - "contractScope": null, - "id": 9087, - "name": "State", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8661, - "src": "11477:5:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11476:7:8" - }, - "scope": 9579, - "src": "11425:497:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 9151, - "nodeType": "Block", - "src": "12023:136:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9137, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12049:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12037:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9149, - "nodeType": "Block", - "src": "12091:62:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9146, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12133:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9143, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12112:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27964, - "src": "12112:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 9136, - "id": 9148, - "nodeType": "Return", - "src": "12105:37:8" - } - ] - }, - "id": 9150, - "nodeType": "IfStatement", - "src": "12033:120:8", - "trueBody": { - "id": 9142, - "nodeType": "Block", - "src": "12052:33:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 9136, - "id": 9141, - "nodeType": "Return", - "src": "12066:8:8" - } - ] - } - } - ] - }, - "documentation": "*** internal functions ****", - "id": 9152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_timeSinceOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11989:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9135, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "12015:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 9134, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12015:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12014:8:8" - }, - "scope": 9579, - "src": "11966:193:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9176, - "nodeType": "Block", - "src": "12210:186:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9158, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12228:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9159, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12237:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12237:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12228:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9162, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "12255:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9157, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12220:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12220:61:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9164, - "nodeType": "ExpressionStatement", - "src": "12220:61:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9165, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12292:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9166, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12292:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9168, - "nodeType": "ExpressionStatement", - "src": "12292:16:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9169, - "name": "_setVestingDatesWhenOpenDateIsKnown", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9195, - "src": "12318:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12318:37:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9171, - "nodeType": "ExpressionStatement", - "src": "12318:37:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9173, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12383:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 9172, - "name": "SetOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8707, - "src": "12371:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 9174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12371:18:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9175, - "nodeType": "EmitStatement", - "src": "12366:23:8" - } - ] - }, - "documentation": null, - "id": 9177, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setOpenDate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9154, - "name": "_date", - "nodeType": "VariableDeclaration", - "scope": 9177, - "src": "12187:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 9153, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12187:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12186:14:8" - }, - "payable": false, - "returnParameters": { - "id": 9156, - "nodeType": "ParameterList", - "parameters": [], - "src": "12210:0:8" - }, - "scope": 9579, - "src": "12165:231:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9194, - "nodeType": "Block", - "src": "12458:135:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9180, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "12468:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9183, - "name": "vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8681, - "src": "12500:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 9181, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "12487:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12487:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12468:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9186, - "nodeType": "ExpressionStatement", - "src": "12468:51:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9187, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "12529:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9190, - "name": "vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8683, - "src": "12564:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 9188, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12551:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "12551:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12551:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12529:57:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9193, - "nodeType": "ExpressionStatement", - "src": "12529:57:8" - } - ] - }, - "documentation": null, - "id": 9195, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setVestingDatesWhenOpenDateIsKnown", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9178, - "nodeType": "ParameterList", - "parameters": [], - "src": "12446:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [], - "src": "12458:0:8" - }, - "scope": 9579, - "src": "12402:191:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9203, - "nodeType": "Block", - "src": "12625:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9199, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12648:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12648:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 9198, - "name": "_setOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9177, - "src": "12635:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 9201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12635:30:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9202, - "nodeType": "ExpressionStatement", - "src": "12635:30:8" - } - ] - }, - "documentation": null, - "id": 9204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9196, - "nodeType": "ParameterList", - "parameters": [], - "src": "12613:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9197, - "nodeType": "ParameterList", - "parameters": [], - "src": "12625:0:8" - }, - "scope": 9579, - "src": "12599:73:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9333, - "nodeType": "Block", - "src": "12746:1346:8", - "statements": [ - { - "assignments": [ - 9212 - ], - "declarations": [ - { - "constant": false, - "id": 9212, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12756:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9225, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9215, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12788:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9213, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "12772:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12772: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": 9216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12772:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9217, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "12798:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12772:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 9223, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12829:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12772:63:8", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9221, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "12814:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9219, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "12805:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12805:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12805:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12756:79:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9226, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "12849:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9227, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12870:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12849:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9229, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12877:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9230, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "12886:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12877:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12849:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9245, - "nodeType": "IfStatement", - "src": "12845:111:8", - "trueBody": { - "id": 9244, - "nodeType": "Block", - "src": "12893:63:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9240, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "12938:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9238, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12927:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12927:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12927:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9233, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12907:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12907:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12907:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12907:38:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9243, - "nodeType": "ExpressionStatement", - "src": "12907:38:8" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9246, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13035:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9247, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "13056:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13035:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9286, - "nodeType": "IfStatement", - "src": "13031:367:8", - "trueBody": { - "id": 9285, - "nodeType": "Block", - "src": "13061:337:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9254, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13118:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9251, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13089:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9250, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "13083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13083:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "13083:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13083:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13135:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13083:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9258, - "name": "ERROR_INSUFFICIENT_BALANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8646, - "src": "13157:26:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9249, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13075:109:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9260, - "nodeType": "ExpressionStatement", - "src": "13075:109:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9266, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13241:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9268, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "13263:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13255:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13255:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9263, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13212:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9262, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "13206:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13206:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "13206:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 9270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13206:63:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9271, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13273:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13206:72:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9273, - "name": "ERROR_INSUFFICIENT_ALLOWANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "13280:28:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9261, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13198:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13198:111:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9275, - "nodeType": "ExpressionStatement", - "src": "13198:111:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9277, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13333:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9278, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13352:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9280, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "13374:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13366:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13366:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9282, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13381:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9276, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "13323:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13323:64:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9284, - "nodeType": "ExpressionStatement", - "src": "13323:64:8" - } - ] - } - }, - { - "assignments": [ - 9288 - ], - "declarations": [ - { - "constant": false, - "id": 9288, - "name": "tokensToSell", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "13468:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13468:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9292, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9290, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13512:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9289, - "name": "contributionToTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9073 - ], - "referencedDeclaration": 9073, - "src": "13491:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 9291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13491:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13468:50:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9296, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "13547:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9293, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "13528:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "issue", - "nodeType": "MemberAccess", - "referencedDeclaration": 18436, - "src": "13528:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 9297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13528:32:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9298, - "nodeType": "ExpressionStatement", - "src": "13528:32:8" - }, - { - "assignments": [ - 9300 - ], - "declarations": [ - { - "constant": false, - "id": 9300, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "13570:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13570:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9303, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13636:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9304, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "13662:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9305, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "13688:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9306, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "13710:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9307, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "13740:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13773:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 9301, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "13597:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "assignVested", - "nodeType": "MemberAccess", - "referencedDeclaration": 18566, - "src": "13597:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint64,uint64,uint64,bool) external returns (uint256)" - } - }, - "id": 9309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13597:206:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13570:233:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9311, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "13813:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9314, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13843:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9312, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "13827:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13827: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": 9315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13827:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9317, - "nodeType": "ExpressionStatement", - "src": "13813:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9318, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "13953:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9321, - "indexExpression": { - "argumentTypes": null, - "id": 9319, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13967:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13953:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9322, - "indexExpression": { - "argumentTypes": null, - "id": 9320, - "name": "vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9300, - "src": "13981:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13953:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9323, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "14001:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13953:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9325, - "nodeType": "ExpressionStatement", - "src": "13953:53:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9327, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "14033:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9328, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "14047:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9329, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "14054:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9330, - "name": "vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9300, - "src": "14068:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9326, - "name": "Contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8719, - "src": "14022:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 9331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14022:63:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9332, - "nodeType": "EmitStatement", - "src": "14017:68:8" - } - ] - }, - "documentation": null, - "id": 9334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9206, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12699:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12699:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9208, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12721:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12721:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12698:38:8" - }, - "payable": false, - "returnParameters": { - "id": 9210, - "nodeType": "ParameterList", - "parameters": [], - "src": "12746:0:8" - }, - "scope": 9579, - "src": "12678:1414:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9404, - "nodeType": "Block", - "src": "14173:1268:8", - "statements": [ - { - "assignments": [ - 9342 - ], - "declarations": [ - { - "constant": false, - "id": 9342, - "name": "tokensToRefund", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14265:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14265:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9348, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9343, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "14290:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9345, - "indexExpression": { - "argumentTypes": null, - "id": 9344, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14304:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14290:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9347, - "indexExpression": { - "argumentTypes": null, - "id": 9346, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "14318:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14290:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14265:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9350, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "14354:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14371:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14354:18:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9353, - "name": "ERROR_NOTHING_TO_REFUND", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8652, - "src": "14374:23:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "14346:7:8", - "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": "14346:52:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9355, - "nodeType": "ExpressionStatement", - "src": "14346:52:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9356, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "14408:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9359, - "indexExpression": { - "argumentTypes": null, - "id": 9357, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14422:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14408:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9360, - "indexExpression": { - "argumentTypes": null, - "id": 9358, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "14436:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14408:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 9361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14457:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14408:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9363, - "nodeType": "ExpressionStatement", - "src": "14408:50:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9365, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "14543:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9367, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "14570:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14562:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14562:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9369, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14577:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9370, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "14591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9364, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "14533:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14533:73:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9372, - "nodeType": "ExpressionStatement", - "src": "14533:73:8" - }, - { - "assignments": [ - 9374, - null, - null, - null, - null - ], - "declarations": [ - { - "constant": false, - "id": 9374, - "name": "tokensSold", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "15074:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15074:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - null, - null - ], - "id": 9380, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9377, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15124:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9378, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15138:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9375, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15100:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18822, - "src": "15100:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$", - "typeString": "function (address,uint256) view external returns (uint256,uint64,uint64,uint64,bool)" - } - }, - "id": 9379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15100:56:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$", - "typeString": "tuple(uint256,uint64,uint64,uint64,bool)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15073:83:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9384, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15193:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9385, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15207:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9381, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15166:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeVesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18638, - "src": "15166:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15166:59:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9387, - "nodeType": "ExpressionStatement", - "src": "15166:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9392, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15325:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 9391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15317:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9394, - "name": "tokensSold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9374, - "src": "15340:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9388, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15299:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 18478, - "src": "15299:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15299:52:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9396, - "nodeType": "ExpressionStatement", - "src": "15299:52:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9398, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15374:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9399, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "15388:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9400, - "name": "tokensSold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9374, - "src": "15404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9401, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15416:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9397, - "name": "Refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8729, - "src": "15367:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 9402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15367:67:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9403, - "nodeType": "EmitStatement", - "src": "15362:72:8" - } - ] - }, - "documentation": null, - "id": 9405, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9336, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14115:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14115:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9338, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14137:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14137:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14114:49:8" - }, - "payable": false, - "returnParameters": { - "id": 9340, - "nodeType": "ParameterList", - "parameters": [], - "src": "14173:0:8" - }, - "scope": 9579, - "src": "14098:1343:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9504, - "nodeType": "Block", - "src": "15474:1136:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9408, - "name": "isClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "15484:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15495:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15484:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9411, - "nodeType": "ExpressionStatement", - "src": "15484:15:8" - }, - { - "assignments": [ - 9413 - ], - "declarations": [ - { - "constant": false, - "id": 9413, - "name": "fundsForBeneficiary", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "15575:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15575:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9421, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9419, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "15651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9416, - "name": "fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8687, - "src": "15621:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9414, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "15605:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15605: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": 9417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15605:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "15605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15605:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15575:80:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9422, - "name": "fundsForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9413, - "src": "15669:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15691:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15669:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9435, - "nodeType": "IfStatement", - "src": "15665:131:8", - "trueBody": { - "id": 9434, - "nodeType": "Block", - "src": "15694:102:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9426, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15718:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9428, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15745:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15737:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15737:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9430, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "15752:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9431, - "name": "fundsForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9413, - "src": "15765:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9425, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "15708:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15708:77:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9433, - "nodeType": "ExpressionStatement", - "src": "15708:77:8" - } - ] - } - }, - { - "assignments": [ - 9437 - ], - "declarations": [ - { - "constant": false, - "id": 9437, - "name": "tokensForReserve", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "15866:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15866:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9454, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9438, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15893:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9439, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "15914:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15893:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9450, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15987:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15979:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15979:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9446, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15950:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9445, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "15944:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15944:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "15944:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15944:49:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15893:100:8", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9442, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15928:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15920:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15920:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15920:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15866:127:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9456, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "16014:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16041:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16033:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9460, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8669, - "src": "16048:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9461, - "name": "tokensForReserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "16057:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9455, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "16004:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16004:70:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9463, - "nodeType": "ExpressionStatement", - "src": "16004:70:8" - }, - { - "assignments": [ - 9465 - ], - "declarations": [ - { - "constant": false, - "id": 9465, - "name": "tokensForBeneficiary", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "16145:28:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9478, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9476, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "16231:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9472, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "16208:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9470, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "16200:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "16200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16200:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9466, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8667, - "src": "16176:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 28037, - "src": "16176:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "16176: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": 9474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "16176:54:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16145:103:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9482, - "name": "tokensForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "16277:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9479, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "16258:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "issue", - "nodeType": "MemberAccess", - "referencedDeclaration": 18436, - "src": "16258:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 9483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16258:40:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9484, - "nodeType": "ExpressionStatement", - "src": "16258:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9488, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "16347:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9489, - "name": "tokensForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "16372:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9490, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "16406:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9491, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "16428:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9492, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "16458:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16491:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 9485, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "16308:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "assignVested", - "nodeType": "MemberAccess", - "referencedDeclaration": 18566, - "src": "16308:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint64,uint64,uint64,bool) external returns (uint256)" - } - }, - "id": 9494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16308:214:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9495, - "nodeType": "ExpressionStatement", - "src": "16308:214:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9496, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "16556:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 9498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openTrading", - "nodeType": "MemberAccess", - "referencedDeclaration": 9584, - "src": "16556:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 9499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:24:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9500, - "nodeType": "ExpressionStatement", - "src": "16556:24:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9501, - "name": "Close", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8709, - "src": "16596:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9503, - "nodeType": "EmitStatement", - "src": "16591:12:8" - } - ] - }, - "documentation": null, - "id": 9505, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9406, - "nodeType": "ParameterList", - "parameters": [], - "src": "15462:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9407, - "nodeType": "ParameterList", - "parameters": [], - "src": "15474:0:8" - }, - "scope": 9579, - "src": "15447:1163:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9577, - "nodeType": "Block", - "src": "16705:534:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9516, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "16719:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9517, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "16729:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16719:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9575, - "nodeType": "Block", - "src": "16938:295:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9544, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "16956:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9546, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16973:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16965:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16956:22:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9573, - "nodeType": "Block", - "src": "17099:124:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9566, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "17156:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9567, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "17163:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9568, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "17168:7: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, - "arguments": [ - { - "argumentTypes": null, - "id": 9563, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "17131:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9562, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17125:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "17125:30:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 9569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:51:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9570, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "17178:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9561, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17117:91:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9572, - "nodeType": "ExpressionStatement", - "src": "17117:91:8" - } - ] - }, - "id": 9574, - "nodeType": "IfStatement", - "src": "16952:271:8", - "trueBody": { - "id": 9560, - "nodeType": "Block", - "src": "16980:113:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9554, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "17033:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9555, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "17038:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9551, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "17012:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9550, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17006:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17006:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "17006:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 9556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17006:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9557, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "17048:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16998:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16998:80:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9559, - "nodeType": "ExpressionStatement", - "src": "16998:80:8" - } - ] - } - } - ] - }, - "id": 9576, - "nodeType": "IfStatement", - "src": "16715:518:8", - "trueBody": { - "id": 9543, - "nodeType": "Block", - "src": "16734:198:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9520, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "16756:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16773:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16765:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16765:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16756:22:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9525, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "16780:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9519, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16748:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16748:62:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9527, - "nodeType": "ExpressionStatement", - "src": "16748:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9529, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "16832:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9531, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16847:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16839:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16839:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16832:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9534, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "16856:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9528, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16824:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16824:62:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9536, - "nodeType": "ExpressionStatement", - "src": "16824:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9540, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "16913:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9537, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "16900:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16900:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16900:21:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9542, - "nodeType": "ExpressionStatement", - "src": "16900:21:8" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9507, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16635:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9506, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16635:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9509, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16651:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9508, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16651:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9511, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16666:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16666:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9513, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16679:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16679:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16634:61:8" - }, - "payable": false, - "returnParameters": { - "id": 9515, - "nodeType": "ParameterList", - "parameters": [], - "src": "16705:0:8" - }, - "scope": 9579, - "src": "16616:623:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 9580, - "src": "628:16613:8" - } - ], - "src": "0:17242:8" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-presale/contracts/Presale.sol", - "exportedSymbols": { - "Presale": [ - 9579 - ] - }, - "id": 9580, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8580, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 8581, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23454, - "src": "26:49:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 8582, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23650, - "src": "76:60:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 8583, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 23826, - "src": "137:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 8584, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 24108, - "src": "190:51:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 8585, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 27870, - "src": "242:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 8586, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 28012, - "src": "295:54:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 8587, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 28100, - "src": "350:50:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "file": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "id": 8588, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 19074, - "src": "401:63:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IPresale.sol", - "id": 8589, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 9642, - "src": "465:70:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 8590, - "nodeType": "ImportDirective", - "scope": 9580, - "sourceUnit": 9607, - "src": "536:90:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8591, - "name": "IPresale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9641, - "src": "648:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPresale_$9641", - "typeString": "contract IPresale" - } - }, - "id": 8592, - "nodeType": "InheritanceSpecifier", - "src": "648:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8593, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "658:18:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 8594, - "nodeType": "InheritanceSpecifier", - "src": "658:18:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8595, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "678:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 8596, - "nodeType": "InheritanceSpecifier", - "src": "678:10:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8597, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "690:9:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 8598, - "nodeType": "InheritanceSpecifier", - "src": "690:9:8" - } - ], - "contractDependencies": [ - 9641, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9579, - "linearizedBaseContracts": [ - 9579, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 9641 - ], - "name": "Presale", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8601, - "libraryName": { - "contractScope": null, - "id": 8599, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "712:9:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "706:27:8", - "typeName": { - "contractScope": null, - "id": 8600, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "727:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 8604, - "libraryName": { - "contractScope": null, - "id": 8602, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "744:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "738:29:8", - "typeName": { - "id": 8603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8607, - "libraryName": { - "contractScope": null, - "id": 8605, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "778:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "772:28:8", - "typeName": { - "id": 8606, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "793:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 8610, - "name": "OPEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1003:108:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 8608, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1003:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865666130363035336532636139396134336339376334613466336438613339346565333332336138666632333765363235666261303966653330636562306134", - "id": 8609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1045:66:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_108386131170973996371274332126567441977523977910033735392086041742419547828388_by_1", - "typeString": "int_const 1083...(70 digits omitted)...8388" - }, - "value": "0xefa06053e2ca99a43c97c4a4f3d8a394ee3323a8ff237e625fba09fe30ceb0a4" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8613, - "name": "CONTRIBUTE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1117:108:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 8611, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307839636361636134656466323132376632306334323566646438366166316261313738623965356265653238306364373064383861633566363837346334663037", - "id": 8612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1159:66:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_70919103765210962597078456092644523779665220219512086497638370503967881580295_by_1", - "typeString": "int_const 7091...(69 digits omitted)...0295" - }, - "value": "0x9ccaca4edf2127f20c425fdd86af1ba178b9e5bee280cd70d88ac5f6874c4f07" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8616, - "name": "PPM", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1232:37:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1232:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 8615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1262:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 8619, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1336:82:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8617, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1336:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f434f4e54524143545f49535f454f41", - "id": 8618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1393:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e4fb9bad7d76e3a86a319b92d3cafdb75e10efe073b7e75bfac758364cc4b53", - "typeString": "literal_string \"PRESALE_CONTRACT_IS_EOA\"" - }, - "value": "PRESALE_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8622, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1424:86:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8620, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1424:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f42454e4546494349415259", - "id": 8621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1481:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a3c91ae1b6e155a91ffe764372acfd3bf628b0cf2201b4dec4dcf30d2fc3705", - "typeString": "literal_string \"PRESALE_INVALID_BENEFICIARY\"" - }, - "value": "PRESALE_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8625, - "name": "ERROR_INVALID_CONTRIBUTE_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1516:91:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8623, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1516:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f434f4e545249425554455f544f4b454e", - "id": 8624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1573:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c6d86a3ccece47ffd46f7528dfb955c535066062eec1cb2ffdb21f09a1e50a17", - "typeString": "literal_string \"PRESALE_INVALID_CONTRIBUTE_TOKEN\"" - }, - "value": "PRESALE_INVALID_CONTRIBUTE_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8628, - "name": "ERROR_INVALID_GOAL", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1613:79:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8626, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1613:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f474f414c", - "id": 8627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1670:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05f833e987dc957573499089d8b1004aa9ce623fa4246b3bda888aa54c0bf29c", - "typeString": "literal_string \"PRESALE_INVALID_GOAL\"" - }, - "value": "PRESALE_INVALID_GOAL" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8631, - "name": "ERROR_INVALID_EXCHANGE_RATE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1698:88:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8629, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1698:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f45584348414e47455f52415445", - "id": 8630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1755:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_75af5ed5a0b852fbf03ea08123471ebda1624966a6fbcd4ac0442cf9167c2cd2", - "typeString": "literal_string \"PRESALE_INVALID_EXCHANGE_RATE\"" - }, - "value": "PRESALE_INVALID_EXCHANGE_RATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8634, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1792:86:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8632, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1792:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f54494d455f504552494f44", - "id": 8633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1849:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae0db9345a0262919501084328b27f54d6ac564a4e3519cfca27a95f601a4a0b", - "typeString": "literal_string \"PRESALE_INVALID_TIME_PERIOD\"" - }, - "value": "PRESALE_INVALID_TIME_PERIOD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8637, - "name": "ERROR_INVALID_PCT", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1884:78:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8635, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1884:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f504354", - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1941:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7bea63bf5331e01f4174e282133d6e06096bd047a625aa65cbdef06e63808e7", - "typeString": "literal_string \"PRESALE_INVALID_PCT\"" - }, - "value": "PRESALE_INVALID_PCT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8640, - "name": "ERROR_INVALID_STATE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "1968:80:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8638, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f5354415445", - "id": 8639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2025:23:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_388c8a5b5590af274ddc14828dfad9a55c4472defb04f7ef9940e1e6f4558ff6", - "typeString": "literal_string \"PRESALE_INVALID_STATE\"" - }, - "value": "PRESALE_INVALID_STATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8643, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2054:91:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8641, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e56414c49445f434f4e545249425554455f56414c5545", - "id": 8642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2111:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1ead879d9d1734b6041838e254252b4bd8f9176641ce7985b50c09e264ebc7f", - "typeString": "literal_string \"PRESALE_INVALID_CONTRIBUTE_VALUE\"" - }, - "value": "PRESALE_INVALID_CONTRIBUTE_VALUE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8646, - "name": "ERROR_INSUFFICIENT_BALANCE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2151:87:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8644, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2151:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e53554646494349454e545f42414c414e4345", - "id": 8645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2208:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d44ddd18c210a0d9a066b3fb080735fee31a9bbba73545a142fde47ad82abf7b", - "typeString": "literal_string \"PRESALE_INSUFFICIENT_BALANCE\"" - }, - "value": "PRESALE_INSUFFICIENT_BALANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8649, - "name": "ERROR_INSUFFICIENT_ALLOWANCE", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2244:89:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8647, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2244:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f494e53554646494349454e545f414c4c4f57414e4345", - "id": 8648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2301:32:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7098251a9c8f1c85ec5ce5491ed648e062971b5c44c18359d4bc6f21b36cdf64", - "typeString": "literal_string \"PRESALE_INSUFFICIENT_ALLOWANCE\"" - }, - "value": "PRESALE_INSUFFICIENT_ALLOWANCE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8652, - "name": "ERROR_NOTHING_TO_REFUND", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2339:84:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8650, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2339:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f4e4f5448494e475f544f5f524546554e44", - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2396:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a6ba96456031dd4bfd8463c1cd5428cdf08ee18a9031637f8403f1cc50615c24", - "typeString": "literal_string \"PRESALE_NOTHING_TO_REFUND\"" - }, - "value": "PRESALE_NOTHING_TO_REFUND" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8655, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "2429:90:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 8653, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2429:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "50524553414c455f544f4b454e5f5452414e534645525f5245564552544544", - "id": 8654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2486:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1883312c4434e866f3c74088769f001755001e4e3f210c580eed849aaaa4a21f", - "typeString": "literal_string \"PRESALE_TOKEN_TRANSFER_REVERTED\"" - }, - "value": "PRESALE_TOKEN_TRANSFER_REVERTED" - }, - "visibility": "private" - }, - { - "canonicalName": "Presale.State", - "id": 8661, - "members": [ - { - "id": 8656, - "name": "Pending", - "nodeType": "EnumValue", - "src": "2547:7:8" - }, - { - "id": 8657, - "name": "Funding", - "nodeType": "EnumValue", - "src": "2613:7:8" - }, - { - "id": 8658, - "name": "Refunding", - "nodeType": "EnumValue", - "src": "2694:9:8" - }, - { - "id": 8659, - "name": "GoalReached", - "nodeType": "EnumValue", - "src": "2796:11:8" - }, - { - "id": 8660, - "name": "Closed", - "nodeType": "EnumValue", - "src": "2891:6:8" - } - ], - "name": "State", - "nodeType": "EnumDefinition", - "src": "2526:468:8" - }, - { - "constant": false, - "id": 8663, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3000:65:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 8662, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "3000:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8665, - "name": "tokenManager", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3071:67:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 8664, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "3071:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8667, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3144:60:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 8666, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3144:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8669, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3210:62:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8671, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3278:66:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3278:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8673, - "name": "contributionToken", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3350:72:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8672, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3350:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8675, - "name": "goal", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3429:59:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3429:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8677, - "name": "period", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3494:61:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8676, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3494:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8679, - "name": "exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3561:67:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3561:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8681, - "name": "vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3634:73:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8680, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3634:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8683, - "name": "vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3713:76:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8682, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3713:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8685, - "name": "supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3795:71:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8684, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3795:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8687, - "name": "fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3872:79:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3872:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8689, - "name": "openDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "3957:63:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8688, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3957:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8691, - "name": "isClosed", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4027:63:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4027:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8693, - "name": "vestingCliffDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4096:71:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8692, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8695, - "name": "vestingCompleteDate", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4173:74:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8694, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4173:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8697, - "name": "totalRaised", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4253:66:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4253:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 8703, - "name": "contributions", - "nodeType": "VariableDeclaration", - "scope": 9579, - "src": "4325:68:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 8702, - "keyType": { - "id": 8698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4333:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4325:47:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 8701, - "keyType": { - "id": 8699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "4344:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 8700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 8707, - "name": "SetOpenDate", - "nodeType": "EventDefinition", - "parameters": { - "id": 8706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8705, - "indexed": false, - "name": "date", - "nodeType": "VariableDeclaration", - "scope": 8707, - "src": "4471:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8704, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4471:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4470:13:8" - }, - "src": "4452:32:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8709, - "name": "Close", - "nodeType": "EventDefinition", - "parameters": { - "id": 8708, - "nodeType": "ParameterList", - "parameters": [], - "src": "4507:2:8" - }, - "src": "4489:21:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8719, - "name": "Contribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 8718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8711, - "indexed": true, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4534:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8710, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4534:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8713, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4563:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4563:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8715, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4578:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8717, - "indexed": false, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 8719, - "src": "4594:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4594:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4533:86:8" - }, - "src": "4515:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 8729, - "name": "Refund", - "nodeType": "EventDefinition", - "parameters": { - "id": 8728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8721, - "indexed": true, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4644:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4644:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8723, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4673:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8725, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4688:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4688:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8727, - "indexed": false, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 8729, - "src": "4704:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4643:86:8" - }, - "src": "4625:105:8" - }, - { - "body": { - "id": 8926, - "nodeType": "Block", - "src": "7067:1956:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8762, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8731, - "src": "7096:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 8761, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7085:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7085:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8764, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7153:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7077:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7077:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8766, - "nodeType": "ExpressionStatement", - "src": "7077:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8769, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "7204:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 8768, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7193:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7193:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8771, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7261:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8767, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7185:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7185:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8773, - "nodeType": "ExpressionStatement", - "src": "7185:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8776, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8735, - "src": "7312:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8775, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7301:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7301:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8778, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8619, - "src": "7369:21:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7293:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7293:98:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8780, - "nodeType": "ExpressionStatement", - "src": "7293:98:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8782, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "7409:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7433: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": 8783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7425:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 8785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7425:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7409:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8787, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8622, - "src": "7477:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7401:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7401:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8789, - "nodeType": "ExpressionStatement", - "src": "7401:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8792, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "7532:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8791, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "7521:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7521:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8794, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "7555:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8795, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "7577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7555:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7521:59:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "ERROR_INVALID_CONTRIBUTE_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8625, - "src": "7589:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8790, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:107:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8800, - "nodeType": "ExpressionStatement", - "src": "7513:107:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8802, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "7638:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7646:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7638:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8805, - "name": "ERROR_INVALID_GOAL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8628, - "src": "7706:18:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8801, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7630:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7630:95:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8807, - "nodeType": "ExpressionStatement", - "src": "7630:95:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8809, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "7743:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7753:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7743:11:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8812, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "7811:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8808, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7735:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7735:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8814, - "nodeType": "ExpressionStatement", - "src": "7735:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8816, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8745, - "src": "7855:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7871:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7855:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8819, - "name": "ERROR_INVALID_EXCHANGE_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8631, - "src": "7923:27:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8815, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7847:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7847:104:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8821, - "nodeType": "ExpressionStatement", - "src": "7847:104:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8823, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "7969:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 8824, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "7991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7969:29:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8826, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "8037:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8822, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7961:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7961:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8828, - "nodeType": "ExpressionStatement", - "src": "7961:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8830, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "8081:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 8831, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "8106:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8081:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8833, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "8149:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8829, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8073:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8073:102:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8835, - "nodeType": "ExpressionStatement", - "src": "8073:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8837, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8193:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8213:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8193:21:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8840, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8218:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8841, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "8239:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8218:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8193:49:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8844, - "name": "ERROR_INVALID_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8637, - "src": "8261:17:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8836, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8185:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8185:94:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8846, - "nodeType": "ExpressionStatement", - "src": "8185:94:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8848, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8297:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8326:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8297:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8851, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8331:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8852, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "8360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8331:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8297:66:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8855, - "name": "ERROR_INVALID_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8637, - "src": "8365:17:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8847, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8289:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8289:94:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8857, - "nodeType": "ExpressionStatement", - "src": "8289:94:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8858, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "8394:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 8859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8394:13:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8860, - "nodeType": "ExpressionStatement", - "src": "8394:13:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8861, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "8418:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8862, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8731, - "src": "8431:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "8418:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 8864, - "nodeType": "ExpressionStatement", - "src": "8418:24:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8865, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "8452:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8866, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "8467:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "src": "8452:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8868, - "nodeType": "ExpressionStatement", - "src": "8452:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8869, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8667, - "src": "8490:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8871, - "name": "_tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "8504:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 8872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 18274, - "src": "8504:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_MiniMeToken_$17093_$", - "typeString": "function () view external returns (contract MiniMeToken)" - } - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8504:21:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 8870, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "8498:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 8874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8498:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "src": "8490:36:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 8876, - "nodeType": "ExpressionStatement", - "src": "8490:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8877, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8669, - "src": "8536:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8878, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8735, - "src": "8546:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8536:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8880, - "nodeType": "ExpressionStatement", - "src": "8536:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8881, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "8564:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8882, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "8578:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8564:26:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8884, - "nodeType": "ExpressionStatement", - "src": "8564:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8885, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "8600:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8886, - "name": "_contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "8620:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8600:38:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8888, - "nodeType": "ExpressionStatement", - "src": "8600:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8889, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "8648:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8890, - "name": "_goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "8655:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8648:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8892, - "nodeType": "ExpressionStatement", - "src": "8648:12:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8893, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8677, - "src": "8670:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8894, - "name": "_period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "8679:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8670:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8896, - "nodeType": "ExpressionStatement", - "src": "8670:16:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8897, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "8696:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8898, - "name": "_exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8745, - "src": "8711:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8696:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8900, - "nodeType": "ExpressionStatement", - "src": "8696:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8901, - "name": "vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8681, - "src": "8734:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8902, - "name": "_vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8747, - "src": "8755:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8734:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8904, - "nodeType": "ExpressionStatement", - "src": "8734:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8905, - "name": "vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8683, - "src": "8784:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8906, - "name": "_vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "8808:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "8784:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 8908, - "nodeType": "ExpressionStatement", - "src": "8784:46:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8909, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "8840:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8910, - "name": "_supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "8859:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8840:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8912, - "nodeType": "ExpressionStatement", - "src": "8840:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 8915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8913, - "name": "fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8687, - "src": "8886:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8914, - "name": "_fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "8913:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8886:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8916, - "nodeType": "ExpressionStatement", - "src": "8886:52:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8917, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "8953:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8966:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8953:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8925, - "nodeType": "IfStatement", - "src": "8949:68:8", - "trueBody": { - "id": 8924, - "nodeType": "Block", - "src": "8969:48:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8921, - "name": "_openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "8996:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 8920, - "name": "_setOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9177, - "src": "8983:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 8922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:23:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8923, - "nodeType": "ExpressionStatement", - "src": "8983:23:8" - } - ] - } - } - ] - }, - "documentation": "@notice Initialize presale\n@param _controller The address of the controller contract\n@param _tokenManager The address of the [bonded] token manager contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom a percentage of the raised funds is be to be sent]\n@param _contributionToken The address of the token to be used to contribute\n@param _goal The goal to be reached by the end of that presale [in contribution token wei]\n@param _period The period within which to accept contribution for that presale\n@param _exchangeRate The exchangeRate [= 1/price] at which [bonded] tokens are to be purchased for that presale [in PPM]\n@param _vestingCliffPeriod The period during which purchased [bonded] tokens are to be cliffed\n@param _vestingCompletePeriod The complete period during which purchased [bonded] tokens are to be vested\n@param _supplyOfferedPct The percentage of the initial supply of [bonded] tokens to be offered during that presale [in PPM]\n@param _fundingForBeneficiaryPct The percentage of the raised contribution tokens to be sent to the beneficiary [instead of the fundraising reserve] when that presale is closed [in PPM]\n@param _openDate The date upon which that presale is to be open [ignored if 0]", - "id": 8927, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 8758, - "modifierName": { - "argumentTypes": null, - "id": 8757, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "7054:8:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7054:8:8" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8731, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6346:40:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 8730, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "6346:28:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8733, - "name": "_tokenManager", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6396:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 8732, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19073, - "src": "6396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8735, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6448:37:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8737, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6495:41:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6495:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8739, - "name": "_contributionToken", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6546:47:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8741, - "name": "_goal", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6603:34:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6603:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8743, - "name": "_period", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6647:36:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8742, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6647:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8745, - "name": "_exchangeRate", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6693:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8747, - "name": "_vestingCliffPeriod", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6745:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8746, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6745:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8749, - "name": "_vestingCompletePeriod", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6803:51:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8748, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6803:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8751, - "name": "_supplyOfferedPct", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6864:46:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6864:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8753, - "name": "_fundingForBeneficiaryPct", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6920:54:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6920:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8755, - "name": "_openDate", - "nodeType": "VariableDeclaration", - "scope": 8927, - "src": "6984:38:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 8754, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6984:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:692:8" - }, - "payable": false, - "returnParameters": { - "id": 8759, - "nodeType": "ParameterList", - "parameters": [], - "src": "7067:0:8" - }, - "scope": 9579, - "src": "6317:2706:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 8952, - "nodeType": "Block", - "src": "9144:153:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 8938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8934, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9162:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 8935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9162:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8936, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "9173:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 8937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Pending", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9173:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "9162:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8939, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9188:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8933, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9154:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8941, - "nodeType": "ExpressionStatement", - "src": "9154:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8943, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "9226:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9238:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9226:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8946, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9252:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8942, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9218:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8948, - "nodeType": "ExpressionStatement", - "src": "9218:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8949, - "name": "_open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9204, - "src": "9283:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9283:7:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8951, - "nodeType": "ExpressionStatement", - "src": "9283:7:8" - } - ] - }, - "documentation": "@notice Open presale [enabling users to contribute]", - "id": 8953, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 8930, - "name": "OPEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9133:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 8931, - "modifierName": { - "argumentTypes": null, - "id": 8929, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9128:4:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9128:15:8" - } - ], - "name": "open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8928, - "nodeType": "ParameterList", - "parameters": [], - "src": "9116:2:8" - }, - "payable": false, - "returnParameters": { - "id": 8932, - "nodeType": "ParameterList", - "parameters": [], - "src": "9144:0:8" - }, - "scope": 9579, - "src": "9103:194:8", - "stateMutability": "nonpayable", - "superFunction": 9611, - "visibility": "external" - }, - { - "body": { - "id": 9008, - "nodeType": "Block", - "src": "9663:406:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 8970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8966, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9681:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 8967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8968, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "9692:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 8969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9692:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "9681:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8971, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9707:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8965, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9673:54:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8973, - "nodeType": "ExpressionStatement", - "src": "9673:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8975, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "9745:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9755:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9745:11:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8978, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9771:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8974, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9737:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9737:65:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8980, - "nodeType": "ExpressionStatement", - "src": "9737:65:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8981, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "9817:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8982, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "9838:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9817:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9001, - "nodeType": "Block", - "src": "9934:85:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8994, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9956:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9956:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9969:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9956:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8998, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9977:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8993, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9948:60:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9000, - "nodeType": "ExpressionStatement", - "src": "9948:60:8" - } - ] - }, - "id": 9002, - "nodeType": "IfStatement", - "src": "9813:206:8", - "trueBody": { - "id": 8992, - "nodeType": "Block", - "src": "9843:85:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8985, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "9865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8987, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "9878:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9865:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 8989, - "name": "ERROR_INVALID_CONTRIBUTE_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8643, - "src": "9886:30:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 8984, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9857:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9857:60:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8991, - "nodeType": "ExpressionStatement", - "src": "9857:60:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9004, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8955, - "src": "10041:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9005, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8957, - "src": "10055:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9003, - "name": "_contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "10029:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10029:33:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9007, - "nodeType": "ExpressionStatement", - "src": "10029:33:8" - } - ] - }, - "documentation": "@notice Contribute to the presale up to `@tokenAmount(self.contributionToken(): address, _value)`\n@param _contributor The address of the contributor\n@param _value The amount of contribution token to be spent", - "id": 9009, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 8960, - "modifierName": { - "argumentTypes": null, - "id": 8959, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "9628:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9628:12:8" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 8962, - "name": "CONTRIBUTE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8613, - "src": "9646:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 8963, - "modifierName": { - "argumentTypes": null, - "id": 8961, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9641:4:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9641:21:8" - } - ], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8955, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9009, - "src": "9573:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9573:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8957, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9009, - "src": "9595:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9595:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9572:38:8" - }, - "payable": true, - "returnParameters": { - "id": 8964, - "nodeType": "ParameterList", - "parameters": [], - "src": "9663:0:8" - }, - "scope": 9579, - "src": "9553:516:8", - "stateMutability": "payable", - "superFunction": 9621, - "visibility": "external" - }, - { - "body": { - "id": 9034, - "nodeType": "Block", - "src": "10454:124:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 9025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9021, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "10472:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 9022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10472:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9023, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "10483:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Refunding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10483:15:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "10472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9026, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "10500:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9020, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10464:56:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9028, - "nodeType": "ExpressionStatement", - "src": "10464:56:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9030, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9011, - "src": "10539:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9031, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "10553:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9029, - "name": "_refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9405, - "src": "10531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10531:40:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9033, - "nodeType": "ExpressionStatement", - "src": "10531:40:8" - } - ] - }, - "documentation": "@notice Refund `_contributor`'s presale contribution #`_vestedPurchaseId`\n@param _contributor The address of the contributor whose presale contribution is to be refunded\n@param _vestedPurchaseId The id of the contribution to be refunded", - "id": 9035, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9016, - "modifierName": { - "argumentTypes": null, - "id": 9015, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "10427:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10427:12:8" - }, - { - "arguments": null, - "id": 9018, - "modifierName": { - "argumentTypes": null, - "id": 9017, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10440:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10440:13:8" - } - ], - "name": "refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9011, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9035, - "src": "10369:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9010, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9013, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9035, - "src": "10391:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10391:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10368:49:8" - }, - "payable": false, - "returnParameters": { - "id": 9019, - "nodeType": "ParameterList", - "parameters": [], - "src": "10454:0:8" - }, - "scope": 9579, - "src": "10353:225:8", - "stateMutability": "nonpayable", - "superFunction": 9628, - "visibility": "external" - }, - { - "body": { - "id": 9054, - "nodeType": "Block", - "src": "10698:94:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "id": 9047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9043, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "10716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_enum$_State_$8661_$", - "typeString": "function () view returns (enum Presale.State)" - } - }, - "id": 9044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10716:7:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9045, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "10727:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GoalReached", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10727:17:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "src": "10716:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9048, - "name": "ERROR_INVALID_STATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "10746:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10708:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10708:58:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9050, - "nodeType": "ExpressionStatement", - "src": "10708:58:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9051, - "name": "_close", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9505, - "src": "10777:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9053, - "nodeType": "ExpressionStatement", - "src": "10777:8:8" - } - ] - }, - "documentation": "@notice Close presale and open trading", - "id": 9055, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9038, - "modifierName": { - "argumentTypes": null, - "id": 9037, - "name": "nonReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23894, - "src": "10671:12:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10671:12:8" - }, - { - "arguments": null, - "id": 9040, - "modifierName": { - "argumentTypes": null, - "id": 9039, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "10684:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10684:13:8" - } - ], - "name": "close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9036, - "nodeType": "ParameterList", - "parameters": [], - "src": "10659:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9041, - "nodeType": "ParameterList", - "parameters": [], - "src": "10698:0:8" - }, - "scope": 9579, - "src": "10645:147:8", - "stateMutability": "nonpayable", - "superFunction": 9614, - "visibility": "external" - }, - { - "body": { - "id": 9072, - "nodeType": "Block", - "src": "11170:57:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9069, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "11216:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9066, - "name": "exchangeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "11198:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9064, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9057, - "src": "11187:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "11187:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11187:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "11187:28:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11187:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9063, - "id": 9071, - "nodeType": "Return", - "src": "11180:40:8" - } - ] - }, - "documentation": "@notice Computes the amount of [bonded] tokens that would be purchased for `@tokenAmount(self.contributionToken(): address, _value)`\n@param _value The amount of contribution tokens to be used in that computation", - "id": 9073, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9060, - "modifierName": { - "argumentTypes": null, - "id": 9059, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11138:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11138:13:8" - } - ], - "name": "contributionToTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9057, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9073, - "src": "11110:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11110:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11109:16:8" - }, - "payable": false, - "returnParameters": { - "id": 9063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9062, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9073, - "src": "11161:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11161:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11160:9:8" - }, - "scope": 9579, - "src": "11080:147:8", - "stateMutability": "view", - "superFunction": 9635, - "visibility": "public" - }, - { - "body": { - "id": 9082, - "nodeType": "Block", - "src": "11306:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9080, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "11323:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 9079, - "id": 9081, - "nodeType": "Return", - "src": "11316:24:8" - } - ] - }, - "documentation": null, - "id": 9083, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9076, - "modifierName": { - "argumentTypes": null, - "id": 9075, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11274:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11274:13:8" - } - ], - "name": "contributionToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9074, - "nodeType": "ParameterList", - "parameters": [], - "src": "11259:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9078, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9083, - "src": "11297:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11297:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11296:9:8" - }, - "scope": 9579, - "src": "11233:114:8", - "stateMutability": "view", - "superFunction": 9640, - "visibility": "public" - }, - { - "body": { - "id": 9131, - "nodeType": "Block", - "src": "11484:438:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9090, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "11498:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11510:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11498:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9093, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "11515:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9094, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "11526:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11526:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11515:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11498:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9102, - "nodeType": "IfStatement", - "src": "11494:95:8", - "trueBody": { - "id": 9101, - "nodeType": "Block", - "src": "11544:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9098, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11565:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Pending", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11565:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9100, - "nodeType": "Return", - "src": "11558:20:8" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9103, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "11603:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9104, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "11618:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11603:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9117, - "nodeType": "IfStatement", - "src": "11599:178:8", - "trueBody": { - "id": 9116, - "nodeType": "Block", - "src": "11624:153:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9106, - "name": "isClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "11642:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9114, - "nodeType": "Block", - "src": "11710:57:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9111, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11735:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "GoalReached", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:17:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9113, - "nodeType": "Return", - "src": "11728:24:8" - } - ] - }, - "id": 9115, - "nodeType": "IfStatement", - "src": "11638:129:8", - "trueBody": { - "id": 9110, - "nodeType": "Block", - "src": "11652:52:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9107, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11677:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Closed", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11677:12:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9109, - "nodeType": "Return", - "src": "11670:19:8" - } - ] - } - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9118, - "name": "_timeSinceOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9152, - "src": "11791:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11791:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 9120, - "name": "period", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8677, - "src": "11810:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11791:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9129, - "nodeType": "Block", - "src": "11869:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9126, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11890:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Refunding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11890:15:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9128, - "nodeType": "Return", - "src": "11883:22:8" - } - ] - }, - "id": 9130, - "nodeType": "IfStatement", - "src": "11787:129:8", - "trueBody": { - "id": 9125, - "nodeType": "Block", - "src": "11818:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9122, - "name": "State", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8661, - "src": "11839:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_State_$8661_$", - "typeString": "type(enum Presale.State)" - } - }, - "id": 9123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11839:13:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "functionReturnParameters": 9089, - "id": 9124, - "nodeType": "Return", - "src": "11832:20:8" - } - ] - } - } - ] - }, - "documentation": "@notice Returns the current state of that presale", - "id": 9132, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 9086, - "modifierName": { - "argumentTypes": null, - "id": 9085, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "11454:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11454:13:8" - } - ], - "name": "state", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9084, - "nodeType": "ParameterList", - "parameters": [], - "src": "11439:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9088, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9132, - "src": "11477:5:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - }, - "typeName": { - "contractScope": null, - "id": 9087, - "name": "State", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8661, - "src": "11477:5:8", - "typeDescriptions": { - "typeIdentifier": "t_enum$_State_$8661", - "typeString": "enum Presale.State" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11476:7:8" - }, - "scope": 9579, - "src": "11425:497:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 9151, - "nodeType": "Block", - "src": "12023:136:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9137, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12049:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12037:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9149, - "nodeType": "Block", - "src": "12091:62:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9146, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12133:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9143, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12112:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27964, - "src": "12112:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 9136, - "id": 9148, - "nodeType": "Return", - "src": "12105:37:8" - } - ] - }, - "id": 9150, - "nodeType": "IfStatement", - "src": "12033:120:8", - "trueBody": { - "id": 9142, - "nodeType": "Block", - "src": "12052:33:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12073:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 9136, - "id": 9141, - "nodeType": "Return", - "src": "12066:8:8" - } - ] - } - } - ] - }, - "documentation": "*** internal functions ****", - "id": 9152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_timeSinceOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11989:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9135, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "12015:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 9134, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12015:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12014:8:8" - }, - "scope": 9579, - "src": "11966:193:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9176, - "nodeType": "Block", - "src": "12210:186:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 9161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9158, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12228:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9159, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12237:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12237:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12228:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9162, - "name": "ERROR_INVALID_TIME_PERIOD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "12255:25:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9157, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12220:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12220:61:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9164, - "nodeType": "ExpressionStatement", - "src": "12220:61:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9165, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12292:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9166, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12292:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9168, - "nodeType": "ExpressionStatement", - "src": "12292:16:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9169, - "name": "_setVestingDatesWhenOpenDateIsKnown", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9195, - "src": "12318:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12318:37:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9171, - "nodeType": "ExpressionStatement", - "src": "12318:37:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9173, - "name": "_date", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9154, - "src": "12383:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 9172, - "name": "SetOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8707, - "src": "12371:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 9174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12371:18:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9175, - "nodeType": "EmitStatement", - "src": "12366:23:8" - } - ] - }, - "documentation": null, - "id": 9177, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setOpenDate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9154, - "name": "_date", - "nodeType": "VariableDeclaration", - "scope": 9177, - "src": "12187:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 9153, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "12187:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12186:14:8" - }, - "payable": false, - "returnParameters": { - "id": 9156, - "nodeType": "ParameterList", - "parameters": [], - "src": "12210:0:8" - }, - "scope": 9579, - "src": "12165:231:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9194, - "nodeType": "Block", - "src": "12458:135:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9180, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "12468:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9183, - "name": "vestingCliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8681, - "src": "12500:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 9181, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "12487:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12487:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12468:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9186, - "nodeType": "ExpressionStatement", - "src": "12468:51:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9187, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "12529:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9190, - "name": "vestingCompletePeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8683, - "src": "12564:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 9188, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "12551:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "12551:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 9191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12551:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "12529:57:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 9193, - "nodeType": "ExpressionStatement", - "src": "12529:57:8" - } - ] - }, - "documentation": null, - "id": 9195, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_setVestingDatesWhenOpenDateIsKnown", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9178, - "nodeType": "ParameterList", - "parameters": [], - "src": "12446:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [], - "src": "12458:0:8" - }, - "scope": 9579, - "src": "12402:191:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9203, - "nodeType": "Block", - "src": "12625:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9199, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "12648:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 9200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12648:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 9198, - "name": "_setOpenDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9177, - "src": "12635:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 9201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12635:30:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9202, - "nodeType": "ExpressionStatement", - "src": "12635:30:8" - } - ] - }, - "documentation": null, - "id": 9204, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_open", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9196, - "nodeType": "ParameterList", - "parameters": [], - "src": "12613:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9197, - "nodeType": "ParameterList", - "parameters": [], - "src": "12625:0:8" - }, - "scope": 9579, - "src": "12599:73:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9333, - "nodeType": "Block", - "src": "12746:1346:8", - "statements": [ - { - "assignments": [ - 9212 - ], - "declarations": [ - { - "constant": false, - "id": 9212, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12756:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9225, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9215, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12788:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9213, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "12772:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12772: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": 9216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12772:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9217, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "12798:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12772:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 9223, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12829:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12772:63:8", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9221, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "12814:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9219, - "name": "goal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8675, - "src": "12805:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12805:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12805:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12756:79:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9226, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "12849:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9227, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12870:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12849:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9229, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12877:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9230, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "12886:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12877:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12849:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9245, - "nodeType": "IfStatement", - "src": "12845:111:8", - "trueBody": { - "id": 9244, - "nodeType": "Block", - "src": "12893:63:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9240, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "12938:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9238, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9208, - "src": "12927:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12927:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12927:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9233, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12907:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12907:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12907:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12907:38:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9243, - "nodeType": "ExpressionStatement", - "src": "12907:38:8" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9246, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13035:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9247, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "13056:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13035:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9286, - "nodeType": "IfStatement", - "src": "13031:367:8", - "trueBody": { - "id": 9285, - "nodeType": "Block", - "src": "13061:337:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9254, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13118:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9251, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13089:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9250, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "13083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13083:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "13083:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13083:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13135:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13083:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9258, - "name": "ERROR_INSUFFICIENT_BALANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8646, - "src": "13157:26:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9249, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13075:109:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9260, - "nodeType": "ExpressionStatement", - "src": "13075:109:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9266, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13241:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9268, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "13263:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13255:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13255:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9263, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13212:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9262, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "13206:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13206:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "13206:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 9270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13206:63:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9271, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13273:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13206:72:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9273, - "name": "ERROR_INSUFFICIENT_ALLOWANCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "13280:28:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9261, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13198:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13198:111:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9275, - "nodeType": "ExpressionStatement", - "src": "13198:111:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9277, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "13333:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9278, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13352:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9280, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "13374:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13366:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13366:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9282, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13381:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9276, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "13323:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13323:64:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9284, - "nodeType": "ExpressionStatement", - "src": "13323:64:8" - } - ] - } - }, - { - "assignments": [ - 9288 - ], - "declarations": [ - { - "constant": false, - "id": 9288, - "name": "tokensToSell", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "13468:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13468:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9292, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9290, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13512:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9289, - "name": "contributionToTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9073 - ], - "referencedDeclaration": 9073, - "src": "13491:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 9291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13491:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13468:50:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9296, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "13547:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9293, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "13528:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "issue", - "nodeType": "MemberAccess", - "referencedDeclaration": 18436, - "src": "13528:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 9297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13528:32:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9298, - "nodeType": "ExpressionStatement", - "src": "13528:32:8" - }, - { - "assignments": [ - 9300 - ], - "declarations": [ - { - "constant": false, - "id": 9300, - "name": "vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "13570:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13570:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9303, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13636:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9304, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "13662:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9305, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "13688:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9306, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "13710:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9307, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "13740:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13773:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 9301, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "13597:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "assignVested", - "nodeType": "MemberAccess", - "referencedDeclaration": 18566, - "src": "13597:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint64,uint64,uint64,bool) external returns (uint256)" - } - }, - "id": 9309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13597:206:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13570:233:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9311, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "13813:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9314, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "13843:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9312, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "13827:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13827: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": 9315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13827:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9317, - "nodeType": "ExpressionStatement", - "src": "13813:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9318, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "13953:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9321, - "indexExpression": { - "argumentTypes": null, - "id": 9319, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "13967:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13953:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9322, - "indexExpression": { - "argumentTypes": null, - "id": 9320, - "name": "vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9300, - "src": "13981:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13953:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9323, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "14001:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13953:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9325, - "nodeType": "ExpressionStatement", - "src": "13953:53:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9327, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9206, - "src": "14033:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9328, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9212, - "src": "14047:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9329, - "name": "tokensToSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9288, - "src": "14054:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9330, - "name": "vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9300, - "src": "14068:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9326, - "name": "Contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8719, - "src": "14022:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 9331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14022:63:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9332, - "nodeType": "EmitStatement", - "src": "14017:68:8" - } - ] - }, - "documentation": null, - "id": 9334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9206, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12699:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9205, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12699:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9208, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 9334, - "src": "12721:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12721:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12698:38:8" - }, - "payable": false, - "returnParameters": { - "id": 9210, - "nodeType": "ParameterList", - "parameters": [], - "src": "12746:0:8" - }, - "scope": 9579, - "src": "12678:1414:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9404, - "nodeType": "Block", - "src": "14173:1268:8", - "statements": [ - { - "assignments": [ - 9342 - ], - "declarations": [ - { - "constant": false, - "id": 9342, - "name": "tokensToRefund", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14265:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14265:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9348, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9343, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "14290:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9345, - "indexExpression": { - "argumentTypes": null, - "id": 9344, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14304:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14290:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9347, - "indexExpression": { - "argumentTypes": null, - "id": 9346, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "14318:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14290:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14265:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9350, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "14354:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14371:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14354:18:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9353, - "name": "ERROR_NOTHING_TO_REFUND", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8652, - "src": "14374:23:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "14346:7:8", - "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": "14346:52:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9355, - "nodeType": "ExpressionStatement", - "src": "14346:52:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 9362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9356, - "name": "contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "14408:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 9359, - "indexExpression": { - "argumentTypes": null, - "id": 9357, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14422:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14408:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 9360, - "indexExpression": { - "argumentTypes": null, - "id": 9358, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "14436:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14408:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 9361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14457:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14408:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9363, - "nodeType": "ExpressionStatement", - "src": "14408:50:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9365, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "14543:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9367, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "14570:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14562:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14562:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9369, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "14577:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9370, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "14591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9364, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "14533:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14533:73:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9372, - "nodeType": "ExpressionStatement", - "src": "14533:73:8" - }, - { - "assignments": [ - 9374, - null, - null, - null, - null - ], - "declarations": [ - { - "constant": false, - "id": 9374, - "name": "tokensSold", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "15074:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15074:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null, - null, - null, - null - ], - "id": 9380, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9377, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15124:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9378, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15138:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9375, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15100:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18822, - "src": "15100:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$", - "typeString": "function (address,uint256) view external returns (uint256,uint64,uint64,uint64,bool)" - } - }, - "id": 9379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15100:56:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$", - "typeString": "tuple(uint256,uint64,uint64,uint64,bool)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15073:83:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9384, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15193:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9385, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15207:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9381, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15166:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeVesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18638, - "src": "15166:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15166:59:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9387, - "nodeType": "ExpressionStatement", - "src": "15166:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9392, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15325:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 9391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15317:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9394, - "name": "tokensSold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9374, - "src": "15340:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9388, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "15299:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 18478, - "src": "15299:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15299:52:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9396, - "nodeType": "ExpressionStatement", - "src": "15299:52:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9398, - "name": "_contributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9336, - "src": "15374:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9399, - "name": "tokensToRefund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9342, - "src": "15388:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9400, - "name": "tokensSold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9374, - "src": "15404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9401, - "name": "_vestedPurchaseId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "15416:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9397, - "name": "Refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8729, - "src": "15367:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 9402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15367:67:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9403, - "nodeType": "EmitStatement", - "src": "15362:72:8" - } - ] - }, - "documentation": null, - "id": 9405, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_refund", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9336, - "name": "_contributor", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14115:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14115:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9338, - "name": "_vestedPurchaseId", - "nodeType": "VariableDeclaration", - "scope": 9405, - "src": "14137:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14137:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14114:49:8" - }, - "payable": false, - "returnParameters": { - "id": 9340, - "nodeType": "ParameterList", - "parameters": [], - "src": "14173:0:8" - }, - "scope": 9579, - "src": "14098:1343:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9504, - "nodeType": "Block", - "src": "15474:1136:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9408, - "name": "isClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "15484:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15495:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15484:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9411, - "nodeType": "ExpressionStatement", - "src": "15484:15:8" - }, - { - "assignments": [ - 9413 - ], - "declarations": [ - { - "constant": false, - "id": 9413, - "name": "fundsForBeneficiary", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "15575:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15575:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9421, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9419, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "15651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9416, - "name": "fundingForBeneficiaryPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8687, - "src": "15621:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9414, - "name": "totalRaised", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8697, - "src": "15605:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15605: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": 9417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15605:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "15605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15605:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15575:80:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9422, - "name": "fundsForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9413, - "src": "15669:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15691:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15669:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9435, - "nodeType": "IfStatement", - "src": "15665:131:8", - "trueBody": { - "id": 9434, - "nodeType": "Block", - "src": "15694:102:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9426, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15718:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9428, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15745:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15737:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15737:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9430, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "15752:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9431, - "name": "fundsForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9413, - "src": "15765:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9425, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "15708:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15708:77:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9433, - "nodeType": "ExpressionStatement", - "src": "15708:77:8" - } - ] - } - }, - { - "assignments": [ - 9437 - ], - "declarations": [ - { - "constant": false, - "id": 9437, - "name": "tokensForReserve", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "15866:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15866:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9454, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9438, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15893:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9439, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "15914:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15893:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9450, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15987:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15979:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15979:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9446, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "15950:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9445, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "15944:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15944:24:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "15944:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15944:49:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "15893:100:8", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9442, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "15928:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15920:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15920:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15920:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15866:127:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9456, - "name": "contributionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8673 - ], - "referencedDeclaration": 8673, - "src": "16014:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9458, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16041:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16033:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9460, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8669, - "src": "16048:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9461, - "name": "tokensForReserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "16057:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9455, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9578, - "src": "16004:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256)" - } - }, - "id": 9462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16004:70:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9463, - "nodeType": "ExpressionStatement", - "src": "16004:70:8" - }, - { - "assignments": [ - 9465 - ], - "declarations": [ - { - "constant": false, - "id": 9465, - "name": "tokensForBeneficiary", - "nodeType": "VariableDeclaration", - "scope": 9505, - "src": "16145:28:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9478, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9476, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "16231:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9472, - "name": "supplyOfferedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8685, - "src": "16208:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9470, - "name": "PPM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "16200:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "16200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16200:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9466, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8667, - "src": "16176:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 28037, - "src": "16176:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "16176: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": 9474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "16176:54:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16176:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16145:103:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9482, - "name": "tokensForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "16277:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9479, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "16258:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "issue", - "nodeType": "MemberAccess", - "referencedDeclaration": 18436, - "src": "16258:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 9483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16258:40:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9484, - "nodeType": "ExpressionStatement", - "src": "16258:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9488, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8671, - "src": "16347:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9489, - "name": "tokensForBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "16372:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9490, - "name": "openDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8689, - "src": "16406:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9491, - "name": "vestingCliffDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8693, - "src": "16428:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 9492, - "name": "vestingCompleteDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8695, - "src": "16458:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16491:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 9485, - "name": "tokenManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "16308:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "assignVested", - "nodeType": "MemberAccess", - "referencedDeclaration": 18566, - "src": "16308:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_uint64_$_t_uint64_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint64,uint64,uint64,bool) external returns (uint256)" - } - }, - "id": 9494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16308:214:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9495, - "nodeType": "ExpressionStatement", - "src": "16308:214:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9496, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "16556:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 9498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "openTrading", - "nodeType": "MemberAccess", - "referencedDeclaration": 9584, - "src": "16556:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 9499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:24:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9500, - "nodeType": "ExpressionStatement", - "src": "16556:24:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9501, - "name": "Close", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8709, - "src": "16596:5:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9503, - "nodeType": "EmitStatement", - "src": "16591:12:8" - } - ] - }, - "documentation": null, - "id": 9505, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_close", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9406, - "nodeType": "ParameterList", - "parameters": [], - "src": "15462:2:8" - }, - "payable": false, - "returnParameters": { - "id": 9407, - "nodeType": "ParameterList", - "parameters": [], - "src": "15474:0:8" - }, - "scope": 9579, - "src": "15447:1163:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 9577, - "nodeType": "Block", - "src": "16705:534:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9516, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "16719:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9517, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "16729:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16719:13:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9575, - "nodeType": "Block", - "src": "16938:295:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9544, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "16956:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9546, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16973:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16965:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16956:22:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9573, - "nodeType": "Block", - "src": "17099:124:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9566, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "17156:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9567, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "17163:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9568, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "17168:7: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, - "arguments": [ - { - "argumentTypes": null, - "id": 9563, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "17131:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9562, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17125:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "17125:30:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 9569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:51:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9570, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "17178:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9561, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "17117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17117:91:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9572, - "nodeType": "ExpressionStatement", - "src": "17117:91:8" - } - ] - }, - "id": 9574, - "nodeType": "IfStatement", - "src": "16952:271:8", - "trueBody": { - "id": 9560, - "nodeType": "Block", - "src": "16980:113:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9554, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "17033:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9555, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "17038:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9551, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9507, - "src": "17012:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9550, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "17006:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 9552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17006:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 9553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "17006:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 9556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17006:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9557, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "17048:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16998:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16998:80:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9559, - "nodeType": "ExpressionStatement", - "src": "16998:80:8" - } - ] - } - } - ] - }, - "id": 9576, - "nodeType": "IfStatement", - "src": "16715:518:8", - "trueBody": { - "id": 9543, - "nodeType": "Block", - "src": "16734:198:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9520, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9509, - "src": "16756:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9522, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16773:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16765:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16765:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16756:22:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9525, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "16780:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9519, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16748:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16748:62:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9527, - "nodeType": "ExpressionStatement", - "src": "16748:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9529, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "16832:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9531, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29961, - "src": "16847:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Presale_$9579", - "typeString": "contract Presale" - } - ], - "id": 9530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16839:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 9532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16839:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16832:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9534, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8655, - "src": "16856:29:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9528, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "16824:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16824:62:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9536, - "nodeType": "ExpressionStatement", - "src": "16824:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9540, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "16913:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9537, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "16900:3:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16900:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16900:21:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9542, - "nodeType": "ExpressionStatement", - "src": "16900:21:8" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9507, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16635:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9506, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16635:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9509, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16651:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9508, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16651:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9511, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16666:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16666:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9513, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 9578, - "src": "16679:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16679:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16634:61:8" - }, - "payable": false, - "returnParameters": { - "id": 9515, - "nodeType": "ParameterList", - "parameters": [], - "src": "16705:0:8" - }, - "scope": 9579, - "src": "16616:623:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 9580, - "src": "628:16613:8" - } - ], - "src": "0:17242:8" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.452Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/PublicResolver.json b/templates/multisig/build/contracts/PublicResolver.json deleted file mode 100644 index fff5dbd..0000000 --- a/templates/multisig/build/contracts/PublicResolver.json +++ /dev/null @@ -1,12116 +0,0 @@ -{ - "contractName": "PublicResolver", - "abi": [ - { - "inputs": [ - { - "name": "ensAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "a", - "type": "address" - } - ], - "name": "AddrChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "hash", - "type": "bytes32" - } - ], - "name": "ContentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "name", - "type": "string" - } - ], - "name": "NameChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "contentType", - "type": "uint256" - } - ], - "name": "ABIChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "name": "x", - "type": "bytes32" - }, - { - "indexed": false, - "name": "y", - "type": "bytes32" - } - ], - "name": "PubkeyChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "name": "indexedKey", - "type": "string" - }, - { - "indexed": false, - "name": "key", - "type": "string" - } - ], - "name": "TextChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "addr", - "outputs": [ - { - "name": "ret", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "addr", - "type": "address" - } - ], - "name": "setAddr", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "content", - "outputs": [ - { - "name": "ret", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "hash", - "type": "bytes32" - } - ], - "name": "setContent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "name", - "outputs": [ - { - "name": "ret", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "name", - "type": "string" - } - ], - "name": "setName", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "contentTypes", - "type": "uint256" - } - ], - "name": "ABI", - "outputs": [ - { - "name": "contentType", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "contentType", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - } - ], - "name": "setABI", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - } - ], - "name": "pubkey", - "outputs": [ - { - "name": "x", - "type": "bytes32" - }, - { - "name": "y", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "x", - "type": "bytes32" - }, - { - "name": "y", - "type": "bytes32" - } - ], - "name": "setPubkey", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "key", - "type": "string" - } - ], - "name": "text", - "outputs": [ - { - "name": "ret", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "node", - "type": "bytes32" - }, - { - "name": "key", - "type": "string" - }, - { - "name": "value", - "type": "string" - } - ], - "name": "setText", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516020806111a5833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055611153806100526000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146100c957806310f13a8c146100ff5780632203ab561461019d57806329cd62ea146102375780632dff6941146102555780633b3b57de1461027f57806359d1d43c146102b3578063623195b014610386578063691f3431146103e657806377372213146103fe578063c3d014d61461045c578063c869023314610477578063d5fa2b00146104a8575b600080fd5b3480156100d557600080fd5b506100eb600160e060020a0319600435166104cc565b604080519115158252519081900360200190f35b34801561010b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106399650505050505050565b005b3480156101a957600080fd5b506101b8600435602435610849565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561024357600080fd5b5061019b600435602435604435610955565b34801561026157600080fd5b5061026d600435610a55565b60408051918252519081900360200190f35b34801561028b57600080fd5b50610297600435610a6b565b60408051600160a060020a039092168252519081900360200190f35b3480156102bf57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610311958335953695604494919390910191908190840183828082843750949750610a869650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039257600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235946024803595369594606494920191908190840183828082843750949750610b8f9650505050505050565b3480156103f257600080fd5b50610311600435610c90565b34801561040a57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b958335953695604494919390910191908190840183828082843750949750610d349650505050505050565b34801561046857600080fd5b5061019b600435602435610e8a565b34801561048357600080fd5b5061048f600435610f6b565b6040805192835260208301919091528051918290030190f35b3480156104b457600080fd5b5061019b600435600160a060020a0360243516610f88565b6000600160e060020a031982167f3b3b57de00000000000000000000000000000000000000000000000000000000148061052f5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105635750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105975750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105cb5750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105ff5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806106335750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050506040513d60208110156106b657600080fd5b5051600160a060020a0316146106cb57600080fd5b6000848152600160209081526040918290209151855185936005019287929182918401908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610753959194919091019250905061108c565b50826040518082805190602001908083835b602083106107845780518252601f199092019160209182019101610765565b51815160209384036101000a60001901801990921691161790526040805192909401829003822081835289518383015289519096508a95507fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550948a94508392908301919085019080838360005b838110156108095781810151838201526020016107f1565b50505050905090810190601f1680156108365780820380516001836020036101000a031916815260200191505b509250505060405180910390a350505050565b60008281526001602081905260409091206060905b83831161094857828416158015906108975750600083815260068201602052604081205460026000196101006001841615020190911604115b1561093d57600083815260068201602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109315780601f1061090657610100808354040283529160200191610931565b820191906000526020600020905b81548152906001019060200180831161091457829003601f168201915b5050505050915061094d565b60029092029161085e565b600092505b509250929050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b5051600160a060020a0316146109e757600080fd5b604080518082018252848152602080820185815260008881526001835284902092516003840155516004909201919091558151858152908101849052815186927f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46928290030190a250505050565b6000908152600160208190526040909120015490565b600090815260016020526040902054600160a060020a031690565b600082815260016020908152604091829020915183516060936005019285929182918401908083835b60208310610ace5780518252601f199092019160209182019101610aaf565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b820191906000526020600020905b815481529060010190602001808311610b6557829003601f168201915b5050505050905092915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b5051600160a060020a031614610c2157600080fd5b6000198301831615610c3257600080fd5b600084815260016020908152604080832086845260060182529091208351610c5c9285019061108c565b50604051839085907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a350505050565b6000818152600160208181526040928390206002908101805485516000199582161561010002959095011691909104601f81018390048302840183019094528383526060939091830182828015610d285780601f10610cfd57610100808354040283529160200191610d28565b820191906000526020600020905b815481529060010190602001808311610d0b57829003601f168201915b50505050509050919050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610d8757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b505050506040513d6020811015610db157600080fd5b5051600160a060020a031614610dc657600080fd5b60008381526001602090815260409091208351610deb9260029092019185019061108c565b50604080516020808252845181830152845186937fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f79387939092839283019185019080838360005b83811015610e4b578181015183820152602001610e33565b50505050905090810190601f168015610e785780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b505050506040513d6020811015610f0757600080fd5b5051600160a060020a031614610f1c57600080fd5b6000838152600160208181526040928390209091018490558151848152915185927f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc92908290030190a2505050565b600090815260016020526040902060038101546004909101549091565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d602081101561100557600080fd5b5051600160a060020a03161461101a57600080fd5b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251908152915185927f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd292908290030190a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110cd57805160ff19168380011785556110fa565b828001600101855582156110fa579182015b828111156110fa5782518255916020019190600101906110df565b5061110692915061110a565b5090565b61112491905b808211156111065760008155600101611110565b905600a165627a7a72305820db02861400c6b3a36d9fa5c8af267332f178c718fdab62db1c5516e7e17815470029", - "deployedBytecode": "0x6080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146100c957806310f13a8c146100ff5780632203ab561461019d57806329cd62ea146102375780632dff6941146102555780633b3b57de1461027f57806359d1d43c146102b3578063623195b014610386578063691f3431146103e657806377372213146103fe578063c3d014d61461045c578063c869023314610477578063d5fa2b00146104a8575b600080fd5b3480156100d557600080fd5b506100eb600160e060020a0319600435166104cc565b604080519115158252519081900360200190f35b34801561010b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106399650505050505050565b005b3480156101a957600080fd5b506101b8600435602435610849565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101fb5781810151838201526020016101e3565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561024357600080fd5b5061019b600435602435604435610955565b34801561026157600080fd5b5061026d600435610a55565b60408051918252519081900360200190f35b34801561028b57600080fd5b50610297600435610a6b565b60408051600160a060020a039092168252519081900360200190f35b3480156102bf57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610311958335953695604494919390910191908190840183828082843750949750610a869650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039257600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235946024803595369594606494920191908190840183828082843750949750610b8f9650505050505050565b3480156103f257600080fd5b50610311600435610c90565b34801561040a57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261019b958335953695604494919390910191908190840183828082843750949750610d349650505050505050565b34801561046857600080fd5b5061019b600435602435610e8a565b34801561048357600080fd5b5061048f600435610f6b565b6040805192835260208301919091528051918290030190f35b3480156104b457600080fd5b5061019b600435600160a060020a0360243516610f88565b6000600160e060020a031982167f3b3b57de00000000000000000000000000000000000000000000000000000000148061052f5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105635750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105975750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105cb5750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105ff5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806106335750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050506040513d60208110156106b657600080fd5b5051600160a060020a0316146106cb57600080fd5b6000848152600160209081526040918290209151855185936005019287929182918401908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610753959194919091019250905061108c565b50826040518082805190602001908083835b602083106107845780518252601f199092019160209182019101610765565b51815160209384036101000a60001901801990921691161790526040805192909401829003822081835289518383015289519096508a95507fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550948a94508392908301919085019080838360005b838110156108095781810151838201526020016107f1565b50505050905090810190601f1680156108365780820380516001836020036101000a031916815260200191505b509250505060405180910390a350505050565b60008281526001602081905260409091206060905b83831161094857828416158015906108975750600083815260068201602052604081205460026000196101006001841615020190911604115b1561093d57600083815260068201602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109315780601f1061090657610100808354040283529160200191610931565b820191906000526020600020905b81548152906001019060200180831161091457829003601f168201915b5050505050915061094d565b60029092029161085e565b600092505b509250929050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b5051600160a060020a0316146109e757600080fd5b604080518082018252848152602080820185815260008881526001835284902092516003840155516004909201919091558151858152908101849052815186927f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46928290030190a250505050565b6000908152600160208190526040909120015490565b600090815260016020526040902054600160a060020a031690565b600082815260016020908152604091829020915183516060936005019285929182918401908083835b60208310610ace5780518252601f199092019160209182019101610aaf565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b820191906000526020600020905b815481529060010190602001808311610b6557829003601f168201915b5050505050905092915050565b600080546040805160e060020a6302571be302815260048101879052905186933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b5051600160a060020a031614610c2157600080fd5b6000198301831615610c3257600080fd5b600084815260016020908152604080832086845260060182529091208351610c5c9285019061108c565b50604051839085907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a350505050565b6000818152600160208181526040928390206002908101805485516000199582161561010002959095011691909104601f81018390048302840183019094528383526060939091830182828015610d285780601f10610cfd57610100808354040283529160200191610d28565b820191906000526020600020905b815481529060010190602001808311610d0b57829003601f168201915b50505050509050919050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610d8757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b505050506040513d6020811015610db157600080fd5b5051600160a060020a031614610dc657600080fd5b60008381526001602090815260409091208351610deb9260029092019185019061108c565b50604080516020808252845181830152845186937fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f79387939092839283019185019080838360005b83811015610e4b578181015183820152602001610e33565b50505050905090810190601f168015610e785780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b505050506040513d6020811015610f0757600080fd5b5051600160a060020a031614610f1c57600080fd5b6000838152600160208181526040928390209091018490558151848152915185927f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc92908290030190a2505050565b600090815260016020526040902060038101546004909101549091565b600080546040805160e060020a6302571be302815260048101869052905185933393600160a060020a0316926302571be39260248083019360209383900390910190829087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d602081101561100557600080fd5b5051600160a060020a03161461101a57600080fd5b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251908152915185927f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd292908290030190a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110cd57805160ff19168380011785556110fa565b828001600101855582156110fa579182015b828111156110fa5782518255916020019190600101906110df565b5061110692915061110a565b5090565b61112491905b808211156111065760008155600101611110565b905600a165627a7a72305820db02861400c6b3a36d9fa5c8af267332f178c718fdab62db1c5516e7e17815470029", - "sourceMap": "241:7334:78:-;;;1562:82;8:9:-1;5:2;;;30:1;27;20:12;5:2;1562:82:78;;;;;;;;;;;;;1624:3;:13;;-1:-1:-1;;;;;1624:13:78;;;-1:-1:-1;;;;;;1624:13:78;;;;;;;;;241:7334;;;;;;", - "deployedSourceMap": "241:7334:78:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1895:440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1895:440:78;;;-1:-1:-1;;;;;;1895:440:78;;;;;;;;;;;;;;;;;;;;;7407:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7407:166:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7407:166:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7407:166:78;;;;-1:-1:-1;7407:166:78;-1:-1:-1;7407:166:78;;-1:-1:-1;7407:166:78;;;;;;;;-1:-1:-1;7407:166:78;;-1:-1:-1;7407:166:78;;-1:-1:-1;;;;;;;7407:166:78;;;4924:443;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4924:443:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4924:443:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6619:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6619:169:78;;;;;;;;;3276:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3276:113:78;;;;;;;;;;;;;;;;;;;;;2494:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2494:107:78;;;;;;;;;-1:-1:-1;;;;;2494:107:78;;;;;;;;;;;;;;7005:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7005:123:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7005:123:78;;-1:-1:-1;7005:123:78;;-1:-1:-1;;;;;;;7005:123:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7005:123:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5669:286:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5669:286:78;;-1:-1:-1;5669:286:78;;-1:-1:-1;;;;;;;5669:286:78;4113:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4113:106:78;;;;;4460:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4460:143:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4460:143:78;;-1:-1:-1;4460:143:78;;-1:-1:-1;;;;;;;4460:143:78;3760:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3760:153:78;;;;;;;6197:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6197:149:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;2827:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2827:144:78;;;;;-1:-1:-1;;;;;2827:144:78;;;1895:440;1963:4;2001:17;-1:-1:-1;;;;;;1986:32:78;;;;:86;;-1:-1:-1;2052:20:78;-1:-1:-1;;;;;;2037:35:78;;;1986:86;:137;;;-1:-1:-1;2106:17:78;-1:-1:-1;;;;;;2091:32:78;;;1986:137;:187;;;-1:-1:-1;2157:16:78;-1:-1:-1;;;;;;2142:31:78;;;1986:187;:240;;;-1:-1:-1;2207:19:78;-1:-1:-1;;;;;;2192:34:78;;;1986:240;:291;;;-1:-1:-1;2260:17:78;-1:-1:-1;;;;;;2245:32:78;;;1986:291;:342;;;-1:-1:-1;2311:17:78;-1:-1:-1;;;;;;2296:32:78;;;1986:342;1979:349;1895:440;-1:-1:-1;;1895:440:78:o;7407:166::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;7498:13;;;;:7;:13;;;;;;;;;:23;;;;7524:5;;7498:18;;;7517:3;;7498:23;;;;;;;;;36:153:-1;66:2;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;;7498:23:78;;;;;-1:-1:-1;7498:23:78;;;;;;;;;;;:31;;;;:23;;:31;;;;;-1:-1:-1;7498:31:78;-1:-1:-1;7498:31:78;:::i;:::-;;7557:3;7539:27;;;;;;;;;;;;;36:153:-1;66:2;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;;7539:27:78;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7551:4:78;;-1:-1:-1;7539:27:78;;;;-1:-1:-1;7539:27:78;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7539:27:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7407:166;;;;:::o;4924:443::-;4998:19;5054:13;;;:7;:13;;;;;;;;5019:10;;5077:259;5098:27;;;5077:259;;5165:26;;;5164:33;;;;:72;;-1:-1:-1;5235:1:78;5201:24;;;:11;;;:24;;;;;:31;;;;;;;;-1:-1:-1;;5201:31:78;;;;;:35;5164:72;5160:166;;;5263:24;;;;:11;;;:24;;;;;;;;;5256:31;;;;;;;;;;;-1:-1:-1;;5256:31:78;;;;;;;;;;;;;;;;;;;;;;;;;;;5263:24;;5256:31;;5263:24;5256:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:7;;5160:166;5127:17;;;;;5077:259;;;5359:1;5345:15;;4924:443;;;;;;;:::o;6619:169::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;6731:15;;;;;;;;;;;;;;;;;;-1:-1:-1;6708:13:78;;;:7;:13;;;;;:38;;:20;;;:38;;;;;;;;;;6756:25;;;;;;;;;;;;;6716:4;;6756:25;;;;;;;;6619:169;;;;:::o;3276:113::-;3332:11;3361:13;;;:7;:13;;;;;;;;:21;;;3276:113::o;2494:107::-;2547:11;2576:13;;;:7;:13;;;;;:18;-1:-1:-1;;;;;2576:18:78;;2494:107::o;7005:123::-;7098:13;;;;:7;:13;;;;;;;;;:23;;;;7070:10;;7098:18;;;7117:3;;7098:23;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;7098:23:78;;;;;;;;;;;;;;;;;;7092:29;;;;274:1:-1;7092:29:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7098:23;;-1:-1:-1;7092:29:78;-1:-1:-1;;7092:29:78;;7098:23;7092:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:123;;;;:::o;5669:286::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;-1:-1:-1;;5817:15:78;;5816:31;;5815:38;5811:49;;5855:5;;;5811:49;5871:13;;;;:7;:13;;;;;;;;:31;;;:18;;:31;;;;;:38;;;;;;;;:::i;:::-;-1:-1:-1;5919:29:78;;5936:11;;5930:4;;5919:29;;;;;5669:286;;;;:::o;4113:106::-;4194:13;;;;:7;:13;;;;;;;;;:18;;;;4188:24;;;;-1:-1:-1;;4188:24:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4166:10;;4194:18;;4188:24;;4194:18;4188:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4113:106;;;:::o;4460:143::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;4538:13;;;;:7;:13;;;;;;;;:25;;;;:18;;;;;:25;;;;:::i;:::-;-1:-1:-1;4573:23:78;;;;;;;;;;;;;;;4585:4;;4573:23;;4591:4;;4573:23;;;;;;;;;;;;;;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;4573:23:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4460:143;;;:::o;3760:153::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;3842:13;;;;:7;:13;;;;;;;;;:21;;;:28;;;3880:26;;;;;;;3850:4;;3880:26;;;;;;;;;3760:153;;;:::o;6197:149::-;6252:9;6292:13;;;:7;:13;;;;;:20;;;:22;6316;;;;;6292;;6197:149::o;2827:144::-;1416:3;;;:15;;;-1:-1:-1;;;;;1416:15:78;;;;;;;;;;;;1435:10;;-1:-1:-1;;;;;1416:3:78;;-1:-1:-1;;1416:15:78;;;;;;;;;;;;;;;;:3;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;1416:15:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1416:15:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1416:15:78;-1:-1:-1;;;;;1416:29:78;;1412:40;;1447:5;;;1412:40;2906:13;;;;:7;:13;;;;;;;;;:25;;-1:-1:-1;;2906:25:78;-1:-1:-1;;;;;2906:25:78;;;;;;;;2941:23;;;;;;;2906:13;;2941:23;;;;;;;;;2827:144;;;:::o;241:7334::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;241:7334:78;;;-1:-1:-1;241:7334:78;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// See https://github.com/ensdomains/ens/blob/7e377df83f/contracts/PublicResolver.sol\n\npragma solidity ^0.4.0;\n\nimport \"./AbstractENS.sol\";\n\n/**\n * A simple resolver anyone can use; only allows the owner of a node to set its\n * address.\n */\ncontract PublicResolver {\n bytes4 constant INTERFACE_META_ID = 0x01ffc9a7;\n bytes4 constant ADDR_INTERFACE_ID = 0x3b3b57de;\n bytes4 constant CONTENT_INTERFACE_ID = 0xd8389dc5;\n bytes4 constant NAME_INTERFACE_ID = 0x691f3431;\n bytes4 constant ABI_INTERFACE_ID = 0x2203ab56;\n bytes4 constant PUBKEY_INTERFACE_ID = 0xc8690233;\n bytes4 constant TEXT_INTERFACE_ID = 0x59d1d43c;\n\n event AddrChanged(bytes32 indexed node, address a);\n event ContentChanged(bytes32 indexed node, bytes32 hash);\n event NameChanged(bytes32 indexed node, string name);\n event ABIChanged(bytes32 indexed node, uint256 indexed contentType);\n event PubkeyChanged(bytes32 indexed node, bytes32 x, bytes32 y);\n event TextChanged(bytes32 indexed node, string indexed indexedKey, string key);\n\n struct PublicKey {\n bytes32 x;\n bytes32 y;\n }\n\n struct Record {\n address addr;\n bytes32 content;\n string name;\n PublicKey pubkey;\n mapping(string=>string) text;\n mapping(uint256=>bytes) abis;\n }\n\n AbstractENS ens;\n mapping(bytes32=>Record) records;\n\n modifier only_owner(bytes32 node) {\n if (ens.owner(node) != msg.sender) throw;\n _;\n }\n\n /**\n * Constructor.\n * @param ensAddr The ENS registrar contract.\n */\n function PublicResolver(AbstractENS ensAddr) public {\n ens = ensAddr;\n }\n\n /**\n * Returns true if the resolver implements the interface specified by the provided hash.\n * @param interfaceID The ID of the interface to check for.\n * @return True if the contract implements the requested interface.\n */\n function supportsInterface(bytes4 interfaceID) public pure returns (bool) {\n return interfaceID == ADDR_INTERFACE_ID ||\n interfaceID == CONTENT_INTERFACE_ID ||\n interfaceID == NAME_INTERFACE_ID ||\n interfaceID == ABI_INTERFACE_ID ||\n interfaceID == PUBKEY_INTERFACE_ID ||\n interfaceID == TEXT_INTERFACE_ID ||\n interfaceID == INTERFACE_META_ID;\n }\n\n /**\n * Returns the address associated with an ENS node.\n * @param node The ENS node to query.\n * @return The associated address.\n */\n function addr(bytes32 node) public constant returns (address ret) {\n ret = records[node].addr;\n }\n\n /**\n * Sets the address associated with an ENS node.\n * May only be called by the owner of that node in the ENS registry.\n * @param node The node to update.\n * @param addr The address to set.\n */\n function setAddr(bytes32 node, address addr) only_owner(node) public {\n records[node].addr = addr;\n AddrChanged(node, addr);\n }\n\n /**\n * Returns the content hash associated with an ENS node.\n * Note that this resource type is not standardized, and will likely change\n * in future to a resource type based on multihash.\n * @param node The ENS node to query.\n * @return The associated content hash.\n */\n function content(bytes32 node) public constant returns (bytes32 ret) {\n ret = records[node].content;\n }\n\n /**\n * Sets the content hash associated with an ENS node.\n * May only be called by the owner of that node in the ENS registry.\n * Note that this resource type is not standardized, and will likely change\n * in future to a resource type based on multihash.\n * @param node The node to update.\n * @param hash The content hash to set\n */\n function setContent(bytes32 node, bytes32 hash) only_owner(node) public {\n records[node].content = hash;\n ContentChanged(node, hash);\n }\n\n /**\n * Returns the name associated with an ENS node, for reverse records.\n * Defined in EIP181.\n * @param node The ENS node to query.\n * @return The associated name.\n */\n function name(bytes32 node) public constant returns (string ret) {\n ret = records[node].name;\n }\n\n /**\n * Sets the name associated with an ENS node, for reverse records.\n * May only be called by the owner of that node in the ENS registry.\n * @param node The node to update.\n * @param name The name to set.\n */\n function setName(bytes32 node, string name) only_owner(node) public {\n records[node].name = name;\n NameChanged(node, name);\n }\n\n /**\n * Returns the ABI associated with an ENS node.\n * Defined in EIP205.\n * @param node The ENS node to query\n * @param contentTypes A bitwise OR of the ABI formats accepted by the caller.\n * @return contentType The content type of the return value\n * @return data The ABI data\n */\n function ABI(bytes32 node, uint256 contentTypes) public constant returns (uint256 contentType, bytes data) {\n var record = records[node];\n for(contentType = 1; contentType <= contentTypes; contentType <<= 1) {\n if ((contentType & contentTypes) != 0 && record.abis[contentType].length > 0) {\n data = record.abis[contentType];\n return;\n }\n }\n contentType = 0;\n }\n\n /**\n * Sets the ABI associated with an ENS node.\n * Nodes may have one ABI of each content type. To remove an ABI, set it to\n * the empty string.\n * @param node The node to update.\n * @param contentType The content type of the ABI\n * @param data The ABI data.\n */\n function setABI(bytes32 node, uint256 contentType, bytes data) only_owner(node) public {\n // Content types must be powers of 2\n if (((contentType - 1) & contentType) != 0) throw;\n\n records[node].abis[contentType] = data;\n ABIChanged(node, contentType);\n }\n\n /**\n * Returns the SECP256k1 public key associated with an ENS node.\n * Defined in EIP 619.\n * @param node The ENS node to query\n * @return x, y the X and Y coordinates of the curve point for the public key.\n */\n function pubkey(bytes32 node) public constant returns (bytes32 x, bytes32 y) {\n return (records[node].pubkey.x, records[node].pubkey.y);\n }\n\n /**\n * Sets the SECP256k1 public key associated with an ENS node.\n * @param node The ENS node to query\n * @param x the X coordinate of the curve point for the public key.\n * @param y the Y coordinate of the curve point for the public key.\n */\n function setPubkey(bytes32 node, bytes32 x, bytes32 y) only_owner(node) public {\n records[node].pubkey = PublicKey(x, y);\n PubkeyChanged(node, x, y);\n }\n\n /**\n * Returns the text data associated with an ENS node and key.\n * @param node The ENS node to query.\n * @param key The text data key to query.\n * @return The associated text data.\n */\n function text(bytes32 node, string key) public constant returns (string ret) {\n ret = records[node].text[key];\n }\n\n /**\n * Sets the text data associated with an ENS node and key.\n * May only be called by the owner of that node in the ENS registry.\n * @param node The node to update.\n * @param key The key to set.\n * @param value The text data value to set.\n */\n function setText(bytes32 node, string key, string value) only_owner(node) public {\n records[node].text[key] = value;\n TextChanged(node, key, key);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "exportedSymbols": { - "PublicResolver": [ - 27724 - ] - }, - "id": 27725, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27264, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:78" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "./AbstractENS.sol", - "id": 27265, - "nodeType": "ImportDirective", - "scope": 27725, - "sourceUnit": 27079, - "src": "112:27:78", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "A simple resolver anyone can use; only allows the owner of a node to set its\naddress.", - "fullyImplemented": true, - "id": 27724, - "linearizedBaseContracts": [ - 27724 - ], - "name": "PublicResolver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27268, - "name": "INTERFACE_META_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "271:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27266, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "271:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 27267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "307:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27271, - "name": "ADDR_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "323:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27269, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "323:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783362336235376465", - "id": 27270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "359:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993744862_by_1", - "typeString": "int_const 993744862" - }, - "value": "0x3b3b57de" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27274, - "name": "CONTENT_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "375:49:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27272, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "375:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786438333839646335", - "id": 27273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "414:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3627589061_by_1", - "typeString": "int_const 3627589061" - }, - "value": "0xd8389dc5" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27277, - "name": "NAME_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "430:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27275, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "430:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783639316633343331", - "id": 27276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "466:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1763652657_by_1", - "typeString": "int_const 1763652657" - }, - "value": "0x691f3431" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27280, - "name": "ABI_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "482:45:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27278, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "482:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783232303361623536", - "id": 27279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "517:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_570665814_by_1", - "typeString": "int_const 570665814" - }, - "value": "0x2203ab56" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27283, - "name": "PUBKEY_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "533:48:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27281, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "533:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786338363930323333", - "id": 27282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "571:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3362325043_by_1", - "typeString": "int_const 3362325043" - }, - "value": "0xc8690233" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27286, - "name": "TEXT_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "587:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27284, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "587:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783539643164343363", - "id": 27285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "623:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1506923580_by_1", - "typeString": "int_const 1506923580" - }, - "value": "0x59d1d43c" - }, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 27292, - "name": "AddrChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27288, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27292, - "src": "658:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "658:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27290, - "indexed": false, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 27292, - "src": "680:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "657:33:78" - }, - "src": "640:51:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27298, - "name": "ContentChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27294, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27298, - "src": "717:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27293, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "717:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27296, - "indexed": false, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 27298, - "src": "739:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27295, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "739:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "716:36:78" - }, - "src": "696:57:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27304, - "name": "NameChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27300, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27304, - "src": "776:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27299, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "776:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27302, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27304, - "src": "798:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27301, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "798:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "775:35:78" - }, - "src": "758:53:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27310, - "name": "ABIChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27306, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27310, - "src": "833:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27305, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "833:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27308, - "indexed": true, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27310, - "src": "855:27:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "855:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:51:78" - }, - "src": "816:68:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27318, - "name": "PubkeyChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27312, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "909:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27311, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "909:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27314, - "indexed": false, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "931:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27313, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "931:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27316, - "indexed": false, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "942:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "942:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "908:44:78" - }, - "src": "889:64:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27326, - "name": "TextChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27320, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "976:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27319, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "976:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27322, - "indexed": true, - "name": "indexedKey", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "998:25:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27321, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "998:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27324, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "1025:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27323, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1025:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "975:61:78" - }, - "src": "958:79:78" - }, - { - "canonicalName": "PublicResolver.PublicKey", - "id": 27331, - "members": [ - { - "constant": false, - "id": 27328, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27331, - "src": "1070:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27327, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1070:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27330, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27331, - "src": "1089:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27329, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1089:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "PublicKey", - "nodeType": "StructDefinition", - "scope": 27724, - "src": "1043:62:78", - "visibility": "public" - }, - { - "canonicalName": "PublicResolver.Record", - "id": 27348, - "members": [ - { - "constant": false, - "id": 27333, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1135:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27335, - "name": "content", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1157:15:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27334, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1157:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27337, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1182:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27336, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1182:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27339, - "name": "pubkey", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1203:16:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage_ptr", - "typeString": "struct PublicResolver.PublicKey" - }, - "typeName": { - "contractScope": null, - "id": 27338, - "name": "PublicKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27331, - "src": "1203:9:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage_ptr", - "typeString": "struct PublicResolver.PublicKey" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27343, - "name": "text", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1229:28:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "typeName": { - "id": 27342, - "keyType": { - "id": 27340, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1237:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "1229:23:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "valueType": { - "id": 27341, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1245:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27347, - "name": "abis", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1267:28:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes)" - }, - "typeName": { - "id": 27346, - "keyType": { - "id": 27344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1275:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1267:23:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes)" - }, - "valueType": { - "id": 27345, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1284:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Record", - "nodeType": "StructDefinition", - "scope": 27724, - "src": "1111:191:78", - "visibility": "public" - }, - { - "constant": false, - "id": 27350, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "1308:15:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 27349, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1308:11:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27354, - "name": "records", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "1329:32:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record)" - }, - "typeName": { - "id": 27353, - "keyType": { - "id": 27351, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1337:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1329:24:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record)" - }, - "valueType": { - "contractScope": null, - "id": 27352, - "name": "Record", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27348, - "src": "1346:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 27368, - "nodeType": "Block", - "src": "1402:68:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27360, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27356, - "src": "1426:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 27358, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27350, - "src": "1416:3:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "1416:9:78", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 27361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:15:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1435:3:78", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1435:10:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1416:29:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27366, - "nodeType": "IfStatement", - "src": "1412:40:78", - "trueBody": { - "id": 27365, - "nodeType": "Throw", - "src": "1447:5:78" - } - }, - { - "id": 27367, - "nodeType": "PlaceholderStatement", - "src": "1462:1:78" - } - ] - }, - "documentation": null, - "id": 27369, - "name": "only_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 27357, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27356, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27369, - "src": "1388:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27355, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1388:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1387:14:78" - }, - "src": "1368:102:78", - "visibility": "internal" - }, - { - "body": { - "id": 27378, - "nodeType": "Block", - "src": "1614:30:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27374, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27350, - "src": "1624:3:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27375, - "name": "ensAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27371, - "src": "1630:7:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1624:13:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27377, - "nodeType": "ExpressionStatement", - "src": "1624:13:78" - } - ] - }, - "documentation": "Constructor.\n@param ensAddr The ENS registrar contract.", - "id": 27379, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "PublicResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27371, - "name": "ensAddr", - "nodeType": "VariableDeclaration", - "scope": 27379, - "src": "1586:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 27370, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1586:11:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:21:78" - }, - "payable": false, - "returnParameters": { - "id": 27373, - "nodeType": "ParameterList", - "parameters": [], - "src": "1614:0:78" - }, - "scope": 27724, - "src": "1562:82:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27414, - "nodeType": "Block", - "src": "1969:366:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27386, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "1986:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27387, - "name": "ADDR_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27271, - "src": "2001:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1986:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27389, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2037:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27390, - "name": "CONTENT_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27274, - "src": "2052:20:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2037:35:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:86:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27393, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2091:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27394, - "name": "NAME_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27277, - "src": "2106:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2091:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:137:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27397, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2142:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27398, - "name": "ABI_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27280, - "src": "2157:16:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2142:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:187:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27401, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2192:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27402, - "name": "PUBKEY_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27283, - "src": "2207:19:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2192:34:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:240:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27405, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2245:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27406, - "name": "TEXT_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27286, - "src": "2260:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2245:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:291:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27409, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2296:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27410, - "name": "INTERFACE_META_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27268, - "src": "2311:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2296:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:342:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 27385, - "id": 27413, - "nodeType": "Return", - "src": "1979:349:78" - } - ] - }, - "documentation": "Returns true if the resolver implements the interface specified by the provided hash.\n@param interfaceID The ID of the interface to check for.\n@return True if the contract implements the requested interface.", - "id": 27415, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27381, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 27415, - "src": "1922:18:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27380, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1922:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1921:20:78" - }, - "payable": false, - "returnParameters": { - "id": 27385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27415, - "src": "1963:4:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 27383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1963:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1962:6:78" - }, - "scope": 27724, - "src": "1895:440:78", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27429, - "nodeType": "Block", - "src": "2560:41:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27422, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27420, - "src": "2570:3:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27423, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "2576:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27425, - "indexExpression": { - "argumentTypes": null, - "id": 27424, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27417, - "src": "2584:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2576:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27333, - "src": "2576:18:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2570:24:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27428, - "nodeType": "ExpressionStatement", - "src": "2570:24:78" - } - ] - }, - "documentation": "Returns the address associated with an ENS node.\n@param node The ENS node to query.\n@return The associated address.", - "id": 27430, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27417, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27430, - "src": "2508:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27416, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2508:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27420, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27430, - "src": "2547:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2547:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2546:13:78" - }, - "scope": 27724, - "src": "2494:107:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27452, - "nodeType": "Block", - "src": "2896:75:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27440, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "2906:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27442, - "indexExpression": { - "argumentTypes": null, - "id": 27441, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2914:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2906:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27333, - "src": "2906:18:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27444, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27434, - "src": "2927:4:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2906:25:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27446, - "nodeType": "ExpressionStatement", - "src": "2906:25:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27448, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2953:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27449, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27434, - "src": "2959:4:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27447, - "name": "AddrChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27292, - "src": "2941:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2941:23:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27451, - "nodeType": "ExpressionStatement", - "src": "2941:23:78" - } - ] - }, - "documentation": "Sets the address associated with an ENS node.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param addr The address to set.", - "id": 27453, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27437, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2883:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27438, - "modifierName": { - "argumentTypes": null, - "id": 27436, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "2872:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2872:16:78" - } - ], - "name": "setAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27432, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27453, - "src": "2844:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27431, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2844:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27434, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 27453, - "src": "2858:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2858:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2843:28:78" - }, - "payable": false, - "returnParameters": { - "id": 27439, - "nodeType": "ParameterList", - "parameters": [], - "src": "2896:0:78" - }, - "scope": 27724, - "src": "2827:144:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27467, - "nodeType": "Block", - "src": "3345:44:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27460, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27458, - "src": "3355:3:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27461, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "3361:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27463, - "indexExpression": { - "argumentTypes": null, - "id": 27462, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27455, - "src": "3369:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3361:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "content", - "nodeType": "MemberAccess", - "referencedDeclaration": 27335, - "src": "3361:21:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3355:27:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 27466, - "nodeType": "ExpressionStatement", - "src": "3355:27:78" - } - ] - }, - "documentation": "Returns the content hash associated with an ENS node.\nNote that this resource type is not standardized, and will likely change\nin future to a resource type based on multihash.\n@param node The ENS node to query.\n@return The associated content hash.", - "id": 27468, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "content", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27455, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27468, - "src": "3293:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27454, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3293:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3292:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27458, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27468, - "src": "3332:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27457, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3332:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3331:13:78" - }, - "scope": 27724, - "src": "3276:113:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27490, - "nodeType": "Block", - "src": "3832:81:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27478, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "3842:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27480, - "indexExpression": { - "argumentTypes": null, - "id": 27479, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3850:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3842:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "content", - "nodeType": "MemberAccess", - "referencedDeclaration": 27335, - "src": "3842:21:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27482, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27472, - "src": "3866:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3842:28:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 27484, - "nodeType": "ExpressionStatement", - "src": "3842:28:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27486, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3895:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27487, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27472, - "src": "3901:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27485, - "name": "ContentChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27298, - "src": "3880:14:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 27488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3880:26:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27489, - "nodeType": "ExpressionStatement", - "src": "3880:26:78" - } - ] - }, - "documentation": "Sets the content hash associated with an ENS node.\nMay only be called by the owner of that node in the ENS registry.\nNote that this resource type is not standardized, and will likely change\nin future to a resource type based on multihash.\n@param node The node to update.\n@param hash The content hash to set", - "id": 27491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27475, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3819:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27476, - "modifierName": { - "argumentTypes": null, - "id": 27474, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "3808:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3808:16:78" - } - ], - "name": "setContent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27470, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27491, - "src": "3780:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27469, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3780:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27472, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 27491, - "src": "3794:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27471, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3794:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3779:28:78" - }, - "payable": false, - "returnParameters": { - "id": 27477, - "nodeType": "ParameterList", - "parameters": [], - "src": "3832:0:78" - }, - "scope": 27724, - "src": "3760:153:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27505, - "nodeType": "Block", - "src": "4178:41:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27498, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27496, - "src": "4188:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27499, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "4194:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27501, - "indexExpression": { - "argumentTypes": null, - "id": 27500, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27493, - "src": "4202:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4194:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 27337, - "src": "4194:18:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "4188:24:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 27504, - "nodeType": "ExpressionStatement", - "src": "4188:24:78" - } - ] - }, - "documentation": "Returns the name associated with an ENS node, for reverse records.\nDefined in EIP181.\n@param node The ENS node to query.\n@return The associated name.", - "id": 27506, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27493, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27506, - "src": "4127:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4127:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4126:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27496, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27506, - "src": "4166:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4166:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4165:12:78" - }, - "scope": 27724, - "src": "4113:106:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27528, - "nodeType": "Block", - "src": "4528:75:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27516, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "4538:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27518, - "indexExpression": { - "argumentTypes": null, - "id": 27517, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4546:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4538:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 27337, - "src": "4538:18:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27520, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27510, - "src": "4559:4:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4538:25:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 27522, - "nodeType": "ExpressionStatement", - "src": "4538:25:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27524, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4585:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27525, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27510, - "src": "4591:4:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 27523, - "name": "NameChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27304, - "src": "4573:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory)" - } - }, - "id": 27526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4573:23:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27527, - "nodeType": "ExpressionStatement", - "src": "4573:23:78" - } - ] - }, - "documentation": "Sets the name associated with an ENS node, for reverse records.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param name The name to set.", - "id": 27529, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27513, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4515:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27514, - "modifierName": { - "argumentTypes": null, - "id": 27512, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "4504:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4504:16:78" - } - ], - "name": "setName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27508, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27529, - "src": "4477:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27507, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4477:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27510, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27529, - "src": "4491:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27509, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4491:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4476:27:78" - }, - "payable": false, - "returnParameters": { - "id": 27515, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:78" - }, - "scope": 27724, - "src": "4460:143:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27586, - "nodeType": "Block", - "src": "5031:336:78", - "statements": [ - { - "assignments": [ - 27540 - ], - "declarations": [ - { - "constant": false, - "id": 27540, - "name": "record", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "5041:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 27544, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27541, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "5054:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27543, - "indexExpression": { - "argumentTypes": null, - "id": 27542, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27531, - "src": "5062:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5054:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5041:26:78" - }, - { - "body": { - "id": 27580, - "nodeType": "Block", - "src": "5146:190:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27556, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5165:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "id": 27557, - "name": "contentTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27533, - "src": "5179:12:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5165:26:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5164:28:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5196:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5164:33:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27562, - "name": "record", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27540, - "src": "5201:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record storage pointer" - } - }, - "id": 27563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5201:11:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27565, - "indexExpression": { - "argumentTypes": null, - "id": 27564, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5213:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5201:24:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 27566, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5201:31:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5235:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5201:35:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5164:72:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27579, - "nodeType": "IfStatement", - "src": "5160:166:78", - "trueBody": { - "id": 27578, - "nodeType": "Block", - "src": "5238:88:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27570, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27538, - "src": "5256:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27571, - "name": "record", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27540, - "src": "5263:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record storage pointer" - } - }, - "id": 27572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5263:11:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27574, - "indexExpression": { - "argumentTypes": null, - "id": 27573, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5275:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5263:24:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "src": "5256:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 27576, - "nodeType": "ExpressionStatement", - "src": "5256:31:78" - }, - { - "expression": null, - "functionReturnParameters": 27539, - "id": 27577, - "nodeType": "Return", - "src": "5305:7:78" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27549, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5098:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27550, - "name": "contentTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27533, - "src": "5113:12:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5098:27:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 27581, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 27547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27545, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5081:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 27546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5095:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5081:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27548, - "nodeType": "ExpressionStatement", - "src": "5081:15:78" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 27554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27552, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5127:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "<<=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 27553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5143:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5127:17:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27555, - "nodeType": "ExpressionStatement", - "src": "5127:17:78" - }, - "nodeType": "ForStatement", - "src": "5077:259:78" - }, - { - "expression": { - "argumentTypes": null, - "id": 27584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27582, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5345:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 27583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5359:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5345:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27585, - "nodeType": "ExpressionStatement", - "src": "5345:15:78" - } - ] - }, - "documentation": "Returns the ABI associated with an ENS node.\nDefined in EIP205.\n@param node The ENS node to query\n@param contentTypes A bitwise OR of the ABI formats accepted by the caller.\n@return contentType The content type of the return value\n@return data The ABI data", - "id": 27587, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ABI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27531, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4937:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27530, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4937:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27533, - "name": "contentTypes", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4951:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4951:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4936:36:78" - }, - "payable": false, - "returnParameters": { - "id": 27539, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27536, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4998:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27535, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4998:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27538, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "5019:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 27537, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5019:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4997:33:78" - }, - "scope": 27724, - "src": "4924:443:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27624, - "nodeType": "Block", - "src": "5756:199:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27599, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5817:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 27600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5831:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5817:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27602, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5816:17:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "id": 27603, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5836:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5816:31:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27605, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5815:33:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5852:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5815:38:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27609, - "nodeType": "IfStatement", - "src": "5811:49:78", - "trueBody": { - "id": 27608, - "nodeType": "Throw", - "src": "5855:5:78" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 27617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27610, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "5871:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27612, - "indexExpression": { - "argumentTypes": null, - "id": 27611, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5879:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5871:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5871:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27615, - "indexExpression": { - "argumentTypes": null, - "id": 27614, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5890:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5871:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27616, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27593, - "src": "5905:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "5871:38:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 27618, - "nodeType": "ExpressionStatement", - "src": "5871:38:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27620, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5930:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27621, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5936:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27619, - "name": "ABIChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27310, - "src": "5919:10:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 27622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5919:29:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27623, - "nodeType": "ExpressionStatement", - "src": "5919:29:78" - } - ] - }, - "documentation": "Sets the ABI associated with an ENS node.\nNodes may have one ABI of each content type. To remove an ABI, set it to\nthe empty string.\n@param node The node to update.\n@param contentType The content type of the ABI\n@param data The ABI data.", - "id": 27625, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27596, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5743:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27597, - "modifierName": { - "argumentTypes": null, - "id": 27595, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "5732:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5732:16:78" - } - ], - "name": "setABI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27589, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5685:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27588, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5685:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27591, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5699:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5699:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27593, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5720:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 27592, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5720:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5684:47:78" - }, - "payable": false, - "returnParameters": { - "id": 27598, - "nodeType": "ParameterList", - "parameters": [], - "src": "5756:0:78" - }, - "scope": 27724, - "src": "5669:286:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27646, - "nodeType": "Block", - "src": "6274:72:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27634, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6292:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27636, - "indexExpression": { - "argumentTypes": null, - "id": 27635, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27627, - "src": "6300:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6292:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6292:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "x", - "nodeType": "MemberAccess", - "referencedDeclaration": 27328, - "src": "6292:22:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27639, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6316:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27641, - "indexExpression": { - "argumentTypes": null, - "id": 27640, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27627, - "src": "6324:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6316:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6316:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "y", - "nodeType": "MemberAccess", - "referencedDeclaration": 27330, - "src": "6316:22:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27644, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6291:48:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 27633, - "id": 27645, - "nodeType": "Return", - "src": "6284:55:78" - } - ] - }, - "documentation": "Returns the SECP256k1 public key associated with an ENS node.\nDefined in EIP 619.\n@param node The ENS node to query\n@return x, y the X and Y coordinates of the curve point for the public key.", - "id": 27647, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pubkey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27627, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6213:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27626, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6213:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6212:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27630, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6252:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27629, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6252:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27632, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6263:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27631, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6263:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6251:22:78" - }, - "scope": 27724, - "src": "6197:149:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27675, - "nodeType": "Block", - "src": "6698:90:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27659, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6708:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27661, - "indexExpression": { - "argumentTypes": null, - "id": 27660, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6716:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6708:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6708:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27664, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27651, - "src": "6741:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27665, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27653, - "src": "6744:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27663, - "name": "PublicKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27331, - "src": "6731:9:78", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PublicKey_$27331_storage_ptr_$", - "typeString": "type(struct PublicResolver.PublicKey storage pointer)" - } - }, - "id": 27666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6731:15:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_memory", - "typeString": "struct PublicResolver.PublicKey memory" - } - }, - "src": "6708:38:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27668, - "nodeType": "ExpressionStatement", - "src": "6708:38:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27670, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6770:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27671, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27651, - "src": "6776:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27672, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27653, - "src": "6779:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27669, - "name": "PubkeyChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27318, - "src": "6756:13:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32,bytes32)" - } - }, - "id": 27673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6756:25:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27674, - "nodeType": "ExpressionStatement", - "src": "6756:25:78" - } - ] - }, - "documentation": "Sets the SECP256k1 public key associated with an ENS node.\n@param node The ENS node to query\n@param x the X coordinate of the curve point for the public key.\n@param y the Y coordinate of the curve point for the public key.", - "id": 27676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27656, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6685:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27657, - "modifierName": { - "argumentTypes": null, - "id": 27655, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "6674:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6674:16:78" - } - ], - "name": "setPubkey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27649, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6638:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6638:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27651, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6652:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27650, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6652:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27653, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6663:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27652, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6663:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:36:78" - }, - "payable": false, - "returnParameters": { - "id": 27658, - "nodeType": "ParameterList", - "parameters": [], - "src": "6698:0:78" - }, - "scope": 27724, - "src": "6619:169:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27694, - "nodeType": "Block", - "src": "7082:46:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27685, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27683, - "src": "7092:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27686, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "7098:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27688, - "indexExpression": { - "argumentTypes": null, - "id": 27687, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27678, - "src": "7106:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "text", - "nodeType": "MemberAccess", - "referencedDeclaration": 27343, - "src": "7098:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 27691, - "indexExpression": { - "argumentTypes": null, - "id": 27690, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27680, - "src": "7117:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:23:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "7092:29:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 27693, - "nodeType": "ExpressionStatement", - "src": "7092:29:78" - } - ] - }, - "documentation": "Returns the text data associated with an ENS node and key.\n@param node The ENS node to query.\n@param key The text data key to query.\n@return The associated text data.", - "id": 27695, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "text", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27678, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7019:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27677, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7019:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27680, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7033:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27679, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7033:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7018:26:78" - }, - "payable": false, - "returnParameters": { - "id": 27684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27683, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7070:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27682, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7070:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7069:12:78" - }, - "scope": 27724, - "src": "7005:123:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27722, - "nodeType": "Block", - "src": "7488:85:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27707, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "7498:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27709, - "indexExpression": { - "argumentTypes": null, - "id": 27708, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7506:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7498:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "text", - "nodeType": "MemberAccess", - "referencedDeclaration": 27343, - "src": "7498:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 27712, - "indexExpression": { - "argumentTypes": null, - "id": 27711, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7517:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7498:23:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27713, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27701, - "src": "7524:5:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "7498:31:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 27715, - "nodeType": "ExpressionStatement", - "src": "7498:31:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27717, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7551:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27718, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7557:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 27719, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7562:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 27716, - "name": "TextChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27326, - "src": "7539:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory,string memory)" - } - }, - "id": 27720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7539:27:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27721, - "nodeType": "ExpressionStatement", - "src": "7539:27:78" - } - ] - }, - "documentation": "Sets the text data associated with an ENS node and key.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param key The key to set.\n@param value The text data value to set.", - "id": 27723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27704, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7475:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27705, - "modifierName": { - "argumentTypes": null, - "id": 27703, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "7464:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7464:16:78" - } - ], - "name": "setText", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27697, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7424:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27696, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7424:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27699, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7438:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27698, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7438:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27701, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7450:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27700, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7450:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7423:40:78" - }, - "payable": false, - "returnParameters": { - "id": 27706, - "nodeType": "ParameterList", - "parameters": [], - "src": "7488:0:78" - }, - "scope": 27724, - "src": "7407:166:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 27725, - "src": "241:7334:78" - } - ], - "src": "87:7489:78" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol", - "exportedSymbols": { - "PublicResolver": [ - 27724 - ] - }, - "id": 27725, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27264, - "literals": [ - "solidity", - "^", - "0.4", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:78" - }, - { - "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol", - "file": "./AbstractENS.sol", - "id": 27265, - "nodeType": "ImportDirective", - "scope": 27725, - "sourceUnit": 27079, - "src": "112:27:78", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "A simple resolver anyone can use; only allows the owner of a node to set its\naddress.", - "fullyImplemented": true, - "id": 27724, - "linearizedBaseContracts": [ - 27724 - ], - "name": "PublicResolver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27268, - "name": "INTERFACE_META_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "271:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27266, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "271:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 27267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "307:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27271, - "name": "ADDR_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "323:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27269, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "323:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783362336235376465", - "id": 27270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "359:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_993744862_by_1", - "typeString": "int_const 993744862" - }, - "value": "0x3b3b57de" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27274, - "name": "CONTENT_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "375:49:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27272, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "375:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786438333839646335", - "id": 27273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "414:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3627589061_by_1", - "typeString": "int_const 3627589061" - }, - "value": "0xd8389dc5" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27277, - "name": "NAME_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "430:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27275, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "430:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783639316633343331", - "id": 27276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "466:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1763652657_by_1", - "typeString": "int_const 1763652657" - }, - "value": "0x691f3431" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27280, - "name": "ABI_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "482:45:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27278, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "482:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783232303361623536", - "id": 27279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "517:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_570665814_by_1", - "typeString": "int_const 570665814" - }, - "value": "0x2203ab56" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27283, - "name": "PUBKEY_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "533:48:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27281, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "533:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786338363930323333", - "id": 27282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "571:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3362325043_by_1", - "typeString": "int_const 3362325043" - }, - "value": "0xc8690233" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27286, - "name": "TEXT_INTERFACE_ID", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "587:46:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27284, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "587:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783539643164343363", - "id": 27285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "623:10:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1506923580_by_1", - "typeString": "int_const 1506923580" - }, - "value": "0x59d1d43c" - }, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 27292, - "name": "AddrChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27288, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27292, - "src": "658:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "658:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27290, - "indexed": false, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 27292, - "src": "680:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "680:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "657:33:78" - }, - "src": "640:51:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27298, - "name": "ContentChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27294, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27298, - "src": "717:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27293, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "717:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27296, - "indexed": false, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 27298, - "src": "739:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27295, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "739:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "716:36:78" - }, - "src": "696:57:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27304, - "name": "NameChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27300, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27304, - "src": "776:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27299, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "776:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27302, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27304, - "src": "798:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27301, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "798:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "775:35:78" - }, - "src": "758:53:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27310, - "name": "ABIChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27306, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27310, - "src": "833:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27305, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "833:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27308, - "indexed": true, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27310, - "src": "855:27:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "855:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:51:78" - }, - "src": "816:68:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27318, - "name": "PubkeyChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27312, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "909:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27311, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "909:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27314, - "indexed": false, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "931:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27313, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "931:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27316, - "indexed": false, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27318, - "src": "942:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "942:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "908:44:78" - }, - "src": "889:64:78" - }, - { - "anonymous": false, - "documentation": null, - "id": 27326, - "name": "TextChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 27325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27320, - "indexed": true, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "976:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27319, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "976:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27322, - "indexed": true, - "name": "indexedKey", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "998:25:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27321, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "998:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27324, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27326, - "src": "1025:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27323, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1025:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "975:61:78" - }, - "src": "958:79:78" - }, - { - "canonicalName": "PublicResolver.PublicKey", - "id": 27331, - "members": [ - { - "constant": false, - "id": 27328, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27331, - "src": "1070:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27327, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1070:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27330, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27331, - "src": "1089:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27329, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1089:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "PublicKey", - "nodeType": "StructDefinition", - "scope": 27724, - "src": "1043:62:78", - "visibility": "public" - }, - { - "canonicalName": "PublicResolver.Record", - "id": 27348, - "members": [ - { - "constant": false, - "id": 27333, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1135:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27335, - "name": "content", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1157:15:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27334, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1157:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27337, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1182:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27336, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1182:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27339, - "name": "pubkey", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1203:16:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage_ptr", - "typeString": "struct PublicResolver.PublicKey" - }, - "typeName": { - "contractScope": null, - "id": 27338, - "name": "PublicKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27331, - "src": "1203:9:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage_ptr", - "typeString": "struct PublicResolver.PublicKey" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27343, - "name": "text", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1229:28:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "typeName": { - "id": 27342, - "keyType": { - "id": 27340, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1237:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "1229:23:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "valueType": { - "id": 27341, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1245:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27347, - "name": "abis", - "nodeType": "VariableDeclaration", - "scope": 27348, - "src": "1267:28:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes)" - }, - "typeName": { - "id": 27346, - "keyType": { - "id": 27344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1275:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1267:23:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes)" - }, - "valueType": { - "id": 27345, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1284:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Record", - "nodeType": "StructDefinition", - "scope": 27724, - "src": "1111:191:78", - "visibility": "public" - }, - { - "constant": false, - "id": 27350, - "name": "ens", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "1308:15:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 27349, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1308:11:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27354, - "name": "records", - "nodeType": "VariableDeclaration", - "scope": 27724, - "src": "1329:32:78", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record)" - }, - "typeName": { - "id": 27353, - "keyType": { - "id": 27351, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1337:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1329:24:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record)" - }, - "valueType": { - "contractScope": null, - "id": 27352, - "name": "Record", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27348, - "src": "1346:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 27368, - "nodeType": "Block", - "src": "1402:68:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27360, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27356, - "src": "1426:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 27358, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27350, - "src": "1416:3:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 27007, - "src": "1416:9:78", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 27361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:15:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1435:3:78", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 27363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1435:10:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1416:29:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27366, - "nodeType": "IfStatement", - "src": "1412:40:78", - "trueBody": { - "id": 27365, - "nodeType": "Throw", - "src": "1447:5:78" - } - }, - { - "id": 27367, - "nodeType": "PlaceholderStatement", - "src": "1462:1:78" - } - ] - }, - "documentation": null, - "id": 27369, - "name": "only_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 27357, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27356, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27369, - "src": "1388:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27355, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1388:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1387:14:78" - }, - "src": "1368:102:78", - "visibility": "internal" - }, - { - "body": { - "id": 27378, - "nodeType": "Block", - "src": "1614:30:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27374, - "name": "ens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27350, - "src": "1624:3:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27375, - "name": "ensAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27371, - "src": "1630:7:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "src": "1624:13:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "id": 27377, - "nodeType": "ExpressionStatement", - "src": "1624:13:78" - } - ] - }, - "documentation": "Constructor.\n@param ensAddr The ENS registrar contract.", - "id": 27379, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "PublicResolver", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27371, - "name": "ensAddr", - "nodeType": "VariableDeclaration", - "scope": 27379, - "src": "1586:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - }, - "typeName": { - "contractScope": null, - "id": 27370, - "name": "AbstractENS", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27078, - "src": "1586:11:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AbstractENS_$27078", - "typeString": "contract AbstractENS" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:21:78" - }, - "payable": false, - "returnParameters": { - "id": 27373, - "nodeType": "ParameterList", - "parameters": [], - "src": "1614:0:78" - }, - "scope": 27724, - "src": "1562:82:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27414, - "nodeType": "Block", - "src": "1969:366:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27386, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "1986:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27387, - "name": "ADDR_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27271, - "src": "2001:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1986:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27389, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2037:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27390, - "name": "CONTENT_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27274, - "src": "2052:20:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2037:35:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:86:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27393, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2091:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27394, - "name": "NAME_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27277, - "src": "2106:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2091:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:137:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27397, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2142:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27398, - "name": "ABI_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27280, - "src": "2157:16:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2142:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:187:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27401, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2192:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27402, - "name": "PUBKEY_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27283, - "src": "2207:19:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2192:34:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:240:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27405, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2245:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27406, - "name": "TEXT_INTERFACE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27286, - "src": "2260:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2245:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:291:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 27411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27409, - "name": "interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27381, - "src": "2296:11:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27410, - "name": "INTERFACE_META_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27268, - "src": "2311:17:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2296:32:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1986:342:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 27385, - "id": 27413, - "nodeType": "Return", - "src": "1979:349:78" - } - ] - }, - "documentation": "Returns true if the resolver implements the interface specified by the provided hash.\n@param interfaceID The ID of the interface to check for.\n@return True if the contract implements the requested interface.", - "id": 27415, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27381, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 27415, - "src": "1922:18:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 27380, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1922:6:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1921:20:78" - }, - "payable": false, - "returnParameters": { - "id": 27385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27415, - "src": "1963:4:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 27383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1963:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1962:6:78" - }, - "scope": 27724, - "src": "1895:440:78", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27429, - "nodeType": "Block", - "src": "2560:41:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27422, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27420, - "src": "2570:3:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27423, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "2576:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27425, - "indexExpression": { - "argumentTypes": null, - "id": 27424, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27417, - "src": "2584:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2576:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27333, - "src": "2576:18:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2570:24:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27428, - "nodeType": "ExpressionStatement", - "src": "2570:24:78" - } - ] - }, - "documentation": "Returns the address associated with an ENS node.\n@param node The ENS node to query.\n@return The associated address.", - "id": 27430, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27417, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27430, - "src": "2508:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27416, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2508:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27420, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27430, - "src": "2547:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2547:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2546:13:78" - }, - "scope": 27724, - "src": "2494:107:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27452, - "nodeType": "Block", - "src": "2896:75:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27440, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "2906:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27442, - "indexExpression": { - "argumentTypes": null, - "id": 27441, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2914:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2906:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 27333, - "src": "2906:18:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27444, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27434, - "src": "2927:4:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2906:25:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 27446, - "nodeType": "ExpressionStatement", - "src": "2906:25:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27448, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2953:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27449, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27434, - "src": "2959:4:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 27447, - "name": "AddrChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27292, - "src": "2941:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 27450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2941:23:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27451, - "nodeType": "ExpressionStatement", - "src": "2941:23:78" - } - ] - }, - "documentation": "Sets the address associated with an ENS node.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param addr The address to set.", - "id": 27453, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27437, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27432, - "src": "2883:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27438, - "modifierName": { - "argumentTypes": null, - "id": 27436, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "2872:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2872:16:78" - } - ], - "name": "setAddr", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27432, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27453, - "src": "2844:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27431, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2844:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27434, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 27453, - "src": "2858:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2858:7:78", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2843:28:78" - }, - "payable": false, - "returnParameters": { - "id": 27439, - "nodeType": "ParameterList", - "parameters": [], - "src": "2896:0:78" - }, - "scope": 27724, - "src": "2827:144:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27467, - "nodeType": "Block", - "src": "3345:44:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27460, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27458, - "src": "3355:3:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27461, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "3361:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27463, - "indexExpression": { - "argumentTypes": null, - "id": 27462, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27455, - "src": "3369:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3361:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "content", - "nodeType": "MemberAccess", - "referencedDeclaration": 27335, - "src": "3361:21:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3355:27:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 27466, - "nodeType": "ExpressionStatement", - "src": "3355:27:78" - } - ] - }, - "documentation": "Returns the content hash associated with an ENS node.\nNote that this resource type is not standardized, and will likely change\nin future to a resource type based on multihash.\n@param node The ENS node to query.\n@return The associated content hash.", - "id": 27468, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "content", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27455, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27468, - "src": "3293:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27454, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3293:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3292:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27458, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27468, - "src": "3332:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27457, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3332:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3331:13:78" - }, - "scope": 27724, - "src": "3276:113:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27490, - "nodeType": "Block", - "src": "3832:81:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27478, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "3842:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27480, - "indexExpression": { - "argumentTypes": null, - "id": 27479, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3850:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3842:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "content", - "nodeType": "MemberAccess", - "referencedDeclaration": 27335, - "src": "3842:21:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27482, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27472, - "src": "3866:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3842:28:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 27484, - "nodeType": "ExpressionStatement", - "src": "3842:28:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27486, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3895:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27487, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27472, - "src": "3901:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27485, - "name": "ContentChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27298, - "src": "3880:14:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 27488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3880:26:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27489, - "nodeType": "ExpressionStatement", - "src": "3880:26:78" - } - ] - }, - "documentation": "Sets the content hash associated with an ENS node.\nMay only be called by the owner of that node in the ENS registry.\nNote that this resource type is not standardized, and will likely change\nin future to a resource type based on multihash.\n@param node The node to update.\n@param hash The content hash to set", - "id": 27491, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27475, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27470, - "src": "3819:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27476, - "modifierName": { - "argumentTypes": null, - "id": 27474, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "3808:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3808:16:78" - } - ], - "name": "setContent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27470, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27491, - "src": "3780:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27469, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3780:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27472, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 27491, - "src": "3794:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27471, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3794:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3779:28:78" - }, - "payable": false, - "returnParameters": { - "id": 27477, - "nodeType": "ParameterList", - "parameters": [], - "src": "3832:0:78" - }, - "scope": 27724, - "src": "3760:153:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27505, - "nodeType": "Block", - "src": "4178:41:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27498, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27496, - "src": "4188:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27499, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "4194:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27501, - "indexExpression": { - "argumentTypes": null, - "id": 27500, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27493, - "src": "4202:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4194:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 27337, - "src": "4194:18:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "4188:24:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 27504, - "nodeType": "ExpressionStatement", - "src": "4188:24:78" - } - ] - }, - "documentation": "Returns the name associated with an ENS node, for reverse records.\nDefined in EIP181.\n@param node The ENS node to query.\n@return The associated name.", - "id": 27506, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27493, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27506, - "src": "4127:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4127:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4126:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27496, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27506, - "src": "4166:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4166:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4165:12:78" - }, - "scope": 27724, - "src": "4113:106:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27528, - "nodeType": "Block", - "src": "4528:75:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27516, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "4538:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27518, - "indexExpression": { - "argumentTypes": null, - "id": 27517, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4546:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4538:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 27337, - "src": "4538:18:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27520, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27510, - "src": "4559:4:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4538:25:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 27522, - "nodeType": "ExpressionStatement", - "src": "4538:25:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27524, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4585:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27525, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27510, - "src": "4591:4:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 27523, - "name": "NameChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27304, - "src": "4573:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory)" - } - }, - "id": 27526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4573:23:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27527, - "nodeType": "ExpressionStatement", - "src": "4573:23:78" - } - ] - }, - "documentation": "Sets the name associated with an ENS node, for reverse records.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param name The name to set.", - "id": 27529, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27513, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27508, - "src": "4515:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27514, - "modifierName": { - "argumentTypes": null, - "id": 27512, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "4504:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4504:16:78" - } - ], - "name": "setName", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27508, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27529, - "src": "4477:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27507, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4477:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27510, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27529, - "src": "4491:11:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27509, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4491:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4476:27:78" - }, - "payable": false, - "returnParameters": { - "id": 27515, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:78" - }, - "scope": 27724, - "src": "4460:143:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27586, - "nodeType": "Block", - "src": "5031:336:78", - "statements": [ - { - "assignments": [ - 27540 - ], - "declarations": [ - { - "constant": false, - "id": 27540, - "name": "record", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "5041:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 27544, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27541, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "5054:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27543, - "indexExpression": { - "argumentTypes": null, - "id": 27542, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27531, - "src": "5062:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5054:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5041:26:78" - }, - { - "body": { - "id": 27580, - "nodeType": "Block", - "src": "5146:190:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 27569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27556, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5165:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "id": 27557, - "name": "contentTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27533, - "src": "5179:12:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5165:26:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5164:28:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5196:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5164:33:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27562, - "name": "record", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27540, - "src": "5201:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record storage pointer" - } - }, - "id": 27563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5201:11:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27565, - "indexExpression": { - "argumentTypes": null, - "id": 27564, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5213:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5201:24:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 27566, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5201:31:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5235:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5201:35:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5164:72:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27579, - "nodeType": "IfStatement", - "src": "5160:166:78", - "trueBody": { - "id": 27578, - "nodeType": "Block", - "src": "5238:88:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27570, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27538, - "src": "5256:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 27571, - "name": "record", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27540, - "src": "5263:6:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage_ptr", - "typeString": "struct PublicResolver.Record storage pointer" - } - }, - "id": 27572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5263:11:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27574, - "indexExpression": { - "argumentTypes": null, - "id": 27573, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5275:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5263:24:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "src": "5256:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 27576, - "nodeType": "ExpressionStatement", - "src": "5256:31:78" - }, - { - "expression": null, - "functionReturnParameters": 27539, - "id": 27577, - "nodeType": "Return", - "src": "5305:7:78" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27549, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5098:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27550, - "name": "contentTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27533, - "src": "5113:12:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5098:27:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 27581, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 27547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27545, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5081:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 27546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5095:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5081:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27548, - "nodeType": "ExpressionStatement", - "src": "5081:15:78" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 27554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27552, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5127:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "<<=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 27553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5143:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5127:17:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27555, - "nodeType": "ExpressionStatement", - "src": "5127:17:78" - }, - "nodeType": "ForStatement", - "src": "5077:259:78" - }, - { - "expression": { - "argumentTypes": null, - "id": 27584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27582, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27536, - "src": "5345:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 27583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5359:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5345:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27585, - "nodeType": "ExpressionStatement", - "src": "5345:15:78" - } - ] - }, - "documentation": "Returns the ABI associated with an ENS node.\nDefined in EIP205.\n@param node The ENS node to query\n@param contentTypes A bitwise OR of the ABI formats accepted by the caller.\n@return contentType The content type of the return value\n@return data The ABI data", - "id": 27587, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ABI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27531, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4937:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27530, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4937:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27533, - "name": "contentTypes", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4951:20:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4951:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4936:36:78" - }, - "payable": false, - "returnParameters": { - "id": 27539, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27536, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "4998:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27535, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4998:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27538, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 27587, - "src": "5019:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 27537, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5019:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4997:33:78" - }, - "scope": 27724, - "src": "4924:443:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27624, - "nodeType": "Block", - "src": "5756:199:78", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27599, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5817:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 27600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5831:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5817:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27602, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5816:17:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "id": 27603, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5836:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5816:31:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 27605, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5815:33:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5852:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5815:38:78", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27609, - "nodeType": "IfStatement", - "src": "5811:49:78", - "trueBody": { - "id": 27608, - "nodeType": "Throw", - "src": "5855:5:78" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 27617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27610, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "5871:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27612, - "indexExpression": { - "argumentTypes": null, - "id": 27611, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5879:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5871:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "abis", - "nodeType": "MemberAccess", - "referencedDeclaration": 27347, - "src": "5871:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 27615, - "indexExpression": { - "argumentTypes": null, - "id": 27614, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5890:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5871:31:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27616, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27593, - "src": "5905:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "5871:38:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 27618, - "nodeType": "ExpressionStatement", - "src": "5871:38:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27620, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5930:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27621, - "name": "contentType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27591, - "src": "5936:11:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27619, - "name": "ABIChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27310, - "src": "5919:10:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 27622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5919:29:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27623, - "nodeType": "ExpressionStatement", - "src": "5919:29:78" - } - ] - }, - "documentation": "Sets the ABI associated with an ENS node.\nNodes may have one ABI of each content type. To remove an ABI, set it to\nthe empty string.\n@param node The node to update.\n@param contentType The content type of the ABI\n@param data The ABI data.", - "id": 27625, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27596, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27589, - "src": "5743:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27597, - "modifierName": { - "argumentTypes": null, - "id": 27595, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "5732:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5732:16:78" - } - ], - "name": "setABI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27589, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5685:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27588, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5685:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27591, - "name": "contentType", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5699:19:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5699:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27593, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "5720:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 27592, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5720:5:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5684:47:78" - }, - "payable": false, - "returnParameters": { - "id": 27598, - "nodeType": "ParameterList", - "parameters": [], - "src": "5756:0:78" - }, - "scope": 27724, - "src": "5669:286:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27646, - "nodeType": "Block", - "src": "6274:72:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27634, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6292:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27636, - "indexExpression": { - "argumentTypes": null, - "id": 27635, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27627, - "src": "6300:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6292:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6292:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "x", - "nodeType": "MemberAccess", - "referencedDeclaration": 27328, - "src": "6292:22:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27639, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6316:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27641, - "indexExpression": { - "argumentTypes": null, - "id": 27640, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27627, - "src": "6324:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6316:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6316:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "y", - "nodeType": "MemberAccess", - "referencedDeclaration": 27330, - "src": "6316:22:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27644, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6291:48:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 27633, - "id": 27645, - "nodeType": "Return", - "src": "6284:55:78" - } - ] - }, - "documentation": "Returns the SECP256k1 public key associated with an ENS node.\nDefined in EIP 619.\n@param node The ENS node to query\n@return x, y the X and Y coordinates of the curve point for the public key.", - "id": 27647, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pubkey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27627, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6213:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27626, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6213:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6212:14:78" - }, - "payable": false, - "returnParameters": { - "id": 27633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27630, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6252:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27629, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6252:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27632, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27647, - "src": "6263:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27631, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6263:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6251:22:78" - }, - "scope": 27724, - "src": "6197:149:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27675, - "nodeType": "Block", - "src": "6698:90:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27659, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "6708:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27661, - "indexExpression": { - "argumentTypes": null, - "id": 27660, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6716:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6708:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pubkey", - "nodeType": "MemberAccess", - "referencedDeclaration": 27339, - "src": "6708:20:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27664, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27651, - "src": "6741:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27665, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27653, - "src": "6744:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27663, - "name": "PublicKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27331, - "src": "6731:9:78", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PublicKey_$27331_storage_ptr_$", - "typeString": "type(struct PublicResolver.PublicKey storage pointer)" - } - }, - "id": 27666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6731:15:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_memory", - "typeString": "struct PublicResolver.PublicKey memory" - } - }, - "src": "6708:38:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$27331_storage", - "typeString": "struct PublicResolver.PublicKey storage ref" - } - }, - "id": 27668, - "nodeType": "ExpressionStatement", - "src": "6708:38:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27670, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6770:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27671, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27651, - "src": "6776:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27672, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27653, - "src": "6779:1:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27669, - "name": "PubkeyChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27318, - "src": "6756:13:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32,bytes32)" - } - }, - "id": 27673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6756:25:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27674, - "nodeType": "ExpressionStatement", - "src": "6756:25:78" - } - ] - }, - "documentation": "Sets the SECP256k1 public key associated with an ENS node.\n@param node The ENS node to query\n@param x the X coordinate of the curve point for the public key.\n@param y the Y coordinate of the curve point for the public key.", - "id": 27676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27656, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27649, - "src": "6685:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27657, - "modifierName": { - "argumentTypes": null, - "id": 27655, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "6674:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6674:16:78" - } - ], - "name": "setPubkey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27649, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6638:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6638:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27651, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6652:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27650, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6652:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27653, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 27676, - "src": "6663:9:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27652, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6663:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:36:78" - }, - "payable": false, - "returnParameters": { - "id": 27658, - "nodeType": "ParameterList", - "parameters": [], - "src": "6698:0:78" - }, - "scope": 27724, - "src": "6619:169:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27694, - "nodeType": "Block", - "src": "7082:46:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 27685, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27683, - "src": "7092:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27686, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "7098:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27688, - "indexExpression": { - "argumentTypes": null, - "id": 27687, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27678, - "src": "7106:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "text", - "nodeType": "MemberAccess", - "referencedDeclaration": 27343, - "src": "7098:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 27691, - "indexExpression": { - "argumentTypes": null, - "id": 27690, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27680, - "src": "7117:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:23:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "7092:29:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 27693, - "nodeType": "ExpressionStatement", - "src": "7092:29:78" - } - ] - }, - "documentation": "Returns the text data associated with an ENS node and key.\n@param node The ENS node to query.\n@param key The text data key to query.\n@return The associated text data.", - "id": 27695, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "text", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27678, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7019:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27677, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7019:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27680, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7033:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27679, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7033:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7018:26:78" - }, - "payable": false, - "returnParameters": { - "id": 27684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27683, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 27695, - "src": "7070:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27682, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7070:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7069:12:78" - }, - "scope": 27724, - "src": "7005:123:78", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 27722, - "nodeType": "Block", - "src": "7488:85:78", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 27714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 27707, - "name": "records", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27354, - "src": "7498:7:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$27348_storage_$", - "typeString": "mapping(bytes32 => struct PublicResolver.Record storage ref)" - } - }, - "id": 27709, - "indexExpression": { - "argumentTypes": null, - "id": 27708, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7506:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7498:13:78", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$27348_storage", - "typeString": "struct PublicResolver.Record storage ref" - } - }, - "id": 27710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "text", - "nodeType": "MemberAccess", - "referencedDeclaration": 27343, - "src": "7498:18:78", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 27712, - "indexExpression": { - "argumentTypes": null, - "id": 27711, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7517:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7498:23:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 27713, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27701, - "src": "7524:5:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "7498:31:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 27715, - "nodeType": "ExpressionStatement", - "src": "7498:31:78" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27717, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7551:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 27718, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7557:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 27719, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27699, - "src": "7562:3:78", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 27716, - "name": "TextChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27326, - "src": "7539:11:78", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory,string memory)" - } - }, - "id": 27720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7539:27:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27721, - "nodeType": "ExpressionStatement", - "src": "7539:27:78" - } - ] - }, - "documentation": "Sets the text data associated with an ENS node and key.\nMay only be called by the owner of that node in the ENS registry.\n@param node The node to update.\n@param key The key to set.\n@param value The text data value to set.", - "id": 27723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 27704, - "name": "node", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27697, - "src": "7475:4:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 27705, - "modifierName": { - "argumentTypes": null, - "id": 27703, - "name": "only_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27369, - "src": "7464:10:78", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7464:16:78" - } - ], - "name": "setText", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27697, - "name": "node", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7424:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27696, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7424:7:78", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27699, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7438:10:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27698, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7438:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27701, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 27723, - "src": "7450:12:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27700, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7450:6:78", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7423:40:78" - }, - "payable": false, - "returnParameters": { - "id": 27706, - "nodeType": "ParameterList", - "parameters": [], - "src": "7488:0:78" - }, - "scope": 27724, - "src": "7407:166:78", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 27725, - "src": "241:7334:78" - } - ], - "src": "87:7489:78" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.330Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ReentrancyGuard.json b/templates/multisig/build/contracts/ReentrancyGuard.json deleted file mode 100644 index 4285cfd..0000000 --- a/templates/multisig/build/contracts/ReentrancyGuard.json +++ /dev/null @@ -1,945 +0,0 @@ -{ - "contractName": "ReentrancyGuard", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820704979f76686891d138907f28b4123b303923a6ac9ec170822748e996ccf49130029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820704979f76686891d138907f28b4123b303923a6ac9ec170822748e996ccf49130029", - "sourceMap": "116:821:51:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;116:821:51;;;;;;;", - "deployedSourceMap": "116:821:51:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../common/UnstructuredStorage.sol\";\n\n\ncontract ReentrancyGuard {\n using UnstructuredStorage for bytes32;\n\n /* Hardcoded constants to save gas\n bytes32 internal constant REENTRANCY_MUTEX_POSITION = keccak256(\"aragonOS.reentrancyGuard.mutex\");\n */\n bytes32 private constant REENTRANCY_MUTEX_POSITION = 0xe855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb;\n\n string private constant ERROR_REENTRANT = \"REENTRANCY_REENTRANT_CALL\";\n\n modifier nonReentrant() {\n // Ensure mutex is unlocked\n require(!REENTRANCY_MUTEX_POSITION.getStorageBool(), ERROR_REENTRANT);\n\n // Lock mutex before function call\n REENTRANCY_MUTEX_POSITION.setStorageBool(true);\n\n // Perform function call\n _;\n\n // Unlock mutex after function call\n REENTRANCY_MUTEX_POSITION.setStorageBool(false);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/ReentrancyGuard.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/ReentrancyGuard.sol", - "exportedSymbols": { - "ReentrancyGuard": [ - 23895 - ] - }, - "id": 23896, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23860, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:51" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23861, - "nodeType": "ImportDirective", - "scope": 23896, - "sourceUnit": 24261, - "src": "70:43:51", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23895, - "linearizedBaseContracts": [ - 23895 - ], - "name": "ReentrancyGuard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23864, - "libraryName": { - "contractScope": null, - "id": 23862, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "153:19:51", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "147:38:51", - "typeName": { - "id": 23863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "177:7:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23867, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23895, - "src": "340:119:51", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23865, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "340:7:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865383535333436343032323335666464313835633839306536386432633465636164353939623838353837363335656532383562636532666461353864616362", - "id": 23866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "393:66:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105087124458853841390171415992387591928788234697064850153887443616718040652491_by_1", - "typeString": "int_const 1050...(70 digits omitted)...2491" - }, - "value": "0xe855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23870, - "name": "ERROR_REENTRANT", - "nodeType": "VariableDeclaration", - "scope": 23895, - "src": "466:69:51", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23868, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "466:6:51", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245454e5452414e43595f5245454e5452414e545f43414c4c", - "id": 23869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:27:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93b2455b3a825682ce89cca764505383e472c2457989cfc22050e4efb70a0da3", - "typeString": "literal_string \"REENTRANCY_REENTRANT_CALL\"" - }, - "value": "REENTRANCY_REENTRANT_CALL" - }, - "visibility": "private" - }, - { - "body": { - "id": 23893, - "nodeType": "Block", - "src": "566:369:51", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "620:43:51", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23873, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "621:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24196, - "src": "621:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 23875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:42:51", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23877, - "name": "ERROR_REENTRANT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23870, - "src": "665:15:51", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23872, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "612:7:51", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "612:69:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23879, - "nodeType": "ExpressionStatement", - "src": "612:69:51" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 23883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:4:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23880, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "735:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "735:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "735:46:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23885, - "nodeType": "ExpressionStatement", - "src": "735:46:51" - }, - { - "id": 23886, - "nodeType": "PlaceholderStatement", - "src": "825:1:51" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "922:5:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23887, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "881:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "881:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "881:47:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23892, - "nodeType": "ExpressionStatement", - "src": "881:47:51" - } - ] - }, - "documentation": null, - "id": 23894, - "name": "nonReentrant", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23871, - "nodeType": "ParameterList", - "parameters": [], - "src": "563:2:51" - }, - "src": "542:393:51", - "visibility": "internal" - } - ], - "scope": 23896, - "src": "116:821:51" - } - ], - "src": "44:894:51" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/ReentrancyGuard.sol", - "exportedSymbols": { - "ReentrancyGuard": [ - 23895 - ] - }, - "id": 23896, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23860, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:51" - }, - { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "file": "../common/UnstructuredStorage.sol", - "id": 23861, - "nodeType": "ImportDirective", - "scope": 23896, - "sourceUnit": 24261, - "src": "70:43:51", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23895, - "linearizedBaseContracts": [ - 23895 - ], - "name": "ReentrancyGuard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 23864, - "libraryName": { - "contractScope": null, - "id": 23862, - "name": "UnstructuredStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24260, - "src": "153:19:51", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UnstructuredStorage_$24260", - "typeString": "library UnstructuredStorage" - } - }, - "nodeType": "UsingForDirective", - "src": "147:38:51", - "typeName": { - "id": 23863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "177:7:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - { - "constant": true, - "id": 23867, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "VariableDeclaration", - "scope": 23895, - "src": "340:119:51", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23865, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "340:7:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307865383535333436343032323335666464313835633839306536386432633465636164353939623838353837363335656532383562636532666461353864616362", - "id": 23866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "393:66:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_105087124458853841390171415992387591928788234697064850153887443616718040652491_by_1", - "typeString": "int_const 1050...(70 digits omitted)...2491" - }, - "value": "0xe855346402235fdd185c890e68d2c4ecad599b88587635ee285bce2fda58dacb" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23870, - "name": "ERROR_REENTRANT", - "nodeType": "VariableDeclaration", - "scope": 23895, - "src": "466:69:51", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23868, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "466:6:51", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245454e5452414e43595f5245454e5452414e545f43414c4c", - "id": 23869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "508:27:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93b2455b3a825682ce89cca764505383e472c2457989cfc22050e4efb70a0da3", - "typeString": "literal_string \"REENTRANCY_REENTRANT_CALL\"" - }, - "value": "REENTRANCY_REENTRANT_CALL" - }, - "visibility": "private" - }, - { - "body": { - "id": 23893, - "nodeType": "Block", - "src": "566:369:51", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "620:43:51", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 23873, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "621:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24196, - "src": "621:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$bound_to$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 23875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:42:51", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23877, - "name": "ERROR_REENTRANT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23870, - "src": "665:15:51", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 23872, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "612:7:51", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 23878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "612:69:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23879, - "nodeType": "ExpressionStatement", - "src": "612:69:51" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 23883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:4:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23880, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "735:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "735:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "735:46:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23885, - "nodeType": "ExpressionStatement", - "src": "735:46:51" - }, - { - "id": 23886, - "nodeType": "PlaceholderStatement", - "src": "825:1:51" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "922:5:51", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 23887, - "name": "REENTRANCY_MUTEX_POSITION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23867, - "src": "881:25:51", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 23889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStorageBool", - "nodeType": "MemberAccess", - "referencedDeclaration": 24232, - "src": "881:40:51", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$bound_to$_t_bytes32_$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 23891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "881:47:51", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23892, - "nodeType": "ExpressionStatement", - "src": "881:47:51" - } - ] - }, - "documentation": null, - "id": 23894, - "name": "nonReentrant", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 23871, - "nodeType": "ParameterList", - "parameters": [], - "src": "563:2:51" - }, - "src": "542:393:51", - "visibility": "internal" - } - ], - "scope": 23896, - "src": "116:821:51" - } - ], - "src": "44:894:51" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.211Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Repo.json b/templates/multisig/build/contracts/Repo.json deleted file mode 100644 index 0110c97..0000000 --- a/templates/multisig/build/contracts/Repo.json +++ /dev/null @@ -1,10736 +0,0 @@ -{ - "contractName": "Repo", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_VERSION_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "versionId", - "type": "uint256" - }, - { - "indexed": false, - "name": "semanticVersion", - "type": "uint16[3]" - } - ], - "name": "NewVersion", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newSemanticVersion", - "type": "uint16[3]" - }, - { - "name": "_contractAddress", - "type": "address" - }, - { - "name": "_contentURI", - "type": "bytes" - } - ], - "name": "newVersion", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getLatest", - "outputs": [ - { - "name": "semanticVersion", - "type": "uint16[3]" - }, - { - "name": "contractAddress", - "type": "address" - }, - { - "name": "contentURI", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_contractAddress", - "type": "address" - } - ], - "name": "getLatestForContractAddress", - "outputs": [ - { - "name": "semanticVersion", - "type": "uint16[3]" - }, - { - "name": "contractAddress", - "type": "address" - }, - { - "name": "contentURI", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_semanticVersion", - "type": "uint16[3]" - } - ], - "name": "getBySemanticVersion", - "outputs": [ - { - "name": "semanticVersion", - "type": "uint16[3]" - }, - { - "name": "contractAddress", - "type": "address" - }, - { - "name": "contentURI", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_versionId", - "type": "uint256" - } - ], - "name": "getByVersionId", - "outputs": [ - { - "name": "semanticVersion", - "type": "uint16[3]" - }, - { - "name": "contractAddress", - "type": "address" - }, - { - "name": "contentURI", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getVersionsCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_oldVersion", - "type": "uint16[3]" - }, - { - "name": "_newVersion", - "type": "uint16[3]" - } - ], - "name": "isValidBump", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001bf58339815191526401000000006200151a6200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062001bf583398151915282640100000000620017976200023782021704565b50565b5490565b9055565b6119aa806200024b6000396000f3006080604052600436106100f85763ffffffff60e060020a6000350416630803fac081146100fd5780632914b9bd1461012657806332f0a3b51461019b5780634c3ba268146101b057806373053410146102ad578063737e7d4f1461033d5780637e7db6e11461035557806380afdea8146103765780638129fc1c1461039d5780638b3dd749146103b25780639a6fe50c146103c75780639d4941d8146103e8578063a1658fad14610409578063a479e50814610470578063a7bdf16e14610485578063aa61924a146104ee578063c36af46014610503578063c6d48e0d14610518578063d4aae0c41461052d578063de4796ed14610542575b600080fd5b34801561010957600080fd5b50610112610557565b604080519115158252519081900360200190f35b34801561013257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261017f9436949293602493928401919081908401838280828437509497506105819650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156101a757600080fd5b5061017f610667565b3480156101bc57600080fd5b506040805160608181019092526101f39136916004916064919083906003908390839080828437509396506106e095505050505050565b6040518084606080838360005b83811015610218578181015183820152602001610200565b5050505090500183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156102b957600080fd5b5060408051606081810190925261033b913691600491606491908390600390839083908082843750506040805160208781013589018035601f81018390048302840183018552808452979a8935600160a060020a03169a90999098940196509194509081019250819084018382808284375094975061071f9650505050505050565b005b34801561034957600080fd5b506101f3600435610b54565b34801561036157600080fd5b50610112600160a060020a0360043516610d13565b34801561038257600080fd5b5061038b610d19565b60408051918252519081900360200190f35b3480156103a957600080fd5b5061033b610d49565b3480156103be57600080fd5b5061038b610de6565b3480156103d357600080fd5b506101f3600160a060020a0360043516610e11565b3480156103f457600080fd5b5061033b600160a060020a0360043516610e3e565b34801561041557600080fd5b506040805160206004604435818101358381028086018501909652808552610112958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506110cd9650505050505050565b34801561047c57600080fd5b5061017f61121d565b34801561049157600080fd5b5060408051606081810190925261011291369160049160649190839060039083908390808284375050604080516060818101909252949796958181019594509250600391508390839080828437509396506112d295505050505050565b3480156104fa57600080fd5b5061038b6113c1565b34801561050f57600080fd5b506101f36113e5565b34801561052457600080fd5b5061038b61140a565b34801561053957600080fd5b5061017f611414565b34801561054e57600080fd5b5061011261143f565b600080610562610de6565b9050801580159061057a575080610577611452565b10155b91505b5090565b600061058b61121d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105e95781810151838201526020016105d1565b50505050905090810190601f1680156106165780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561063557600080fd5b505af1158015610649573d6000803e3d6000fd5b505050506040513d602081101561065f57600080fd5b505192915050565b6000610671611414565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106ae57600080fd5b505af11580156106c2573d6000803e3d6000fd5b505050506040513d60208110156106d857600080fd5b505190505b90565b6106e861181a565b60006060610712600260006106fc87611456565b8152602081019190915260400160002054610b54565b9250925092509193909250565b60008061072a61181a565b6040805160008082526020820190925281907f1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d89061076b90339083906110cd565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561082d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107f25781810151838201526020016107da565b50505050905090810190601f16801561081f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508795506001600054039450600085111561097857600085815260016020526040808220815160608101928390529095509185916003918390855b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116108685790505093975050505050600160a060020a03861615156108c9576001830154600160a060020a031695505b6001830154600160a060020a03878116911614806108f057508254895161ffff9182169116115b60408051808201909152601481527f5245504f5f494e56414c49445f56455253494f4e00000000000000000000000060208201529015156109765760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b505b610982848a6112d2565b60408051808201909152601181527f5245504f5f494e56414c49445f42554d500000000000000000000000000000006020820152901515610a085760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b506000805460018082018355604080516060810182528d8152600160a060020a038b166020808301919091528183018d905284865292909252909220825191945090610a579082906003611839565b5060208281015160018301805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560408301518051610aa392600285019201906118cb565b509050508160026000610ab58c611456565b81526020808201929092526040908101600090812093909355600160a060020a038916835260038252808320859055518481527e3aea8189d1a0aa3ebdb05219cd4c2a663166706e949e9d6e8aa63718ca43fd9285928d92919082019083906060908190849084905b83811015610b36578181015183820152602001610b1e565b505050509050019250505060405180910390a1505050505050505050565b610b5c61181a565b6000606060008085118015610b72575060005485105b60408051808201909152601781527f5245504f5f494e4558495354454e545f56455253494f4e0000000000000000006020820152901515610bf85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50506000848152600160208190526040808320918201548151606081019283905292938493600160a060020a039092169260028501929185916003918390855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411610c38575050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152969950879550935085019150839050828015610cfe5780601f10610cd357610100808354040283529160200191610cfe565b820191906000526020600020905b815481529060010190602001808311610ce157829003601f168201915b50505050509050935093509350509193909250565b50600190565b6000610d447fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61151a565b905090565b610d51610de6565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610dd65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50610ddf61151e565b6001600055565b6000610d447febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61151a565b610e1961181a565b600160a060020a03821660009081526003602052604081205460609061071290610b54565b6000806000610e4c84610d13565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610ed25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50610edb610667565b9250610ee6836115ea565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610f6c5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50600160a060020a0384161515610fbd5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610fb7573d6000803e3d6000fd5b5061107c565b5082610fd8600160a060020a0382163063ffffffff61161716565b9150610ff4600160a060020a038216848463ffffffff61171716565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561107a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806110d8610557565b15156110e75760009150611215565b6110ef611414565b9050600160a060020a038116151561110a5760009150611215565b80600160a060020a031663fdef91068630876111258861178d565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561119757818101518382015260200161117f565b50505050905090810190601f1680156111c45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111e657600080fd5b505af11580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505191505b509392505050565b600080611228611414565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561063557600080fd5b600080805b60038110156113b557811561130e578381600381106112f257fe5b602002015161ffff161561130957600092506113b9565b6113ad565b84816003811061131a57fe5b602002015161ffff1684826003811061132f57fe5b602002015161ffff16146113ad5783816003811061134957fe5b602002015161ffff1685826003811061135e57fe5b602002015161ffff16118061139a575084816003811061137a57fe5b602002015184826003811061138b57fe5b60200201510361ffff16600114155b156113a857600092506113b9565b600191505b6001016112d7565b8192505b505092915050565b7f1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d881565b6113ed61181a565b600060606113ff600160005403610b54565b925092509250909192565b6000546000190190565b6000610d447f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61151a565b600060001961144c610de6565b14905090565b4390565b805160208083015160408085015181517e0100000000000000000000000000000000000000000000000000000000000061ffff9687168102828701529386168402602282015294169091026024840152805160068185030181526026909301908190528251600093928291908401908083835b602083106114e85780518252601f1990920191602091820191016114c9565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b5490565b611526610de6565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156115ab5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b506115e46115b7611452565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61179716565b565b5490565b600080600160a060020a03831615156116065760009150611611565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180611682868461179b565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561170d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061178485826117cc565b95945050505050565b8051602002815290565b9055565b6000806000806040516020818751602089018a5afa925060008311156117c057805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611810573d80156117fd57602081146118065761180e565b6001935061180e565b600183511493505b505b5090949350505050565b6060604051908101604052806003906020820280388339509192915050565b6001830191839082156118bf5791602002820160005b8382111561188f57835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030261184f565b80156118bd5782816101000a81549061ffff021916905560020160208160010104928301926001030261188f565b505b5061057d929150611945565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061190c57805160ff1916838001178555611939565b82800160010185558215611939579182015b8281111561193957825182559160200191906001019061191e565b5061057d929150611964565b6106dd91905b8082111561057d57805461ffff1916815560010161194b565b6106dd91905b8082111561057d576000815560010161196a5600a165627a7a7230582004317027221e79d70f7cb30b0c8bcc53e418efb4b7ba52a8291d0c34d0f3ca4b0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100f85763ffffffff60e060020a6000350416630803fac081146100fd5780632914b9bd1461012657806332f0a3b51461019b5780634c3ba268146101b057806373053410146102ad578063737e7d4f1461033d5780637e7db6e11461035557806380afdea8146103765780638129fc1c1461039d5780638b3dd749146103b25780639a6fe50c146103c75780639d4941d8146103e8578063a1658fad14610409578063a479e50814610470578063a7bdf16e14610485578063aa61924a146104ee578063c36af46014610503578063c6d48e0d14610518578063d4aae0c41461052d578063de4796ed14610542575b600080fd5b34801561010957600080fd5b50610112610557565b604080519115158252519081900360200190f35b34801561013257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261017f9436949293602493928401919081908401838280828437509497506105819650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156101a757600080fd5b5061017f610667565b3480156101bc57600080fd5b506040805160608181019092526101f39136916004916064919083906003908390839080828437509396506106e095505050505050565b6040518084606080838360005b83811015610218578181015183820152602001610200565b5050505090500183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156102b957600080fd5b5060408051606081810190925261033b913691600491606491908390600390839083908082843750506040805160208781013589018035601f81018390048302840183018552808452979a8935600160a060020a03169a90999098940196509194509081019250819084018382808284375094975061071f9650505050505050565b005b34801561034957600080fd5b506101f3600435610b54565b34801561036157600080fd5b50610112600160a060020a0360043516610d13565b34801561038257600080fd5b5061038b610d19565b60408051918252519081900360200190f35b3480156103a957600080fd5b5061033b610d49565b3480156103be57600080fd5b5061038b610de6565b3480156103d357600080fd5b506101f3600160a060020a0360043516610e11565b3480156103f457600080fd5b5061033b600160a060020a0360043516610e3e565b34801561041557600080fd5b506040805160206004604435818101358381028086018501909652808552610112958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506110cd9650505050505050565b34801561047c57600080fd5b5061017f61121d565b34801561049157600080fd5b5060408051606081810190925261011291369160049160649190839060039083908390808284375050604080516060818101909252949796958181019594509250600391508390839080828437509396506112d295505050505050565b3480156104fa57600080fd5b5061038b6113c1565b34801561050f57600080fd5b506101f36113e5565b34801561052457600080fd5b5061038b61140a565b34801561053957600080fd5b5061017f611414565b34801561054e57600080fd5b5061011261143f565b600080610562610de6565b9050801580159061057a575080610577611452565b10155b91505b5090565b600061058b61121d565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105e95781810151838201526020016105d1565b50505050905090810190601f1680156106165780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561063557600080fd5b505af1158015610649573d6000803e3d6000fd5b505050506040513d602081101561065f57600080fd5b505192915050565b6000610671611414565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106ae57600080fd5b505af11580156106c2573d6000803e3d6000fd5b505050506040513d60208110156106d857600080fd5b505190505b90565b6106e861181a565b60006060610712600260006106fc87611456565b8152602081019190915260400160002054610b54565b9250925092509193909250565b60008061072a61181a565b6040805160008082526020820190925281907f1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d89061076b90339083906110cd565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561082d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107f25781810151838201526020016107da565b50505050905090810190601f16801561081f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508795506001600054039450600085111561097857600085815260016020526040808220815160608101928390529095509185916003918390855b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116108685790505093975050505050600160a060020a03861615156108c9576001830154600160a060020a031695505b6001830154600160a060020a03878116911614806108f057508254895161ffff9182169116115b60408051808201909152601481527f5245504f5f494e56414c49445f56455253494f4e00000000000000000000000060208201529015156109765760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b505b610982848a6112d2565b60408051808201909152601181527f5245504f5f494e56414c49445f42554d500000000000000000000000000000006020820152901515610a085760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b506000805460018082018355604080516060810182528d8152600160a060020a038b166020808301919091528183018d905284865292909252909220825191945090610a579082906003611839565b5060208281015160018301805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560408301518051610aa392600285019201906118cb565b509050508160026000610ab58c611456565b81526020808201929092526040908101600090812093909355600160a060020a038916835260038252808320859055518481527e3aea8189d1a0aa3ebdb05219cd4c2a663166706e949e9d6e8aa63718ca43fd9285928d92919082019083906060908190849084905b83811015610b36578181015183820152602001610b1e565b505050509050019250505060405180910390a1505050505050505050565b610b5c61181a565b6000606060008085118015610b72575060005485105b60408051808201909152601781527f5245504f5f494e4558495354454e545f56455253494f4e0000000000000000006020820152901515610bf85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50506000848152600160208190526040808320918201548151606081019283905292938493600160a060020a039092169260028501929185916003918390855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411610c38575050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152969950879550935085019150839050828015610cfe5780601f10610cd357610100808354040283529160200191610cfe565b820191906000526020600020905b815481529060010190602001808311610ce157829003601f168201915b50505050509050935093509350509193909250565b50600190565b6000610d447fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61151a565b905090565b610d51610de6565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610dd65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50610ddf61151e565b6001600055565b6000610d447febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61151a565b610e1961181a565b600160a060020a03821660009081526003602052604081205460609061071290610b54565b6000806000610e4c84610d13565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610ed25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50610edb610667565b9250610ee6836115ea565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610f6c5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b50600160a060020a0384161515610fbd5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610fb7573d6000803e3d6000fd5b5061107c565b5082610fd8600160a060020a0382163063ffffffff61161716565b9150610ff4600160a060020a038216848463ffffffff61171716565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561107a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806110d8610557565b15156110e75760009150611215565b6110ef611414565b9050600160a060020a038116151561110a5760009150611215565b80600160a060020a031663fdef91068630876111258861178d565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561119757818101518382015260200161117f565b50505050905090810190601f1680156111c45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111e657600080fd5b505af11580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505191505b509392505050565b600080611228611414565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561063557600080fd5b600080805b60038110156113b557811561130e578381600381106112f257fe5b602002015161ffff161561130957600092506113b9565b6113ad565b84816003811061131a57fe5b602002015161ffff1684826003811061132f57fe5b602002015161ffff16146113ad5783816003811061134957fe5b602002015161ffff1685826003811061135e57fe5b602002015161ffff16118061139a575084816003811061137a57fe5b602002015184826003811061138b57fe5b60200201510361ffff16600114155b156113a857600092506113b9565b600191505b6001016112d7565b8192505b505092915050565b7f1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d881565b6113ed61181a565b600060606113ff600160005403610b54565b925092509250909192565b6000546000190190565b6000610d447f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61151a565b600060001961144c610de6565b14905090565b4390565b805160208083015160408085015181517e0100000000000000000000000000000000000000000000000000000000000061ffff9687168102828701529386168402602282015294169091026024840152805160068185030181526026909301908190528251600093928291908401908083835b602083106114e85780518252601f1990920191602091820191016114c9565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b5490565b611526610de6565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156115ab5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b506115e46115b7611452565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61179716565b565b5490565b600080600160a060020a03831615156116065760009150611611565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a08231000000000000000000000000000000000000000000000000000000001790526000908180611682868461179b565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561170d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107f25781810151838201526020016107da565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061178485826117cc565b95945050505050565b8051602002815290565b9055565b6000806000806040516020818751602089018a5afa925060008311156117c057805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611810573d80156117fd57602081146118065761180e565b6001935061180e565b600183511493505b505b5090949350505050565b6060604051908101604052806003906020820280388339509192915050565b6001830191839082156118bf5791602002820160005b8382111561188f57835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030261184f565b80156118bd5782816101000a81549061ffff021916905560020160208160010104928301926001030261188f565b505b5061057d929150611945565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061190c57805160ff1916838001178555611939565b82800160010185558215611939579182015b8281111561193957825182559160200191906001019061191e565b5061057d929150611964565b6106dd91905b8082111561057d57805461ffff1916815560010161194b565b6106dd91905b8082111561057d576000815560010161196a5600a165627a7a7230582004317027221e79d70f7cb30b0c8bcc53e418efb4b7ba52a8291d0c34d0f3ca4b0029", - "sourceMap": "136:4920:34:-;;;344:9:40;:7;;;;:9;:::i;:::-;136:4920:34;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;136:4920:34:-;;;;;;;", - "deployedSourceMap": "136:4920:34:-;;;;;;;;;-1:-1:-1;;;136:4920:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;3509:276:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3509:276:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3509:276:34;;-1:-1:-1;3509:276:34;;-1:-1:-1;;;;;;3509:276:34;;;;;;;;;;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;3509:276:34;;;;;;;-1:-1:-1;;;;;3509:276:34;-1:-1:-1;;;;;3509:276:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3509:276:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1712:1340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1712:1340:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1712:1340:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1712:1340:34;;;;;;;;;-1:-1:-1;1712:1340:34;;-1:-1:-1;1712:1340:34;;;;-1:-1:-1;1712:1340:34;;;;;;;;;;-1:-1:-1;1712:1340:34;;-1:-1:-1;1712:1340:34;;-1:-1:-1;;;;;;;1712:1340:34;;;3791:375;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3791:375:34;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;;;;;;;;;;;;;;;;;1217:99:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1217:99:34;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;3237:266:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3237:266:34;-1:-1:-1;;;;;3237:266:34;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;4281:600:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4281:600:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4281:600:34;;;;;;;;;;;;;;;;;;;-1:-1:-1;4281:600:34;-1:-1:-1;4281:600:34;;-1:-1:-1;4281:600:34;;;;;;;;-1:-1:-1;4281:600:34;;-1:-1:-1;4281:600:34;;-1:-1:-1;;;;;;4281:600:34;299:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;299:112:34;;;;3058:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3058:173:34;;;;4172:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4172:103:34;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;;:::o;3509:276:34:-;3612:25;;:::i;:::-;3639:23;3664:16;3703:75;3718:20;:59;3739:37;3759:16;3739:19;:37::i;:::-;3718:59;;;;;;;;;;;;;;3703:14;:75::i;:::-;3696:82;;;;;;3509:276;;;;;:::o;1712:1340::-;1885:23;1937:24;1996:35;;:::i;:::-;1020:16:39;;;2082:27:34;1020:16:39;;;;;;;;;2082:27:34;;345:66;;990:47:39;;1001:10;;345:66:34;;990:10:39;:47::i;:::-;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1911:16:34;1885:42;;1984:1;1964:17;;:21;1937:48;;2065:1;2046:16;:20;2042:565;;;2112:26;;;;:8;:26;;;;;;2152:48;;;;;;;;;2112:26;;-1:-1:-1;2152:48:34;2112:26;;2152:48;;2112:26;;2152:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2152:48:34;;-1:-1:-1;;;;;;;;;;2219:29:34;;;2215:113;;;2286:27;;;;-1:-1:-1;;;;;2286:27:34;;-1:-1:-1;2215:113:34;2438:27;;;;-1:-1:-1;;;;;2438:46:34;;;:27;;:46;;:105;;-1:-1:-1;2513:30:34;;2488:22;;2513:30;;;;2488:55;;;2438:105;2561:21;;;;;;;;;;;;;;;;;;2413:183;;;;;;-1:-1:-1;;;;;2413:183:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2413:183:34;;2042:565;2625:52;2637:18;2657:19;2625:11;:52::i;:::-;2679:18;;;;;;;;;;;;;;;;;;2617:81;;;;;;-1:-1:-1;;;;;2617:81:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2617:81:34;-1:-1:-1;2729:17:34;:19;;;;;;;;2780:58;;;;;;;;;;;-1:-1:-1;;;;;2780:58:34;;;;;;;;;;;;;;;;2758:19;;;;;;;;;;:80;;2729:19;;-1:-1:-1;2758:19:34;:80;;:19;;:80;;:::i;:::-;-1:-1:-1;2758:80:34;;;;;;;;;;-1:-1:-1;;2758:80:34;-1:-1:-1;;;;;2758:80:34;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;2913:9;2848:20;:62;2869:40;2889:19;2869;:40::i;:::-;2848:62;;;;;;;;;;;;;;;;;;:74;;;;-1:-1:-1;;;;;2932:43:34;;;;:26;:43;;;;;:55;;;3003:42;;;;;;2978:9;;3025:19;;3003:42;;;;;3025:19;;3003:42;;;;;;3025:19;;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;3003:42:34;;;;;;;;;;;;;;;;;1712:1340;;;;;;;;;:::o;3791:375::-;3853:25;;:::i;:::-;3880:23;3905:16;4026:23;3954:1;3941:10;:14;:48;;;;;3972:17;;3959:10;:30;3941:48;3991:24;;;;;;;;;;;;;;;;;;3933:83;;;;;;-1:-1:-1;;;;;3933:83:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3933:83:34;-1:-1:-1;;4052:20:34;;;;:8;:20;;;;;;;;4115:23;;;;4082:77;;;;;;;;;4052:20;;;;-1:-1:-1;;;;;4115:23:34;;;;4140:18;;;;4082:77;4052:20;;4082:77;;4052:20;;4082:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4082:77:34;;;;;;;;;;;;;-1:-1:-1;;4082:77:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4082:77:34;;-1:-1:-1;4082:77:34;-1:-1:-1;4082:77:34;;;-1:-1:-1;4082:77:34;;-1:-1:-1;4082:77:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3791:375;;;;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;1217:99:34:-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1265:13:34;:11;:13::i;:::-;1308:1;1288:17;:21;1217:99::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;3237:266:34:-;3345:25;;:::i;:::-;-1:-1:-1;;;;;3451:44:34;;3372:23;3451:44;;;:26;:44;;;;;;3397:16;;3436:60;;:14;:60::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;4281:600:34;4369:4;;;4429:420;4440:1;4436;:5;4429:420;;;4461:9;4457:365;;;4494:11;4506:1;4494:14;;;;;;;;;;;:19;;;4490:78;;4544:5;4537:12;;;;4490:78;4457:365;;;4610:11;4622:1;4610:14;;;;;;;;;;;4592:32;;:11;4604:1;4592:14;;;;;;;;;;;:32;;;4588:234;;4665:11;4677:1;4665:14;;;;;;;;;;;4648:31;;:11;4660:1;4648:14;;;;;;;;;;;:31;;;:71;;;-1:-1:-1;4700:11:34;4712:1;4700:14;;;;;;;;;;;4683:11;4695:1;4683:14;;;;;;;;;;;:31;:36;;4718:1;4683:36;;4648:71;4644:130;;;4750:5;4743:12;;;;4644:130;4803:4;4791:16;;4588:234;4835:3;;4429:420;;;4865:9;4858:16;;4281:600;;;;;;;:::o;299:112::-;345:66;299:112;:::o;3058:173::-;3100:25;;:::i;:::-;3127:23;3152:16;3187:37;3222:1;3202:17;;:21;3187:14;:37::i;:::-;3180:44;;;;;;3058:173;;;:::o;4172:103::-;4221:7;4247:17;-1:-1:-1;;4247:21:34;4172:103;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:53:-;422:12;347:94;:::o;4887:167:34:-;5011:10;;;5023;;;;5035;;;;;4994:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;4994:52:34;;;;;;;;4984:63;;-1:-1:-1;;4994:52:34;;;4984:63;;;;;4994:52;4984:63;36:153:-1;66:2;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;;4984:63:34;;;;;;;;;;;;-1:-1:-1;;;;;4887:167:34:o;379:134:55:-;490:15;;480:27::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;519:134:55:-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1028:119:55:-;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;136:4920:34:-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;136:4920:34;;;-1:-1:-1;;136:4920:34:o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;136:4920:34;;;-1:-1:-1;136:4920:34;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;136:4920:34;;;-1:-1:-1;136:4920:34;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;136:4920:34;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "pragma solidity 0.4.24;\n\nimport \"../apps/AragonApp.sol\";\n\n\n/* solium-disable function-order */\n// Allow public initialize() to be first\ncontract Repo is AragonApp {\n /* Hardcoded constants to save gas\n bytes32 public constant CREATE_VERSION_ROLE = keccak256(\"CREATE_VERSION_ROLE\");\n */\n bytes32 public constant CREATE_VERSION_ROLE = 0x1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d8;\n\n string private constant ERROR_INVALID_BUMP = \"REPO_INVALID_BUMP\";\n string private constant ERROR_INVALID_VERSION = \"REPO_INVALID_VERSION\";\n string private constant ERROR_INEXISTENT_VERSION = \"REPO_INEXISTENT_VERSION\";\n\n struct Version {\n uint16[3] semanticVersion;\n address contractAddress;\n bytes contentURI;\n }\n\n uint256 internal versionsNextIndex;\n mapping (uint256 => Version) internal versions;\n mapping (bytes32 => uint256) internal versionIdForSemantic;\n mapping (address => uint256) internal latestVersionIdForContract;\n\n event NewVersion(uint256 versionId, uint16[3] semanticVersion);\n\n /**\n * @dev Initialize can only be called once. It saves the block number in which it was initialized.\n * @notice Initialize this Repo\n */\n function initialize() public onlyInit {\n initialized();\n versionsNextIndex = 1;\n }\n\n /**\n * @notice Create new version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n * @param _newSemanticVersion Semantic version for new repo version\n * @param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n * @param _contentURI External URI for fetching new version's content\n */\n function newVersion(\n uint16[3] _newSemanticVersion,\n address _contractAddress,\n bytes _contentURI\n ) public auth(CREATE_VERSION_ROLE)\n {\n address contractAddress = _contractAddress;\n uint256 lastVersionIndex = versionsNextIndex - 1;\n\n uint16[3] memory lastSematicVersion;\n\n if (lastVersionIndex > 0) {\n Version storage lastVersion = versions[lastVersionIndex];\n lastSematicVersion = lastVersion.semanticVersion;\n\n if (contractAddress == address(0)) {\n contractAddress = lastVersion.contractAddress;\n }\n // Only allows smart contract change on major version bumps\n require(\n lastVersion.contractAddress == contractAddress || _newSemanticVersion[0] > lastVersion.semanticVersion[0],\n ERROR_INVALID_VERSION\n );\n }\n\n require(isValidBump(lastSematicVersion, _newSemanticVersion), ERROR_INVALID_BUMP);\n\n uint256 versionId = versionsNextIndex++;\n versions[versionId] = Version(_newSemanticVersion, contractAddress, _contentURI);\n versionIdForSemantic[semanticVersionHash(_newSemanticVersion)] = versionId;\n latestVersionIdForContract[contractAddress] = versionId;\n\n emit NewVersion(versionId, _newSemanticVersion);\n }\n\n function getLatest() public view returns (uint16[3] semanticVersion, address contractAddress, bytes contentURI) {\n return getByVersionId(versionsNextIndex - 1);\n }\n\n function getLatestForContractAddress(address _contractAddress)\n public\n view\n returns (uint16[3] semanticVersion, address contractAddress, bytes contentURI)\n {\n return getByVersionId(latestVersionIdForContract[_contractAddress]);\n }\n\n function getBySemanticVersion(uint16[3] _semanticVersion)\n public\n view\n returns (uint16[3] semanticVersion, address contractAddress, bytes contentURI)\n {\n return getByVersionId(versionIdForSemantic[semanticVersionHash(_semanticVersion)]);\n }\n\n function getByVersionId(uint _versionId) public view returns (uint16[3] semanticVersion, address contractAddress, bytes contentURI) {\n require(_versionId > 0 && _versionId < versionsNextIndex, ERROR_INEXISTENT_VERSION);\n Version storage version = versions[_versionId];\n return (version.semanticVersion, version.contractAddress, version.contentURI);\n }\n\n function getVersionsCount() public view returns (uint256) {\n return versionsNextIndex - 1;\n }\n\n function isValidBump(uint16[3] _oldVersion, uint16[3] _newVersion) public pure returns (bool) {\n bool hasBumped;\n uint i = 0;\n while (i < 3) {\n if (hasBumped) {\n if (_newVersion[i] != 0) {\n return false;\n }\n } else if (_newVersion[i] != _oldVersion[i]) {\n if (_oldVersion[i] > _newVersion[i] || _newVersion[i] - _oldVersion[i] != 1) {\n return false;\n }\n hasBumped = true;\n }\n i++;\n }\n return hasBumped;\n }\n\n function semanticVersionHash(uint16[3] version) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(version[0], version[1], version[2]));\n }\n}\n", - "sourcePath": "@aragon/os/contracts/apm/Repo.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "exportedSymbols": { - "Repo": [ - 23073 - ] - }, - "id": 23074, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22682, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:34" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22683, - "nodeType": "ImportDirective", - "scope": 23074, - "sourceUnit": 23454, - "src": "25:31:34", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22684, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "153:9:34", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22685, - "nodeType": "InheritanceSpecifier", - "src": "153:9:34" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23073, - "linearizedBaseContracts": [ - 23073, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Repo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22688, - "name": "CREATE_VERSION_ROLE", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "299:112:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "299:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307831663536636665636433353935613265366363316137653663623062323064663834636462643932656666326665653535346537306534653435613961376438", - "id": 22687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:66:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14175082199951049120475530292950009820264027334869017275878805295387074209752_by_1", - "typeString": "int_const 1417...(69 digits omitted)...9752" - }, - "value": "0x1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d8" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22691, - "name": "ERROR_INVALID_BUMP", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "418:64:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22689, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "418:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e56414c49445f42554d50", - "id": 22690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "463:19:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c0d2c819b356f0b10a55bac630c3c4d815e692fe9311b1cc8ba83e3426876fef", - "typeString": "literal_string \"REPO_INVALID_BUMP\"" - }, - "value": "REPO_INVALID_BUMP" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22694, - "name": "ERROR_INVALID_VERSION", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "488:70:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22692, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "488:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e56414c49445f56455253494f4e", - "id": 22693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "536:22:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cb22c000e9208b6bc05026718966e45afadcffb33436bfbd76270772bf274ce", - "typeString": "literal_string \"REPO_INVALID_VERSION\"" - }, - "value": "REPO_INVALID_VERSION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22697, - "name": "ERROR_INEXISTENT_VERSION", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "564:76:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22695, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "564:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e4558495354454e545f56455253494f4e", - "id": 22696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "615:25:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3852a5fcaceec25ac63b67717534646986c61c9e3305147343a4b721cbdc0f13", - "typeString": "literal_string \"REPO_INEXISTENT_VERSION\"" - }, - "value": "REPO_INEXISTENT_VERSION" - }, - "visibility": "private" - }, - { - "canonicalName": "Repo.Version", - "id": 22706, - "members": [ - { - "constant": false, - "id": 22701, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "672:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22698, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "672:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22700, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "679:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "672:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22703, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "707:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22705, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "740:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22704, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "740:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Version", - "nodeType": "StructDefinition", - "scope": 23073, - "src": "647:116:34", - "visibility": "public" - }, - { - "constant": false, - "id": 22708, - "name": "versionsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "769:34:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22712, - "name": "versions", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "809:46:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version)" - }, - "typeName": { - "id": 22711, - "keyType": { - "id": 22709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "818:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "809:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version)" - }, - "valueType": { - "contractScope": null, - "id": 22710, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "829:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22716, - "name": "versionIdForSemantic", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "861:58:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 22715, - "keyType": { - "id": 22713, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "870:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "861:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 22714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "881:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22720, - "name": "latestVersionIdForContract", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "925:64:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 22719, - "keyType": { - "id": 22717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "925:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 22718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "945:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 22728, - "name": "NewVersion", - "nodeType": "EventDefinition", - "parameters": { - "id": 22727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22722, - "indexed": false, - "name": "versionId", - "nodeType": "VariableDeclaration", - "scope": 22728, - "src": "1013:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1013:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22726, - "indexed": false, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22728, - "src": "1032:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22723, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1032:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22725, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1039:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1032:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1012:46:34" - }, - "src": "996:63:34" - }, - { - "body": { - "id": 22740, - "nodeType": "Block", - "src": "1255:61:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22733, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1265:11:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1265:13:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22735, - "nodeType": "ExpressionStatement", - "src": "1265:13:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22736, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "1288:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 22737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1308:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1288:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22739, - "nodeType": "ExpressionStatement", - "src": "1288:21:34" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize this Repo", - "id": 22741, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22731, - "modifierName": { - "argumentTypes": null, - "id": 22730, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1246:8:34", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1246:8:34" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22729, - "nodeType": "ParameterList", - "parameters": [], - "src": "1236:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22732, - "nodeType": "ParameterList", - "parameters": [], - "src": "1255:0:34" - }, - "scope": 23073, - "src": "1217:99:34", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22858, - "nodeType": "Block", - "src": "1875:1177:34", - "statements": [ - { - "assignments": [ - 22756 - ], - "declarations": [ - { - "constant": false, - "id": 22756, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1885:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1885:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22758, - "initialValue": { - "argumentTypes": null, - "id": 22757, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22747, - "src": "1911:16:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1885:42:34" - }, - { - "assignments": [ - 22760 - ], - "declarations": [ - { - "constant": false, - "id": 22760, - "name": "lastVersionIndex", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1937:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1937:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22764, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22761, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "1964:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1964:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1937:48:34" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 22769, - "name": "lastSematicVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1996:35:34", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22767, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1996:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22768, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2003:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1996:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22770, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1996:35:34" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22771, - "name": "lastVersionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22760, - "src": "2046:16:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2065:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2046:20:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 22815, - "nodeType": "IfStatement", - "src": "2042:565:34", - "trueBody": { - "id": 22814, - "nodeType": "Block", - "src": "2068:539:34", - "statements": [ - { - "assignments": [ - 22775 - ], - "declarations": [ - { - "constant": false, - "id": 22775, - "name": "lastVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "2082:27:34", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - }, - "typeName": { - "contractScope": null, - "id": 22774, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "2082:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22779, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22776, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "2112:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22778, - "indexExpression": { - "argumentTypes": null, - "id": 22777, - "name": "lastVersionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22760, - "src": "2121:16:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2112:26:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2082:56:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22780, - "name": "lastSematicVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22769, - "src": "2152:18:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22781, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2173:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22782, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "2173:27:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - "src": "2152:48:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22784, - "nodeType": "ExpressionStatement", - "src": "2152:48:34" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 22789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22785, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2219:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 22787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2246:1:34", - "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": 22786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2238:7:34", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 22788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2238:10:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2219:29:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 22796, - "nodeType": "IfStatement", - "src": "2215:113:34", - "trueBody": { - "id": 22795, - "nodeType": "Block", - "src": "2250:78:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22790, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2268:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22791, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2286:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22792, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "2286:27:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2268:45:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 22794, - "nodeType": "ExpressionStatement", - "src": "2268:45:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 22810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 22801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22798, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2438:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "2438:27:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 22800, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2469:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2438:46:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 22809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22802, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2488:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22804, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2508:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2488:22:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22805, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2513:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "2513:27:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - "id": 22808, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2541:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2513:30:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "2488:55:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2438:105:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22811, - "name": "ERROR_INVALID_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22694, - "src": "2561:21:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22797, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2413:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:183:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22813, - "nodeType": "ExpressionStatement", - "src": "2413:183:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22818, - "name": "lastSematicVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22769, - "src": "2637:18:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22819, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2657:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22817, - "name": "isValidBump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23047, - "src": "2625:11:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint16[3] memory,uint16[3] memory) pure returns (bool)" - } - }, - "id": 22820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2625:52:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22821, - "name": "ERROR_INVALID_BUMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22691, - "src": "2679:18:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22816, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2617:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2617:81:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22823, - "nodeType": "ExpressionStatement", - "src": "2617:81:34" - }, - { - "assignments": [ - 22825 - ], - "declarations": [ - { - "constant": false, - "id": 22825, - "name": "versionId", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "2709:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22828, - "initialValue": { - "argumentTypes": null, - "id": 22827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2729:19:34", - "subExpression": { - "argumentTypes": null, - "id": 22826, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "2729:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2709:39:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22829, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "2758:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22831, - "indexExpression": { - "argumentTypes": null, - "id": 22830, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2767:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2758:19:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22833, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2788:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22834, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2809:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22835, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22749, - "src": "2826:11:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22832, - "name": "Version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22706, - "src": "2780:7:34", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Version_$22706_storage_ptr_$", - "typeString": "type(struct Repo.Version storage pointer)" - } - }, - "id": 22836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:58:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_memory", - "typeString": "struct Repo.Version memory" - } - }, - "src": "2758:80:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "id": 22838, - "nodeType": "ExpressionStatement", - "src": "2758:80:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22839, - "name": "versionIdForSemantic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22716, - "src": "2848:20:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 22843, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22841, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2889:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22840, - "name": "semanticVersionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23072, - "src": "2869:19:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint16[3] memory) pure returns (bytes32)" - } - }, - "id": 22842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:40:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2848:62:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22844, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2913:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2848:74:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22846, - "nodeType": "ExpressionStatement", - "src": "2848:74:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22847, - "name": "latestVersionIdForContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22720, - "src": "2932:26:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 22849, - "indexExpression": { - "argumentTypes": null, - "id": 22848, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2959:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2932:43:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22850, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2978:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2932:55:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22852, - "nodeType": "ExpressionStatement", - "src": "2932:55:34" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22854, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "3014:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 22855, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "3025:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22853, - "name": "NewVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22728, - "src": "3003:10:34", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_array$_t_uint16_$3_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint16[3] memory)" - } - }, - "id": 22856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3003:42:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22857, - "nodeType": "EmitStatement", - "src": "2998:47:34" - } - ] - }, - "documentation": "@notice Create new version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _newSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22859, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22752, - "name": "CREATE_VERSION_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22688, - "src": "1850:19:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22753, - "modifierName": { - "argumentTypes": null, - "id": 22751, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "1845:4:34", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1845:25:34" - } - ], - "name": "newVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22745, - "name": "_newSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1741:29:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22742, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1741:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22744, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1748:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1741:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22747, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1780:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22746, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1780:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22749, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1814:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22748, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1814:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1731:106:34" - }, - "payable": false, - "returnParameters": { - "id": 22754, - "nodeType": "ParameterList", - "parameters": [], - "src": "1875:0:34" - }, - "scope": 23073, - "src": "1712:1340:34", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22876, - "nodeType": "Block", - "src": "3170:61:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22871, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "3202:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3222:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3202:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22870, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3187:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:37:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22869, - "id": 22875, - "nodeType": "Return", - "src": "3180:44:34" - } - ] - }, - "documentation": null, - "id": 22877, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLatest", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22860, - "nodeType": "ParameterList", - "parameters": [], - "src": "3076:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22864, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3100:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22861, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3100:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22863, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3107:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3100:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22866, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3127:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3127:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22868, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3152:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22867, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3152:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3099:70:34" - }, - "scope": 23073, - "src": "3058:173:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22896, - "nodeType": "Block", - "src": "3419:84:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22891, - "name": "latestVersionIdForContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22720, - "src": "3451:26:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 22893, - "indexExpression": { - "argumentTypes": null, - "id": 22892, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22879, - "src": "3478:16:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3451:44:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22890, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3436:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3436:60:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22889, - "id": 22895, - "nodeType": "Return", - "src": "3429:67:34" - } - ] - }, - "documentation": null, - "id": 22897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLatestForContractAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22879, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3274:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22878, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3274:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3273:26:34" - }, - "payable": false, - "returnParameters": { - "id": 22889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22884, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3345:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22881, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3345:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22883, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3352:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3345:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22886, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3372:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3372:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22888, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3397:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22887, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3397:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3344:70:34" - }, - "scope": 23073, - "src": "3237:266:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22920, - "nodeType": "Block", - "src": "3686:99:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22913, - "name": "versionIdForSemantic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22716, - "src": "3718:20:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 22917, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22915, - "name": "_semanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22901, - "src": "3759:16:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22914, - "name": "semanticVersionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23072, - "src": "3739:19:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint16[3] memory) pure returns (bytes32)" - } - }, - "id": 22916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3739:37:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3718:59:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22912, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3703:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3703:75:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22911, - "id": 22919, - "nodeType": "Return", - "src": "3696:82:34" - } - ] - }, - "documentation": null, - "id": 22921, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBySemanticVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22901, - "name": "_semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3539:26:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22898, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3539:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22900, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3546:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3539:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:28:34" - }, - "payable": false, - "returnParameters": { - "id": 22911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22906, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3612:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22903, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3612:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22905, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3619:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3612:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22908, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3639:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3639:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22910, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3664:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22909, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3664:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3611:70:34" - }, - "scope": 23073, - "src": "3509:276:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22959, - "nodeType": "Block", - "src": "3923:243:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 22941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22935, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "3941:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3941:14:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22938, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "3959:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 22939, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "3972:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3959:30:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3941:48:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22942, - "name": "ERROR_INEXISTENT_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22697, - "src": "3991:24:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3933:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3933:83:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22944, - "nodeType": "ExpressionStatement", - "src": "3933:83:34" - }, - { - "assignments": [ - 22946 - ], - "declarations": [ - { - "constant": false, - "id": 22946, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "4026:23:34", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - }, - "typeName": { - "contractScope": null, - "id": 22945, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "4026:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22950, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22947, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "4052:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22949, - "indexExpression": { - "argumentTypes": null, - "id": 22948, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "4061:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4052:20:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4026:46:34" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22951, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4090:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "4090:23:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22953, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4115:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "4115:23:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22955, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4140:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contentURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 22705, - "src": "4140:18:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - } - ], - "id": 22957, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4089:70:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_storage_$_t_address_$_t_bytes_storage_$", - "typeString": "tuple(uint16[3] storage ref,address,bytes storage ref)" - } - }, - "functionReturnParameters": 22933, - "id": 22958, - "nodeType": "Return", - "src": "4082:77:34" - } - ] - }, - "documentation": null, - "id": 22960, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getByVersionId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22923, - "name": "_versionId", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3815:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22922, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3815:4:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3814:17:34" - }, - "payable": false, - "returnParameters": { - "id": 22933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22928, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3853:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22925, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3853:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22927, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3860:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3853:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22930, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3880:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3880:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22932, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3905:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22931, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3905:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3852:70:34" - }, - "scope": 23073, - "src": "3791:375:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22969, - "nodeType": "Block", - "src": "4230:45:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22965, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "4247:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4267:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4247:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 22964, - "id": 22968, - "nodeType": "Return", - "src": "4240:28:34" - } - ] - }, - "documentation": null, - "id": 22970, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getVersionsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22961, - "nodeType": "ParameterList", - "parameters": [], - "src": "4197:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22963, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22970, - "src": "4221:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4221:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4220:9:34" - }, - "scope": 23073, - "src": "4172:103:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23046, - "nodeType": "Block", - "src": "4375:506:34", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 22984, - "name": "hasBumped", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4385:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22983, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4385:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22985, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4385:14:34" - }, - { - "assignments": [ - 22987 - ], - "declarations": [ - { - "constant": false, - "id": 22987, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4409:6:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22986, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4409:4:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22989, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 22988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4418:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4409:10:34" - }, - { - "body": { - "id": 23042, - "nodeType": "Block", - "src": "4443:406:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 22993, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4461:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23004, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4592:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23006, - "indexExpression": { - "argumentTypes": null, - "id": 23005, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4604:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4592:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23007, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4610:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23009, - "indexExpression": { - "argumentTypes": null, - "id": 23008, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4622:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4610:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4592:32:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23037, - "nodeType": "IfStatement", - "src": "4588:234:34", - "trueBody": { - "id": 23036, - "nodeType": "Block", - "src": "4626:196:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23011, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4648:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23013, - "indexExpression": { - "argumentTypes": null, - "id": 23012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4660:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4648:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23014, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4665:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23016, - "indexExpression": { - "argumentTypes": null, - "id": 23015, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4677:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4665:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4648:31:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23018, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4683:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23020, - "indexExpression": { - "argumentTypes": null, - "id": 23019, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4695:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4683:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23021, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4700:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23023, - "indexExpression": { - "argumentTypes": null, - "id": 23022, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4712:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4700:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4683:31:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4718:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4683:36:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4648:71:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23031, - "nodeType": "IfStatement", - "src": "4644:130:34", - "trueBody": { - "id": 23030, - "nodeType": "Block", - "src": "4721:53:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4750:5:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 22982, - "id": 23029, - "nodeType": "Return", - "src": "4743:12:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 23034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 23032, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4791:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 23033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4803:4:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4791:16:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 23035, - "nodeType": "ExpressionStatement", - "src": "4791:16:34" - } - ] - } - }, - "id": 23038, - "nodeType": "IfStatement", - "src": "4457:365:34", - "trueBody": { - "id": 23003, - "nodeType": "Block", - "src": "4472:110:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 22998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22994, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4494:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22996, - "indexExpression": { - "argumentTypes": null, - "id": 22995, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4506:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4494:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4512:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4494:19:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23002, - "nodeType": "IfStatement", - "src": "4490:78:34", - "trueBody": { - "id": 23001, - "nodeType": "Block", - "src": "4515:53:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 22999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4544:5:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 22982, - "id": 23000, - "nodeType": "Return", - "src": "4537:12:34" - } - ] - } - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 23040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4835:3:34", - "subExpression": { - "argumentTypes": null, - "id": 23039, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4835:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23041, - "nodeType": "ExpressionStatement", - "src": "4835:3:34" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22990, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4436:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4436:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 23043, - "nodeType": "WhileStatement", - "src": "4429:420:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 23044, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4865:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 22982, - "id": 23045, - "nodeType": "Return", - "src": "4858:16:34" - } - ] - }, - "documentation": null, - "id": 23047, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidBump", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22974, - "name": "_oldVersion", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4302:21:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22971, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4302:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22973, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4302:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22978, - "name": "_newVersion", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4325:21:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22975, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4325:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22977, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4332:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4325:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4301:46:34" - }, - "payable": false, - "returnParameters": { - "id": 22982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22981, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4369:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22980, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4369:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4368:6:34" - }, - "scope": 23073, - "src": "4281:600:34", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23071, - "nodeType": "Block", - "src": "4967:87:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23059, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5011:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23061, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5011:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23062, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5023:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23064, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5031:1:34", - "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": "5023:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23065, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5035:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23067, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 23066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:1:34", - "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": "5035:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "argumentTypes": null, - "id": 23057, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4994:3:34", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4994:16:34", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 23068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4994:52:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23056, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4984:9:34", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 23069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4984:63:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 23055, - "id": 23070, - "nodeType": "Return", - "src": "4977:70:34" - } - ] - }, - "documentation": null, - "id": 23072, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "semanticVersionHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23051, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 23072, - "src": "4916:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 23048, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4916:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 23050, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 23049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4923:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4916:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4915:19:34" - }, - "payable": false, - "returnParameters": { - "id": 23055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23054, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23072, - "src": "4958:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4958:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4957:9:34" - }, - "scope": 23073, - "src": "4887:167:34", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23074, - "src": "136:4920:34" - } - ], - "src": "0:5057:34" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/apm/Repo.sol", - "exportedSymbols": { - "Repo": [ - 23073 - ] - }, - "id": 23074, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 22682, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:34" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "../apps/AragonApp.sol", - "id": 22683, - "nodeType": "ImportDirective", - "scope": 23074, - "sourceUnit": 23454, - "src": "25:31:34", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 22684, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "153:9:34", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 22685, - "nodeType": "InheritanceSpecifier", - "src": "153:9:34" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 23073, - "linearizedBaseContracts": [ - 23073, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Repo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 22688, - "name": "CREATE_VERSION_ROLE", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "299:112:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 22686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "299:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307831663536636665636433353935613265366363316137653663623062323064663834636462643932656666326665653535346537306534653435613961376438", - "id": 22687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:66:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14175082199951049120475530292950009820264027334869017275878805295387074209752_by_1", - "typeString": "int_const 1417...(69 digits omitted)...9752" - }, - "value": "0x1f56cfecd3595a2e6cc1a7e6cb0b20df84cdbd92eff2fee554e70e4e45a9a7d8" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 22691, - "name": "ERROR_INVALID_BUMP", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "418:64:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22689, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "418:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e56414c49445f42554d50", - "id": 22690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "463:19:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c0d2c819b356f0b10a55bac630c3c4d815e692fe9311b1cc8ba83e3426876fef", - "typeString": "literal_string \"REPO_INVALID_BUMP\"" - }, - "value": "REPO_INVALID_BUMP" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22694, - "name": "ERROR_INVALID_VERSION", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "488:70:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22692, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "488:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e56414c49445f56455253494f4e", - "id": 22693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "536:22:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cb22c000e9208b6bc05026718966e45afadcffb33436bfbd76270772bf274ce", - "typeString": "literal_string \"REPO_INVALID_VERSION\"" - }, - "value": "REPO_INVALID_VERSION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 22697, - "name": "ERROR_INEXISTENT_VERSION", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "564:76:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 22695, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "564:6:34", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245504f5f494e4558495354454e545f56455253494f4e", - "id": 22696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "615:25:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3852a5fcaceec25ac63b67717534646986c61c9e3305147343a4b721cbdc0f13", - "typeString": "literal_string \"REPO_INEXISTENT_VERSION\"" - }, - "value": "REPO_INEXISTENT_VERSION" - }, - "visibility": "private" - }, - { - "canonicalName": "Repo.Version", - "id": 22706, - "members": [ - { - "constant": false, - "id": 22701, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "672:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22698, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "672:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22700, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "679:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "672:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22703, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "707:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22705, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22706, - "src": "740:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22704, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "740:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Version", - "nodeType": "StructDefinition", - "scope": 23073, - "src": "647:116:34", - "visibility": "public" - }, - { - "constant": false, - "id": 22708, - "name": "versionsNextIndex", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "769:34:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22712, - "name": "versions", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "809:46:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version)" - }, - "typeName": { - "id": 22711, - "keyType": { - "id": 22709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "818:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "809:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version)" - }, - "valueType": { - "contractScope": null, - "id": 22710, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "829:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22716, - "name": "versionIdForSemantic", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "861:58:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 22715, - "keyType": { - "id": 22713, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "870:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "861:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 22714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "881:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22720, - "name": "latestVersionIdForContract", - "nodeType": "VariableDeclaration", - "scope": 23073, - "src": "925:64:34", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 22719, - "keyType": { - "id": 22717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "925:28:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 22718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "945:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 22728, - "name": "NewVersion", - "nodeType": "EventDefinition", - "parameters": { - "id": 22727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22722, - "indexed": false, - "name": "versionId", - "nodeType": "VariableDeclaration", - "scope": 22728, - "src": "1013:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1013:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22726, - "indexed": false, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22728, - "src": "1032:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22723, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1032:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22725, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1039:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1032:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1012:46:34" - }, - "src": "996:63:34" - }, - { - "body": { - "id": 22740, - "nodeType": "Block", - "src": "1255:61:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 22733, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1265:11:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1265:13:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22735, - "nodeType": "ExpressionStatement", - "src": "1265:13:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22736, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "1288:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 22737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1308:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1288:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22739, - "nodeType": "ExpressionStatement", - "src": "1288:21:34" - } - ] - }, - "documentation": "@dev Initialize can only be called once. It saves the block number in which it was initialized.\n@notice Initialize this Repo", - "id": 22741, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 22731, - "modifierName": { - "argumentTypes": null, - "id": 22730, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1246:8:34", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1246:8:34" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22729, - "nodeType": "ParameterList", - "parameters": [], - "src": "1236:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22732, - "nodeType": "ParameterList", - "parameters": [], - "src": "1255:0:34" - }, - "scope": 23073, - "src": "1217:99:34", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22858, - "nodeType": "Block", - "src": "1875:1177:34", - "statements": [ - { - "assignments": [ - 22756 - ], - "declarations": [ - { - "constant": false, - "id": 22756, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1885:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1885:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22758, - "initialValue": { - "argumentTypes": null, - "id": 22757, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22747, - "src": "1911:16:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1885:42:34" - }, - { - "assignments": [ - 22760 - ], - "declarations": [ - { - "constant": false, - "id": 22760, - "name": "lastVersionIndex", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1937:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1937:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22764, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22761, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "1964:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1964:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1937:48:34" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 22769, - "name": "lastSematicVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1996:35:34", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22767, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1996:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22768, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2003:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1996:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22770, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1996:35:34" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22771, - "name": "lastVersionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22760, - "src": "2046:16:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2065:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2046:20:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 22815, - "nodeType": "IfStatement", - "src": "2042:565:34", - "trueBody": { - "id": 22814, - "nodeType": "Block", - "src": "2068:539:34", - "statements": [ - { - "assignments": [ - 22775 - ], - "declarations": [ - { - "constant": false, - "id": 22775, - "name": "lastVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "2082:27:34", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - }, - "typeName": { - "contractScope": null, - "id": 22774, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "2082:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22779, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22776, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "2112:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22778, - "indexExpression": { - "argumentTypes": null, - "id": 22777, - "name": "lastVersionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22760, - "src": "2121:16:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2112:26:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2082:56:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22780, - "name": "lastSematicVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22769, - "src": "2152:18:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22781, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2173:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22782, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "2173:27:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - "src": "2152:48:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22784, - "nodeType": "ExpressionStatement", - "src": "2152:48:34" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 22789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22785, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2219:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 22787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2246:1:34", - "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": 22786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2238:7:34", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 22788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2238:10:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2219:29:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 22796, - "nodeType": "IfStatement", - "src": "2215:113:34", - "trueBody": { - "id": 22795, - "nodeType": "Block", - "src": "2250:78:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 22793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 22790, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2268:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22791, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2286:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22792, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "2286:27:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2268:45:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 22794, - "nodeType": "ExpressionStatement", - "src": "2268:45:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 22810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 22801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22798, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2438:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "2438:27:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 22800, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2469:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2438:46:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 22809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22802, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2488:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22804, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2508:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2488:22:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22805, - "name": "lastVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22775, - "src": "2513:11:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "2513:27:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - "id": 22808, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2541:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2513:30:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "2488:55:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2438:105:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22811, - "name": "ERROR_INVALID_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22694, - "src": "2561:21:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22797, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2413:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:183:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22813, - "nodeType": "ExpressionStatement", - "src": "2413:183:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22818, - "name": "lastSematicVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22769, - "src": "2637:18:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22819, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2657:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22817, - "name": "isValidBump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23047, - "src": "2625:11:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint16[3] memory,uint16[3] memory) pure returns (bool)" - } - }, - "id": 22820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2625:52:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22821, - "name": "ERROR_INVALID_BUMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22691, - "src": "2679:18:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22816, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2617:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2617:81:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22823, - "nodeType": "ExpressionStatement", - "src": "2617:81:34" - }, - { - "assignments": [ - 22825 - ], - "declarations": [ - { - "constant": false, - "id": 22825, - "name": "versionId", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "2709:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22828, - "initialValue": { - "argumentTypes": null, - "id": 22827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2729:19:34", - "subExpression": { - "argumentTypes": null, - "id": 22826, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "2729:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2709:39:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22829, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "2758:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22831, - "indexExpression": { - "argumentTypes": null, - "id": 22830, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2767:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2758:19:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22833, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2788:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - { - "argumentTypes": null, - "id": 22834, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2809:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 22835, - "name": "_contentURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22749, - "src": "2826:11:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 22832, - "name": "Version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22706, - "src": "2780:7:34", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Version_$22706_storage_ptr_$", - "typeString": "type(struct Repo.Version storage pointer)" - } - }, - "id": 22836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:58:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_memory", - "typeString": "struct Repo.Version memory" - } - }, - "src": "2758:80:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "id": 22838, - "nodeType": "ExpressionStatement", - "src": "2758:80:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22839, - "name": "versionIdForSemantic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22716, - "src": "2848:20:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 22843, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22841, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "2889:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22840, - "name": "semanticVersionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23072, - "src": "2869:19:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint16[3] memory) pure returns (bytes32)" - } - }, - "id": 22842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:40:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2848:62:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22844, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2913:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2848:74:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22846, - "nodeType": "ExpressionStatement", - "src": "2848:74:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 22851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22847, - "name": "latestVersionIdForContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22720, - "src": "2932:26:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 22849, - "indexExpression": { - "argumentTypes": null, - "id": 22848, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22756, - "src": "2959:15:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2932:43:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 22850, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "2978:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2932:55:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 22852, - "nodeType": "ExpressionStatement", - "src": "2932:55:34" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22854, - "name": "versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22825, - "src": "3014:9:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 22855, - "name": "_newSemanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22745, - "src": "3025:19:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22853, - "name": "NewVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22728, - "src": "3003:10:34", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_array$_t_uint16_$3_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint16[3] memory)" - } - }, - "id": 22856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3003:42:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22857, - "nodeType": "EmitStatement", - "src": "2998:47:34" - } - ] - }, - "documentation": "@notice Create new version with contract `_contractAddress` and content `@fromHex(_contentURI)`\n@param _newSemanticVersion Semantic version for new repo version\n@param _contractAddress address for smart contract logic for version (if set to 0, it uses last versions' contractAddress)\n@param _contentURI External URI for fetching new version's content", - "id": 22859, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 22752, - "name": "CREATE_VERSION_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22688, - "src": "1850:19:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 22753, - "modifierName": { - "argumentTypes": null, - "id": 22751, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "1845:4:34", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1845:25:34" - } - ], - "name": "newVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22745, - "name": "_newSemanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1741:29:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22742, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "1741:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22744, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1748:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "1741:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22747, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1780:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22746, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1780:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22749, - "name": "_contentURI", - "nodeType": "VariableDeclaration", - "scope": 22859, - "src": "1814:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22748, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1814:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1731:106:34" - }, - "payable": false, - "returnParameters": { - "id": 22754, - "nodeType": "ParameterList", - "parameters": [], - "src": "1875:0:34" - }, - "scope": 23073, - "src": "1712:1340:34", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22876, - "nodeType": "Block", - "src": "3170:61:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22871, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "3202:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3222:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3202:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22870, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3187:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:37:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22869, - "id": 22875, - "nodeType": "Return", - "src": "3180:44:34" - } - ] - }, - "documentation": null, - "id": 22877, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLatest", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22860, - "nodeType": "ParameterList", - "parameters": [], - "src": "3076:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22864, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3100:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22861, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3100:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22863, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3107:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3100:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22866, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3127:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3127:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22868, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22877, - "src": "3152:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22867, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3152:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3099:70:34" - }, - "scope": 23073, - "src": "3058:173:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22896, - "nodeType": "Block", - "src": "3419:84:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22891, - "name": "latestVersionIdForContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22720, - "src": "3451:26:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 22893, - "indexExpression": { - "argumentTypes": null, - "id": 22892, - "name": "_contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22879, - "src": "3478:16:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3451:44:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22890, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3436:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3436:60:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22889, - "id": 22895, - "nodeType": "Return", - "src": "3429:67:34" - } - ] - }, - "documentation": null, - "id": 22897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLatestForContractAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22879, - "name": "_contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3274:24:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22878, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3274:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3273:26:34" - }, - "payable": false, - "returnParameters": { - "id": 22889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22884, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3345:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22881, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3345:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22883, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3352:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3345:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22886, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3372:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3372:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22888, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22897, - "src": "3397:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22887, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3397:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3344:70:34" - }, - "scope": 23073, - "src": "3237:266:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22920, - "nodeType": "Block", - "src": "3686:99:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22913, - "name": "versionIdForSemantic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22716, - "src": "3718:20:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 22917, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 22915, - "name": "_semanticVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22901, - "src": "3759:16:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - ], - "id": 22914, - "name": "semanticVersionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23072, - "src": "3739:19:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint16_$3_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint16[3] memory) pure returns (bytes32)" - } - }, - "id": 22916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3739:37:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3718:59:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 22912, - "name": "getByVersionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22960, - "src": "3703:14:34", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (uint16[3] memory,address,bytes memory)" - } - }, - "id": 22918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3703:75:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(uint16[3] memory,address,bytes memory)" - } - }, - "functionReturnParameters": 22911, - "id": 22919, - "nodeType": "Return", - "src": "3696:82:34" - } - ] - }, - "documentation": null, - "id": 22921, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBySemanticVersion", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22901, - "name": "_semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3539:26:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22898, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3539:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22900, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3546:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3539:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:28:34" - }, - "payable": false, - "returnParameters": { - "id": 22911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22906, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3612:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22903, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3612:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22905, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3619:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3612:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22908, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3639:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3639:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22910, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22921, - "src": "3664:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22909, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3664:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3611:70:34" - }, - "scope": 23073, - "src": "3509:276:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22959, - "nodeType": "Block", - "src": "3923:243:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 22941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22935, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "3941:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3954:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3941:14:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22938, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "3959:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 22939, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "3972:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3959:30:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3941:48:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 22942, - "name": "ERROR_INEXISTENT_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22697, - "src": "3991:24:34", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 22934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3933:7:34", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 22943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3933:83:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 22944, - "nodeType": "ExpressionStatement", - "src": "3933:83:34" - }, - { - "assignments": [ - 22946 - ], - "declarations": [ - { - "constant": false, - "id": 22946, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "4026:23:34", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - }, - "typeName": { - "contractScope": null, - "id": 22945, - "name": "Version", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 22706, - "src": "4026:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22950, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22947, - "name": "versions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22712, - "src": "4052:8:34", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Version_$22706_storage_$", - "typeString": "mapping(uint256 => struct Repo.Version storage ref)" - } - }, - "id": 22949, - "indexExpression": { - "argumentTypes": null, - "id": 22948, - "name": "_versionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22923, - "src": "4061:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4052:20:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage", - "typeString": "struct Repo.Version storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4026:46:34" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22951, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4090:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "semanticVersion", - "nodeType": "MemberAccess", - "referencedDeclaration": 22701, - "src": "4090:23:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage", - "typeString": "uint16[3] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22953, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4115:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 22703, - "src": "4115:23:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 22955, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22946, - "src": "4140:7:34", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Version_$22706_storage_ptr", - "typeString": "struct Repo.Version storage pointer" - } - }, - "id": 22956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contentURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 22705, - "src": "4140:18:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - } - ], - "id": 22957, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4089:70:34", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_storage_$_t_address_$_t_bytes_storage_$", - "typeString": "tuple(uint16[3] storage ref,address,bytes storage ref)" - } - }, - "functionReturnParameters": 22933, - "id": 22958, - "nodeType": "Return", - "src": "4082:77:34" - } - ] - }, - "documentation": null, - "id": 22960, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getByVersionId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22923, - "name": "_versionId", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3815:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22922, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3815:4:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3814:17:34" - }, - "payable": false, - "returnParameters": { - "id": 22933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22928, - "name": "semanticVersion", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3853:25:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22925, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3853:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22927, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3860:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "3853:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22930, - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3880:23:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 22929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3880:7:34", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22932, - "name": "contentURI", - "nodeType": "VariableDeclaration", - "scope": 22960, - "src": "3905:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 22931, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3905:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3852:70:34" - }, - "scope": 23073, - "src": "3791:375:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22969, - "nodeType": "Block", - "src": "4230:45:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22965, - "name": "versionsNextIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22708, - "src": "4247:17:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 22966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4267:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4247:21:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 22964, - "id": 22968, - "nodeType": "Return", - "src": "4240:28:34" - } - ] - }, - "documentation": null, - "id": 22970, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getVersionsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22961, - "nodeType": "ParameterList", - "parameters": [], - "src": "4197:2:34" - }, - "payable": false, - "returnParameters": { - "id": 22964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22963, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22970, - "src": "4221:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4221:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4220:9:34" - }, - "scope": 23073, - "src": "4172:103:34", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23046, - "nodeType": "Block", - "src": "4375:506:34", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 22984, - "name": "hasBumped", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4385:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22983, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4385:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22985, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4385:14:34" - }, - { - "assignments": [ - 22987 - ], - "declarations": [ - { - "constant": false, - "id": 22987, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4409:6:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 22986, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4409:4:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 22989, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 22988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4418:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4409:10:34" - }, - { - "body": { - "id": 23042, - "nodeType": "Block", - "src": "4443:406:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 22993, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4461:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23004, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4592:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23006, - "indexExpression": { - "argumentTypes": null, - "id": 23005, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4604:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4592:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23007, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4610:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23009, - "indexExpression": { - "argumentTypes": null, - "id": 23008, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4622:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4610:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4592:32:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23037, - "nodeType": "IfStatement", - "src": "4588:234:34", - "trueBody": { - "id": 23036, - "nodeType": "Block", - "src": "4626:196:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 23027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23011, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4648:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23013, - "indexExpression": { - "argumentTypes": null, - "id": 23012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4660:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4648:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23014, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4665:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23016, - "indexExpression": { - "argumentTypes": null, - "id": 23015, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4677:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4665:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4648:31:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 23024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23018, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4683:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23020, - "indexExpression": { - "argumentTypes": null, - "id": 23019, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4695:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4683:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23021, - "name": "_oldVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22974, - "src": "4700:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23023, - "indexExpression": { - "argumentTypes": null, - "id": 23022, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4712:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4700:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "4683:31:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4718:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4683:36:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4648:71:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23031, - "nodeType": "IfStatement", - "src": "4644:130:34", - "trueBody": { - "id": 23030, - "nodeType": "Block", - "src": "4721:53:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 23028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4750:5:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 22982, - "id": 23029, - "nodeType": "Return", - "src": "4743:12:34" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 23034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 23032, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4791:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 23033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4803:4:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4791:16:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 23035, - "nodeType": "ExpressionStatement", - "src": "4791:16:34" - } - ] - } - }, - "id": 23038, - "nodeType": "IfStatement", - "src": "4457:365:34", - "trueBody": { - "id": 23003, - "nodeType": "Block", - "src": "4472:110:34", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 22998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 22994, - "name": "_newVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22978, - "src": "4494:11:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 22996, - "indexExpression": { - "argumentTypes": null, - "id": 22995, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4506:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4494:14:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 22997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4512:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4494:19:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 23002, - "nodeType": "IfStatement", - "src": "4490:78:34", - "trueBody": { - "id": 23001, - "nodeType": "Block", - "src": "4515:53:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 22999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4544:5:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 22982, - "id": 23000, - "nodeType": "Return", - "src": "4537:12:34" - } - ] - } - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 23040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4835:3:34", - "subExpression": { - "argumentTypes": null, - "id": 23039, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4835:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 23041, - "nodeType": "ExpressionStatement", - "src": "4835:3:34" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 22992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 22990, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22987, - "src": "4436:1:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 22991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4436:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 23043, - "nodeType": "WhileStatement", - "src": "4429:420:34" - }, - { - "expression": { - "argumentTypes": null, - "id": 23044, - "name": "hasBumped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22984, - "src": "4865:9:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 22982, - "id": 23045, - "nodeType": "Return", - "src": "4858:16:34" - } - ] - }, - "documentation": null, - "id": 23047, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidBump", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22974, - "name": "_oldVersion", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4302:21:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22971, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4302:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22973, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4302:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22978, - "name": "_newVersion", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4325:21:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 22975, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4325:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 22977, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 22976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4332:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4325:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4301:46:34" - }, - "payable": false, - "returnParameters": { - "id": 22982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22981, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23047, - "src": "4369:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 22980, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4369:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4368:6:34" - }, - "scope": 23073, - "src": "4281:600:34", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 23071, - "nodeType": "Block", - "src": "4967:87:34", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23059, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5011:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23061, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 23060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5011:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23062, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5023:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23064, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 23063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5031:1:34", - "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": "5023:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 23065, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23051, - "src": "5035:7:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3] memory" - } - }, - "id": 23067, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 23066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:1:34", - "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": "5035:10:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "argumentTypes": null, - "id": 23057, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4994:3:34", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4994:16:34", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 23068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4994:52:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23056, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "4984:9:34", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 23069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4984:63:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 23055, - "id": 23070, - "nodeType": "Return", - "src": "4977:70:34" - } - ] - }, - "documentation": null, - "id": 23072, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "semanticVersionHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23051, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 23072, - "src": "4916:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_memory_ptr", - "typeString": "uint16[3]" - }, - "typeName": { - "baseType": { - "id": 23048, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "4916:6:34", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 23050, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 23049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4923:1:34", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "4916:9:34", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint16_$3_storage_ptr", - "typeString": "uint16[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4915:19:34" - }, - "payable": false, - "returnParameters": { - "id": 23055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23054, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23072, - "src": "4958:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4958:7:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4957:9:34" - }, - "scope": 23073, - "src": "4887:167:34", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 23074, - "src": "136:4920:34" - } - ], - "src": "0:5057:34" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.324Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/SafeERC20.json b/templates/multisig/build/contracts/SafeERC20.json deleted file mode 100644 index 4beec38..0000000 --- a/templates/multisig/build/contracts/SafeERC20.json +++ /dev/null @@ -1,5823 +0,0 @@ -{ - "contractName": "SafeERC20", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ed4ae2a26ba5769a6db8ca3efd801a4a99bfb93c1fbda69081d94f4f5e89b3060029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ed4ae2a26ba5769a6db8ca3efd801a4a99bfb93c1fbda69081d94f4f5e89b3060029", - "sourceMap": "376:5183:52:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "376:5183:52:-;;;;;;;;", - "source": "// Inspired by AdEx (https://github.com/AdExNetwork/adex-protocol-eth/blob/b9df617829661a7518ee10f4cb6c4108659dd6d5/contracts/libs/SafeERC20.sol)\n// and 0x (https://github.com/0xProject/0x-monorepo/blob/737d1dc54d72872e24abce5a1dbe1b66d35fa21a/contracts/protocol/contracts/protocol/AssetProxy/ERC20Proxy.sol#L143)\n\npragma solidity ^0.4.24;\n\nimport \"../lib/token/ERC20.sol\";\n\n\nlibrary SafeERC20 {\n // Before 0.5, solidity has a mismatch between `address.transfer()` and `token.transfer()`:\n // https://github.com/ethereum/solidity/issues/3544\n bytes4 private constant TRANSFER_SELECTOR = 0xa9059cbb;\n\n string private constant ERROR_TOKEN_BALANCE_REVERTED = \"SAFE_ERC_20_BALANCE_REVERTED\";\n string private constant ERROR_TOKEN_ALLOWANCE_REVERTED = \"SAFE_ERC_20_ALLOWANCE_REVERTED\";\n\n function invokeAndCheckSuccess(address _addr, bytes memory _calldata)\n private\n returns (bool)\n {\n bool ret;\n assembly {\n let ptr := mload(0x40) // free memory pointer\n\n let success := call(\n gas, // forward all gas\n _addr, // address\n 0, // no value\n add(_calldata, 0x20), // calldata start\n mload(_calldata), // calldata length\n ptr, // write output over free memory\n 0x20 // uint256 return\n )\n\n if gt(success, 0) {\n // Check number of bytes returned from last function call\n switch returndatasize\n\n // No bytes returned: assume success\n case 0 {\n ret := 1\n }\n\n // 32 bytes returned: check if non-zero\n case 0x20 {\n // Only return success if returned data was true\n // Already have output in ptr\n ret := eq(mload(ptr), 1)\n }\n\n // Not sure what was returned: don't mark as success\n default { }\n }\n }\n return ret;\n }\n\n function staticInvoke(address _addr, bytes memory _calldata)\n private\n view\n returns (bool, uint256)\n {\n bool success;\n uint256 ret;\n assembly {\n let ptr := mload(0x40) // free memory pointer\n\n success := staticcall(\n gas, // forward all gas\n _addr, // address\n add(_calldata, 0x20), // calldata start\n mload(_calldata), // calldata length\n ptr, // write output over free memory\n 0x20 // uint256 return\n )\n\n if gt(success, 0) {\n ret := mload(ptr)\n }\n }\n return (success, ret);\n }\n\n /**\n * @dev Same as a standards-compliant ERC20.transfer() that never reverts (returns false).\n * Note that this makes an external call to the token.\n */\n function safeTransfer(ERC20 _token, address _to, uint256 _amount) internal returns (bool) {\n bytes memory transferCallData = abi.encodeWithSelector(\n TRANSFER_SELECTOR,\n _to,\n _amount\n );\n return invokeAndCheckSuccess(_token, transferCallData);\n }\n\n /**\n * @dev Same as a standards-compliant ERC20.transferFrom() that never reverts (returns false).\n * Note that this makes an external call to the token.\n */\n function safeTransferFrom(ERC20 _token, address _from, address _to, uint256 _amount) internal returns (bool) {\n bytes memory transferFromCallData = abi.encodeWithSelector(\n _token.transferFrom.selector,\n _from,\n _to,\n _amount\n );\n return invokeAndCheckSuccess(_token, transferFromCallData);\n }\n\n /**\n * @dev Same as a standards-compliant ERC20.approve() that never reverts (returns false).\n * Note that this makes an external call to the token.\n */\n function safeApprove(ERC20 _token, address _spender, uint256 _amount) internal returns (bool) {\n bytes memory approveCallData = abi.encodeWithSelector(\n _token.approve.selector,\n _spender,\n _amount\n );\n return invokeAndCheckSuccess(_token, approveCallData);\n }\n\n /**\n * @dev Static call into ERC20.balanceOf().\n * Reverts if the call fails for some reason (should never fail).\n */\n function staticBalanceOf(ERC20 _token, address _owner) internal view returns (uint256) {\n bytes memory balanceOfCallData = abi.encodeWithSelector(\n _token.balanceOf.selector,\n _owner\n );\n\n (bool success, uint256 tokenBalance) = staticInvoke(_token, balanceOfCallData);\n require(success, ERROR_TOKEN_BALANCE_REVERTED);\n\n return tokenBalance;\n }\n\n /**\n * @dev Static call into ERC20.allowance().\n * Reverts if the call fails for some reason (should never fail).\n */\n function staticAllowance(ERC20 _token, address _owner, address _spender) internal view returns (uint256) {\n bytes memory allowanceCallData = abi.encodeWithSelector(\n _token.allowance.selector,\n _owner,\n _spender\n );\n\n (bool success, uint256 allowance) = staticInvoke(_token, allowanceCallData);\n require(success, ERROR_TOKEN_ALLOWANCE_REVERTED);\n\n return allowance;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/SafeERC20.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "exportedSymbols": { - "SafeERC20": [ - 24107 - ] - }, - "id": 24108, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23897, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "315:24:52" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "../lib/token/ERC20.sol", - "id": 23898, - "nodeType": "ImportDirective", - "scope": 24108, - "sourceUnit": 28100, - "src": "341:32:52", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24107, - "linearizedBaseContracts": [ - 24107 - ], - "name": "SafeERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23901, - "name": "TRANSFER_SELECTOR", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "552:54:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 23899, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "552:6:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786139303539636262", - "id": 23900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "596:10:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2835717307_by_1", - "typeString": "int_const 2835717307" - }, - "value": "0xa9059cbb" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23904, - "name": "ERROR_TOKEN_BALANCE_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "613:85:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23902, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "613:6:52", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "534146455f4552435f32305f42414c414e43455f5245564552544544", - "id": 23903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "668:30:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0d6f1573408f815b546b777c74de94d1685d3d390fbf5b918b2e1339b2ed2e7", - "typeString": "literal_string \"SAFE_ERC_20_BALANCE_REVERTED\"" - }, - "value": "SAFE_ERC_20_BALANCE_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23907, - "name": "ERROR_TOKEN_ALLOWANCE_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "704:89:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23905, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "704:6:52", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "534146455f4552435f32305f414c4c4f57414e43455f5245564552544544", - "id": 23906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:32:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_73432bcf14a5ead3ed39eed7e97b924b49d284054d4f8b41ba74ac90002bc239", - "typeString": "literal_string \"SAFE_ERC_20_ALLOWANCE_REVERTED\"" - }, - "value": "SAFE_ERC_20_ALLOWANCE_REVERTED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23922, - "nodeType": "Block", - "src": "913:1229:52", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23917, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "923:8:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23916, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "923:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23918, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "923:8:52" - }, - { - "externalReferences": [ - { - "_calldata": { - "declaration": 23911, - "isOffset": false, - "isSlot": false, - "src": "1281:9:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23911, - "isOffset": false, - "isSlot": false, - "src": "1223:9:52", - "valueSize": 1 - } - }, - { - "ret": { - "declaration": 23917, - "isOffset": false, - "isSlot": false, - "src": "1701:3:52", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 23909, - "isOffset": false, - "isSlot": false, - "src": "1120:5:52", - "valueSize": 1 - } - }, - { - "ret": { - "declaration": 23917, - "isOffset": false, - "isSlot": false, - "src": "1952:3:52", - "valueSize": 1 - } - } - ], - "id": 23919, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n let success := call(gas(), _addr, 0, add(_calldata, 0x20), mload(_calldata), ptr, 0x20)\n if gt(success, 0)\n {\n switch returndatasize()\n case 0 {\n ret := 1\n }\n case 0x20 {\n ret := eq(mload(ptr), 1)\n }\n default {\n }\n }\n}", - "src": "941:1190:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 23920, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23917, - "src": "2132:3:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23915, - "id": 23921, - "nodeType": "Return", - "src": "2125:10:52" - } - ] - }, - "documentation": null, - "id": 23923, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "invokeAndCheckSuccess", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23912, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23909, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "831:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23911, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "846:22:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23910, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "846:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "830:39:52" - }, - "payable": false, - "returnParameters": { - "id": 23915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23914, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "903:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23913, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "903:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "902:6:52" - }, - "scope": 24107, - "src": "800:1342:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 23945, - "nodeType": "Block", - "src": "2274:648:52", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23935, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2284:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23934, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2284:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23936, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2284:12:52" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23938, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2306:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2306:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23939, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2306:11:52" - }, - { - "externalReferences": [ - { - "ret": { - "declaration": 23938, - "isOffset": false, - "isSlot": false, - "src": "2844:3:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23927, - "isOffset": false, - "isSlot": false, - "src": "2619:9:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23927, - "isOffset": false, - "isSlot": false, - "src": "2561:9:52", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 23935, - "isOffset": false, - "isSlot": false, - "src": "2412:7:52", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 23935, - "isOffset": false, - "isSlot": false, - "src": "2814:7:52", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 23925, - "isOffset": false, - "isSlot": false, - "src": "2508:5:52", - "valueSize": 1 - } - } - ], - "id": 23940, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n success := staticcall(gas(), _addr, add(_calldata, 0x20), mload(_calldata), ptr, 0x20)\n if gt(success, 0)\n {\n ret := mload(ptr)\n }\n}", - "src": "2327:573:52" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 23941, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23935, - "src": "2902:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23942, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23938, - "src": "2911:3:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 23943, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2901:14:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 23933, - "id": 23944, - "nodeType": "Return", - "src": "2894:21:52" - } - ] - }, - "documentation": null, - "id": 23946, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticInvoke", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23925, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2170:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2170:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23927, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2185:22:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23926, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2185:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2169:39:52" - }, - "payable": false, - "returnParameters": { - "id": 23933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2255:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23929, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2255:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2261:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2261:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2254:15:52" - }, - "scope": 24107, - "src": "2148:774:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 23971, - "nodeType": "Block", - "src": "3190:214:52", - "statements": [ - { - "assignments": [ - 23958 - ], - "declarations": [ - { - "constant": false, - "id": 23958, - "name": "transferCallData", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3200:29:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23957, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3200:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23965, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23961, - "name": "TRANSFER_SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23901, - "src": "3268:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 23962, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23950, - "src": "3299:3:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23963, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23952, - "src": "3316:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23959, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3232:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3232:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 23964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3232:101:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3200:133:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23967, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23948, - "src": "3372:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 23968, - "name": "transferCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23958, - "src": "3380:16:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23966, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "3350:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 23969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3350:47:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23956, - "id": 23970, - "nodeType": "Return", - "src": "3343:54:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.transfer() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 23972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23948, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3122:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 23947, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3122:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23950, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3136:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23949, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3136:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23952, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3149:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3121:44:52" - }, - "payable": false, - "returnParameters": { - "id": 23956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3184:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3184:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3183:6:52" - }, - "scope": 24107, - "src": "3100:304:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24002, - "nodeType": "Block", - "src": "3695:252:52", - "statements": [ - { - "assignments": [ - 23986 - ], - "declarations": [ - { - "constant": false, - "id": 23986, - "name": "transferFromCallData", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3705:33:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23985, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3705:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23989, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23974, - "src": "3777:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 23990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 28082, - "src": "3777:19:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 23991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3777:28:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 23992, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23976, - "src": "3819:5:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23993, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23978, - "src": "3838:3:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23994, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23980, - "src": "3855:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23987, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3741:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3741:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 23995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:131:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3705:167:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23998, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23974, - "src": "3911:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 23999, - "name": "transferFromCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23986, - "src": "3919:20:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23997, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "3889:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 24000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3889:51:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23984, - "id": 24001, - "nodeType": "Return", - "src": "3882:58:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.transferFrom() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 24003, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23974, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3612:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 23973, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3612:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23976, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3626:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23975, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3626:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23978, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3641:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3641:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23980, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3654:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3654:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3611:59:52" - }, - "payable": false, - "returnParameters": { - "id": 23984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23983, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3689:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23982, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3689:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3688:6:52" - }, - "scope": 24107, - "src": "3586:361:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24030, - "nodeType": "Block", - "src": "4218:223:52", - "statements": [ - { - "assignments": [ - 24015 - ], - "declarations": [ - { - "constant": false, - "id": 24015, - "name": "approveCallData", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4228:28:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24014, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4228:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24024, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24018, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24005, - "src": "4295:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 28071, - "src": "4295:14:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 24020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4295:23:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24021, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24007, - "src": "4332:8:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24022, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24009, - "src": "4354:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24016, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4259:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4259:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4259:112:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4228:143:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24026, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24005, - "src": "4410:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24027, - "name": "approveCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24015, - "src": "4418:15:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24025, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "4388:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 24028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4388:46:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 24013, - "id": 24029, - "nodeType": "Return", - "src": "4381:53:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.approve() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 24031, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24005, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4145:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24004, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "4145:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24007, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4159:16:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4159:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24009, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4177:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4177:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4144:49:52" - }, - "payable": false, - "returnParameters": { - "id": 24013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24012, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4212:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4212:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4211:6:52" - }, - "scope": 24107, - "src": "4124:317:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24066, - "nodeType": "Block", - "src": "4665:316:52", - "statements": [ - { - "assignments": [ - 24041 - ], - "declarations": [ - { - "constant": false, - "id": 24041, - "name": "balanceOfCallData", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4675:30:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24040, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4675:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24049, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24044, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24033, - "src": "4744:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "4744:16:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 24046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4744:25:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24047, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24035, - "src": "4783:6:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24042, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4708:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4708:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4708:91:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4675:124:52" - }, - { - "assignments": [ - 24051, - 24053 - ], - "declarations": [ - { - "constant": false, - "id": 24051, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4811:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24050, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4811:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24053, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4825:20:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4825:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24055, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24033, - "src": "4862:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24056, - "name": "balanceOfCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24041, - "src": "4870:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24054, - "name": "staticInvoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23946, - "src": "4849:12:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_uint256_$", - "typeString": "function (address,bytes memory) view returns (bool,uint256)" - } - }, - "id": 24057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4849:39:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4810:78:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24060, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24051, - "src": "4906:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24061, - "name": "ERROR_TOKEN_BALANCE_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23904, - "src": "4915:28:52", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24059, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4898:7:52", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4898:46:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24063, - "nodeType": "ExpressionStatement", - "src": "4898:46:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 24064, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24053, - "src": "4962:12:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24039, - "id": 24065, - "nodeType": "Return", - "src": "4955:19:52" - } - ] - }, - "documentation": "@dev Static call into ERC20.balanceOf().\nReverts if the call fails for some reason (should never fail).", - "id": 24067, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticBalanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24033, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4603:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24032, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "4603:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24035, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4617:14:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4617:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4602:30:52" - }, - "payable": false, - "returnParameters": { - "id": 24039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24038, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4656:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4656:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4655:9:52" - }, - "scope": 24107, - "src": "4578:403:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24105, - "nodeType": "Block", - "src": "5223:334:52", - "statements": [ - { - "assignments": [ - 24079 - ], - "declarations": [ - { - "constant": false, - "id": 24079, - "name": "allowanceCallData", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5233:30:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24078, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5233:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24082, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24069, - "src": "5302:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "5302:16:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 24084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:25:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24085, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24071, - "src": "5341:6:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24086, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24073, - "src": "5361:8:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24080, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "5266:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5266:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5266:113:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5233:146:52" - }, - { - "assignments": [ - 24090, - 24092 - ], - "declarations": [ - { - "constant": false, - "id": 24090, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5391:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24089, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5391:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24092, - "name": "allowance", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5405:17:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5405:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24097, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24094, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24069, - "src": "5439:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24095, - "name": "allowanceCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24079, - "src": "5447:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24093, - "name": "staticInvoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23946, - "src": "5426:12:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_uint256_$", - "typeString": "function (address,bytes memory) view returns (bool,uint256)" - } - }, - "id": 24096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5426:39:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5390:75:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24099, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24090, - "src": "5483:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24100, - "name": "ERROR_TOKEN_ALLOWANCE_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23907, - "src": "5492:30:52", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5475:7:52", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5475:48:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24102, - "nodeType": "ExpressionStatement", - "src": "5475:48:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 24103, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24092, - "src": "5541:9:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24077, - "id": 24104, - "nodeType": "Return", - "src": "5534:16:52" - } - ] - }, - "documentation": "@dev Static call into ERC20.allowance().\nReverts if the call fails for some reason (should never fail).", - "id": 24106, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24069, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5143:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24068, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "5143:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24071, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5157:14:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5157:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24073, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5173:16:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5173:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5142:48:52" - }, - "payable": false, - "returnParameters": { - "id": 24077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24076, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5214:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5214:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5213:9:52" - }, - "scope": 24107, - "src": "5118:439:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24108, - "src": "376:5183:52" - } - ], - "src": "315:5245:52" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "exportedSymbols": { - "SafeERC20": [ - 24107 - ] - }, - "id": 24108, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 23897, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "315:24:52" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "../lib/token/ERC20.sol", - "id": 23898, - "nodeType": "ImportDirective", - "scope": 24108, - "sourceUnit": 28100, - "src": "341:32:52", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24107, - "linearizedBaseContracts": [ - 24107 - ], - "name": "SafeERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 23901, - "name": "TRANSFER_SELECTOR", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "552:54:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 23899, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "552:6:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786139303539636262", - "id": 23900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "596:10:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2835717307_by_1", - "typeString": "int_const 2835717307" - }, - "value": "0xa9059cbb" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23904, - "name": "ERROR_TOKEN_BALANCE_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "613:85:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23902, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "613:6:52", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "534146455f4552435f32305f42414c414e43455f5245564552544544", - "id": 23903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "668:30:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0d6f1573408f815b546b777c74de94d1685d3d390fbf5b918b2e1339b2ed2e7", - "typeString": "literal_string \"SAFE_ERC_20_BALANCE_REVERTED\"" - }, - "value": "SAFE_ERC_20_BALANCE_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 23907, - "name": "ERROR_TOKEN_ALLOWANCE_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 24107, - "src": "704:89:52", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 23905, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "704:6:52", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "534146455f4552435f32305f414c4c4f57414e43455f5245564552544544", - "id": 23906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:32:52", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_73432bcf14a5ead3ed39eed7e97b924b49d284054d4f8b41ba74ac90002bc239", - "typeString": "literal_string \"SAFE_ERC_20_ALLOWANCE_REVERTED\"" - }, - "value": "SAFE_ERC_20_ALLOWANCE_REVERTED" - }, - "visibility": "private" - }, - { - "body": { - "id": 23922, - "nodeType": "Block", - "src": "913:1229:52", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23917, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "923:8:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23916, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "923:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23918, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "923:8:52" - }, - { - "externalReferences": [ - { - "_calldata": { - "declaration": 23911, - "isOffset": false, - "isSlot": false, - "src": "1281:9:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23911, - "isOffset": false, - "isSlot": false, - "src": "1223:9:52", - "valueSize": 1 - } - }, - { - "ret": { - "declaration": 23917, - "isOffset": false, - "isSlot": false, - "src": "1701:3:52", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 23909, - "isOffset": false, - "isSlot": false, - "src": "1120:5:52", - "valueSize": 1 - } - }, - { - "ret": { - "declaration": 23917, - "isOffset": false, - "isSlot": false, - "src": "1952:3:52", - "valueSize": 1 - } - } - ], - "id": 23919, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n let success := call(gas(), _addr, 0, add(_calldata, 0x20), mload(_calldata), ptr, 0x20)\n if gt(success, 0)\n {\n switch returndatasize()\n case 0 {\n ret := 1\n }\n case 0x20 {\n ret := eq(mload(ptr), 1)\n }\n default {\n }\n }\n}", - "src": "941:1190:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 23920, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23917, - "src": "2132:3:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23915, - "id": 23921, - "nodeType": "Return", - "src": "2125:10:52" - } - ] - }, - "documentation": null, - "id": 23923, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "invokeAndCheckSuccess", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23912, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23909, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "831:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23911, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "846:22:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23910, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "846:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "830:39:52" - }, - "payable": false, - "returnParameters": { - "id": 23915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23914, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23923, - "src": "903:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23913, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "903:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "902:6:52" - }, - "scope": 24107, - "src": "800:1342:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 23945, - "nodeType": "Block", - "src": "2274:648:52", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23935, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2284:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23934, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2284:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23936, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2284:12:52" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 23938, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2306:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2306:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23939, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2306:11:52" - }, - { - "externalReferences": [ - { - "ret": { - "declaration": 23938, - "isOffset": false, - "isSlot": false, - "src": "2844:3:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23927, - "isOffset": false, - "isSlot": false, - "src": "2619:9:52", - "valueSize": 1 - } - }, - { - "_calldata": { - "declaration": 23927, - "isOffset": false, - "isSlot": false, - "src": "2561:9:52", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 23935, - "isOffset": false, - "isSlot": false, - "src": "2412:7:52", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 23935, - "isOffset": false, - "isSlot": false, - "src": "2814:7:52", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 23925, - "isOffset": false, - "isSlot": false, - "src": "2508:5:52", - "valueSize": 1 - } - } - ], - "id": 23940, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n success := staticcall(gas(), _addr, add(_calldata, 0x20), mload(_calldata), ptr, 0x20)\n if gt(success, 0)\n {\n ret := mload(ptr)\n }\n}", - "src": "2327:573:52" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 23941, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23935, - "src": "2902:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 23942, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23938, - "src": "2911:3:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 23943, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2901:14:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 23933, - "id": 23944, - "nodeType": "Return", - "src": "2894:21:52" - } - ] - }, - "documentation": null, - "id": 23946, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticInvoke", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23925, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2170:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2170:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23927, - "name": "_calldata", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2185:22:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23926, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2185:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2169:39:52" - }, - "payable": false, - "returnParameters": { - "id": 23933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23930, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2255:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23929, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2255:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23932, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23946, - "src": "2261:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2261:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2254:15:52" - }, - "scope": 24107, - "src": "2148:774:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 23971, - "nodeType": "Block", - "src": "3190:214:52", - "statements": [ - { - "assignments": [ - 23958 - ], - "declarations": [ - { - "constant": false, - "id": 23958, - "name": "transferCallData", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3200:29:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23957, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3200:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23965, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23961, - "name": "TRANSFER_SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23901, - "src": "3268:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 23962, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23950, - "src": "3299:3:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23963, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23952, - "src": "3316:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23959, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3232:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3232:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 23964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3232:101:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3200:133:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23967, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23948, - "src": "3372:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 23968, - "name": "transferCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23958, - "src": "3380:16:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23966, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "3350:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 23969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3350:47:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23956, - "id": 23970, - "nodeType": "Return", - "src": "3343:54:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.transfer() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 23972, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23948, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3122:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 23947, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3122:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23950, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3136:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23949, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3136:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23952, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3149:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3121:44:52" - }, - "payable": false, - "returnParameters": { - "id": 23956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 23972, - "src": "3184:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23954, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3184:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3183:6:52" - }, - "scope": 24107, - "src": "3100:304:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24002, - "nodeType": "Block", - "src": "3695:252:52", - "statements": [ - { - "assignments": [ - 23986 - ], - "declarations": [ - { - "constant": false, - "id": 23986, - "name": "transferFromCallData", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3705:33:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23985, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3705:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 23996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 23989, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23974, - "src": "3777:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 23990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 28082, - "src": "3777:19:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 23991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3777:28:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 23992, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23976, - "src": "3819:5:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23993, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23978, - "src": "3838:3:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 23994, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23980, - "src": "3855:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 23987, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3741:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 23988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3741:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 23995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:131:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3705:167:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 23998, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23974, - "src": "3911:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 23999, - "name": "transferFromCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23986, - "src": "3919:20:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 23997, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "3889:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 24000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3889:51:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 23984, - "id": 24001, - "nodeType": "Return", - "src": "3882:58:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.transferFrom() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 24003, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 23981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23974, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3612:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 23973, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "3612:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23976, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3626:13:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23975, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3626:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23978, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3641:11:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3641:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 23980, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3654:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 23979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3654:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3611:59:52" - }, - "payable": false, - "returnParameters": { - "id": 23984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23983, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24003, - "src": "3689:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23982, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3689:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3688:6:52" - }, - "scope": 24107, - "src": "3586:361:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24030, - "nodeType": "Block", - "src": "4218:223:52", - "statements": [ - { - "assignments": [ - 24015 - ], - "declarations": [ - { - "constant": false, - "id": 24015, - "name": "approveCallData", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4228:28:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24014, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4228:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24024, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24018, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24005, - "src": "4295:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 28071, - "src": "4295:14:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 24020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4295:23:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24021, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24007, - "src": "4332:8:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24022, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24009, - "src": "4354:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24016, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4259:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4259:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4259:112:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4228:143:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24026, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24005, - "src": "4410:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24027, - "name": "approveCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24015, - "src": "4418:15:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24025, - "name": "invokeAndCheckSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23923, - "src": "4388:21:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 24028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4388:46:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 24013, - "id": 24029, - "nodeType": "Return", - "src": "4381:53:52" - } - ] - }, - "documentation": "@dev Same as a standards-compliant ERC20.approve() that never reverts (returns false).\n Note that this makes an external call to the token.", - "id": 24031, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24005, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4145:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24004, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "4145:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24007, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4159:16:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4159:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24009, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4177:15:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4177:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4144:49:52" - }, - "payable": false, - "returnParameters": { - "id": 24013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24012, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24031, - "src": "4212:4:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4212:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4211:6:52" - }, - "scope": 24107, - "src": "4124:317:52", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24066, - "nodeType": "Block", - "src": "4665:316:52", - "statements": [ - { - "assignments": [ - 24041 - ], - "declarations": [ - { - "constant": false, - "id": 24041, - "name": "balanceOfCallData", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4675:30:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24040, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4675:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24049, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24044, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24033, - "src": "4744:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 28044, - "src": "4744:16:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 24046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4744:25:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24047, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24035, - "src": "4783:6:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24042, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "4708:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4708:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4708:91:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4675:124:52" - }, - { - "assignments": [ - 24051, - 24053 - ], - "declarations": [ - { - "constant": false, - "id": 24051, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4811:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24050, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4811:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24053, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4825:20:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4825:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24055, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24033, - "src": "4862:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24056, - "name": "balanceOfCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24041, - "src": "4870:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24054, - "name": "staticInvoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23946, - "src": "4849:12:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_uint256_$", - "typeString": "function (address,bytes memory) view returns (bool,uint256)" - } - }, - "id": 24057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4849:39:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4810:78:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24060, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24051, - "src": "4906:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24061, - "name": "ERROR_TOKEN_BALANCE_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23904, - "src": "4915:28:52", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24059, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4898:7:52", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4898:46:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24063, - "nodeType": "ExpressionStatement", - "src": "4898:46:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 24064, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24053, - "src": "4962:12:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24039, - "id": 24065, - "nodeType": "Return", - "src": "4955:19:52" - } - ] - }, - "documentation": "@dev Static call into ERC20.balanceOf().\nReverts if the call fails for some reason (should never fail).", - "id": 24067, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticBalanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24033, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4603:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24032, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "4603:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24035, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4617:14:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4617:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4602:30:52" - }, - "payable": false, - "returnParameters": { - "id": 24039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24038, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24067, - "src": "4656:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4656:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4655:9:52" - }, - "scope": 24107, - "src": "4578:403:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24105, - "nodeType": "Block", - "src": "5223:334:52", - "statements": [ - { - "assignments": [ - 24079 - ], - "declarations": [ - { - "constant": false, - "id": 24079, - "name": "allowanceCallData", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5233:30:52", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 24078, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5233:5:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24082, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24069, - "src": "5302:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 28053, - "src": "5302:16:52", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 24084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:25:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 24085, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24071, - "src": "5341:6:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24086, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24073, - "src": "5361:8:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 24080, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "5266:3:52", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 24081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5266:22:52", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 24087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5266:113:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5233:146:52" - }, - { - "assignments": [ - 24090, - 24092 - ], - "declarations": [ - { - "constant": false, - "id": 24090, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5391:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24089, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5391:4:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24092, - "name": "allowance", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5405:17:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5405:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24097, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24094, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24069, - "src": "5439:6:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 24095, - "name": "allowanceCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24079, - "src": "5447:17:52", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 24093, - "name": "staticInvoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23946, - "src": "5426:12:52", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_uint256_$", - "typeString": "function (address,bytes memory) view returns (bool,uint256)" - } - }, - "id": 24096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5426:39:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5390:75:52" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24099, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24090, - "src": "5483:7:52", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24100, - "name": "ERROR_TOKEN_ALLOWANCE_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23907, - "src": "5492:30:52", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5475:7:52", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5475:48:52", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24102, - "nodeType": "ExpressionStatement", - "src": "5475:48:52" - }, - { - "expression": { - "argumentTypes": null, - "id": 24103, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24092, - "src": "5541:9:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24077, - "id": 24104, - "nodeType": "Return", - "src": "5534:16:52" - } - ] - }, - "documentation": "@dev Static call into ERC20.allowance().\nReverts if the call fails for some reason (should never fail).", - "id": 24106, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "staticAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24069, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5143:12:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24068, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "5143:5:52", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24071, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5157:14:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5157:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24073, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5173:16:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5173:7:52", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5142:48:52" - }, - "payable": false, - "returnParameters": { - "id": 24077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24076, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24106, - "src": "5214:7:52", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5214:7:52", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5213:9:52" - }, - "scope": 24107, - "src": "5118:439:52", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24108, - "src": "376:5183:52" - } - ], - "src": "315:5245:52" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.283Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/SafeMath.json b/templates/multisig/build/contracts/SafeMath.json deleted file mode 100644 index 7d21936..0000000 --- a/templates/multisig/build/contracts/SafeMath.json +++ /dev/null @@ -1,3813 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208ae62ce74cb440d668f83af3d26462e8755d1a9924b74141d9f526bf45c5fdee0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208ae62ce74cb440d668f83af3d26462e8755d1a9924b74141d9f526bf45c5fdee0029", - "sourceMap": "316:2063:79:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "316:2063:79:-;;;;;;;;", - "source": "// See https://github.com/OpenZeppelin/openzeppelin-solidity/blob/d51e38758e1d985661534534d5c61e27bece5042/contracts/math/SafeMath.sol\n// Adapted to use pragma ^0.4.24 and satisfy our linter rules\n\npragma solidity ^0.4.24;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that revert on error\n */\nlibrary SafeMath {\n string private constant ERROR_ADD_OVERFLOW = \"MATH_ADD_OVERFLOW\";\n string private constant ERROR_SUB_UNDERFLOW = \"MATH_SUB_UNDERFLOW\";\n string private constant ERROR_MUL_OVERFLOW = \"MATH_MUL_OVERFLOW\";\n string private constant ERROR_DIV_ZERO = \"MATH_DIV_ZERO\";\n\n /**\n * @dev Multiplies two numbers, reverts on overflow.\n */\n function mul(uint256 _a, uint256 _b) internal pure returns (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-solidity/pull/522\n if (_a == 0) {\n return 0;\n }\n\n uint256 c = _a * _b;\n require(c / _a == _b, ERROR_MUL_OVERFLOW);\n\n return c;\n }\n\n /**\n * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.\n */\n function div(uint256 _a, uint256 _b) internal pure returns (uint256) {\n require(_b > 0, ERROR_DIV_ZERO); // Solidity only automatically asserts when dividing by 0\n uint256 c = _a / _b;\n // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {\n require(_b <= _a, ERROR_SUB_UNDERFLOW);\n uint256 c = _a - _b;\n\n return c;\n }\n\n /**\n * @dev Adds two numbers, reverts on overflow.\n */\n function add(uint256 _a, uint256 _b) internal pure returns (uint256) {\n uint256 c = _a + _b;\n require(c >= _a, ERROR_ADD_OVERFLOW);\n\n return c;\n }\n\n /**\n * @dev Divides two numbers and returns the remainder (unsigned integer modulo),\n * reverts when dividing by zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0, ERROR_DIV_ZERO);\n return a % b;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 27869 - ] - }, - "id": 27870, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27726, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "198:24:79" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 27869, - "linearizedBaseContracts": [ - 27869 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27729, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "339:64:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27727, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "339:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4144445f4f564552464c4f57", - "id": 27728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "384:19:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2578df285e4eb4fecc3fecd08d2a22ed90362a41b5e72ae4b79db24283d0947", - "typeString": "literal_string \"MATH_ADD_OVERFLOW\"" - }, - "value": "MATH_ADD_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27732, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "409:66:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27730, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "409:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f5355425f554e444552464c4f57", - "id": 27731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "455:20:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_70a8dc66a4d49a0e19d93a83f0d406b3daa17bbf4c9467e211561ccc5532682a", - "typeString": "literal_string \"MATH_SUB_UNDERFLOW\"" - }, - "value": "MATH_SUB_UNDERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27735, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "481:64:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27733, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "481:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4d554c5f4f564552464c4f57", - "id": 27734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "526:19:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_35a1199df5bd85b47d1f51a6d26365bd6a6655fc5e9ac66d7034d57d652eefb9", - "typeString": "literal_string \"MATH_MUL_OVERFLOW\"" - }, - "value": "MATH_MUL_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27738, - "name": "ERROR_DIV_ZERO", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "551:56:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27736, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "551:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4449565f5a45524f", - "id": 27737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "592:15:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a6d5d58df072a2986be3bd1a658830f4669d9565d8a831e250537aff4d5d289", - "typeString": "literal_string \"MATH_DIV_ZERO\"" - }, - "value": "MATH_DIV_ZERO" - }, - "visibility": "private" - }, - { - "body": { - "id": 27771, - "nodeType": "Block", - "src": "754:379:79", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27747, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "985:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "985:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27753, - "nodeType": "IfStatement", - "src": "981:46:79", - "trueBody": { - "id": 27752, - "nodeType": "Block", - "src": "994:33:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 27746, - "id": 27751, - "nodeType": "Return", - "src": "1008:8:79" - } - ] - } - }, - { - "assignments": [ - 27755 - ], - "declarations": [ - { - "constant": false, - "id": 27755, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "1037:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1037:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27759, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27756, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "1049:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 27757, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27742, - "src": "1054:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1049:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1037:19:79" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27761, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27755, - "src": "1074:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27762, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "1078:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1074:6:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27764, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27742, - "src": "1084:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1074:12:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27766, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27735, - "src": "1088:18:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1066:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1066:41:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27768, - "nodeType": "ExpressionStatement", - "src": "1066:41:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27769, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27755, - "src": "1125:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27746, - "id": 27770, - "nodeType": "Return", - "src": "1118:8:79" - } - ] - }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 27772, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27740, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "698:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "698:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27742, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "710:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "697:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27745, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "745:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:9:79" - }, - "scope": 27869, - "src": "685:448:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27796, - "nodeType": "Block", - "src": "1320:244:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27782, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27776, - "src": "1338:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1343:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1338:6:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27785, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27738, - "src": "1346:14:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1330:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1330:31:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27787, - "nodeType": "ExpressionStatement", - "src": "1330:31:79" - }, - { - "assignments": [ - 27789 - ], - "declarations": [ - { - "constant": false, - "id": 27789, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1429:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1429:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27793, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27790, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27774, - "src": "1441:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27791, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27776, - "src": "1446:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1441:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1429:19:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27794, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27789, - "src": "1556:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27780, - "id": 27795, - "nodeType": "Return", - "src": "1549:8:79" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 27797, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27774, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1264:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1264:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27776, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1276:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1276:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1263:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27779, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1311:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1311:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1310:9:79" - }, - "scope": 27869, - "src": "1251:313:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27821, - "nodeType": "Block", - "src": "1754:103:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27807, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27801, - "src": "1772:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27808, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27799, - "src": "1778:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1772:8:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27810, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27732, - "src": "1782:19:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27806, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1764:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1764:38:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27812, - "nodeType": "ExpressionStatement", - "src": "1764:38:79" - }, - { - "assignments": [ - 27814 - ], - "declarations": [ - { - "constant": false, - "id": 27814, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1812:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1812:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27818, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27815, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27799, - "src": "1824:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 27816, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27801, - "src": "1829:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1824:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1812:19:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27819, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27814, - "src": "1849:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27805, - "id": 27820, - "nodeType": "Return", - "src": "1842:8:79" - } - ] - }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 27822, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27799, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1698:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1698:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27801, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1710:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1710:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1697:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27804, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1745:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1745:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1744:9:79" - }, - "scope": 27869, - "src": "1685:172:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27846, - "nodeType": "Block", - "src": "1997:101:79", - "statements": [ - { - "assignments": [ - 27832 - ], - "declarations": [ - { - "constant": false, - "id": 27832, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "2007:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2007:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27836, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27833, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27824, - "src": "2019:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 27834, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27826, - "src": "2024:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2019:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2007:19:79" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27838, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27832, - "src": "2044:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 27839, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27824, - "src": "2049:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2044:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27841, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27729, - "src": "2053:18:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27837, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2036:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2036:36:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27843, - "nodeType": "ExpressionStatement", - "src": "2036:36:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27844, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27832, - "src": "2090:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27830, - "id": 27845, - "nodeType": "Return", - "src": "2083:8:79" - } - ] - }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 27847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27824, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1941:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1941:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27826, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1953:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1953:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1988:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1988:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1987:9:79" - }, - "scope": 27869, - "src": "1928:170:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27867, - "nodeType": "Block", - "src": "2307:70:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27857, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27851, - "src": "2325:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2330:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2325:6:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27860, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27738, - "src": "2333:14:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27856, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2317:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:31:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27862, - "nodeType": "ExpressionStatement", - "src": "2317:31:79" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27863, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27849, - "src": "2365:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 27864, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27851, - "src": "2369:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2365:5:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27855, - "id": 27866, - "nodeType": "Return", - "src": "2358:12:79" - } - ] - }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 27868, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27849, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2253:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27851, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2264:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2264:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2252:22:79" - }, - "payable": false, - "returnParameters": { - "id": 27855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27854, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2298:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2298:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2297:9:79" - }, - "scope": 27869, - "src": "2240:137:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 27870, - "src": "316:2063:79" - } - ], - "src": "198:2182:79" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 27869 - ] - }, - "id": 27870, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27726, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "198:24:79" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 27869, - "linearizedBaseContracts": [ - 27869 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27729, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "339:64:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27727, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "339:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4144445f4f564552464c4f57", - "id": 27728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "384:19:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2578df285e4eb4fecc3fecd08d2a22ed90362a41b5e72ae4b79db24283d0947", - "typeString": "literal_string \"MATH_ADD_OVERFLOW\"" - }, - "value": "MATH_ADD_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27732, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "409:66:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27730, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "409:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f5355425f554e444552464c4f57", - "id": 27731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "455:20:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_70a8dc66a4d49a0e19d93a83f0d406b3daa17bbf4c9467e211561ccc5532682a", - "typeString": "literal_string \"MATH_SUB_UNDERFLOW\"" - }, - "value": "MATH_SUB_UNDERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27735, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "481:64:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27733, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "481:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4d554c5f4f564552464c4f57", - "id": 27734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "526:19:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_35a1199df5bd85b47d1f51a6d26365bd6a6655fc5e9ac66d7034d57d652eefb9", - "typeString": "literal_string \"MATH_MUL_OVERFLOW\"" - }, - "value": "MATH_MUL_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27738, - "name": "ERROR_DIV_ZERO", - "nodeType": "VariableDeclaration", - "scope": 27869, - "src": "551:56:79", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27736, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "551:6:79", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d4154485f4449565f5a45524f", - "id": 27737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "592:15:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a6d5d58df072a2986be3bd1a658830f4669d9565d8a831e250537aff4d5d289", - "typeString": "literal_string \"MATH_DIV_ZERO\"" - }, - "value": "MATH_DIV_ZERO" - }, - "visibility": "private" - }, - { - "body": { - "id": 27771, - "nodeType": "Block", - "src": "754:379:79", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27747, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "985:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "985:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 27753, - "nodeType": "IfStatement", - "src": "981:46:79", - "trueBody": { - "id": 27752, - "nodeType": "Block", - "src": "994:33:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 27746, - "id": 27751, - "nodeType": "Return", - "src": "1008:8:79" - } - ] - } - }, - { - "assignments": [ - 27755 - ], - "declarations": [ - { - "constant": false, - "id": 27755, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "1037:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1037:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27759, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27756, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "1049:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 27757, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27742, - "src": "1054:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1049:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1037:19:79" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27761, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27755, - "src": "1074:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27762, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27740, - "src": "1078:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1074:6:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 27764, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27742, - "src": "1084:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1074:12:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27766, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27735, - "src": "1088:18:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1066:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1066:41:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27768, - "nodeType": "ExpressionStatement", - "src": "1066:41:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27769, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27755, - "src": "1125:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27746, - "id": 27770, - "nodeType": "Return", - "src": "1118:8:79" - } - ] - }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 27772, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27740, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "698:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "698:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27742, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "710:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "697:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27745, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27772, - "src": "745:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:9:79" - }, - "scope": 27869, - "src": "685:448:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27796, - "nodeType": "Block", - "src": "1320:244:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27782, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27776, - "src": "1338:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1343:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1338:6:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27785, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27738, - "src": "1346:14:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1330:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1330:31:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27787, - "nodeType": "ExpressionStatement", - "src": "1330:31:79" - }, - { - "assignments": [ - 27789 - ], - "declarations": [ - { - "constant": false, - "id": 27789, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1429:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1429:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27793, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27790, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27774, - "src": "1441:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27791, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27776, - "src": "1446:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1441:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1429:19:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27794, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27789, - "src": "1556:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27780, - "id": 27795, - "nodeType": "Return", - "src": "1549:8:79" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 27797, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27774, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1264:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1264:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27776, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1276:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1276:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1263:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27779, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27797, - "src": "1311:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1311:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1310:9:79" - }, - "scope": 27869, - "src": "1251:313:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27821, - "nodeType": "Block", - "src": "1754:103:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27807, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27801, - "src": "1772:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27808, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27799, - "src": "1778:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1772:8:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27810, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27732, - "src": "1782:19:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27806, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1764:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1764:38:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27812, - "nodeType": "ExpressionStatement", - "src": "1764:38:79" - }, - { - "assignments": [ - 27814 - ], - "declarations": [ - { - "constant": false, - "id": 27814, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1812:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1812:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27818, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27815, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27799, - "src": "1824:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 27816, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27801, - "src": "1829:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1824:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1812:19:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27819, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27814, - "src": "1849:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27805, - "id": 27820, - "nodeType": "Return", - "src": "1842:8:79" - } - ] - }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 27822, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27799, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1698:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1698:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27801, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1710:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1710:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1697:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27804, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27822, - "src": "1745:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1745:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1744:9:79" - }, - "scope": 27869, - "src": "1685:172:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27846, - "nodeType": "Block", - "src": "1997:101:79", - "statements": [ - { - "assignments": [ - 27832 - ], - "declarations": [ - { - "constant": false, - "id": 27832, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "2007:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2007:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27836, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27833, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27824, - "src": "2019:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 27834, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27826, - "src": "2024:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2019:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2007:19:79" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27838, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27832, - "src": "2044:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 27839, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27824, - "src": "2049:2:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2044:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27841, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27729, - "src": "2053:18:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27837, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2036:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2036:36:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27843, - "nodeType": "ExpressionStatement", - "src": "2036:36:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 27844, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27832, - "src": "2090:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27830, - "id": 27845, - "nodeType": "Return", - "src": "2083:8:79" - } - ] - }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 27847, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27824, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1941:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1941:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27826, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1953:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1953:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:24:79" - }, - "payable": false, - "returnParameters": { - "id": 27830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27847, - "src": "1988:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1988:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1987:9:79" - }, - "scope": 27869, - "src": "1928:170:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27867, - "nodeType": "Block", - "src": "2307:70:79", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27857, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27851, - "src": "2325:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2330:1:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2325:6:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27860, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27738, - "src": "2333:14:79", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27856, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2317:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:31:79", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27862, - "nodeType": "ExpressionStatement", - "src": "2317:31:79" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27863, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27849, - "src": "2365:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 27864, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27851, - "src": "2369:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2365:5:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 27855, - "id": 27866, - "nodeType": "Return", - "src": "2358:12:79" - } - ] - }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 27868, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27849, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2253:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27851, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2264:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2264:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2252:22:79" - }, - "payable": false, - "returnParameters": { - "id": 27855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27854, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27868, - "src": "2298:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2298:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2297:9:79" - }, - "scope": 27869, - "src": "2240:137:79", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 27870, - "src": "316:2063:79" - } - ], - "src": "198:2182:79" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.263Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/SafeMath64.json b/templates/multisig/build/contracts/SafeMath64.json deleted file mode 100644 index e6c978a..0000000 --- a/templates/multisig/build/contracts/SafeMath64.json +++ /dev/null @@ -1,3813 +0,0 @@ -{ - "contractName": "SafeMath64", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582029957692dea62136027ad68dbf1ec07a78376eac2bd83cd452ad56dafcf36cf30029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582029957692dea62136027ad68dbf1ec07a78376eac2bd83cd452ad56dafcf36cf30029", - "sourceMap": "430:1849:80:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "430:1849:80:-;;;;;;;;", - "source": "// See https://github.com/OpenZeppelin/openzeppelin-solidity/blob/d51e38758e1d985661534534d5c61e27bece5042/contracts/math/SafeMath.sol\n// Adapted for uint64, pragma ^0.4.24, and satisfying our linter rules\n// Also optimized the mul() implementation, see https://github.com/aragon/aragonOS/pull/417\n\npragma solidity ^0.4.24;\n\n\n/**\n * @title SafeMath64\n * @dev Math operations for uint64 with safety checks that revert on error\n */\nlibrary SafeMath64 {\n string private constant ERROR_ADD_OVERFLOW = \"MATH64_ADD_OVERFLOW\";\n string private constant ERROR_SUB_UNDERFLOW = \"MATH64_SUB_UNDERFLOW\";\n string private constant ERROR_MUL_OVERFLOW = \"MATH64_MUL_OVERFLOW\";\n string private constant ERROR_DIV_ZERO = \"MATH64_DIV_ZERO\";\n\n /**\n * @dev Multiplies two numbers, reverts on overflow.\n */\n function mul(uint64 _a, uint64 _b) internal pure returns (uint64) {\n uint256 c = uint256(_a) * uint256(_b);\n require(c < 0x010000000000000000, ERROR_MUL_OVERFLOW); // 2**64 (less gas this way)\n\n return uint64(c);\n }\n\n /**\n * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.\n */\n function div(uint64 _a, uint64 _b) internal pure returns (uint64) {\n require(_b > 0, ERROR_DIV_ZERO); // Solidity only automatically asserts when dividing by 0\n uint64 c = _a / _b;\n // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint64 _a, uint64 _b) internal pure returns (uint64) {\n require(_b <= _a, ERROR_SUB_UNDERFLOW);\n uint64 c = _a - _b;\n\n return c;\n }\n\n /**\n * @dev Adds two numbers, reverts on overflow.\n */\n function add(uint64 _a, uint64 _b) internal pure returns (uint64) {\n uint64 c = _a + _b;\n require(c >= _a, ERROR_ADD_OVERFLOW);\n\n return c;\n }\n\n /**\n * @dev Divides two numbers and returns the remainder (unsigned integer modulo),\n * reverts when dividing by zero.\n */\n function mod(uint64 a, uint64 b) internal pure returns (uint64) {\n require(b != 0, ERROR_DIV_ZERO);\n return a % b;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "exportedSymbols": { - "SafeMath64": [ - 28011 - ] - }, - "id": 28012, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27871, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "299:24:80" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath64\n@dev Math operations for uint64 with safety checks that revert on error", - "fullyImplemented": true, - "id": 28011, - "linearizedBaseContracts": [ - 28011 - ], - "name": "SafeMath64", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27874, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "455:66:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27872, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "455:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4144445f4f564552464c4f57", - "id": 27873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "500:21:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d930cfdbbe365885d0379a109568efa7352987dfb09ced0a5e91c871216a2ab9", - "typeString": "literal_string \"MATH64_ADD_OVERFLOW\"" - }, - "value": "MATH64_ADD_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27877, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "527:68:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27875, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "527:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f5355425f554e444552464c4f57", - "id": 27876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "573:22:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e3c7a63bc0f460df2aa5a1d89d9ccbe66d1b190b0e46fa6f1b6ce8c041481796", - "typeString": "literal_string \"MATH64_SUB_UNDERFLOW\"" - }, - "value": "MATH64_SUB_UNDERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27880, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "601:66:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27878, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "601:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4d554c5f4f564552464c4f57", - "id": 27879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "646:21:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8a7e555c86dabeea432023ce73006834d0d5c9584d16630bfc60d18f9d73dd6", - "typeString": "literal_string \"MATH64_MUL_OVERFLOW\"" - }, - "value": "MATH64_MUL_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27883, - "name": "ERROR_DIV_ZERO", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "673:58:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27881, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "673:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4449565f5a45524f", - "id": 27882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "714:17:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_55e2b641d5067ed3257cafb3b1580f71ccab8fad1ec101f06fc55f428a57c179", - "typeString": "literal_string \"MATH64_DIV_ZERO\"" - }, - "value": "MATH64_DIV_ZERO" - }, - "visibility": "private" - }, - { - "body": { - "id": 27913, - "nodeType": "Block", - "src": "875:173:80", - "statements": [ - { - "assignments": [ - 27893 - ], - "declarations": [ - { - "constant": false, - "id": 27893, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "885:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "885:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27901, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27895, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27885, - "src": "905:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "897:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 27896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "897:11:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27898, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27887, - "src": "919:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "911:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 27899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "911:11:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "897:25:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "885:37:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27903, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27893, - "src": "940:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030", - "id": 27904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "944:20:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "value": "0x010000000000000000" - }, - "src": "940:24:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27906, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27880, - "src": "966:18:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27902, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "932:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "932:53:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27908, - "nodeType": "ExpressionStatement", - "src": "932:53:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27910, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27893, - "src": "1039:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1032:6:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 27911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1032:9:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27891, - "id": 27912, - "nodeType": "Return", - "src": "1025:16:80" - } - ] - }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 27914, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27885, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "822:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27884, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "822:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27887, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "833:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27886, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "833:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "821:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27890, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "867:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27889, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "867:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "866:8:80" - }, - "scope": 28011, - "src": "809:239:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27938, - "nodeType": "Block", - "src": "1232:243:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27924, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27918, - "src": "1250:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1255:1:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1250:6:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27927, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27883, - "src": "1258:14:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27923, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1242:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1242:31:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27929, - "nodeType": "ExpressionStatement", - "src": "1242:31:80" - }, - { - "assignments": [ - 27931 - ], - "declarations": [ - { - "constant": false, - "id": 27931, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1341:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27930, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1341:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27935, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27932, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27916, - "src": "1352:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27933, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27918, - "src": "1357:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1352:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:18:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27936, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27931, - "src": "1467:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27922, - "id": 27937, - "nodeType": "Return", - "src": "1460:8:80" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 27939, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27919, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27916, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1179:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27915, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1179:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27918, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1190:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27917, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1190:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1178:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27921, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1224:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27920, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1224:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1223:8:80" - }, - "scope": 28011, - "src": "1166:309:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27963, - "nodeType": "Block", - "src": "1662:102:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27949, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27943, - "src": "1680:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27950, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27941, - "src": "1686:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1680:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27952, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27877, - "src": "1690:19:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27948, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1672:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1672:38:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27954, - "nodeType": "ExpressionStatement", - "src": "1672:38:80" - }, - { - "assignments": [ - 27956 - ], - "declarations": [ - { - "constant": false, - "id": 27956, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1720:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27955, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1720:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27960, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27957, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27941, - "src": "1731:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 27958, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27943, - "src": "1736:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1731:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1720:18:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27961, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27956, - "src": "1756:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27947, - "id": 27962, - "nodeType": "Return", - "src": "1749:8:80" - } - ] - }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 27964, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27941, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1609:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27940, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1609:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27943, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1620:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27942, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1620:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1608:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27946, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1654:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27945, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1654:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:8:80" - }, - "scope": 28011, - "src": "1596:168:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27988, - "nodeType": "Block", - "src": "1901:100:80", - "statements": [ - { - "assignments": [ - 27974 - ], - "declarations": [ - { - "constant": false, - "id": 27974, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1911:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27973, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1911:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27978, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27975, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27966, - "src": "1922:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 27976, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27968, - "src": "1927:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1922:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1911:18:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27980, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27974, - "src": "1947:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 27981, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27966, - "src": "1952:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1947:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27983, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27874, - "src": "1956:18:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1939:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1939:36:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27985, - "nodeType": "ExpressionStatement", - "src": "1939:36:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27986, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27974, - "src": "1993:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27972, - "id": 27987, - "nodeType": "Return", - "src": "1986:8:80" - } - ] - }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 27989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27966, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1848:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27965, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1848:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27968, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1859:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27967, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1859:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1847:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27971, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1893:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27970, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1893:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1892:8:80" - }, - "scope": 28011, - "src": "1835:166:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28009, - "nodeType": "Block", - "src": "2207:70:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 28001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27999, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27993, - "src": "2225:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2230:1:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2225:6:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28002, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27883, - "src": "2233:14:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2217:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2217:31:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28004, - "nodeType": "ExpressionStatement", - "src": "2217:31:80" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 28007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 28005, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27991, - "src": "2265:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 28006, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27993, - "src": "2269:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2265:5:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27997, - "id": 28008, - "nodeType": "Return", - "src": "2258:12:80" - } - ] - }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 28010, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27994, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27991, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2156:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27990, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2156:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27993, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2166:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27992, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2166:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2155:20:80" - }, - "payable": false, - "returnParameters": { - "id": 27997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27996, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2199:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27995, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2199:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2198:8:80" - }, - "scope": 28011, - "src": "2143:134:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 28012, - "src": "430:1849:80" - } - ], - "src": "299:1981:80" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "exportedSymbols": { - "SafeMath64": [ - 28011 - ] - }, - "id": 28012, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 27871, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "299:24:80" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath64\n@dev Math operations for uint64 with safety checks that revert on error", - "fullyImplemented": true, - "id": 28011, - "linearizedBaseContracts": [ - 28011 - ], - "name": "SafeMath64", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 27874, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "455:66:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27872, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "455:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4144445f4f564552464c4f57", - "id": 27873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "500:21:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d930cfdbbe365885d0379a109568efa7352987dfb09ced0a5e91c871216a2ab9", - "typeString": "literal_string \"MATH64_ADD_OVERFLOW\"" - }, - "value": "MATH64_ADD_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27877, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "527:68:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27875, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "527:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f5355425f554e444552464c4f57", - "id": 27876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "573:22:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e3c7a63bc0f460df2aa5a1d89d9ccbe66d1b190b0e46fa6f1b6ce8c041481796", - "typeString": "literal_string \"MATH64_SUB_UNDERFLOW\"" - }, - "value": "MATH64_SUB_UNDERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27880, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "601:66:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27878, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "601:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4d554c5f4f564552464c4f57", - "id": 27879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "646:21:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8a7e555c86dabeea432023ce73006834d0d5c9584d16630bfc60d18f9d73dd6", - "typeString": "literal_string \"MATH64_MUL_OVERFLOW\"" - }, - "value": "MATH64_MUL_OVERFLOW" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 27883, - "name": "ERROR_DIV_ZERO", - "nodeType": "VariableDeclaration", - "scope": 28011, - "src": "673:58:80", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 27881, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "673:6:80", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "4d41544836345f4449565f5a45524f", - "id": 27882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "714:17:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_55e2b641d5067ed3257cafb3b1580f71ccab8fad1ec101f06fc55f428a57c179", - "typeString": "literal_string \"MATH64_DIV_ZERO\"" - }, - "value": "MATH64_DIV_ZERO" - }, - "visibility": "private" - }, - { - "body": { - "id": 27913, - "nodeType": "Block", - "src": "875:173:80", - "statements": [ - { - "assignments": [ - 27893 - ], - "declarations": [ - { - "constant": false, - "id": 27893, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "885:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "885:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27901, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27895, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27885, - "src": "905:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "897:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 27896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "897:11:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27898, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27887, - "src": "919:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 27897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "911:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 27899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "911:11:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "897:25:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "885:37:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27903, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27893, - "src": "940:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3078303130303030303030303030303030303030", - "id": 27904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "944:20:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "value": "0x010000000000000000" - }, - "src": "940:24:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27906, - "name": "ERROR_MUL_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27880, - "src": "966:18:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27902, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "932:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "932:53:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27908, - "nodeType": "ExpressionStatement", - "src": "932:53:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 27910, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27893, - "src": "1039:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1032:6:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 27911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1032:9:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27891, - "id": 27912, - "nodeType": "Return", - "src": "1025:16:80" - } - ] - }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 27914, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27885, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "822:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27884, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "822:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27887, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "833:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27886, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "833:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "821:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27890, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27914, - "src": "867:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27889, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "867:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "866:8:80" - }, - "scope": 28011, - "src": "809:239:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27938, - "nodeType": "Block", - "src": "1232:243:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27924, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27918, - "src": "1250:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 27925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1255:1:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1250:6:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27927, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27883, - "src": "1258:14:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27923, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1242:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1242:31:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27929, - "nodeType": "ExpressionStatement", - "src": "1242:31:80" - }, - { - "assignments": [ - 27931 - ], - "declarations": [ - { - "constant": false, - "id": 27931, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1341:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27930, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1341:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27935, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27932, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27916, - "src": "1352:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 27933, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27918, - "src": "1357:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1352:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:18:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27936, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27931, - "src": "1467:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27922, - "id": 27937, - "nodeType": "Return", - "src": "1460:8:80" - } - ] - }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 27939, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27919, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27916, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1179:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27915, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1179:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27918, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1190:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27917, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1190:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1178:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27921, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27939, - "src": "1224:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27920, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1224:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1223:8:80" - }, - "scope": 28011, - "src": "1166:309:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27963, - "nodeType": "Block", - "src": "1662:102:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27949, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27943, - "src": "1680:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 27950, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27941, - "src": "1686:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1680:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27952, - "name": "ERROR_SUB_UNDERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27877, - "src": "1690:19:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27948, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1672:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1672:38:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27954, - "nodeType": "ExpressionStatement", - "src": "1672:38:80" - }, - { - "assignments": [ - 27956 - ], - "declarations": [ - { - "constant": false, - "id": 27956, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1720:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27955, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1720:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27960, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27957, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27941, - "src": "1731:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 27958, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27943, - "src": "1736:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1731:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1720:18:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27961, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27956, - "src": "1756:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27947, - "id": 27962, - "nodeType": "Return", - "src": "1749:8:80" - } - ] - }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 27964, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27941, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1609:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27940, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1609:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27943, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1620:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27942, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1620:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1608:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27946, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27964, - "src": "1654:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27945, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1654:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:8:80" - }, - "scope": 28011, - "src": "1596:168:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 27988, - "nodeType": "Block", - "src": "1901:100:80", - "statements": [ - { - "assignments": [ - 27974 - ], - "declarations": [ - { - "constant": false, - "id": 27974, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1911:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27973, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1911:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 27978, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27975, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27966, - "src": "1922:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 27976, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27968, - "src": "1927:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1922:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1911:18:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 27982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27980, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27974, - "src": "1947:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 27981, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27966, - "src": "1952:2:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "1947:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 27983, - "name": "ERROR_ADD_OVERFLOW", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27874, - "src": "1956:18:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1939:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1939:36:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27985, - "nodeType": "ExpressionStatement", - "src": "1939:36:80" - }, - { - "expression": { - "argumentTypes": null, - "id": 27986, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27974, - "src": "1993:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27972, - "id": 27987, - "nodeType": "Return", - "src": "1986:8:80" - } - ] - }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 27989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27966, - "name": "_a", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1848:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27965, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1848:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27968, - "name": "_b", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1859:9:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27967, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1859:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1847:22:80" - }, - "payable": false, - "returnParameters": { - "id": 27972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27971, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27989, - "src": "1893:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27970, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1893:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1892:8:80" - }, - "scope": 28011, - "src": "1835:166:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 28009, - "nodeType": "Block", - "src": "2207:70:80", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 28001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 27999, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27993, - "src": "2225:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 28000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2230:1:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2225:6:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 28002, - "name": "ERROR_DIV_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27883, - "src": "2233:14:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 27998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2217:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 28003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2217:31:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28004, - "nodeType": "ExpressionStatement", - "src": "2217:31:80" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 28007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 28005, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27991, - "src": "2265:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 28006, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27993, - "src": "2269:1:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2265:5:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 27997, - "id": 28008, - "nodeType": "Return", - "src": "2258:12:80" - } - ] - }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 28010, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27994, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27991, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2156:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27990, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2156:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27993, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2166:8:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27992, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2166:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2155:20:80" - }, - "payable": false, - "returnParameters": { - "id": 27997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27996, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 28010, - "src": "2199:6:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 27995, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2199:6:80", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2198:8:80" - }, - "scope": 28011, - "src": "2143:134:80", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 28012, - "src": "430:1849:80" - } - ], - "src": "299:1981:80" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.260Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/ScriptHelpers.json b/templates/multisig/build/contracts/ScriptHelpers.json deleted file mode 100644 index fcc59c0..0000000 --- a/templates/multisig/build/contracts/ScriptHelpers.json +++ /dev/null @@ -1,2473 +0,0 @@ -{ - "contractName": "ScriptHelpers", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058205029e580bfd57a447b9f32a32ac3d9a7198ec26e8459f5412e615407c35bcf580029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058205029e580bfd57a447b9f32a32ac3d9a7198ec26e8459f5412e615407c35bcf580029", - "sourceMap": "71:1409:63:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "71:1409:63:-;;;;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\nlibrary ScriptHelpers {\n function getSpecId(bytes _script) internal pure returns (uint32) {\n return uint32At(_script, 0);\n }\n\n function uint256At(bytes _data, uint256 _location) internal pure returns (uint256 result) {\n assembly {\n result := mload(add(_data, add(0x20, _location)))\n }\n }\n\n function addressAt(bytes _data, uint256 _location) internal pure returns (address result) {\n uint256 word = uint256At(_data, _location);\n\n assembly {\n result := div(and(word, 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000),\n 0x1000000000000000000000000)\n }\n }\n\n function uint32At(bytes _data, uint256 _location) internal pure returns (uint32 result) {\n uint256 word = uint256At(_data, _location);\n\n assembly {\n result := div(and(word, 0xffffffff00000000000000000000000000000000000000000000000000000000),\n 0x100000000000000000000000000000000000000000000000000000000)\n }\n }\n\n function locationOf(bytes _data, uint256 _location) internal pure returns (uint256 result) {\n assembly {\n result := add(_data, add(0x20, _location))\n }\n }\n\n function toBytes(bytes4 _sig) internal pure returns (bytes) {\n bytes memory payload = new bytes(4);\n assembly { mstore(add(payload, 0x20), _sig) }\n return payload;\n }\n}\n", - "sourcePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "exportedSymbols": { - "ScriptHelpers": [ - 25250 - ] - }, - "id": 25251, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25160, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:63" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 25250, - "linearizedBaseContracts": [ - 25250 - ], - "name": "ScriptHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 25172, - "nodeType": "Block", - "src": "164:44:63", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25168, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25162, - "src": "190:7:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 25169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "199:1:63", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 25167, - "name": "uint32At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25220, - "src": "181:8:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" - } - }, - "id": 25170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "181:20:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 25166, - "id": 25171, - "nodeType": "Return", - "src": "174:27:63" - } - ] - }, - "documentation": null, - "id": 25173, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getSpecId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25162, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25173, - "src": "118:13:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25161, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "118:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "117:15:63" - }, - "payable": false, - "returnParameters": { - "id": 25166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25165, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25173, - "src": "156:6:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 25164, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "156:6:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "155:8:63" - }, - "scope": 25250, - "src": "99:109:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25183, - "nodeType": "Block", - "src": "304:98:63", - "statements": [ - { - "externalReferences": [ - { - "result": { - "declaration": 25180, - "isOffset": false, - "isSlot": false, - "src": "337:6:63", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 25175, - "isOffset": false, - "isSlot": false, - "src": "357:5:63", - "valueSize": 1 - } - }, - { - "_location": { - "declaration": 25177, - "isOffset": false, - "isSlot": false, - "src": "374:9:63", - "valueSize": 1 - } - } - ], - "id": 25182, - "nodeType": "InlineAssembly", - "operations": "{\n result := mload(add(_data, add(0x20, _location)))\n}", - "src": "314:88:63" - } - ] - }, - "documentation": null, - "id": 25184, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "uint256At", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25175, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "233:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25174, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "233:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25177, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "246:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "246:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "232:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25180, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "288:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "288:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "287:16:63" - }, - "scope": 25250, - "src": "214:188:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25201, - "nodeType": "Block", - "src": "498:235:63", - "statements": [ - { - "assignments": [ - 25194 - ], - "declarations": [ - { - "constant": false, - "id": 25194, - "name": "word", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "508:12:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "508:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25196, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25186, - "src": "533:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25197, - "name": "_location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25188, - "src": "540:9:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 25195, - "name": "uint256At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25184, - "src": "523:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "523:27:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "508:42:63" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 25191, - "isOffset": false, - "isSlot": false, - "src": "584:6:63", - "valueSize": 1 - } - }, - { - "word": { - "declaration": 25194, - "isOffset": false, - "isSlot": false, - "src": "602:4:63", - "valueSize": 1 - } - } - ], - "id": 25200, - "nodeType": "InlineAssembly", - "operations": "{\n result := div(and(word, 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000), 0x1000000000000000000000000)\n}", - "src": "561:172:63" - } - ] - }, - "documentation": null, - "id": 25202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addressAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25186, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "427:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25185, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "427:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25188, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "440:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25191, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "482:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:63", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:16:63" - }, - "scope": 25250, - "src": "408:325:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25219, - "nodeType": "Block", - "src": "827:267:63", - "statements": [ - { - "assignments": [ - 25212 - ], - "declarations": [ - { - "constant": false, - "id": 25212, - "name": "word", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "837:12:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "837:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25214, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25204, - "src": "862:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25215, - "name": "_location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25206, - "src": "869:9:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 25213, - "name": "uint256At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25184, - "src": "852:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "852:27:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "837:42:63" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 25209, - "isOffset": false, - "isSlot": false, - "src": "913:6:63", - "valueSize": 1 - } - }, - { - "word": { - "declaration": 25212, - "isOffset": false, - "isSlot": false, - "src": "931:4:63", - "valueSize": 1 - } - } - ], - "id": 25218, - "nodeType": "InlineAssembly", - "operations": "{\n result := div(and(word, 0xffffffff00000000000000000000000000000000000000000000000000000000), 0x100000000000000000000000000000000000000000000000000000000)\n}", - "src": "890:204:63" - } - ] - }, - "documentation": null, - "id": 25220, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "uint32At", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25204, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "757:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25203, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "757:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25206, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "770:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25209, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "812:13:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 25208, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "812:6:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "811:15:63" - }, - "scope": 25250, - "src": "739:355:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25230, - "nodeType": "Block", - "src": "1191:91:63", - "statements": [ - { - "externalReferences": [ - { - "result": { - "declaration": 25227, - "isOffset": false, - "isSlot": false, - "src": "1224:6:63", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 25222, - "isOffset": false, - "isSlot": false, - "src": "1238:5:63", - "valueSize": 1 - } - }, - { - "_location": { - "declaration": 25224, - "isOffset": false, - "isSlot": false, - "src": "1255:9:63", - "valueSize": 1 - } - } - ], - "id": 25229, - "nodeType": "InlineAssembly", - "operations": "{\n result := add(_data, add(0x20, _location))\n}", - "src": "1201:81:63" - } - ] - }, - "documentation": null, - "id": 25231, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "locationOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25222, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1120:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25221, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1120:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25224, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1133:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1133:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1119:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25227, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1175:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1174:16:63" - }, - "scope": 25250, - "src": "1100:182:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25248, - "nodeType": "Block", - "src": "1348:130:63", - "statements": [ - { - "assignments": [ - 25239 - ], - "declarations": [ - { - "constant": false, - "id": 25239, - "name": "payload", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1358:20:63", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25238, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1358:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25244, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 25242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1391:1:63", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 25241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1381:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25240, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1385:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1381:12:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1358:35:63" - }, - { - "externalReferences": [ - { - "_sig": { - "declaration": 25233, - "isOffset": false, - "isSlot": false, - "src": "1441:4:63", - "valueSize": 1 - } - }, - { - "payload": { - "declaration": 25239, - "isOffset": false, - "isSlot": false, - "src": "1425:7:63", - "valueSize": 1 - } - } - ], - "id": 25245, - "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(payload, 0x20), _sig)\n}", - "src": "1403:60:63" - }, - { - "expression": { - "argumentTypes": null, - "id": 25246, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25239, - "src": "1464:7:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 25237, - "id": 25247, - "nodeType": "Return", - "src": "1457:14:63" - } - ] - }, - "documentation": null, - "id": 25249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "toBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25233, - "name": "_sig", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1305:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 25232, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1305:6:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:13:63" - }, - "payable": false, - "returnParameters": { - "id": 25237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1341:5:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25235, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1341:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1340:7:63" - }, - "scope": 25250, - "src": "1288:190:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 25251, - "src": "71:1409:63" - } - ], - "src": "44:1437:63" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/evmscript/ScriptHelpers.sol", - "exportedSymbols": { - "ScriptHelpers": [ - 25250 - ] - }, - "id": 25251, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 25160, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:63" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 25250, - "linearizedBaseContracts": [ - 25250 - ], - "name": "ScriptHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 25172, - "nodeType": "Block", - "src": "164:44:63", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25168, - "name": "_script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25162, - "src": "190:7:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 25169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "199:1:63", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 25167, - "name": "uint32At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25220, - "src": "181:8:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" - } - }, - "id": 25170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "181:20:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 25166, - "id": 25171, - "nodeType": "Return", - "src": "174:27:63" - } - ] - }, - "documentation": null, - "id": 25173, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getSpecId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25162, - "name": "_script", - "nodeType": "VariableDeclaration", - "scope": 25173, - "src": "118:13:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25161, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "118:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "117:15:63" - }, - "payable": false, - "returnParameters": { - "id": 25166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25165, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25173, - "src": "156:6:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 25164, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "156:6:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "155:8:63" - }, - "scope": 25250, - "src": "99:109:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25183, - "nodeType": "Block", - "src": "304:98:63", - "statements": [ - { - "externalReferences": [ - { - "result": { - "declaration": 25180, - "isOffset": false, - "isSlot": false, - "src": "337:6:63", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 25175, - "isOffset": false, - "isSlot": false, - "src": "357:5:63", - "valueSize": 1 - } - }, - { - "_location": { - "declaration": 25177, - "isOffset": false, - "isSlot": false, - "src": "374:9:63", - "valueSize": 1 - } - } - ], - "id": 25182, - "nodeType": "InlineAssembly", - "operations": "{\n result := mload(add(_data, add(0x20, _location)))\n}", - "src": "314:88:63" - } - ] - }, - "documentation": null, - "id": 25184, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "uint256At", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25175, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "233:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25174, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "233:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25177, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "246:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "246:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "232:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25180, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25184, - "src": "288:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "288:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "287:16:63" - }, - "scope": 25250, - "src": "214:188:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25201, - "nodeType": "Block", - "src": "498:235:63", - "statements": [ - { - "assignments": [ - 25194 - ], - "declarations": [ - { - "constant": false, - "id": 25194, - "name": "word", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "508:12:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "508:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25196, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25186, - "src": "533:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25197, - "name": "_location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25188, - "src": "540:9:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 25195, - "name": "uint256At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25184, - "src": "523:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "523:27:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "508:42:63" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 25191, - "isOffset": false, - "isSlot": false, - "src": "584:6:63", - "valueSize": 1 - } - }, - { - "word": { - "declaration": 25194, - "isOffset": false, - "isSlot": false, - "src": "602:4:63", - "valueSize": 1 - } - } - ], - "id": 25200, - "nodeType": "InlineAssembly", - "operations": "{\n result := div(and(word, 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000), 0x1000000000000000000000000)\n}", - "src": "561:172:63" - } - ] - }, - "documentation": null, - "id": 25202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "addressAt", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25186, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "427:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25185, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "427:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25188, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "440:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25191, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25202, - "src": "482:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 25190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:63", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:16:63" - }, - "scope": 25250, - "src": "408:325:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25219, - "nodeType": "Block", - "src": "827:267:63", - "statements": [ - { - "assignments": [ - 25212 - ], - "declarations": [ - { - "constant": false, - "id": 25212, - "name": "word", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "837:12:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "837:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25214, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25204, - "src": "862:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 25215, - "name": "_location", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25206, - "src": "869:9:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 25213, - "name": "uint256At", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25184, - "src": "852:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 25216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "852:27:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "837:42:63" - }, - { - "externalReferences": [ - { - "result": { - "declaration": 25209, - "isOffset": false, - "isSlot": false, - "src": "913:6:63", - "valueSize": 1 - } - }, - { - "word": { - "declaration": 25212, - "isOffset": false, - "isSlot": false, - "src": "931:4:63", - "valueSize": 1 - } - } - ], - "id": 25218, - "nodeType": "InlineAssembly", - "operations": "{\n result := div(and(word, 0xffffffff00000000000000000000000000000000000000000000000000000000), 0x100000000000000000000000000000000000000000000000000000000)\n}", - "src": "890:204:63" - } - ] - }, - "documentation": null, - "id": 25220, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "uint32At", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25204, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "757:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25203, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "757:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25206, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "770:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25209, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25220, - "src": "812:13:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 25208, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "812:6:63", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "811:15:63" - }, - "scope": 25250, - "src": "739:355:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25230, - "nodeType": "Block", - "src": "1191:91:63", - "statements": [ - { - "externalReferences": [ - { - "result": { - "declaration": 25227, - "isOffset": false, - "isSlot": false, - "src": "1224:6:63", - "valueSize": 1 - } - }, - { - "_data": { - "declaration": 25222, - "isOffset": false, - "isSlot": false, - "src": "1238:5:63", - "valueSize": 1 - } - }, - { - "_location": { - "declaration": 25224, - "isOffset": false, - "isSlot": false, - "src": "1255:9:63", - "valueSize": 1 - } - } - ], - "id": 25229, - "nodeType": "InlineAssembly", - "operations": "{\n result := add(_data, add(0x20, _location))\n}", - "src": "1201:81:63" - } - ] - }, - "documentation": null, - "id": 25231, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "locationOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25222, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1120:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25221, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1120:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 25224, - "name": "_location", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1133:17:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1133:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1119:32:63" - }, - "payable": false, - "returnParameters": { - "id": 25228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25227, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 25231, - "src": "1175:14:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:63", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1174:16:63" - }, - "scope": 25250, - "src": "1100:182:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 25248, - "nodeType": "Block", - "src": "1348:130:63", - "statements": [ - { - "assignments": [ - 25239 - ], - "declarations": [ - { - "constant": false, - "id": 25239, - "name": "payload", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1358:20:63", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25238, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1358:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 25244, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 25242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1391:1:63", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 25241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1381:9:63", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 25240, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1385:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 25243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1381:12:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1358:35:63" - }, - { - "externalReferences": [ - { - "_sig": { - "declaration": 25233, - "isOffset": false, - "isSlot": false, - "src": "1441:4:63", - "valueSize": 1 - } - }, - { - "payload": { - "declaration": 25239, - "isOffset": false, - "isSlot": false, - "src": "1425:7:63", - "valueSize": 1 - } - } - ], - "id": 25245, - "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(payload, 0x20), _sig)\n}", - "src": "1403:60:63" - }, - { - "expression": { - "argumentTypes": null, - "id": 25246, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25239, - "src": "1464:7:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 25237, - "id": 25247, - "nodeType": "Return", - "src": "1457:14:63" - } - ] - }, - "documentation": null, - "id": 25249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "toBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25233, - "name": "_sig", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1305:11:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 25232, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1305:6:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:13:63" - }, - "payable": false, - "returnParameters": { - "id": 25237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 25249, - "src": "1341:5:63", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 25235, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1341:5:63", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1340:7:63" - }, - "scope": 25250, - "src": "1288:190:63", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 25251, - "src": "71:1409:63" - } - ], - "src": "44:1437:63" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.240Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/SignatureValidator.json b/templates/multisig/build/contracts/SignatureValidator.json deleted file mode 100644 index 6561eda..0000000 --- a/templates/multisig/build/contracts/SignatureValidator.json +++ /dev/null @@ -1,10366 +0,0 @@ -{ - "contractName": "SignatureValidator", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "outputs": [ - { - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60e261002f600b82828239805160001a6073146000811461001f57610021565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361060555763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639890cdca8114605a575b600080fd5b60606092565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b7f20c13b0b00000000000000000000000000000000000000000000000000000000815600a165627a7a723058206e0d412bc39123991ea0354927729c48058e98e0aff8b4f691b34af25fb6dde50029", - "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060555763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639890cdca8114605a575b600080fd5b60606092565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b7f20c13b0b00000000000000000000000000000000000000000000000000000000815600a165627a7a723058206e0d412bc39123991ea0354927729c48058e98e0aff8b4f691b34af25fb6dde50029", - "sourceMap": "303:5142:14:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "303:5142:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;599:66;;;;;;;;-1:-1:-1;;599:66:14;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\n// Inspired by https://github.com/horizon-games/multi-token-standard/blob/319740cf2a78b8816269ae49a09c537b3fd7303b/contracts/utils/SignatureValidator.sol\n// This should probably be moved into aOS: https://github.com/aragon/aragonOS/pull/442\n\nimport \"./standards/ERC1271.sol\";\n\n\nlibrary SignatureValidator {\n enum SignatureMode {\n Invalid, // 0x00\n EIP712, // 0x01\n EthSign, // 0x02\n ERC1271, // 0x03\n NMode // 0x04, to check if mode is specified, leave at the end\n }\n\n // bytes4(keccak256(\"isValidSignature(bytes,bytes)\")\n bytes4 public constant ERC1271_RETURN_VALID_SIGNATURE = 0x20c13b0b;\n uint256 internal constant ERC1271_ISVALIDSIG_MAX_GAS = 250000;\n\n string private constant ERROR_INVALID_LENGTH_POP_BYTE = \"SIGVAL_INVALID_LENGTH_POP_BYTE\";\n\n /// @dev Validates that a hash was signed by a specified signer.\n /// @param hash Hash which was signed.\n /// @param signer Address of the signer.\n /// @param signature ECDSA signature along with the mode (0 = Invalid, 1 = EIP712, 2 = EthSign, 3 = ERC1271) {mode}{r}{s}{v}.\n /// @return Returns whether signature is from a specified user.\n function isValidSignature(bytes32 hash, address signer, bytes signature) internal view returns (bool) {\n if (signature.length == 0) {\n return false;\n }\n\n uint8 modeByte = uint8(signature[0]);\n if (modeByte >= uint8(SignatureMode.NMode)) {\n return false;\n }\n SignatureMode mode = SignatureMode(modeByte);\n\n if (mode == SignatureMode.EIP712) {\n return ecVerify(hash, signer, signature);\n } else if (mode == SignatureMode.EthSign) {\n return ecVerify(\n keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", hash)),\n signer,\n signature\n );\n } else if (mode == SignatureMode.ERC1271) {\n // Pop the mode byte before sending it down the validation chain\n return safeIsValidSignature(signer, hash, popFirstByte(signature));\n } else {\n return false;\n }\n }\n\n function ecVerify(bytes32 hash, address signer, bytes memory signature) private pure returns (bool) {\n (bool badSig, bytes32 r, bytes32 s, uint8 v) = unpackEcSig(signature);\n\n if (badSig) {\n return false;\n }\n\n return signer == ecrecover(hash, v, r, s);\n }\n\n function unpackEcSig(bytes memory signature) private pure returns (bool badSig, bytes32 r, bytes32 s, uint8 v) {\n if (signature.length != 66) {\n badSig = true;\n return;\n }\n\n v = uint8(signature[65]);\n assembly {\n r := mload(add(signature, 33))\n s := mload(add(signature, 65))\n }\n\n // Allow signature version to be 0 or 1\n if (v < 27) {\n v += 27;\n }\n\n if (v != 27 && v != 28) {\n badSig = true;\n }\n }\n\n function popFirstByte(bytes memory input) private pure returns (bytes memory output) {\n uint256 inputLength = input.length;\n require(inputLength > 0, ERROR_INVALID_LENGTH_POP_BYTE);\n\n output = new bytes(inputLength - 1);\n\n if (output.length == 0) {\n return output;\n }\n\n uint256 inputPointer;\n uint256 outputPointer;\n assembly {\n inputPointer := add(input, 0x21)\n outputPointer := add(output, 0x20)\n }\n memcpy(outputPointer, inputPointer, output.length);\n }\n\n function safeIsValidSignature(address validator, bytes32 hash, bytes memory signature) private view returns (bool) {\n bytes memory data = abi.encodeWithSelector(ERC1271(validator).isValidSignature.selector, hash, signature);\n bytes4 erc1271Return = safeBytes4StaticCall(validator, data, ERC1271_ISVALIDSIG_MAX_GAS);\n return erc1271Return == ERC1271_RETURN_VALID_SIGNATURE;\n }\n\n function safeBytes4StaticCall(address target, bytes data, uint256 maxGas) private view returns (bytes4 ret) {\n uint256 gasLeft = gasleft();\n\n uint256 callGas = gasLeft > maxGas ? maxGas : gasLeft;\n bool ok;\n assembly {\n ok := staticcall(callGas, target, add(data, 0x20), mload(data), 0, 0)\n }\n\n if (!ok) {\n return;\n }\n\n uint256 size;\n assembly { size := returndatasize }\n if (size != 32) {\n return;\n }\n\n assembly {\n let ptr := mload(0x40) // get next free memory ptr\n returndatacopy(ptr, 0, size) // copy return from above `staticcall`\n ret := mload(ptr) // read data at ptr and set it to be returned\n }\n\n return ret;\n }\n\n // From: https://github.com/Arachnid/solidity-stringutils/blob/01e955c1d6/src/strings.sol\n function memcpy(uint256 dest, uint256 src, uint256 len) private pure {\n // Copy word-length chunks while possible\n for (; len >= 32; len -= 32) {\n assembly {\n mstore(dest, mload(src))\n }\n dest += 32;\n src += 32;\n }\n\n // Copy remaining bytes\n uint mask = 256 ** (32 - len) - 1;\n assembly {\n let srcpart := and(mload(src), not(mask))\n let destpart := and(mload(dest), mask)\n mstore(dest, or(destpart, srcpart))\n }\n }\n}\n", - "sourcePath": "@aragon/apps-agent/contracts/SignatureValidator.sol", - "ast": { - "absolutePath": "@aragon/apps-agent/contracts/SignatureValidator.sol", - "exportedSymbols": { - "SignatureValidator": [ - 11909 - ] - }, - "id": 11910, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11531, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "file": "./standards/ERC1271.sol", - "id": 11532, - "nodeType": "ImportDirective", - "scope": 11910, - "sourceUnit": 11964, - "src": "267:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 11909, - "linearizedBaseContracts": [ - 11909 - ], - "name": "SignatureValidator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "SignatureValidator.SignatureMode", - "id": 11538, - "members": [ - { - "id": 11533, - "name": "Invalid", - "nodeType": "EnumValue", - "src": "365:7:14" - }, - { - "id": 11534, - "name": "EIP712", - "nodeType": "EnumValue", - "src": "390:6:14" - }, - { - "id": 11535, - "name": "EthSign", - "nodeType": "EnumValue", - "src": "415:7:14" - }, - { - "id": 11536, - "name": "ERC1271", - "nodeType": "EnumValue", - "src": "440:7:14" - }, - { - "id": 11537, - "name": "NMode", - "nodeType": "EnumValue", - "src": "465:5:14" - } - ], - "name": "SignatureMode", - "nodeType": "EnumDefinition", - "src": "336:200:14" - }, - { - "constant": true, - "id": 11541, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "599:66:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11539, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "599:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:10:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11544, - "name": "ERC1271_ISVALIDSIG_MAX_GAS", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "671:61:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "671:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323530303030", - "id": 11543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "726:6:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250000_by_1", - "typeString": "int_const 250000" - }, - "value": "250000" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 11547, - "name": "ERROR_INVALID_LENGTH_POP_BYTE", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "739:88:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 11545, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "739:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "53494756414c5f494e56414c49445f4c454e4754485f504f505f42595445", - "id": 11546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:32:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f9265075b65203cb095fa44a5dfaf2397836398715f5bf28c08f61edfdb79e55", - "typeString": "literal_string \"SIGVAL_INVALID_LENGTH_POP_BYTE\"" - }, - "value": "SIGVAL_INVALID_LENGTH_POP_BYTE" - }, - "visibility": "private" - }, - { - "body": { - "id": 11637, - "nodeType": "Block", - "src": "1291:865:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11558, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1305:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1305:16:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1305:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11565, - "nodeType": "IfStatement", - "src": "1301:64:14", - "trueBody": { - "id": 11564, - "nodeType": "Block", - "src": "1328:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1349:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11563, - "nodeType": "Return", - "src": "1342:12:14" - } - ] - } - }, - { - "assignments": [ - 11567 - ], - "declarations": [ - { - "constant": false, - "id": 11567, - "name": "modeByte", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1375:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11566, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1375:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11573, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11569, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1398:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11571, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1408:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1398:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 11568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1392:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1392:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1375:36:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11574, - "name": "modeByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1425:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11576, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1443:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NMode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1443:19:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - ], - "id": 11575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1437:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1437:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1425:38:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11583, - "nodeType": "IfStatement", - "src": "1421:81:14", - "trueBody": { - "id": 11582, - "nodeType": "Block", - "src": "1465:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1486:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11581, - "nodeType": "Return", - "src": "1479:12:14" - } - ] - } - }, - { - "assignments": [ - 11585 - ], - "declarations": [ - { - "constant": false, - "id": 11585, - "name": "mode", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1511:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "typeName": { - "contractScope": null, - "id": 11584, - "name": "SignatureMode", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11538, - "src": "1511:13:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11589, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11587, - "name": "modeByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1546:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 11586, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1532:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1532:23:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1511:44:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11590, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1570:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11591, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1578:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EIP712", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1578:20:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1570:28:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11601, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1675:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11602, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1683:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EthSign", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1683:21:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1675:29:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11618, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1908:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11619, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1916:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ERC1271", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1916:21:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1908:29:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11633, - "nodeType": "Block", - "src": "2113:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2134:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11632, - "nodeType": "Return", - "src": "2127:12:14" - } - ] - }, - "id": 11634, - "nodeType": "IfStatement", - "src": "1904:246:14", - "trueBody": { - "id": 11630, - "nodeType": "Block", - "src": "1939:168:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11623, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "2058:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11624, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "2066:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11626, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "2085:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11625, - "name": "popFirstByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11783, - "src": "2072:12:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (bytes memory)" - } - }, - "id": 11627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2072:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11622, - "name": "safeIsValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "2037:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,bytes memory) view returns (bool)" - } - }, - "id": 11628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2037:59:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11629, - "nodeType": "Return", - "src": "2030:66:14" - } - ] - } - }, - "id": 11635, - "nodeType": "IfStatement", - "src": "1671:479:14", - "trueBody": { - "id": 11617, - "nodeType": "Block", - "src": "1706:192:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 11609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1780:34:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 11610, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "1816:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 11607, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "1763:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1763:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 11611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:58:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11606, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "1753:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1753:69:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11613, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "1840:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11614, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1864:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11605, - "name": "ecVerify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "1727:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) pure returns (bool)" - } - }, - "id": 11615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1727:160:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11616, - "nodeType": "Return", - "src": "1720:167:14" - } - ] - } - }, - "id": 11636, - "nodeType": "IfStatement", - "src": "1566:584:14", - "trueBody": { - "id": 11600, - "nodeType": "Block", - "src": "1600:65:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11595, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "1630:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11596, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "1636:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11597, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1644:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11594, - "name": "ecVerify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "1621:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) pure returns (bool)" - } - }, - "id": 11598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1621:33:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11599, - "nodeType": "Return", - "src": "1614:40:14" - } - ] - } - } - ] - }, - "documentation": "@dev Validates that a hash was signed by a specified signer.\n @param hash Hash which was signed.\n @param signer Address of the signer.\n @param signature ECDSA signature along with the mode (0 = Invalid, 1 = EIP712, 2 = EthSign, 3 = ERC1271) {mode}{r}{s}{v}.\n @return Returns whether signature is from a specified user.", - "id": 11638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11549, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1215:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1215:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11551, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1229:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1229:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11553, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1245:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11552, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1245:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1214:47:14" - }, - "payable": false, - "returnParameters": { - "id": 11557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11556, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1285:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11555, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1285:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1284:6:14" - }, - "scope": 11909, - "src": "1189:967:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11675, - "nodeType": "Block", - "src": "2262:197:14", - "statements": [ - { - "assignments": [ - 11650, - 11652, - 11654, - 11656 - ], - "declarations": [ - { - "constant": false, - "id": 11650, - "name": "badSig", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2273:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11649, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2273:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11652, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2286:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11651, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2286:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11654, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2297:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11653, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2297:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11656, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2308:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11655, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2308:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11660, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11658, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11644, - "src": "2331:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11657, - "name": "unpackEcSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11732, - "src": "2319:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "function (bytes memory) pure returns (bool,bytes32,bytes32,uint8)" - } - }, - "id": 11659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2319:22:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "tuple(bool,bytes32,bytes32,uint8)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2272:69:14" - }, - { - "condition": { - "argumentTypes": null, - "id": 11661, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11650, - "src": "2356:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11665, - "nodeType": "IfStatement", - "src": "2352:49:14", - "trueBody": { - "id": 11664, - "nodeType": "Block", - "src": "2364:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2385:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11648, - "id": 11663, - "nodeType": "Return", - "src": "2378:12:14" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11666, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11642, - "src": "2418:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11668, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11640, - "src": "2438:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11669, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11656, - "src": "2444:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 11670, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11652, - "src": "2447:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11671, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11654, - "src": "2450:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11667, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29776, - "src": "2428:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 11672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2428:24:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2418:34:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11648, - "id": 11674, - "nodeType": "Return", - "src": "2411:41:14" - } - ] - }, - "documentation": null, - "id": 11676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ecVerify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11640, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2180:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11639, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2180:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11642, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2194:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2194:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11644, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2210:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11643, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2210:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2179:54:14" - }, - "payable": false, - "returnParameters": { - "id": 11648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11647, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11646, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 11909, - "src": "2162:297:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11731, - "nodeType": "Block", - "src": "2576:426:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11689, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11678, - "src": "2590:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2590:16:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 11691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2610:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "src": "2590:22:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11699, - "nodeType": "IfStatement", - "src": "2586:86:14", - "trueBody": { - "id": 11698, - "nodeType": "Block", - "src": "2614:58:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11693, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11681, - "src": "2628:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2637:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2628:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11696, - "nodeType": "ExpressionStatement", - "src": "2628:13:14" - }, - { - "expression": null, - "functionReturnParameters": 11688, - "id": 11697, - "nodeType": "Return", - "src": "2655:7:14" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 11706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11700, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2682:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11702, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11678, - "src": "2692:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11704, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 11703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2702:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2692:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 11701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2686:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2686:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "2682:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 11707, - "nodeType": "ExpressionStatement", - "src": "2682:24:14" - }, - { - "externalReferences": [ - { - "r": { - "declaration": 11683, - "isOffset": false, - "isSlot": false, - "src": "2739:1:14", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 11678, - "isOffset": false, - "isSlot": false, - "src": "2754:9:14", - "valueSize": 1 - } - }, - { - "s": { - "declaration": 11685, - "isOffset": false, - "isSlot": false, - "src": "2782:1:14", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 11678, - "isOffset": false, - "isSlot": false, - "src": "2797:9:14", - "valueSize": 1 - } - } - ], - "id": 11708, - "nodeType": "InlineAssembly", - "operations": "{\n r := mload(add(signature, 33))\n s := mload(add(signature, 65))\n}", - "src": "2716:166:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11709, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2884:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2888:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2884:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11717, - "nodeType": "IfStatement", - "src": "2880:44:14", - "trueBody": { - "id": 11716, - "nodeType": "Block", - "src": "2892:32:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11712, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2906:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2911:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2906:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 11715, - "nodeType": "ExpressionStatement", - "src": "2906:7:14" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11718, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2938:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2943:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2938:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11721, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2949:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3238", - "id": 11722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2954:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28_by_1", - "typeString": "int_const 28" - }, - "value": "28" - }, - "src": "2949:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2938:18:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11730, - "nodeType": "IfStatement", - "src": "2934:62:14", - "trueBody": { - "id": 11729, - "nodeType": "Block", - "src": "2958:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11725, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11681, - "src": "2972:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2972:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11728, - "nodeType": "ExpressionStatement", - "src": "2972:13:14" - } - ] - } - } - ] - }, - "documentation": null, - "id": 11732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "unpackEcSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11678, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2486:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11677, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2486:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2485:24:14" - }, - "payable": false, - "returnParameters": { - "id": 11688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11681, - "name": "badSig", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2532:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2532:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11683, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2545:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11682, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2545:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11685, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2556:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11684, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2556:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11687, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2567:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11686, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2567:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2531:44:14" - }, - "scope": 11909, - "src": "2465:537:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11782, - "nodeType": "Block", - "src": "3093:477:14", - "statements": [ - { - "assignments": [ - 11740 - ], - "declarations": [ - { - "constant": false, - "id": 11740, - "name": "inputLength", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3103:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3103:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11743, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11741, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11734, - "src": "3125:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3125:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3103:34:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11745, - "name": "inputLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11740, - "src": "3155:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3169:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3155:15:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11748, - "name": "ERROR_INVALID_LENGTH_POP_BYTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11547, - "src": "3172:29:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11744, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3147:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3147:55:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11750, - "nodeType": "ExpressionStatement", - "src": "3147:55:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11751, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3213:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11754, - "name": "inputLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11740, - "src": "3232:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3246:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3232:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3222:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 11752, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 11757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:26:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "src": "3213:35:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11759, - "nodeType": "ExpressionStatement", - "src": "3213:35:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11760, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3263:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3263:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3280:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3263:18:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11767, - "nodeType": "IfStatement", - "src": "3259:62:14", - "trueBody": { - "id": 11766, - "nodeType": "Block", - "src": "3283:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11764, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3304:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 11738, - "id": 11765, - "nodeType": "Return", - "src": "3297:13:14" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11769, - "name": "inputPointer", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3331:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3331:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11770, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3331:20:14" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11772, - "name": "outputPointer", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3361:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3361:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11773, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3361:21:14" - }, - { - "externalReferences": [ - { - "inputPointer": { - "declaration": 11769, - "isOffset": false, - "isSlot": false, - "src": "3415:12:14", - "valueSize": 1 - } - }, - { - "input": { - "declaration": 11734, - "isOffset": false, - "isSlot": false, - "src": "3435:5:14", - "valueSize": 1 - } - }, - { - "outputPointer": { - "declaration": 11772, - "isOffset": false, - "isSlot": false, - "src": "3460:13:14", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 11737, - "isOffset": false, - "isSlot": false, - "src": "3481:6:14", - "valueSize": 1 - } - } - ], - "id": 11774, - "nodeType": "InlineAssembly", - "operations": "{\n inputPointer := add(input, 0x21)\n outputPointer := add(output, 0x20)\n}", - "src": "3392:127:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11776, - "name": "outputPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11772, - "src": "3520:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11777, - "name": "inputPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11769, - "src": "3535:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11778, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3549:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3549:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11775, - "name": "memcpy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11908, - "src": "3513:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256) pure" - } - }, - "id": 11780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3513:50:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11781, - "nodeType": "ExpressionStatement", - "src": "3513:50:14" - } - ] - }, - "documentation": null, - "id": 11783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "popFirstByte", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11734, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3030:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11733, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3030:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3029:20:14" - }, - "payable": false, - "returnParameters": { - "id": 11738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11737, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3072:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11736, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3072:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3071:21:14" - }, - "scope": 11909, - "src": "3008:562:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11819, - "nodeType": "Block", - "src": "3691:284:14", - "statements": [ - { - "assignments": [ - 11795 - ], - "declarations": [ - { - "constant": false, - "id": 11795, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3701:17:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11794, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3701:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11806, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11799, - "name": "validator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11785, - "src": "3752:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11798, - "name": "ERC1271", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11943, - "src": "3744:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1271_$11943_$", - "typeString": "type(contract ERC1271)" - } - }, - "id": 11800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3744:18:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isValidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 11929, - "src": "3744:35:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view external returns (bytes4)" - } - }, - "id": 11802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3744:44:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11803, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11787, - "src": "3790:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11804, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11789, - "src": "3796:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11796, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3721:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3721:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3721:85:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3701:105:14" - }, - { - "assignments": [ - 11808 - ], - "declarations": [ - { - "constant": false, - "id": 11808, - "name": "erc1271Return", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3816:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11807, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3816:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11814, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11810, - "name": "validator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11785, - "src": "3860:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11811, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "3871:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11812, - "name": "ERC1271_ISVALIDSIG_MAX_GAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11544, - "src": "3877:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11809, - "name": "safeBytes4StaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11868, - "src": "3839:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes4_$", - "typeString": "function (address,bytes memory,uint256) view returns (bytes4)" - } - }, - "id": 11813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:65:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3816:88:14" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11815, - "name": "erc1271Return", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11808, - "src": "3921:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11816, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11541, - "src": "3938:30:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "3921:47:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11793, - "id": 11818, - "nodeType": "Return", - "src": "3914:54:14" - } - ] - }, - "documentation": null, - "id": 11820, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "safeIsValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11785, - "name": "validator", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3606:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3606:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11787, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3625:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11786, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3625:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11789, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3639:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11788, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3639:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3605:57:14" - }, - "payable": false, - "returnParameters": { - "id": 11793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11792, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3685:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3685:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3684:6:14" - }, - "scope": 11909, - "src": "3576:399:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11867, - "nodeType": "Block", - "src": "4089:696:14", - "statements": [ - { - "assignments": [ - 11832 - ], - "declarations": [ - { - "constant": false, - "id": 11832, - "name": "gasLeft", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4099:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11835, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11833, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29777, - "src": "4117:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 11834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4117:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4099:27:14" - }, - { - "assignments": [ - 11837 - ], - "declarations": [ - { - "constant": false, - "id": 11837, - "name": "callGas", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4137:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11844, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11838, - "name": "gasLeft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11832, - "src": "4155:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 11839, - "name": "maxGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11826, - "src": "4165:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4155:16:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11842, - "name": "gasLeft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11832, - "src": "4183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4155:35:14", - "trueExpression": { - "argumentTypes": null, - "id": 11841, - "name": "maxGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11826, - "src": "4174:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:53:14" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11846, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4200:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4200:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11847, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4200:7:14" - }, - { - "externalReferences": [ - { - "data": { - "declaration": 11824, - "isOffset": false, - "isSlot": false, - "src": "4297:4:14", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 11824, - "isOffset": false, - "isSlot": false, - "src": "4278:4:14", - "valueSize": 1 - } - }, - { - "ok": { - "declaration": 11846, - "isOffset": false, - "isSlot": false, - "src": "4240:2:14", - "valueSize": 1 - } - }, - { - "callGas": { - "declaration": 11837, - "isOffset": false, - "isSlot": false, - "src": "4257:7:14", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 11822, - "isOffset": false, - "isSlot": false, - "src": "4266:6:14", - "valueSize": 1 - } - } - ], - "id": 11848, - "nodeType": "InlineAssembly", - "operations": "{\n ok := staticcall(callGas, target, add(data, 0x20), mload(data), 0, 0)\n}", - "src": "4217:114:14" - }, - { - "condition": { - "argumentTypes": null, - "id": 11850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4333:3:14", - "subExpression": { - "argumentTypes": null, - "id": 11849, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11846, - "src": "4334:2:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11853, - "nodeType": "IfStatement", - "src": "4329:40:14", - "trueBody": { - "id": 11852, - "nodeType": "Block", - "src": "4338:31:14", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11830, - "id": 11851, - "nodeType": "Return", - "src": "4352:7:14" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11855, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4379:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4379:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11856, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4379:12:14" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 11855, - "isOffset": false, - "isSlot": false, - "src": "4412:4:14", - "valueSize": 1 - } - } - ], - "id": 11857, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n}", - "src": "4401:46:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11858, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11855, - "src": "4449:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4457:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "4449:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11863, - "nodeType": "IfStatement", - "src": "4445:47:14", - "trueBody": { - "id": 11862, - "nodeType": "Block", - "src": "4461:31:14", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11830, - "id": 11861, - "nodeType": "Return", - "src": "4475:7:14" - } - ] - } - }, - { - "externalReferences": [ - { - "ret": { - "declaration": 11829, - "isOffset": false, - "isSlot": false, - "src": "4674:3:14", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11855, - "isOffset": false, - "isSlot": false, - "src": "4617:4:14", - "valueSize": 1 - } - } - ], - "id": 11864, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n ret := mload(ptr)\n}", - "src": "4502:272:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11865, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11829, - "src": "4775:3:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11830, - "id": 11866, - "nodeType": "Return", - "src": "4768:10:14" - } - ] - }, - "documentation": null, - "id": 11868, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "safeBytes4StaticCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11822, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4011:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4011:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11824, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4027:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11823, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4027:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11826, - "name": "maxGas", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4039:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4039:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4010:44:14" - }, - "payable": false, - "returnParameters": { - "id": 11830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11829, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4077:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4077:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:12:14" - }, - "scope": 11909, - "src": "3981:804:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11907, - "nodeType": "Block", - "src": "4954:489:14", - "statements": [ - { - "body": { - "id": 11893, - "nodeType": "Block", - "src": "5043:136:14", - "statements": [ - { - "externalReferences": [ - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5091:4:14", - "valueSize": 1 - } - }, - { - "src": { - "declaration": 11872, - "isOffset": false, - "isSlot": false, - "src": "5103:3:14", - "valueSize": 1 - } - } - ], - "id": 11884, - "nodeType": "InlineAssembly", - "operations": "{\n mstore(dest, mload(src))\n}", - "src": "5057:82:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11885, - "name": "dest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11870, - "src": "5135:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5143:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5135:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11888, - "nodeType": "ExpressionStatement", - "src": "5135:10:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11889, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11872, - "src": "5159:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5166:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5159:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11892, - "nodeType": "ExpressionStatement", - "src": "5159:9:14" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11877, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5021:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5028:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5021:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11894, - "initializationExpression": null, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11880, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5032:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5032:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11883, - "nodeType": "ExpressionStatement", - "src": "5032:9:14" - }, - "nodeType": "ForStatement", - "src": "5014:165:14" - }, - { - "assignments": [ - 11896 - ], - "declarations": [ - { - "constant": false, - "id": 11896, - "name": "mask", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "5221:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11895, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5221:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11905, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 11897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5233:3:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5241:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 11899, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5246:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5241:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 11901, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5240:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5233:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5253:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5233:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5221:33:14" - }, - { - "externalReferences": [ - { - "src": { - "declaration": 11872, - "isOffset": false, - "isSlot": false, - "src": "5312:3:14", - "valueSize": 1 - } - }, - { - "mask": { - "declaration": 11896, - "isOffset": false, - "isSlot": false, - "src": "5322:4:14", - "valueSize": 1 - } - }, - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5367:4:14", - "valueSize": 1 - } - }, - { - "mask": { - "declaration": 11896, - "isOffset": false, - "isSlot": false, - "src": "5374:4:14", - "valueSize": 1 - } - }, - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5399:4:14", - "valueSize": 1 - } - } - ], - "id": 11906, - "nodeType": "InlineAssembly", - "operations": "{\n let srcpart := and(mload(src), not(mask))\n let destpart := and(mload(dest), mask)\n mstore(dest, or(destpart, srcpart))\n}", - "src": "5264:179:14" - } - ] - }, - "documentation": null, - "id": 11908, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "memcpy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11870, - "name": "dest", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4901:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4901:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11872, - "name": "src", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4915:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4915:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11874, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4928:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4928:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4900:40:14" - }, - "payable": false, - "returnParameters": { - "id": 11876, - "nodeType": "ParameterList", - "parameters": [], - "src": "4954:0:14" - }, - "scope": 11909, - "src": "4885:558:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 11910, - "src": "303:5142:14" - } - ], - "src": "0:5446:14" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-agent/contracts/SignatureValidator.sol", - "exportedSymbols": { - "SignatureValidator": [ - 11909 - ] - }, - "id": 11910, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11531, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "absolutePath": "@aragon/apps-agent/contracts/standards/ERC1271.sol", - "file": "./standards/ERC1271.sol", - "id": 11532, - "nodeType": "ImportDirective", - "scope": 11910, - "sourceUnit": 11964, - "src": "267:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 11909, - "linearizedBaseContracts": [ - 11909 - ], - "name": "SignatureValidator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "SignatureValidator.SignatureMode", - "id": 11538, - "members": [ - { - "id": 11533, - "name": "Invalid", - "nodeType": "EnumValue", - "src": "365:7:14" - }, - { - "id": 11534, - "name": "EIP712", - "nodeType": "EnumValue", - "src": "390:6:14" - }, - { - "id": 11535, - "name": "EthSign", - "nodeType": "EnumValue", - "src": "415:7:14" - }, - { - "id": 11536, - "name": "ERC1271", - "nodeType": "EnumValue", - "src": "440:7:14" - }, - { - "id": 11537, - "name": "NMode", - "nodeType": "EnumValue", - "src": "465:5:14" - } - ], - "name": "SignatureMode", - "nodeType": "EnumDefinition", - "src": "336:200:14" - }, - { - "constant": true, - "id": 11541, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "599:66:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11539, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "599:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783230633133623062", - "id": 11540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:10:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_549534475_by_1", - "typeString": "int_const 549534475" - }, - "value": "0x20c13b0b" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 11544, - "name": "ERC1271_ISVALIDSIG_MAX_GAS", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "671:61:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "671:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "323530303030", - "id": 11543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "726:6:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_250000_by_1", - "typeString": "int_const 250000" - }, - "value": "250000" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 11547, - "name": "ERROR_INVALID_LENGTH_POP_BYTE", - "nodeType": "VariableDeclaration", - "scope": 11909, - "src": "739:88:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 11545, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "739:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "53494756414c5f494e56414c49445f4c454e4754485f504f505f42595445", - "id": 11546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:32:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f9265075b65203cb095fa44a5dfaf2397836398715f5bf28c08f61edfdb79e55", - "typeString": "literal_string \"SIGVAL_INVALID_LENGTH_POP_BYTE\"" - }, - "value": "SIGVAL_INVALID_LENGTH_POP_BYTE" - }, - "visibility": "private" - }, - { - "body": { - "id": 11637, - "nodeType": "Block", - "src": "1291:865:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11558, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1305:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1305:16:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1305:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11565, - "nodeType": "IfStatement", - "src": "1301:64:14", - "trueBody": { - "id": 11564, - "nodeType": "Block", - "src": "1328:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1349:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11563, - "nodeType": "Return", - "src": "1342:12:14" - } - ] - } - }, - { - "assignments": [ - 11567 - ], - "declarations": [ - { - "constant": false, - "id": 11567, - "name": "modeByte", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1375:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11566, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1375:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11573, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11569, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1398:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11571, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1408:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1398:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 11568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1392:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1392:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1375:36:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11574, - "name": "modeByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1425:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11576, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1443:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "NMode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1443:19:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - ], - "id": 11575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1437:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1437:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1425:38:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11583, - "nodeType": "IfStatement", - "src": "1421:81:14", - "trueBody": { - "id": 11582, - "nodeType": "Block", - "src": "1465:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1486:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11581, - "nodeType": "Return", - "src": "1479:12:14" - } - ] - } - }, - { - "assignments": [ - 11585 - ], - "declarations": [ - { - "constant": false, - "id": 11585, - "name": "mode", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1511:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "typeName": { - "contractScope": null, - "id": 11584, - "name": "SignatureMode", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11538, - "src": "1511:13:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11589, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11587, - "name": "modeByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1546:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 11586, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1532:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1532:23:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1511:44:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11590, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1570:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11591, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1578:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EIP712", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1578:20:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1570:28:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11601, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1675:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11602, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1683:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "EthSign", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1683:21:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1675:29:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - }, - "id": 11621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11618, - "name": "mode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11585, - "src": "1908:4:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11619, - "name": "SignatureMode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1916:13:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SignatureMode_$11538_$", - "typeString": "type(enum SignatureValidator.SignatureMode)" - } - }, - "id": 11620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ERC1271", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1916:21:14", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SignatureMode_$11538", - "typeString": "enum SignatureValidator.SignatureMode" - } - }, - "src": "1908:29:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11633, - "nodeType": "Block", - "src": "2113:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2134:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11557, - "id": 11632, - "nodeType": "Return", - "src": "2127:12:14" - } - ] - }, - "id": 11634, - "nodeType": "IfStatement", - "src": "1904:246:14", - "trueBody": { - "id": 11630, - "nodeType": "Block", - "src": "1939:168:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11623, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "2058:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11624, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "2066:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11626, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "2085:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11625, - "name": "popFirstByte", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11783, - "src": "2072:12:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (bytes memory)" - } - }, - "id": 11627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2072:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11622, - "name": "safeIsValidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "2037:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,bytes memory) view returns (bool)" - } - }, - "id": 11628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2037:59:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11629, - "nodeType": "Return", - "src": "2030:66:14" - } - ] - } - }, - "id": 11635, - "nodeType": "IfStatement", - "src": "1671:479:14", - "trueBody": { - "id": 11617, - "nodeType": "Block", - "src": "1706:192:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 11609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1780:34:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 11610, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "1816:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 11607, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "1763:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1763:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 11611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:58:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11606, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "1753:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 11612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1753:69:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11613, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "1840:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11614, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1864:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11605, - "name": "ecVerify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "1727:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) pure returns (bool)" - } - }, - "id": 11615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1727:160:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11616, - "nodeType": "Return", - "src": "1720:167:14" - } - ] - } - }, - "id": 11636, - "nodeType": "IfStatement", - "src": "1566:584:14", - "trueBody": { - "id": 11600, - "nodeType": "Block", - "src": "1600:65:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11595, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11549, - "src": "1630:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11596, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11551, - "src": "1636:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11597, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11553, - "src": "1644:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11594, - "name": "ecVerify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "1621:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,address,bytes memory) pure returns (bool)" - } - }, - "id": 11598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1621:33:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11557, - "id": 11599, - "nodeType": "Return", - "src": "1614:40:14" - } - ] - } - } - ] - }, - "documentation": "@dev Validates that a hash was signed by a specified signer.\n @param hash Hash which was signed.\n @param signer Address of the signer.\n @param signature ECDSA signature along with the mode (0 = Invalid, 1 = EIP712, 2 = EthSign, 3 = ERC1271) {mode}{r}{s}{v}.\n @return Returns whether signature is from a specified user.", - "id": 11638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11549, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1215:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1215:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11551, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1229:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1229:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11553, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1245:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11552, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1245:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1214:47:14" - }, - "payable": false, - "returnParameters": { - "id": 11557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11556, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11638, - "src": "1285:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11555, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1285:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1284:6:14" - }, - "scope": 11909, - "src": "1189:967:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 11675, - "nodeType": "Block", - "src": "2262:197:14", - "statements": [ - { - "assignments": [ - 11650, - 11652, - 11654, - 11656 - ], - "declarations": [ - { - "constant": false, - "id": 11650, - "name": "badSig", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2273:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11649, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2273:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11652, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2286:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11651, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2286:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11654, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2297:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11653, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2297:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11656, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2308:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11655, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2308:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11660, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11658, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11644, - "src": "2331:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11657, - "name": "unpackEcSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11732, - "src": "2319:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "function (bytes memory) pure returns (bool,bytes32,bytes32,uint8)" - } - }, - "id": 11659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2319:22:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "tuple(bool,bytes32,bytes32,uint8)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2272:69:14" - }, - { - "condition": { - "argumentTypes": null, - "id": 11661, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11650, - "src": "2356:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11665, - "nodeType": "IfStatement", - "src": "2352:49:14", - "trueBody": { - "id": 11664, - "nodeType": "Block", - "src": "2364:37:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2385:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 11648, - "id": 11663, - "nodeType": "Return", - "src": "2378:12:14" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11666, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11642, - "src": "2418:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11668, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11640, - "src": "2438:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11669, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11656, - "src": "2444:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 11670, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11652, - "src": "2447:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11671, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11654, - "src": "2450:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 11667, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29776, - "src": "2428:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 11672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2428:24:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2418:34:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11648, - "id": 11674, - "nodeType": "Return", - "src": "2411:41:14" - } - ] - }, - "documentation": null, - "id": 11676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ecVerify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11640, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2180:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11639, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2180:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11642, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2194:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2194:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11644, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2210:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11643, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2210:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2179:54:14" - }, - "payable": false, - "returnParameters": { - "id": 11648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11647, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11676, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11646, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 11909, - "src": "2162:297:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11731, - "nodeType": "Block", - "src": "2576:426:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11689, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11678, - "src": "2590:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2590:16:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3636", - "id": 11691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2610:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_66_by_1", - "typeString": "int_const 66" - }, - "value": "66" - }, - "src": "2590:22:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11699, - "nodeType": "IfStatement", - "src": "2586:86:14", - "trueBody": { - "id": 11698, - "nodeType": "Block", - "src": "2614:58:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11693, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11681, - "src": "2628:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2637:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2628:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11696, - "nodeType": "ExpressionStatement", - "src": "2628:13:14" - }, - { - "expression": null, - "functionReturnParameters": 11688, - "id": 11697, - "nodeType": "Return", - "src": "2655:7:14" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 11706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11700, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2682:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11702, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11678, - "src": "2692:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11704, - "indexExpression": { - "argumentTypes": null, - "hexValue": "3635", - "id": 11703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2702:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2692:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 11701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2686:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 11705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2686:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "2682:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 11707, - "nodeType": "ExpressionStatement", - "src": "2682:24:14" - }, - { - "externalReferences": [ - { - "r": { - "declaration": 11683, - "isOffset": false, - "isSlot": false, - "src": "2739:1:14", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 11678, - "isOffset": false, - "isSlot": false, - "src": "2754:9:14", - "valueSize": 1 - } - }, - { - "s": { - "declaration": 11685, - "isOffset": false, - "isSlot": false, - "src": "2782:1:14", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 11678, - "isOffset": false, - "isSlot": false, - "src": "2797:9:14", - "valueSize": 1 - } - } - ], - "id": 11708, - "nodeType": "InlineAssembly", - "operations": "{\n r := mload(add(signature, 33))\n s := mload(add(signature, 65))\n}", - "src": "2716:166:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11709, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2884:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2888:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2884:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11717, - "nodeType": "IfStatement", - "src": "2880:44:14", - "trueBody": { - "id": 11716, - "nodeType": "Block", - "src": "2892:32:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11712, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2906:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2911:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2906:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 11715, - "nodeType": "ExpressionStatement", - "src": "2906:7:14" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11718, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2938:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3237", - "id": 11719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2943:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2938:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 11723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11721, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11687, - "src": "2949:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3238", - "id": 11722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2954:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_28_by_1", - "typeString": "int_const 28" - }, - "value": "28" - }, - "src": "2949:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2938:18:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11730, - "nodeType": "IfStatement", - "src": "2934:62:14", - "trueBody": { - "id": 11729, - "nodeType": "Block", - "src": "2958:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11725, - "name": "badSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11681, - "src": "2972:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2972:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11728, - "nodeType": "ExpressionStatement", - "src": "2972:13:14" - } - ] - } - } - ] - }, - "documentation": null, - "id": 11732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "unpackEcSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11678, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2486:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11677, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2486:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2485:24:14" - }, - "payable": false, - "returnParameters": { - "id": 11688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11681, - "name": "badSig", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2532:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2532:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11683, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2545:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11682, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2545:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11685, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2556:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11684, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2556:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11687, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 11732, - "src": "2567:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11686, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2567:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2531:44:14" - }, - "scope": 11909, - "src": "2465:537:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11782, - "nodeType": "Block", - "src": "3093:477:14", - "statements": [ - { - "assignments": [ - 11740 - ], - "declarations": [ - { - "constant": false, - "id": 11740, - "name": "inputLength", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3103:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3103:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11743, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11741, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11734, - "src": "3125:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3125:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3103:34:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11745, - "name": "inputLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11740, - "src": "3155:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3169:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3155:15:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 11748, - "name": "ERROR_INVALID_LENGTH_POP_BYTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11547, - "src": "3172:29:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 11744, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3147:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3147:55:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11750, - "nodeType": "ExpressionStatement", - "src": "3147:55:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11751, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3213:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11754, - "name": "inputLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11740, - "src": "3232:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3246:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3232:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3222:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 11752, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 11757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:26:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "src": "3213:35:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11759, - "nodeType": "ExpressionStatement", - "src": "3213:35:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11760, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3263:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3263:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3280:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3263:18:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11767, - "nodeType": "IfStatement", - "src": "3259:62:14", - "trueBody": { - "id": 11766, - "nodeType": "Block", - "src": "3283:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11764, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3304:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 11738, - "id": 11765, - "nodeType": "Return", - "src": "3297:13:14" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11769, - "name": "inputPointer", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3331:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3331:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11770, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3331:20:14" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11772, - "name": "outputPointer", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3361:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3361:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11773, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3361:21:14" - }, - { - "externalReferences": [ - { - "inputPointer": { - "declaration": 11769, - "isOffset": false, - "isSlot": false, - "src": "3415:12:14", - "valueSize": 1 - } - }, - { - "input": { - "declaration": 11734, - "isOffset": false, - "isSlot": false, - "src": "3435:5:14", - "valueSize": 1 - } - }, - { - "outputPointer": { - "declaration": 11772, - "isOffset": false, - "isSlot": false, - "src": "3460:13:14", - "valueSize": 1 - } - }, - { - "output": { - "declaration": 11737, - "isOffset": false, - "isSlot": false, - "src": "3481:6:14", - "valueSize": 1 - } - } - ], - "id": 11774, - "nodeType": "InlineAssembly", - "operations": "{\n inputPointer := add(input, 0x21)\n outputPointer := add(output, 0x20)\n}", - "src": "3392:127:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11776, - "name": "outputPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11772, - "src": "3520:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11777, - "name": "inputPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11769, - "src": "3535:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11778, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11737, - "src": "3549:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3549:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11775, - "name": "memcpy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11908, - "src": "3513:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256) pure" - } - }, - "id": 11780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3513:50:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11781, - "nodeType": "ExpressionStatement", - "src": "3513:50:14" - } - ] - }, - "documentation": null, - "id": 11783, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "popFirstByte", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11734, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3030:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11733, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3030:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3029:20:14" - }, - "payable": false, - "returnParameters": { - "id": 11738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11737, - "name": "output", - "nodeType": "VariableDeclaration", - "scope": 11783, - "src": "3072:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11736, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3072:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3071:21:14" - }, - "scope": 11909, - "src": "3008:562:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11819, - "nodeType": "Block", - "src": "3691:284:14", - "statements": [ - { - "assignments": [ - 11795 - ], - "declarations": [ - { - "constant": false, - "id": 11795, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3701:17:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11794, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3701:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11806, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11799, - "name": "validator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11785, - "src": "3752:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11798, - "name": "ERC1271", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11943, - "src": "3744:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1271_$11943_$", - "typeString": "type(contract ERC1271)" - } - }, - "id": 11800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3744:18:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$11943", - "typeString": "contract ERC1271" - } - }, - "id": 11801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isValidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 11929, - "src": "3744:35:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (bytes32,bytes memory) view external returns (bytes4)" - } - }, - "id": 11802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3744:44:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11803, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11787, - "src": "3790:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 11804, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11789, - "src": "3796:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11796, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29771, - "src": "3721:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3721:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3721:85:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3701:105:14" - }, - { - "assignments": [ - 11808 - ], - "declarations": [ - { - "constant": false, - "id": 11808, - "name": "erc1271Return", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3816:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11807, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3816:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11814, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11810, - "name": "validator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11785, - "src": "3860:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11811, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "3871:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 11812, - "name": "ERC1271_ISVALIDSIG_MAX_GAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11544, - "src": "3877:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11809, - "name": "safeBytes4StaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11868, - "src": "3839:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes4_$", - "typeString": "function (address,bytes memory,uint256) view returns (bytes4)" - } - }, - "id": 11813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:65:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3816:88:14" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 11817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11815, - "name": "erc1271Return", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11808, - "src": "3921:13:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11816, - "name": "ERC1271_RETURN_VALID_SIGNATURE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11541, - "src": "3938:30:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "3921:47:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 11793, - "id": 11818, - "nodeType": "Return", - "src": "3914:54:14" - } - ] - }, - "documentation": null, - "id": 11820, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "safeIsValidSignature", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11785, - "name": "validator", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3606:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3606:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11787, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3625:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11786, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3625:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11789, - "name": "signature", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3639:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11788, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3639:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3605:57:14" - }, - "payable": false, - "returnParameters": { - "id": 11793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11792, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 11820, - "src": "3685:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3685:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3684:6:14" - }, - "scope": 11909, - "src": "3576:399:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11867, - "nodeType": "Block", - "src": "4089:696:14", - "statements": [ - { - "assignments": [ - 11832 - ], - "declarations": [ - { - "constant": false, - "id": 11832, - "name": "gasLeft", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4099:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11835, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11833, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29777, - "src": "4117:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 11834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4117:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4099:27:14" - }, - { - "assignments": [ - 11837 - ], - "declarations": [ - { - "constant": false, - "id": 11837, - "name": "callGas", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4137:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11844, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11838, - "name": "gasLeft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11832, - "src": "4155:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 11839, - "name": "maxGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11826, - "src": "4165:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4155:16:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11842, - "name": "gasLeft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11832, - "src": "4183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4155:35:14", - "trueExpression": { - "argumentTypes": null, - "id": 11841, - "name": "maxGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11826, - "src": "4174:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:53:14" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11846, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4200:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4200:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11847, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4200:7:14" - }, - { - "externalReferences": [ - { - "data": { - "declaration": 11824, - "isOffset": false, - "isSlot": false, - "src": "4297:4:14", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 11824, - "isOffset": false, - "isSlot": false, - "src": "4278:4:14", - "valueSize": 1 - } - }, - { - "ok": { - "declaration": 11846, - "isOffset": false, - "isSlot": false, - "src": "4240:2:14", - "valueSize": 1 - } - }, - { - "callGas": { - "declaration": 11837, - "isOffset": false, - "isSlot": false, - "src": "4257:7:14", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 11822, - "isOffset": false, - "isSlot": false, - "src": "4266:6:14", - "valueSize": 1 - } - } - ], - "id": 11848, - "nodeType": "InlineAssembly", - "operations": "{\n ok := staticcall(callGas, target, add(data, 0x20), mload(data), 0, 0)\n}", - "src": "4217:114:14" - }, - { - "condition": { - "argumentTypes": null, - "id": 11850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4333:3:14", - "subExpression": { - "argumentTypes": null, - "id": 11849, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11846, - "src": "4334:2:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11853, - "nodeType": "IfStatement", - "src": "4329:40:14", - "trueBody": { - "id": 11852, - "nodeType": "Block", - "src": "4338:31:14", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11830, - "id": 11851, - "nodeType": "Return", - "src": "4352:7:14" - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 11855, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4379:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4379:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11856, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4379:12:14" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 11855, - "isOffset": false, - "isSlot": false, - "src": "4412:4:14", - "valueSize": 1 - } - } - ], - "id": 11857, - "nodeType": "InlineAssembly", - "operations": "{\n size := returndatasize()\n}", - "src": "4401:46:14" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11858, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11855, - "src": "4449:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4457:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "4449:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11863, - "nodeType": "IfStatement", - "src": "4445:47:14", - "trueBody": { - "id": 11862, - "nodeType": "Block", - "src": "4461:31:14", - "statements": [ - { - "expression": null, - "functionReturnParameters": 11830, - "id": 11861, - "nodeType": "Return", - "src": "4475:7:14" - } - ] - } - }, - { - "externalReferences": [ - { - "ret": { - "declaration": 11829, - "isOffset": false, - "isSlot": false, - "src": "4674:3:14", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 11855, - "isOffset": false, - "isSlot": false, - "src": "4617:4:14", - "valueSize": 1 - } - } - ], - "id": 11864, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, size)\n ret := mload(ptr)\n}", - "src": "4502:272:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11865, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11829, - "src": "4775:3:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 11830, - "id": 11866, - "nodeType": "Return", - "src": "4768:10:14" - } - ] - }, - "documentation": null, - "id": 11868, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "safeBytes4StaticCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11822, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4011:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4011:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11824, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4027:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11823, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4027:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11826, - "name": "maxGas", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4039:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4039:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4010:44:14" - }, - "payable": false, - "returnParameters": { - "id": 11830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11829, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 11868, - "src": "4077:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 11828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4077:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:12:14" - }, - "scope": 11909, - "src": "3981:804:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 11907, - "nodeType": "Block", - "src": "4954:489:14", - "statements": [ - { - "body": { - "id": 11893, - "nodeType": "Block", - "src": "5043:136:14", - "statements": [ - { - "externalReferences": [ - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5091:4:14", - "valueSize": 1 - } - }, - { - "src": { - "declaration": 11872, - "isOffset": false, - "isSlot": false, - "src": "5103:3:14", - "valueSize": 1 - } - } - ], - "id": 11884, - "nodeType": "InlineAssembly", - "operations": "{\n mstore(dest, mload(src))\n}", - "src": "5057:82:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11885, - "name": "dest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11870, - "src": "5135:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5143:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5135:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11888, - "nodeType": "ExpressionStatement", - "src": "5135:10:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 11891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11889, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11872, - "src": "5159:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5166:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5159:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11892, - "nodeType": "ExpressionStatement", - "src": "5159:9:14" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11877, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5021:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5028:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5021:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11894, - "initializationExpression": null, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 11882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11880, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5032:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5032:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11883, - "nodeType": "ExpressionStatement", - "src": "5032:9:14" - }, - "nodeType": "ForStatement", - "src": "5014:165:14" - }, - { - "assignments": [ - 11896 - ], - "declarations": [ - { - "constant": false, - "id": 11896, - "name": "mask", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "5221:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11895, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5221:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11905, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 11897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5233:3:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 11898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5241:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 11899, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11874, - "src": "5246:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5241:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 11901, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5240:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5233:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5253:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5233:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5221:33:14" - }, - { - "externalReferences": [ - { - "src": { - "declaration": 11872, - "isOffset": false, - "isSlot": false, - "src": "5312:3:14", - "valueSize": 1 - } - }, - { - "mask": { - "declaration": 11896, - "isOffset": false, - "isSlot": false, - "src": "5322:4:14", - "valueSize": 1 - } - }, - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5367:4:14", - "valueSize": 1 - } - }, - { - "mask": { - "declaration": 11896, - "isOffset": false, - "isSlot": false, - "src": "5374:4:14", - "valueSize": 1 - } - }, - { - "dest": { - "declaration": 11870, - "isOffset": false, - "isSlot": false, - "src": "5399:4:14", - "valueSize": 1 - } - } - ], - "id": 11906, - "nodeType": "InlineAssembly", - "operations": "{\n let srcpart := and(mload(src), not(mask))\n let destpart := and(mload(dest), mask)\n mstore(dest, or(destpart, srcpart))\n}", - "src": "5264:179:14" - } - ] - }, - "documentation": null, - "id": 11908, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "memcpy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11870, - "name": "dest", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4901:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4901:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11872, - "name": "src", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4915:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4915:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11874, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 11908, - "src": "4928:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4928:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4900:40:14" - }, - "payable": false, - "returnParameters": { - "id": 11876, - "nodeType": "ParameterList", - "parameters": [], - "src": "4954:0:14" - }, - "scope": 11909, - "src": "4885:558:14", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 11910, - "src": "303:5142:14" - } - ], - "src": "0:5446:14" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.314Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Survey.json b/templates/multisig/build/contracts/Survey.json deleted file mode 100644 index e6e3296..0000000 --- a/templates/multisig/build/contracts/Survey.json +++ /dev/null @@ -1,28388 +0,0 @@ -{ - "contractName": "Survey", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minParticipationPct", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MODIFY_PARTICIPATION_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "surveyTime", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_SURVEYS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ABSTAIN_VOTE", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "surveysLength", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PCT_BASE", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "surveyId", - "type": "uint256" - }, - { - "indexed": true, - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "name": "metadata", - "type": "string" - } - ], - "name": "StartSurvey", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "surveyId", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "name": "optionPower", - "type": "uint256" - } - ], - "name": "CastVote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "surveyId", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "name": "optionPower", - "type": "uint256" - } - ], - "name": "ResetVote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minParticipationPct", - "type": "uint64" - } - ], - "name": "ChangeMinParticipation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_minParticipationPct", - "type": "uint64" - }, - { - "name": "_surveyTime", - "type": "uint64" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_minParticipationPct", - "type": "uint64" - } - ], - "name": "changeMinAcceptParticipationPct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_metadata", - "type": "string" - }, - { - "name": "_options", - "type": "uint256" - } - ], - "name": "newSurvey", - "outputs": [ - { - "name": "surveyId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - } - ], - "name": "resetVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - }, - { - "name": "_optionIds", - "type": "uint256[]" - }, - { - "name": "_stakes", - "type": "uint256[]" - } - ], - "name": "voteOptions", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - }, - { - "name": "_optionId", - "type": "uint256" - } - ], - "name": "voteOption", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "canVote", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - } - ], - "name": "getSurvey", - "outputs": [ - { - "name": "open", - "type": "bool" - }, - { - "name": "startDate", - "type": "uint64" - }, - { - "name": "snapshotBlock", - "type": "uint64" - }, - { - "name": "minParticipation", - "type": "uint64" - }, - { - "name": "votingPower", - "type": "uint256" - }, - { - "name": "participation", - "type": "uint256" - }, - { - "name": "options", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "getVoterState", - "outputs": [ - { - "name": "options", - "type": "uint256[]" - }, - { - "name": "stakes", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - }, - { - "name": "_optionId", - "type": "uint256" - } - ], - "name": "getOptionPower", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_surveyId", - "type": "uint256" - } - ], - "name": "isParticipationAchieved", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062002fc3833981519152640100000000620027546200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062002fc38339815191528264010000000062002bec6200023782021704565b50565b5490565b9055565b612d78806200024b6000396000f3006080604052600436106101655763ffffffff60e060020a6000350416623c0627811461016a5780630803fac01461018e5780630cc3b1c8146101b75780631128915c146101cf5780632914b9bd1461020157806332f0a3b5146102765780634b12311c1461028b5780634c54b8c114610348578063509bd3371461036f5780636697a7be1461038a57806374609899146103a25780637e7db6e1146103d257806380afdea8146103f357806389670e15146104085780638b3dd7491461046a5780638cb4eb411461047f578063989a8366146104945780639d4941d8146104c8578063a1658fad146104e9578063a479e50814610550578063a83efef614610565578063bc6a48e91461057a578063c65720231461058f578063cdb2867b146105aa578063d4aae0c4146105ce578063de4796ed146105e3578063fb71098c146105f8578063fc0c546a1461060d578063fc157cb414610622578063ffe2e9f214610637575b600080fd5b34801561017657600080fd5b5061018c67ffffffffffffffff6004351661065b565b005b34801561019a57600080fd5b506101a36108a6565b604080519115158252519081900360200190f35b3480156101c357600080fd5b5061018c6004356108cf565b3480156101db57600080fd5b506101e46109d4565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561020d57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261025a9436949293602493928401919081908401838280828437509497506109eb9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561028257600080fd5b5061025a610ad1565b34801561029757600080fd5b506102af600435600160a060020a0360243516610b49565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102f35781810151838201526020016102db565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561033257818101518382015260200161031a565b5050505090500194505050505060405180910390f35b34801561035457600080fd5b5061035d610cfd565b60408051918252519081900360200190f35b34801561037b57600080fd5b5061018c600435602435610d32565b34801561039657600080fd5b506101a3600435610f66565b3480156103ae57600080fd5b5061018c600480359060248035808201929081013591604435908101910135611049565b3480156103de57600080fd5b506101a3600160a060020a0360043516611241565b3480156103ff57600080fd5b5061035d611247565b34801561041457600080fd5b50610420600435611277565b60408051971515885267ffffffffffffffff968716602089015294861687860152929094166060860152608085015260a084019290925260c0830191909152519081900360e00190f35b34801561047657600080fd5b5061035d611366565b34801561048b57600080fd5b506101e4611391565b3480156104a057600080fd5b5061018c600160a060020a036004351667ffffffffffffffff602435811690604435166113a1565b3480156104d457600080fd5b5061018c600160a060020a0360043516611567565b3480156104f557600080fd5b5060408051602060046044358181013583810280860185019096528085526101a3958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506117f69650505050505050565b34801561055c57600080fd5b5061025a611946565b34801561057157600080fd5b5061035d6119fb565b34801561058657600080fd5b5061035d611a30565b34801561059b57600080fd5b5061035d600435602435611a35565b3480156105b657600080fd5b506101a3600435600160a060020a0360243516611b6a565b3480156105da57600080fd5b5061025a611caf565b3480156105ef57600080fd5b506101a3611cda565b34801561060457600080fd5b5061035d611ced565b34801561061957600080fd5b5061025a611cf3565b34801561062e57600080fd5b506101e4611d02565b34801561064357600080fd5b5061035d602460048035828101929101359035611d0e565b604080517f4d4f444946595f50415254494349504154494f4e5f524f4c4500000000000000815290519081900360190190206000546106ae9067ffffffffffffffff8085169160a060020a900416612021565b6106b93383836117f6565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561077b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610740578181015183820152602001610728565b50505050905090810190601f16801561076d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508260008167ffffffffffffffff161180156107a95750670de0b6b3a764000067ffffffffffffffff821611155b60408051808201909152601881527f5355525645595f4d494e5f50415254494349504154494f4e0000000000000000602082015290151561082f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506000805467ffffffffffffffff861660a060020a81027bffffffffffffffff0000000000000000000000000000000000000000199092169190911790915560408051918252517fcd5cfce8abc47dfd261ae8c03891adf6258e5727b8f0704986108033c25d8a719181900360200190a150505050565b6000806108b1611366565b905080158015906108c95750806108c661207c565b10155b91505090565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152829182106109475760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506109528233611b6a565b6040805180820190915260138152600080516020612d2d83398151915260208201529015156109c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506109d082612080565b5050565b60005460a060020a900467ffffffffffffffff1681565b60006109f5611946565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a53578181015183820152602001610a3b565b50505050905090810190601f168015610a805780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b505192915050565b6000610adb611caf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d6020811015610b4257600080fd5b5051905090565b606080600080856003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610bcb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506000878152600260209081526040808320600160a060020a038a168452600501909152902080549093501515610c1b576040805160008082526020820190815281830190925295509350610cf3565b8260000154600101604051908082528060200260200182016040528015610c4c578160200160208202803883390190505b5094508260000154600101604051908082528060200260200182016040528015610c80578160200160208202803883390190505b509350600091505b82548211610cf35760008281526001840160205260409020548551869084908110610caf57fe5b6020908102909101810191909152600083815260018086019092526040902001548451859084908110610cde57fe5b60209081029091010152600190910190610c88565b5050509250929050565b604080517f4d4f444946595f50415254494349504154494f4e5f524f4c45000000000000008152905190819003601901902081565b600080606080856003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610db45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50610dbf8733611b6a565b6040805180820190915260138152600080516020612d2d8339815191526020820152901515610e335760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600087815260026020908152604080832083548154835160e160020a63277166bf0281523360048201526801000000000000000090910467ffffffffffffffff1660248201529251919950600160a060020a031693634ee2cd7e93604480850194919392918390030190829087803b158015610eaf57600080fd5b505af1158015610ec3573d6000803e3d6000fd5b505050506040513d6020811015610ed957600080fd5b505160408051600180825281830190925291955060208083019080388339505060408051600180825281830190925292955090506020808301908038833901905050915085836000815181101515610f2d57fe5b602090810290910101528151849083906000908110610f4857fe5b60209081029091010152610f5d87848461226c565b50505050505050565b6000806000836003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610fe75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602081905260409091209081015460038201549194509061101e90670de0b6b3a764000063ffffffff61269d16565b81151561102757fe5b9354608060020a900467ffffffffffffffff1693049290921015949350505050565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152869182106110c15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5083821480156110d15750600084115b60408051808201909152601781527f5355525645595f564f54455f57524f4e475f494e50555400000000000000000060208201529015156111575760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506111628633611b6a565b6040805180820190915260138152600080516020612d2d83398151915260208201529015156111d65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50611239868686808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808c0282810182019093528b82529095508b94508a93508392508501908490808284375061226c945050505050565b505050505050565b50600190565b60006112727fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612754565b905090565b600080600080600080600080886003548110604080519081016040528060108152602001600080516020612d0d8339815191528152509015156112ff5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008a8152600260205260409020915061131982612758565b825460028401546003850154600190950154929d67ffffffffffffffff8084169e5068010000000000000000840481169d50608060020a9093049092169a50985092965094509092505050565b60006112727febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612754565b60015467ffffffffffffffff1681565b6113a9611366565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561142e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b508160008167ffffffffffffffff1611801561145c5750670de0b6b3a764000067ffffffffffffffff821611155b60408051808201909152601881527f5355525645595f4d494e5f50415254494349504154494f4e000000000000000060208201529015156114e25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506114eb6127a4565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0394909416939093177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a67ffffffffffffffff93841602179092556001805467ffffffffffffffff191692909116919091179055565b600080600061157584611241565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156115fb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50611604610ad1565b925061160f8361286c565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156116955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600160a060020a03841615156116e65760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156116e0573d6000803e3d6000fd5b506117a5565b5082611701600160a060020a0382163063ffffffff61289916565b915061171d600160a060020a038216848463ffffffff61299916565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156117a35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806118016108a6565b1515611810576000915061193e565b611818611caf565b9050600160a060020a0381161515611833576000915061193e565b80600160a060020a031663fdef910686308761184e88612a06565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156118c05781810151838201526020016118a8565b50505050905090810190601f1680156118ed5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561190f57600080fd5b505af1158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505191505b509392505050565b600080611951611caf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610a9f57600080fd5b604080517f4352454154455f535552564559535f524f4c45000000000000000000000000008152905190819003601301902081565b600081565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152600091829185918210611ab25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602090815260409182902060018101548351808501909452601084527f5355525645595f4e4f5f4f5054494f4e00000000000000000000000000000000928401929092529350851115611b525760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50506000928352600401602052506040902054919050565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152600091829185918210611be75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602052604090209150611c0182612758565b8015611ca657506000805483546040805160e160020a63277166bf028152600160a060020a0389811660048301526801000000000000000090930467ffffffffffffffff16602482015290519190921691634ee2cd7e91604480830192602092919082900301818787803b158015611c7857600080fd5b505af1158015611c8c573d6000803e3d6000fd5b505050506040513d6020811015611ca257600080fd5b5051115b95945050505050565b60006112727f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612754565b6000600019611ce7611366565b14905090565b60035481565b600054600160a060020a031681565b670de0b6b3a764000081565b604080517f4352454154455f535552564559535f524f4c450000000000000000000000000081528151908190036013018120600080835260208301909352829182918291611d5f90339083906117f6565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611de55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506001611df0612a10565b60008054604080517f981b24d00000000000000000000000000000000000000000000000000000000081529490930367ffffffffffffffff811660048601529251929750600160a060020a03169263981b24d09260248083019360209383900390910190829087803b158015611e6557600080fd5b505af1158015611e79573d6000803e3d6000fd5b505050506040513d6020811015611e8f57600080fd5b505160408051808201909152601681527f5355525645595f4e4f5f564f54494e475f504f57455200000000000000000000602082015290935060008411611f1b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600380546001810190915560008181526002602052604090209095509150611f42612a22565b825467ffffffffffffffff191667ffffffffffffffff918216176fffffffffffffffff0000000000000000191668010000000000000000868316021780845560005477ffffffffffffffff000000000000000000000000000000001990911660a060020a909104909116608060020a0217825560018201869055600282018390556040805160208082528101899052339187917fc3d5a5415194747f0a88ddaf6fd5b3a0bc7a38bdff4565302d65becfe38c9323918c918c918190810184848082843760405192018290039550909350505050a3505050509392505050565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151561205157fe5b60209081029091010152805182908290600190811061206c57fe5b6020908102909101015292915050565b4390565b60008181526002602090815260408083203384526005810190925282208054919290918190819081908190819081101561226157600195505b8654861161216f5760008681526001808901602090815260408084208054855260048d01909252909220549082015491965094506120fe90859063ffffffff612a2f16565b8554600090815260048a01602090815260409182902083905587546001890154835191825291810191909152808201839052905191945033918b917fe4778d6252fa7c1a38460bdeff43c5ea0736fecde4cf7ef98fbf23410f40d6a9919081900360600190a36001909501946120b9565b6000805489546040805160e160020a63277166bf0281523360048201526801000000000000000090920467ffffffffffffffff16602483015251600160a060020a0390921692634ee2cd7e926044808401936020939083900390910190829087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b505050506040513d602081101561220757600080fd5b505160008080526001808a016020526040909120015490925061223190839063ffffffff612a2f16565b6003890154909150612249908263ffffffff612a2f16565b60038901553360009081526005890160205260408120555b505050505050505050565b60008381526002602090815260408083203384526005810190925282209091808080806122988a612080565b604080518082018252600080825260208083018281528280526001808c0190925293822092518355925191830191909155955093505b885184116125a45788600185038151811015156122e757fe5b906020019060200201519250876001850381518110151561230457fe5b90602001906020020151915060008314158015612325575086600101548311155b60408051808201909152601881527f5355525645595f564f54455f57524f4e475f4f5054494f4e000000000000000060208201529015156123ab5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060408051808201909152600f81527f5355525645595f4e4f5f5354414b4500000000000000000000000000000000006020820152600083116124335760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060001984016000908152600187016020908152604091829020548251808401909352601a83527f5355525645595f4f5054494f4e535f4e4f545f4f5244455245440000000000009183019190915284116124d35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50604080518082018252848152602080820185815260008881526001808c018452858220945185559151939091019290925585825260048a0190522054612520908363ffffffff612ac316565b6000848152600489016020526040902055612541858363ffffffff612ac316565b600084815260048901602090815260409182902054825187815291820186905281830152905191965033918c917f1cfef7fb7190f56297ab36883b20210188115eb9dd9c097c1165dd170a64b289919081900360600190a36001909301926122ce565b6000805488546040805160e160020a63277166bf0281523360048201526801000000000000000090920467ffffffffffffffff16602483015251600160a060020a0390921692634ee2cd7e926044808401936020939083900390910190829087803b15801561261257600080fd5b505af1158015612626573d6000803e3d6000fd5b505050506040513d602081101561263c57600080fd5b50519050612650818663ffffffff612a2f16565b600080805260018089016020526040909120015588518655600387015461267d908663ffffffff612ac316565b600388018190556002880154101561269157fe5b50505050505050505050565b6000808315156126b0576000915061274d565b508282028284828115156126c057fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b508091505b5092915050565b5490565b600154815460009161277d9167ffffffffffffffff908116911663ffffffff612b5116565b67ffffffffffffffff1661278f612a22565b67ffffffffffffffff161092915050565b5490565b6127ac611366565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156128315760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5061286a61283d61207c565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612bec16565b565b600080600160a060020a03831615156128885760009150612893565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806129048684612bf0565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561298f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090611ca68582612c21565b8051602002815290565b6000611272612a1d61207c565b612c6f565b6000611272612a1d612d08565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612abb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f570000000000000000000000000060208201526000908383019067ffffffffffffffff80861690831610156127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b9055565b6000806000806040516020818751602089018a5afa92506000831115612c1557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612c65573d8015612c525760208114612c5b57612c63565b60019350612c63565b600183511493505b505b5090949350505050565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115612d015760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5090919050565b429056005355525645595f4e4f5f535552564559000000000000000000000000000000005355525645595f43414e5f4e4f545f564f544500000000000000000000000000a165627a7a723058202baf8d0a15f5af20a001fa5fcf3dd835d5abaa280a8a9e19a87563c8f1a0e3bb0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101655763ffffffff60e060020a6000350416623c0627811461016a5780630803fac01461018e5780630cc3b1c8146101b75780631128915c146101cf5780632914b9bd1461020157806332f0a3b5146102765780634b12311c1461028b5780634c54b8c114610348578063509bd3371461036f5780636697a7be1461038a57806374609899146103a25780637e7db6e1146103d257806380afdea8146103f357806389670e15146104085780638b3dd7491461046a5780638cb4eb411461047f578063989a8366146104945780639d4941d8146104c8578063a1658fad146104e9578063a479e50814610550578063a83efef614610565578063bc6a48e91461057a578063c65720231461058f578063cdb2867b146105aa578063d4aae0c4146105ce578063de4796ed146105e3578063fb71098c146105f8578063fc0c546a1461060d578063fc157cb414610622578063ffe2e9f214610637575b600080fd5b34801561017657600080fd5b5061018c67ffffffffffffffff6004351661065b565b005b34801561019a57600080fd5b506101a36108a6565b604080519115158252519081900360200190f35b3480156101c357600080fd5b5061018c6004356108cf565b3480156101db57600080fd5b506101e46109d4565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561020d57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261025a9436949293602493928401919081908401838280828437509497506109eb9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561028257600080fd5b5061025a610ad1565b34801561029757600080fd5b506102af600435600160a060020a0360243516610b49565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102f35781810151838201526020016102db565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561033257818101518382015260200161031a565b5050505090500194505050505060405180910390f35b34801561035457600080fd5b5061035d610cfd565b60408051918252519081900360200190f35b34801561037b57600080fd5b5061018c600435602435610d32565b34801561039657600080fd5b506101a3600435610f66565b3480156103ae57600080fd5b5061018c600480359060248035808201929081013591604435908101910135611049565b3480156103de57600080fd5b506101a3600160a060020a0360043516611241565b3480156103ff57600080fd5b5061035d611247565b34801561041457600080fd5b50610420600435611277565b60408051971515885267ffffffffffffffff968716602089015294861687860152929094166060860152608085015260a084019290925260c0830191909152519081900360e00190f35b34801561047657600080fd5b5061035d611366565b34801561048b57600080fd5b506101e4611391565b3480156104a057600080fd5b5061018c600160a060020a036004351667ffffffffffffffff602435811690604435166113a1565b3480156104d457600080fd5b5061018c600160a060020a0360043516611567565b3480156104f557600080fd5b5060408051602060046044358181013583810280860185019096528085526101a3958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506117f69650505050505050565b34801561055c57600080fd5b5061025a611946565b34801561057157600080fd5b5061035d6119fb565b34801561058657600080fd5b5061035d611a30565b34801561059b57600080fd5b5061035d600435602435611a35565b3480156105b657600080fd5b506101a3600435600160a060020a0360243516611b6a565b3480156105da57600080fd5b5061025a611caf565b3480156105ef57600080fd5b506101a3611cda565b34801561060457600080fd5b5061035d611ced565b34801561061957600080fd5b5061025a611cf3565b34801561062e57600080fd5b506101e4611d02565b34801561064357600080fd5b5061035d602460048035828101929101359035611d0e565b604080517f4d4f444946595f50415254494349504154494f4e5f524f4c4500000000000000815290519081900360190190206000546106ae9067ffffffffffffffff8085169160a060020a900416612021565b6106b93383836117f6565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561077b5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610740578181015183820152602001610728565b50505050905090810190601f16801561076d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508260008167ffffffffffffffff161180156107a95750670de0b6b3a764000067ffffffffffffffff821611155b60408051808201909152601881527f5355525645595f4d494e5f50415254494349504154494f4e0000000000000000602082015290151561082f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506000805467ffffffffffffffff861660a060020a81027bffffffffffffffff0000000000000000000000000000000000000000199092169190911790915560408051918252517fcd5cfce8abc47dfd261ae8c03891adf6258e5727b8f0704986108033c25d8a719181900360200190a150505050565b6000806108b1611366565b905080158015906108c95750806108c661207c565b10155b91505090565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152829182106109475760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506109528233611b6a565b6040805180820190915260138152600080516020612d2d83398151915260208201529015156109c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506109d082612080565b5050565b60005460a060020a900467ffffffffffffffff1681565b60006109f5611946565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a53578181015183820152602001610a3b565b50505050905090810190601f168015610a805780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b505192915050565b6000610adb611caf565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d6020811015610b4257600080fd5b5051905090565b606080600080856003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610bcb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506000878152600260209081526040808320600160a060020a038a168452600501909152902080549093501515610c1b576040805160008082526020820190815281830190925295509350610cf3565b8260000154600101604051908082528060200260200182016040528015610c4c578160200160208202803883390190505b5094508260000154600101604051908082528060200260200182016040528015610c80578160200160208202803883390190505b509350600091505b82548211610cf35760008281526001840160205260409020548551869084908110610caf57fe5b6020908102909101810191909152600083815260018086019092526040902001548451859084908110610cde57fe5b60209081029091010152600190910190610c88565b5050509250929050565b604080517f4d4f444946595f50415254494349504154494f4e5f524f4c45000000000000008152905190819003601901902081565b600080606080856003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610db45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50610dbf8733611b6a565b6040805180820190915260138152600080516020612d2d8339815191526020820152901515610e335760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600087815260026020908152604080832083548154835160e160020a63277166bf0281523360048201526801000000000000000090910467ffffffffffffffff1660248201529251919950600160a060020a031693634ee2cd7e93604480850194919392918390030190829087803b158015610eaf57600080fd5b505af1158015610ec3573d6000803e3d6000fd5b505050506040513d6020811015610ed957600080fd5b505160408051600180825281830190925291955060208083019080388339505060408051600180825281830190925292955090506020808301908038833901905050915085836000815181101515610f2d57fe5b602090810290910101528151849083906000908110610f4857fe5b60209081029091010152610f5d87848461226c565b50505050505050565b6000806000836003548110604080519081016040528060108152602001600080516020612d0d833981519152815250901515610fe75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602081905260409091209081015460038201549194509061101e90670de0b6b3a764000063ffffffff61269d16565b81151561102757fe5b9354608060020a900467ffffffffffffffff1693049290921015949350505050565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152869182106110c15760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5083821480156110d15750600084115b60408051808201909152601781527f5355525645595f564f54455f57524f4e475f494e50555400000000000000000060208201529015156111575760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506111628633611b6a565b6040805180820190915260138152600080516020612d2d83398151915260208201529015156111d65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50611239868686808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808c0282810182019093528b82529095508b94508a93508392508501908490808284375061226c945050505050565b505050505050565b50600190565b60006112727fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612754565b905090565b600080600080600080600080886003548110604080519081016040528060108152602001600080516020612d0d8339815191528152509015156112ff5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008a8152600260205260409020915061131982612758565b825460028401546003850154600190950154929d67ffffffffffffffff8084169e5068010000000000000000840481169d50608060020a9093049092169a50985092965094509092505050565b60006112727febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612754565b60015467ffffffffffffffff1681565b6113a9611366565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561142e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b508160008167ffffffffffffffff1611801561145c5750670de0b6b3a764000067ffffffffffffffff821611155b60408051808201909152601881527f5355525645595f4d494e5f50415254494349504154494f4e000000000000000060208201529015156114e25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506114eb6127a4565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0394909416939093177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a67ffffffffffffffff93841602179092556001805467ffffffffffffffff191692909116919091179055565b600080600061157584611241565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156115fb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50611604610ad1565b925061160f8361286c565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156116955760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600160a060020a03841615156116e65760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156116e0573d6000803e3d6000fd5b506117a5565b5082611701600160a060020a0382163063ffffffff61289916565b915061171d600160a060020a038216848463ffffffff61299916565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156117a35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806118016108a6565b1515611810576000915061193e565b611818611caf565b9050600160a060020a0381161515611833576000915061193e565b80600160a060020a031663fdef910686308761184e88612a06565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156118c05781810151838201526020016118a8565b50505050905090810190601f1680156118ed5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561190f57600080fd5b505af1158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505191505b509392505050565b600080611951611caf565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610a9f57600080fd5b604080517f4352454154455f535552564559535f524f4c45000000000000000000000000008152905190819003601301902081565b600081565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152600091829185918210611ab25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602090815260409182902060018101548351808501909452601084527f5355525645595f4e4f5f4f5054494f4e00000000000000000000000000000000928401929092529350851115611b525760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50506000928352600401602052506040902054919050565b6003546040805180820190915260108152600080516020612d0d8339815191526020820152600091829185918210611be75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060008581526002602052604090209150611c0182612758565b8015611ca657506000805483546040805160e160020a63277166bf028152600160a060020a0389811660048301526801000000000000000090930467ffffffffffffffff16602482015290519190921691634ee2cd7e91604480830192602092919082900301818787803b158015611c7857600080fd5b505af1158015611c8c573d6000803e3d6000fd5b505050506040513d6020811015611ca257600080fd5b5051115b95945050505050565b60006112727f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612754565b6000600019611ce7611366565b14905090565b60035481565b600054600160a060020a031681565b670de0b6b3a764000081565b604080517f4352454154455f535552564559535f524f4c450000000000000000000000000081528151908190036013018120600080835260208301909352829182918291611d5f90339083906117f6565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611de55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b506001611df0612a10565b60008054604080517f981b24d00000000000000000000000000000000000000000000000000000000081529490930367ffffffffffffffff811660048601529251929750600160a060020a03169263981b24d09260248083019360209383900390910190829087803b158015611e6557600080fd5b505af1158015611e79573d6000803e3d6000fd5b505050506040513d6020811015611e8f57600080fd5b505160408051808201909152601681527f5355525645595f4e4f5f564f54494e475f504f57455200000000000000000000602082015290935060008411611f1b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50600380546001810190915560008181526002602052604090209095509150611f42612a22565b825467ffffffffffffffff191667ffffffffffffffff918216176fffffffffffffffff0000000000000000191668010000000000000000868316021780845560005477ffffffffffffffff000000000000000000000000000000001990911660a060020a909104909116608060020a0217825560018201869055600282018390556040805160208082528101899052339187917fc3d5a5415194747f0a88ddaf6fd5b3a0bc7a38bdff4565302d65becfe38c9323918c918c918190810184848082843760405192018290039550909350505050a3505050509392505050565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151561205157fe5b60209081029091010152805182908290600190811061206c57fe5b6020908102909101015292915050565b4390565b60008181526002602090815260408083203384526005810190925282208054919290918190819081908190819081101561226157600195505b8654861161216f5760008681526001808901602090815260408084208054855260048d01909252909220549082015491965094506120fe90859063ffffffff612a2f16565b8554600090815260048a01602090815260409182902083905587546001890154835191825291810191909152808201839052905191945033918b917fe4778d6252fa7c1a38460bdeff43c5ea0736fecde4cf7ef98fbf23410f40d6a9919081900360600190a36001909501946120b9565b6000805489546040805160e160020a63277166bf0281523360048201526801000000000000000090920467ffffffffffffffff16602483015251600160a060020a0390921692634ee2cd7e926044808401936020939083900390910190829087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b505050506040513d602081101561220757600080fd5b505160008080526001808a016020526040909120015490925061223190839063ffffffff612a2f16565b6003890154909150612249908263ffffffff612a2f16565b60038901553360009081526005890160205260408120555b505050505050505050565b60008381526002602090815260408083203384526005810190925282209091808080806122988a612080565b604080518082018252600080825260208083018281528280526001808c0190925293822092518355925191830191909155955093505b885184116125a45788600185038151811015156122e757fe5b906020019060200201519250876001850381518110151561230457fe5b90602001906020020151915060008314158015612325575086600101548311155b60408051808201909152601881527f5355525645595f564f54455f57524f4e475f4f5054494f4e000000000000000060208201529015156123ab5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060408051808201909152600f81527f5355525645595f4e4f5f5354414b4500000000000000000000000000000000006020820152600083116124335760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5060001984016000908152600187016020908152604091829020548251808401909352601a83527f5355525645595f4f5054494f4e535f4e4f545f4f5244455245440000000000009183019190915284116124d35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b50604080518082018252848152602080820185815260008881526001808c018452858220945185559151939091019290925585825260048a0190522054612520908363ffffffff612ac316565b6000848152600489016020526040902055612541858363ffffffff612ac316565b600084815260048901602090815260409182902054825187815291820186905281830152905191965033918c917f1cfef7fb7190f56297ab36883b20210188115eb9dd9c097c1165dd170a64b289919081900360600190a36001909301926122ce565b6000805488546040805160e160020a63277166bf0281523360048201526801000000000000000090920467ffffffffffffffff16602483015251600160a060020a0390921692634ee2cd7e926044808401936020939083900390910190829087803b15801561261257600080fd5b505af1158015612626573d6000803e3d6000fd5b505050506040513d602081101561263c57600080fd5b50519050612650818663ffffffff612a2f16565b600080805260018089016020526040909120015588518655600387015461267d908663ffffffff612ac316565b600388018190556002880154101561269157fe5b50505050505050505050565b6000808315156126b0576000915061274d565b508282028284828115156126c057fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b508091505b5092915050565b5490565b600154815460009161277d9167ffffffffffffffff908116911663ffffffff612b5116565b67ffffffffffffffff1661278f612a22565b67ffffffffffffffff161092915050565b5490565b6127ac611366565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156128315760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5061286a61283d61207c565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612bec16565b565b600080600160a060020a03831615156128885760009150612893565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806129048684612bf0565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561298f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090611ca68582612c21565b8051602002815290565b6000611272612a1d61207c565b612c6f565b6000611272612a1d612d08565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612abb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f570000000000000000000000000060208201526000908383019067ffffffffffffffff80861690831610156127485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b9055565b6000806000806040516020818751602089018a5afa92506000831115612c1557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612c65573d8015612c525760208114612c5b57612c63565b60019350612c63565b600183511493505b505b5090949350505050565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115612d015760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610740578181015183820152602001610728565b5090919050565b429056005355525645595f4e4f5f535552564559000000000000000000000000000000005355525645595f43414e5f4e4f545f564f544500000000000000000000000000a165627a7a723058202baf8d0a15f5af20a001fa5fcf3dd835d5abaa280a8a9e19a87563c8f1a0e3bb0029", - "sourceMap": "307:14714:21:-;;;344:9:40;:7;;;;:9;:::i;:::-;307:14714:21;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;307:14714:21:-;;;;;;;", - "deployedSourceMap": "307:14714:21:-;;;;;;;;;-1:-1:-1;;;307:14714:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4621:377;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4621:377:21;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;6311:179:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6311:179:21;;;;;2519:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2519:33:21;;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;9405:679:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9405:679:21;;;-1:-1:-1;;;;;9405:679:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;9405:679:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;9405:679:21;;;;;;;;;;;;;;;;;;;492:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;492:90:21;;;;;;;;;;;;;;;;;;;;7658:619;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7658:619:21;;;;;;;10387:360;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10387:360:21;;;;;6908:368;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6908:368:21;;;;;;;;;;;;;;;;;;;;;;;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;8570:715:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8570:715:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;2558:24:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2558:24:21;;;;4086:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4086:358:21;-1:-1:-1;;;;;4086:358:21;;;;;;;;;;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;408:78:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;408:78:21;;;;673:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;673:40:21;;;;10090:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10090:291:21;;;;;;;8302:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8302:262:21;;;-1:-1:-1;;;;;8302:262:21;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;2737:28:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2737:28:21;;;;2489:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2489:24:21;;;;589:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;589:42:21;;;;5241:767;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5241:767:21;;;;;;;;;;;;;;;;4621:377;544:38;;;;;;;;;;;;;;;;4792:19;;4749:64;;4753:29;;;;;-1:-1:-1;;;4792:19:21;;;4749:3;:64::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;;;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4853:20:21;3286:1;3263:20;:24;;;:60;;;;-1:-1:-1;623:8:21;3291:32;;;;;3263:60;3325:23;;;;;;;;;;;;;;;;;;3255:94;;;;;;-1:-1:-1;;;;;3255:94:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3255:94:21;-1:-1:-1;4889:19:21;:42;;;;;-1:-1:-1;;;4889:42:21;;-1:-1:-1;;4889:42:21;;;;;;;;;;4947:44;;;;;;;;;;;;;;;;1216:1:39;4621:377:21;;;:::o;1128:208:48:-;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;6311:179:21:-;3444:13;;3459:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;;6371:9;;3432:25;;3424:51;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;;6400:30;6408:9;6419:10;6400:7;:30::i;:::-;6432:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6432:18:21;;;;;6392:59;;;;;;-1:-1:-1;;;;;6392:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6392:59:21;;6462:21;6473:9;6462:10;:21::i;:::-;6311:179;;:::o;2519:33::-;;;-1:-1:-1;;;2519:33:21;;;;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;9405:679:21:-;9542:17;9561:16;9593:28;9910:9;9514;3444:13;;3432:9;:25;3459:15;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;3424:51;;;;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;9624:18:21;;;;:7;:18;;;;;;;;-1:-1:-1;;;;;9624:32:21;;;;:24;;:32;;;;;9671:24;;9624:32;;-1:-1:-1;9671:29:21;9667:103;;;9724:16;;;9738:1;9724:16;;;;;;9742;;;;;;;;;9724;-1:-1:-1;9724:16:21;-1:-1:-1;9716:43:21;;9667:103;9804:4;:24;;;9831:1;9804:28;9790:43;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;9790:43:21;;9780:53;;9866:4;:24;;;9893:1;9866:28;9852:43;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;9852:43:21;;9843:52;;9922:1;9910:13;;9905:173;9930:24;;9925:29;;9905:173;;9988:19;;;;:16;;;:19;;;;;:28;9975:10;;:7;;10005:1;;9975:10;;;;;;;;;;;;;;;:41;;;;10042:19;;;;:16;;;;:19;;;;;;:25;;10030:9;;:6;;10059:1;;10030:9;;;;;;;;;;;;;;:37;9956:3;;;;;9905:173;;;9405:679;;;;;;;;:::o;492:90::-;544:38;;;;;;;;;;;;;;;;492:90;:::o;7658:619::-;7829:27;7978:18;8060:24;8113:23;7738:9;3444:13;;3432:9;:25;3459:15;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;3424:51;;;;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;;7767:30;7775:9;7786:10;7767:7;:30::i;:::-;7799:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7799:18:21;;;;;7759:59;;;;;;-1:-1:-1;;;;;7759:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7759:59:21;-1:-1:-1;7859:18:21;;;;:7;:18;;;;;;;;7999:5;;8029:20;;7999:51;;-1:-1:-1;;;;;7999:51:21;;8017:10;7999:51;;;;8029:20;;;;;;7999:51;;;;;;7859:18;;-1:-1:-1;;;;;;7999:5:21;;:17;;:51;;;;;7859:18;;7999:51;;;;;;;;;:5;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;7999:51:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7999:51:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7999:51:21;8087:16;;;8101:1;8087:16;;;;;;;;;7999:51;;-1:-1:-1;8087:16:21;;;;;;105:10:-1;8087:16:21;88:34:-1;-1:-1;;8139:16:21;;;8153:1;8139:16;;;;;;;;;8060:43;;-1:-1:-1;8153:1:21;-1:-1:-1;8139:16:21;;;;;;105:10:-1;8139:16:21;88:34:-1;136:17;;-1:-1;8139:16:21;8113:42;;8178:9;8165:7;8173:1;8165:10;;;;;;;;;;;;;;;;;;:22;8197:9;;8209:10;;8197:6;;8204:1;;8197:9;;;;;;;;;;;;;;:22;8230:40;8243:9;8254:7;8263:6;8230:12;:40::i;:::-;7658:619;;;;;;;:::o;10387:360::-;10484:4;10500:27;10595:24;10464:9;3444:13;;3432:9;:25;3459:15;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;3424:51;;;;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;10530:18:21;;;;:7;:18;;;;;;;;10659;;;;10622:20;;;;10530:18;;-1:-1:-1;10659:18:21;10622:34;;623:8;10622:34;:24;:34;:::i;:::-;:55;;;;;;;10714:26;;-1:-1:-1;;;10714:26:21;;;;10622:55;;10694:46;;;;;;10387:360;-1:-1:-1;;;;10387:360:21:o;6908:368::-;3444:13;;3459:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;;7027:9;;3432:25;;3424:51;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;7060:35:21;;;:60;;;;-1:-1:-1;7119:1:21;7099:21;;7060:60;7122:22;;;;;;;;;;;;;;;;;;7052:93;;;;;;-1:-1:-1;;;;;7052:93:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7052:93:21;;7163:30;7171:9;7182:10;7163:7;:30::i;:::-;7195:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7195:18:21;;;;;7155:59;;;;;;-1:-1:-1;;;;;7155:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7155:59:21;;7225:44;7238:9;7249:10;;7225:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7225:44:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7261:7:21;;-1:-1:-1;7261:7:21;;-1:-1:-1;7261:7:21;;-1:-1:-1;7225:44:21;;;7261:7;;7225:44;7261:7;7225:44;;-1:-1:-1;7225:12:21;;-1:-1:-1;;;;;7225:44:21:i;:::-;6908:368;;;;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;8570:715:21:-;8698:9;8721:16;8751:20;8785:23;8822:19;8855:21;8890:15;8930:27;8657:9;3444:13;;3432:9;:25;3459:15;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;3424:51;;;;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;8960:18:21;;;;:7;:18;;;;;;-1:-1:-1;8996:21:21;8960:18;8996:13;:21::i;:::-;9039:16;;9180:18;;;;9224:20;;;;9039:16;9264:14;;;;8989:28;;9039:16;;;;;-1:-1:-1;9081:20:21;;;;;;-1:-1:-1;;;;9130:26:21;;;;;;;-1:-1:-1;9180:18:21;-1:-1:-1;9224:20:21;;-1:-1:-1;9264:14:21;-1:-1:-1;8570:715:21;;-1:-1:-1;;;8570:715:21:o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;2558:24:21:-;;;;;;:::o;4086:358::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;4277:20:21;3286:1;3263:20;:24;;;:60;;;;-1:-1:-1;623:8:21;3291:32;;;;;3263:60;3325:23;;;;;;;;;;;;;;;;;;3255:94;;;;;;-1:-1:-1;;;;;3255:94:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3255:94:21;;4313:13;:11;:13::i;:::-;-1:-1:-1;4337:5:21;:14;;-1:-1:-1;;4337:14:21;-1:-1:-1;;;;;4337:14:21;;;;;;;;-1:-1:-1;;4361:42:21;-1:-1:-1;;;4361:42:21;;;;;;;;;-1:-1:-1;4413:24:21;;-1:-1:-1;;4413:24:21;;;;;;;;;;;4086:358::o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;408:78:21;454:32;;;;;;;;;;;;;;;;408:78;:::o;673:40::-;712:1;673:40;:::o;10090:291::-;3444:13;;3459:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;;10197:7;;;;10177:9;;3432:25;;3424:51;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;10246:18:21;;;;:7;:18;;;;;;;;;10295:14;;;;10311:15;;;;;;;;;;;;;;;;;;;10246:18;-1:-1:-1;10282:27:21;;;10274:53;;;;-1:-1:-1;;;;;10274:53:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10274:53:21;-1:-1:-1;;10345:29:21;;;;:18;;:29;;-1:-1:-1;10345:29:21;;;;;10090:291;-1:-1:-1;10090:291:21:o;8302:262::-;3444:13;;3459:15;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3459:15:21;;;;8399:4;;;;8379:9;;3432:25;;3424:51;;;;-1:-1:-1;;;;;3424:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3424:51:21;-1:-1:-1;8445:18:21;;;;:7;:18;;;;;;-1:-1:-1;8481:21:21;8445:18;8481:13;:21::i;:::-;:76;;;;-1:-1:-1;8556:1:21;8506:5;;8532:20;;8506:47;;;-1:-1:-1;;;;;8506:47:21;;-1:-1:-1;;;;;8506:47:21;;;;;;;8532:20;;;;;;8506:47;;;;;;:5;;;;;:17;;:47;;;;;;;;;;;;;;8556:1;8506:5;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;8506:47:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8506:47:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8506:47:21;:51;8481:76;8474:83;8302:262;-1:-1:-1;;;;;8302:262:21:o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;2737:28:21:-;;;;:::o;2489:24::-;;;-1:-1:-1;;;;;2489:24:21;;:::o;589:42::-;623:8;589:42;:::o;5241:767::-;454:32;;;;;;;;;;;;;;;;5340:16;1020::39;;;;;;;;;5340::21;;;;;;990:47:39;;1001:10;;454:32:21;;990:10:39;:47::i;:::-;1039:17;;;;;;;;;;;;;;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;5412:1:21;5391:18;:16;:18::i;:::-;5487:5;;;:34;;;;;;5391:22;;;;5487:34;;;;;;;;;5391:22;;-1:-1:-1;;;;;;5487:5:21;;:19;;:34;;;;;;;;;;;;;;;;:5;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;5487:34:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5487:34:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5487:34:21;5556:21;;;;;;;;;;;;;5487:34;5556:21;;;5487:34;;-1:-1:-1;5553:1:21;5539:15;;5531:47;;;;-1:-1:-1;;;;;5531:47:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5531:47:21;-1:-1:-1;5600:13:21;:15;;;;;;;;:13;5656:17;;;:7;:17;;;;;5600:15;;-1:-1:-1;5656:17:21;-1:-1:-1;5702:16:21;:14;:16::i;:::-;5683:35;;-1:-1:-1;;5683:35:21;;;;;;-1:-1:-1;;5728:36:21;;;;;;;;;;-1:-1:-1;5845:19:21;-1:-1:-1;;5816:48:21;;;-1:-1:-1;;;5845:19:21;;;;;;-1:-1:-1;;;5816:48:21;;;;-1:-1:-1;5874:14:21;;:25;;;5909:18;;;:32;;;5957:44;;;;;;;;;;;;5979:10;;5969:8;;5957:44;;5991:9;;5957:44;;;;;;5991:9;5957:44;;5991:9;5957:44;;;;;;;;;;-1:-1:-1;5957:44:21;;-1:-1:-1;;;;5957:44:21;5241:767;;;;;;;;;:::o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;347:94:53:-;422:12;347:94;:::o;10854:1406:21:-;10912:27;10942:18;;;:7;:18;;;;;;;;11022:10;11009:24;;:12;;;:24;;;;;11047:32;;10942:18;;11009:24;;10912:27;;;;;;;;;;11047:36;-1:-1:-1;11043:1211:21;;;11186:1;11174:13;;11169:572;11194:32;;11189:37;;11169:572;;11291:27;;;;:24;;;;:27;;;;;;;;11385;;11366:47;;:18;;;:47;;;;;;;11484:24;;;;11291:27;;-1:-1:-1;11366:47:21;-1:-1:-1;11460:49:21;;11366:47;;11460:49;:23;:49;:::i;:::-;11546:27;;11527:47;;;;:18;;;:47;;;;;;;;;:68;;;11652:27;;11681:24;;;;11619:107;;;;;;;;;;;;;;;;;;;;11431:78;;-1:-1:-1;11640:10:21;;11629:9;;11619:107;;;;;;;;;;11228:3;;;;;11169:572;;;11867:5;;;11897:20;;11867:51;;;-1:-1:-1;;;;;11867:51:21;;11885:10;11867:51;;;;11897:20;;;;;;11867:51;;;;;-1:-1:-1;;;;;11867:5:21;;;;:17;;:51;;;;;;;;;;;;;;;;;:5;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;11867:51:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11867:51:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11867:51:21;11979:27;;;;:24;;;;11867:51;11979:27;;;;;:33;;11867:51;;-1:-1:-1;11964:49:21;;11867:51;;11964:49;:14;:49;:::i;:::-;12104:20;;;;11932:81;;-1:-1:-1;12104:47:21;;11932:81;12104:47;:24;:47;:::i;:::-;12081:20;;;:70;12232:10;12219:24;;;;:12;;;:24;;;;;12212:31;11043:1211;10854:1406;;;;;;;;;:::o;12346:2509::-;12447:27;12477:18;;;:7;:18;;;;;;;;12556:10;12543:24;;:12;;;:24;;;;;12477:18;;12447:27;;;;12619:21;12485:9;12619:10;:21::i;:::-;12760:48;;;;;;;;12672:1;12760:48;;;;;;;;;;12731:26;;;:23;;;;:26;;;;;;:77;;;;;;;;;;;;;12672:1;-1:-1:-1;12731:23:21;-1:-1:-1;12818:1410:21;12863:17;;12848:32;;12818:1410;;13192:10;13217:1;13203:11;:15;13192:27;;;;;;;;;;;;;;;;;;13173:46;;13249:7;13271:1;13257:11;:15;13249:24;;;;;;;;;;;;;;;;;;13233:40;;712:1;13296:8;:24;;:54;;;;;13336:6;:14;;;13324:8;:26;;13296:54;13352:23;;;;;;;;;;;;;;;;;;13288:88;;;;;;-1:-1:-1;;;;;13288:88:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13288:88:21;-1:-1:-1;13409:14:21;;;;;;;;;;;;;;;;;13406:1;13398:9;;13390:34;;;;-1:-1:-1;;;;;13390:34:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13390:34:21;-1:-1:-1;;;13692:15:21;;13668:40;;;;:23;;;:40;;;;;;;;;:49;13730:25;;;;;;;;;;;;;;;;;;;13668:60;-1:-1:-1;13660:96:21;;;;-1:-1:-1;;;;;13660:96:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13660:96:21;-1:-1:-1;13847:48:21;;;;;;;;;;;;;;;;;;-1:-1:-1;13808:36:21;;;:23;;;;:36;;;;;:87;;;;;;;;;;;;;;13984:28;;;:18;;;:28;;;;:39;;13887:5;13984:39;:32;:39;:::i;:::-;13953:28;;;;:18;;;:28;;;;;:70;14098:21;:10;14113:5;14098:21;:14;:21;:::i;:::-;14188:28;;;;:18;;;:28;;;;;;;;;;14139:78;;;;;;;;;;;;;;;;;14085:34;;-1:-1:-1;14159:10:21;;14148:9;;14139:78;;;;;;;;;;12882:13;;;;;12818:1410;;;14445:5;;;14475:20;;14445:51;;;-1:-1:-1;;;;;14445:51:21;;14463:10;14445:51;;;;14475:20;;;;;;14445:51;;;;;-1:-1:-1;;;;;14445:5:21;;;;:17;;:51;;;;;;;;;;;;;;;;;:5;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;14445:51:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14445:51:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14445:51:21;;-1:-1:-1;14541:26:21;14445:51;14556:10;14541:26;:14;:26;:::i;:::-;14506;;;;:23;;;;:26;;;;;;:32;:61;14656:17;;14622:51;;14752:20;;;;:36;;14777:10;14752:36;:24;:36;:::i;:::-;14729:20;;;:59;;;14829:18;;;;-1:-1:-1;14805:42:21;14798:50;;;;12346:2509;;;;;;;;;;:::o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1066:41:79;;1125:1;1118:8;;685:448;;;;;;:::o;379:134:55:-;490:15;;480:27::o;14861:158:21:-;15001:10;;14979:17;;14937:4;;14979:33;;15001:10;14979:17;;;;15001:10;14979:33;:21;:33;:::i;:::-;14960:52;;:16;:14;:16::i;:::-;:52;;;;14861:158;-1:-1:-1;;14861:158:21:o;519:134:55:-;630:15;;620:27::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;646:110:53:-;697:6;722:27;:16;:14;:16::i;:::-;:25;:27::i;1261:106::-;1310:6;1335:25;:14;:12;:14::i;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;1928:170::-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1835:166:80;1956:18;;;;;;;;;;;;;;;;;1893:6;;1922:7;;;;1947;;;;;;;;;1939:36;;;;-1:-1:-1;;;;;1939:36:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1028:119:55;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;188:149:54:-;283:20;;;;;;;;;;;;;;;;;240:6;;271:10;266:15;;;258:46;;;;-1:-1:-1;;;;;258:46:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;258:46:54;-1:-1:-1;328:1:54;;188:149;-1:-1:-1;188:149:54:o;926:144:53:-;999:15;926:144;:::o", - "source": "/*\n * SPDX-License-Identitifer: GPL-3.0-or-later\n */\n\npragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\n\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath64.sol\";\n\nimport \"@aragon/apps-shared-minime/contracts/MiniMeToken.sol\";\n\n\ncontract Survey is AragonApp {\n using SafeMath for uint256;\n using SafeMath64 for uint64;\n\n bytes32 public constant CREATE_SURVEYS_ROLE = keccak256(\"CREATE_SURVEYS_ROLE\");\n bytes32 public constant MODIFY_PARTICIPATION_ROLE = keccak256(\"MODIFY_PARTICIPATION_ROLE\");\n\n uint64 public constant PCT_BASE = 10 ** 18; // 0% = 0; 1% = 10^16; 100% = 10^18\n uint256 public constant ABSTAIN_VOTE = 0;\n\n string private constant ERROR_MIN_PARTICIPATION = \"SURVEY_MIN_PARTICIPATION\";\n string private constant ERROR_NO_SURVEY = \"SURVEY_NO_SURVEY\";\n string private constant ERROR_NO_VOTING_POWER = \"SURVEY_NO_VOTING_POWER\";\n string private constant ERROR_CAN_NOT_VOTE = \"SURVEY_CAN_NOT_VOTE\";\n string private constant ERROR_VOTE_WRONG_INPUT = \"SURVEY_VOTE_WRONG_INPUT\";\n string private constant ERROR_VOTE_WRONG_OPTION = \"SURVEY_VOTE_WRONG_OPTION\";\n string private constant ERROR_NO_STAKE = \"SURVEY_NO_STAKE\";\n string private constant ERROR_OPTIONS_NOT_ORDERED = \"SURVEY_OPTIONS_NOT_ORDERED\";\n string private constant ERROR_NO_OPTION = \"SURVEY_NO_OPTION\";\n\n struct OptionCast {\n uint256 optionId;\n uint256 stake;\n }\n\n /* Allows for multiple option votes.\n * Index 0 is always used for the ABSTAIN_VOTE option, that's calculated automatically by the\n * contract.\n */\n struct MultiOptionVote {\n uint256 optionsCastedLength;\n // `castedVotes` simulates an array\n // Each OptionCast in `castedVotes` must be ordered by ascending option IDs\n mapping (uint256 => OptionCast) castedVotes;\n }\n\n struct SurveyStruct {\n uint64 startDate;\n uint64 snapshotBlock;\n uint64 minParticipationPct;\n uint256 options;\n uint256 votingPower; // total tokens that can cast a vote\n uint256 participation; // tokens that casted a vote\n\n // Note that option IDs are from 1 to `options`, due to ABSTAIN_VOTE taking 0\n mapping (uint256 => uint256) optionPower; // option ID -> voting power for option\n mapping (address => MultiOptionVote) votes; // voter -> options voted, with its stakes\n }\n\n MiniMeToken public token;\n uint64 public minParticipationPct;\n uint64 public surveyTime;\n\n // We are mimicing an array, we use a mapping instead to make app upgrade more graceful\n mapping (uint256 => SurveyStruct) internal surveys;\n uint256 public surveysLength;\n\n event StartSurvey(uint256 indexed surveyId, address indexed creator, string metadata);\n event CastVote(uint256 indexed surveyId, address indexed voter, uint256 option, uint256 stake, uint256 optionPower);\n event ResetVote(uint256 indexed surveyId, address indexed voter, uint256 option, uint256 previousStake, uint256 optionPower);\n event ChangeMinParticipation(uint64 minParticipationPct);\n\n modifier acceptableMinParticipationPct(uint64 _minParticipationPct) {\n require(_minParticipationPct > 0 && _minParticipationPct <= PCT_BASE, ERROR_MIN_PARTICIPATION);\n _;\n }\n\n modifier surveyExists(uint256 _surveyId) {\n require(_surveyId < surveysLength, ERROR_NO_SURVEY);\n _;\n }\n\n /**\n * @notice Initialize Survey app with `_token.symbol(): string` for governance, minimum acceptance participation of `@formatPct(_minParticipationPct)`%, and a voting duration of `@transformTime(_surveyTime)`\n * @param _token MiniMeToken address that will be used as governance token\n * @param _minParticipationPct Percentage of total voting power that must participate in a survey for it to be taken into account (expressed as a 10^18 percentage, (eg 10^16 = 1%, 10^18 = 100%)\n * @param _surveyTime Seconds that a survey will be open for token holders to vote\n */\n function initialize(\n MiniMeToken _token,\n uint64 _minParticipationPct,\n uint64 _surveyTime\n )\n external\n onlyInit\n acceptableMinParticipationPct(_minParticipationPct)\n {\n initialized();\n\n token = _token;\n minParticipationPct = _minParticipationPct;\n surveyTime = _surveyTime;\n }\n\n /**\n * @notice Change minimum acceptance participation to `@formatPct(_minParticipationPct)`%\n * @param _minParticipationPct New acceptance participation\n */\n function changeMinAcceptParticipationPct(uint64 _minParticipationPct)\n external\n authP(MODIFY_PARTICIPATION_ROLE, arr(uint256(_minParticipationPct), uint256(minParticipationPct)))\n acceptableMinParticipationPct(_minParticipationPct)\n {\n minParticipationPct = _minParticipationPct;\n\n emit ChangeMinParticipation(_minParticipationPct);\n }\n\n /**\n * @notice Create a new non-binding survey about \"`_metadata`\"\n * @param _metadata Survey metadata\n * @param _options Number of options voters can decide between\n * @return surveyId id for newly created survey\n */\n function newSurvey(string _metadata, uint256 _options) external auth(CREATE_SURVEYS_ROLE) returns (uint256 surveyId) {\n uint64 snapshotBlock = getBlockNumber64() - 1; // avoid double voting in this very block\n uint256 votingPower = token.totalSupplyAt(snapshotBlock);\n require(votingPower > 0, ERROR_NO_VOTING_POWER);\n\n surveyId = surveysLength++;\n\n SurveyStruct storage survey = surveys[surveyId];\n survey.startDate = getTimestamp64();\n survey.snapshotBlock = snapshotBlock; // avoid double voting in this very block\n survey.minParticipationPct = minParticipationPct;\n survey.options = _options;\n survey.votingPower = votingPower;\n\n emit StartSurvey(surveyId, msg.sender, _metadata);\n }\n\n /**\n * @notice Reset previously casted vote in survey #`_surveyId`, if any.\n * @dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n * be created via `newSurvey(),` which requires initialization\n * @param _surveyId Id for survey\n */\n function resetVote(uint256 _surveyId) external surveyExists(_surveyId) {\n require(canVote(_surveyId, msg.sender), ERROR_CAN_NOT_VOTE);\n\n _resetVote(_surveyId);\n }\n\n /**\n * @notice Vote for multiple options in survey #`_surveyId`.\n * @dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n * be created via `newSurvey(),` which requires initialization\n * @param _surveyId Id for survey\n * @param _optionIds Array with indexes of supported options\n * @param _stakes Number of tokens assigned to each option\n */\n function voteOptions(uint256 _surveyId, uint256[] _optionIds, uint256[] _stakes)\n external\n surveyExists(_surveyId)\n {\n require(_optionIds.length == _stakes.length && _optionIds.length > 0, ERROR_VOTE_WRONG_INPUT);\n require(canVote(_surveyId, msg.sender), ERROR_CAN_NOT_VOTE);\n\n _voteOptions(_surveyId, _optionIds, _stakes);\n }\n\n /**\n * @notice Vote option #`_optionId` in survey #`_surveyId`.\n * @dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n * be created via `newSurvey(),` which requires initialization\n * @dev It will use the whole balance.\n * @param _surveyId Id for survey\n * @param _optionId Index of supported option\n */\n function voteOption(uint256 _surveyId, uint256 _optionId) external surveyExists(_surveyId) {\n require(canVote(_surveyId, msg.sender), ERROR_CAN_NOT_VOTE);\n\n SurveyStruct storage survey = surveys[_surveyId];\n // This could re-enter, though we can asume the governance token is not maliciuous\n uint256 voterStake = token.balanceOfAt(msg.sender, survey.snapshotBlock);\n uint256[] memory options = new uint256[](1);\n uint256[] memory stakes = new uint256[](1);\n options[0] = _optionId;\n stakes[0] = voterStake;\n\n _voteOptions(_surveyId, options, stakes);\n }\n\n // Getter fns\n\n function canVote(uint256 _surveyId, address _voter) public view surveyExists(_surveyId) returns (bool) {\n SurveyStruct storage survey = surveys[_surveyId];\n\n return _isSurveyOpen(survey) && token.balanceOfAt(_voter, survey.snapshotBlock) > 0;\n }\n\n function getSurvey(uint256 _surveyId)\n public\n view\n surveyExists(_surveyId)\n returns (\n bool open,\n uint64 startDate,\n uint64 snapshotBlock,\n uint64 minParticipation,\n uint256 votingPower,\n uint256 participation,\n uint256 options\n )\n {\n SurveyStruct storage survey = surveys[_surveyId];\n\n open = _isSurveyOpen(survey);\n startDate = survey.startDate;\n snapshotBlock = survey.snapshotBlock;\n minParticipation = survey.minParticipationPct;\n votingPower = survey.votingPower;\n participation = survey.participation;\n options = survey.options;\n }\n\n /**\n * @dev This is not meant to be used on-chain\n */\n /* solium-disable-next-line function-order */\n function getVoterState(uint256 _surveyId, address _voter)\n external\n view\n surveyExists(_surveyId)\n returns (uint256[] options, uint256[] stakes)\n {\n MultiOptionVote storage vote = surveys[_surveyId].votes[_voter];\n\n if (vote.optionsCastedLength == 0) {\n return (new uint256[](0), new uint256[](0));\n }\n\n options = new uint256[](vote.optionsCastedLength + 1);\n stakes = new uint256[](vote.optionsCastedLength + 1);\n for (uint256 i = 0; i <= vote.optionsCastedLength; i++) {\n options[i] = vote.castedVotes[i].optionId;\n stakes[i] = vote.castedVotes[i].stake;\n }\n }\n\n function getOptionPower(uint256 _surveyId, uint256 _optionId) public view surveyExists(_surveyId) returns (uint256) {\n SurveyStruct storage survey = surveys[_surveyId];\n require(_optionId <= survey.options, ERROR_NO_OPTION);\n\n return survey.optionPower[_optionId];\n }\n\n function isParticipationAchieved(uint256 _surveyId) public view surveyExists(_surveyId) returns (bool) {\n SurveyStruct storage survey = surveys[_surveyId];\n // votingPower is always > 0\n uint256 participationPct = survey.participation.mul(PCT_BASE) / survey.votingPower;\n return participationPct >= survey.minParticipationPct;\n }\n\n // Internal fns\n\n /*\n * @dev Assumes the survey exists and that msg.sender can vote\n */\n function _resetVote(uint256 _surveyId) internal {\n SurveyStruct storage survey = surveys[_surveyId];\n MultiOptionVote storage previousVote = survey.votes[msg.sender];\n if (previousVote.optionsCastedLength > 0) {\n // Voter removes their vote (index 0 is the abstain vote)\n for (uint256 i = 1; i <= previousVote.optionsCastedLength; i++) {\n OptionCast storage previousOptionCast = previousVote.castedVotes[i];\n uint256 previousOptionPower = survey.optionPower[previousOptionCast.optionId];\n uint256 currentOptionPower = previousOptionPower.sub(previousOptionCast.stake);\n survey.optionPower[previousOptionCast.optionId] = currentOptionPower;\n\n emit ResetVote(_surveyId, msg.sender, previousOptionCast.optionId, previousOptionCast.stake, currentOptionPower);\n }\n\n // Compute previously casted votes (i.e. substract non-used tokens from stake)\n uint256 voterStake = token.balanceOfAt(msg.sender, survey.snapshotBlock);\n uint256 previousParticipation = voterStake.sub(previousVote.castedVotes[0].stake);\n // And remove it from total participation\n survey.participation = survey.participation.sub(previousParticipation);\n\n // Reset previously voted options\n delete survey.votes[msg.sender];\n }\n }\n\n /*\n * @dev Assumes the survey exists and that msg.sender can vote\n */\n function _voteOptions(uint256 _surveyId, uint256[] _optionIds, uint256[] _stakes) internal {\n SurveyStruct storage survey = surveys[_surveyId];\n MultiOptionVote storage senderVotes = survey.votes[msg.sender];\n\n // Revert previous votes, if any\n _resetVote(_surveyId);\n\n uint256 totalVoted = 0;\n // Reserve first index for ABSTAIN_VOTE\n senderVotes.castedVotes[0] = OptionCast({ optionId: ABSTAIN_VOTE, stake: 0 });\n for (uint256 optionIndex = 1; optionIndex <= _optionIds.length; optionIndex++) {\n // Voters don't specify that they're abstaining,\n // but we still keep track of this by reserving the first index of a survey's votes.\n // We subtract 1 from the indexes of the arrays passed in by the voter to account for this.\n uint256 optionId = _optionIds[optionIndex - 1];\n uint256 stake = _stakes[optionIndex - 1];\n\n require(optionId != ABSTAIN_VOTE && optionId <= survey.options, ERROR_VOTE_WRONG_OPTION);\n require(stake > 0, ERROR_NO_STAKE);\n // Let's avoid repeating an option by making sure that ascending order is preserved in\n // the options array by checking that the current optionId is larger than the last one\n // we added\n require(senderVotes.castedVotes[optionIndex - 1].optionId < optionId, ERROR_OPTIONS_NOT_ORDERED);\n\n // Register voter amount\n senderVotes.castedVotes[optionIndex] = OptionCast({ optionId: optionId, stake: stake });\n\n // Add to total option support\n survey.optionPower[optionId] = survey.optionPower[optionId].add(stake);\n\n // Keep track of stake used so far\n totalVoted = totalVoted.add(stake);\n\n emit CastVote(_surveyId, msg.sender, optionId, stake, survey.optionPower[optionId]);\n }\n\n // Compute and register non used tokens\n // Implictly we are doing require(totalVoted <= voterStake) too\n // (as stated before, index 0 is for ABSTAIN_VOTE option)\n uint256 voterStake = token.balanceOfAt(msg.sender, survey.snapshotBlock);\n senderVotes.castedVotes[0].stake = voterStake.sub(totalVoted);\n\n // Register number of options voted\n senderVotes.optionsCastedLength = _optionIds.length;\n\n // Add voter tokens to participation\n survey.participation = survey.participation.add(totalVoted);\n assert(survey.participation <= survey.votingPower);\n }\n\n function _isSurveyOpen(SurveyStruct storage _survey) internal view returns (bool) {\n return getTimestamp64() < _survey.startDate.add(surveyTime);\n }\n}\n", - "sourcePath": "@aragon/apps-survey/contracts/Survey.sol", - "ast": { - "absolutePath": "@aragon/apps-survey/contracts/Survey.sol", - "exportedSymbols": { - "Survey": [ - 18181 - ] - }, - "id": 18182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 17136, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:21" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 17137, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 23454, - "src": "82:49:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 17138, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 27870, - "src": "133:52:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 17139, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 28012, - "src": "186:54:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 17140, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 17135, - "src": "242:62:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 17141, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "326:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 17142, - "nodeType": "InheritanceSpecifier", - "src": "326:9:21" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 18181, - "linearizedBaseContracts": [ - 18181, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Survey", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 17145, - "libraryName": { - "contractScope": null, - "id": 17143, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "348:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "342:27:21", - "typeName": { - "id": 17144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 17148, - "libraryName": { - "contractScope": null, - "id": 17146, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "380:10:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "374:28:21", - "typeName": { - "id": 17147, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "395:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 17153, - "name": "CREATE_SURVEYS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "408:78:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "408:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f535552564559535f524f4c45", - "id": 17151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "464:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_096370bb487217c7ca90596c779cb95fe98bdd1189d3f96c38b0f7082f28bde5", - "typeString": "literal_string \"CREATE_SURVEYS_ROLE\"" - }, - "value": "CREATE_SURVEYS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_096370bb487217c7ca90596c779cb95fe98bdd1189d3f96c38b0f7082f28bde5", - "typeString": "literal_string \"CREATE_SURVEYS_ROLE\"" - } - ], - "id": 17150, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "454:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 17152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "454:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17158, - "name": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "492:90:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17154, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "492:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f50415254494349504154494f4e5f524f4c45", - "id": 17156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "554:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9bbe7b3016beaf2d708c4c714c5075b83431e52478a35b433cfac32419389d7", - "typeString": "literal_string \"MODIFY_PARTICIPATION_ROLE\"" - }, - "value": "MODIFY_PARTICIPATION_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b9bbe7b3016beaf2d708c4c714c5075b83431e52478a35b433cfac32419389d7", - "typeString": "literal_string \"MODIFY_PARTICIPATION_ROLE\"" - } - ], - "id": 17155, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "544:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 17157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "544:38:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17163, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "589:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17159, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "589:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 17162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 17160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "623:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 17161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "629:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "623:8:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17166, - "name": "ABSTAIN_VOTE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "673:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 17165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17169, - "name": "ERROR_MIN_PARTICIPATION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "720:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17167, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "720:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4d494e5f50415254494349504154494f4e", - "id": 17168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "770:26:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_239930d8360ff6cee1b4946f7015994a53518e4d9a09c6d29bd3b54816b3b008", - "typeString": "literal_string \"SURVEY_MIN_PARTICIPATION\"" - }, - "value": "SURVEY_MIN_PARTICIPATION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17172, - "name": "ERROR_NO_SURVEY", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "802:60:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17170, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "802:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f535552564559", - "id": 17171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "844:18:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51f92bc9f20f49fecb1ff5c375485b8aefa7aa53095613351a41b769e63ae55c", - "typeString": "literal_string \"SURVEY_NO_SURVEY\"" - }, - "value": "SURVEY_NO_SURVEY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17175, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "868:72:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17173, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "868:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f564f54494e475f504f574552", - "id": 17174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "916:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3be975db6b7485885bc5ff486de9e2c5b792a0ea72e481471f7baecde51e792f", - "typeString": "literal_string \"SURVEY_NO_VOTING_POWER\"" - }, - "value": "SURVEY_NO_VOTING_POWER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17178, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "946:66:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "946:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f43414e5f4e4f545f564f5445", - "id": 17177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7db221120ca5905bbec6ddceba06ab95aaa99b8c42693c1963170bf810b591a5", - "typeString": "literal_string \"SURVEY_CAN_NOT_VOTE\"" - }, - "value": "SURVEY_CAN_NOT_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17181, - "name": "ERROR_VOTE_WRONG_INPUT", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1018:74:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17179, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1018:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f564f54455f57524f4e475f494e505554", - "id": 17180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1067:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c0d48b49626acdc2ed656627324216a18a3d133897f2076c4c83b2ab1a83d501", - "typeString": "literal_string \"SURVEY_VOTE_WRONG_INPUT\"" - }, - "value": "SURVEY_VOTE_WRONG_INPUT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17184, - "name": "ERROR_VOTE_WRONG_OPTION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1098:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17182, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1098:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f564f54455f57524f4e475f4f5054494f4e", - "id": 17183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1148:26:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88b2061eb4249437f300b1997ea8b266121aa5dd8a80e0c6b4152b91e22d4282", - "typeString": "literal_string \"SURVEY_VOTE_WRONG_OPTION\"" - }, - "value": "SURVEY_VOTE_WRONG_OPTION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17187, - "name": "ERROR_NO_STAKE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1180:58:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17185, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f5354414b45", - "id": 17186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:17:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86cb5a37ade17036748224799d9008adb9b119f0fc38054065e779ad86d9ddec", - "typeString": "literal_string \"SURVEY_NO_STAKE\"" - }, - "value": "SURVEY_NO_STAKE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17190, - "name": "ERROR_OPTIONS_NOT_ORDERED", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1244:80:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1244:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4f5054494f4e535f4e4f545f4f524445524544", - "id": 17189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1296:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d46982a1e211dd7aee8f54fa9d4dd0b2195b3a28c1e96f6bec3f169e35c518c8", - "typeString": "literal_string \"SURVEY_OPTIONS_NOT_ORDERED\"" - }, - "value": "SURVEY_OPTIONS_NOT_ORDERED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17193, - "name": "ERROR_NO_OPTION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1330:60:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17191, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1330:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f4f5054494f4e", - "id": 17192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:18:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09bcb3bcabe521b97349658f3644876ba402ab8042040972c49b8c3f72910d73", - "typeString": "literal_string \"SURVEY_NO_OPTION\"" - }, - "value": "SURVEY_NO_OPTION" - }, - "visibility": "private" - }, - { - "canonicalName": "Survey.OptionCast", - "id": 17198, - "members": [ - { - "constant": false, - "id": 17195, - "name": "optionId", - "nodeType": "VariableDeclaration", - "scope": 17198, - "src": "1425:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1425:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17197, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 17198, - "src": "1451:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1451:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "OptionCast", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1397:74:21", - "visibility": "public" - }, - { - "canonicalName": "Survey.MultiOptionVote", - "id": 17205, - "members": [ - { - "constant": false, - "id": 17200, - "name": "optionsCastedLength", - "nodeType": "VariableDeclaration", - "scope": 17205, - "src": "1674:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17204, - "name": "castedVotes", - "nodeType": "VariableDeclaration", - "scope": 17205, - "src": "1839:43:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast)" - }, - "typeName": { - "id": 17203, - "keyType": { - "id": 17201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1839:31:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast)" - }, - "valueType": { - "contractScope": null, - "id": 17202, - "name": "OptionCast", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17198, - "src": "1859:10:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MultiOptionVote", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1641:248:21", - "visibility": "public" - }, - { - "canonicalName": "Survey.SurveyStruct", - "id": 17226, - "members": [ - { - "constant": false, - "id": 17207, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1925:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17206, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1925:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17209, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1951:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17208, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1951:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17211, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1981:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17210, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1981:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17213, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2017:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17215, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2042:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17217, - "name": "participation", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2127:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17221, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2291:40:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 17220, - "keyType": { - "id": 17218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2291:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 17219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17225, - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2387:42:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote)" - }, - "typeName": { - "id": 17224, - "keyType": { - "id": 17222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2396:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2387:36:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote)" - }, - "valueType": { - "contractScope": null, - "id": 17223, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "2407:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SurveyStruct", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1895:588:21", - "visibility": "public" - }, - { - "constant": false, - "id": 17228, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2489:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17227, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "2489:11:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17230, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2519:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17229, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2519:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17232, - "name": "surveyTime", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2558:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17231, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17236, - "name": "surveys", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2681:50:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct)" - }, - "typeName": { - "id": 17235, - "keyType": { - "id": 17233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2690:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2681:33:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct)" - }, - "valueType": { - "contractScope": null, - "id": 17234, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "2701:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17238, - "name": "surveysLength", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2737:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 17246, - "name": "StartSurvey", - "nodeType": "EventDefinition", - "parameters": { - "id": 17245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17240, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2790:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2790:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17242, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2816:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17244, - "indexed": false, - "name": "metadata", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2841:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17243, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2841:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2789:68:21" - }, - "src": "2772:86:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17258, - "name": "CastVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 17257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17248, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2878:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17250, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2904:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2904:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17252, - "indexed": false, - "name": "option", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2927:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2927:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17254, - "indexed": false, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2943:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17256, - "indexed": false, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2958:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2958:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2877:101:21" - }, - "src": "2863:116:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17270, - "name": "ResetVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 17269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17260, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3000:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3000:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17262, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3026:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3026:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17264, - "indexed": false, - "name": "option", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3049:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3049:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17266, - "indexed": false, - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3065:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3065:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17268, - "indexed": false, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3088:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2999:109:21" - }, - "src": "2984:125:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17274, - "name": "ChangeMinParticipation", - "nodeType": "EventDefinition", - "parameters": { - "id": 17273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17272, - "indexed": false, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17274, - "src": "3143:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17271, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3143:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3142:28:21" - }, - "src": "3114:57:21" - }, - { - "body": { - "id": 17290, - "nodeType": "Block", - "src": "3245:122:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17279, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17276, - "src": "3263:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3286:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3263:24:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17282, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17276, - "src": "3291:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 17283, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17163, - "src": "3315:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3291:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3263:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17286, - "name": "ERROR_MIN_PARTICIPATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17169, - "src": "3325:23:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17278, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3255:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3255:94:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17288, - "nodeType": "ExpressionStatement", - "src": "3255:94:21" - }, - { - "id": 17289, - "nodeType": "PlaceholderStatement", - "src": "3359:1:21" - } - ] - }, - "documentation": null, - "id": 17291, - "name": "acceptableMinParticipationPct", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 17277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17276, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17291, - "src": "3216:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17275, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3216:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3215:29:21" - }, - "src": "3177:190:21", - "visibility": "internal" - }, - { - "body": { - "id": 17303, - "nodeType": "Block", - "src": "3414:79:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17296, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17293, - "src": "3432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 17297, - "name": "surveysLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17238, - "src": "3444:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3432:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17299, - "name": "ERROR_NO_SURVEY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17172, - "src": "3459:15:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:51:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17301, - "nodeType": "ExpressionStatement", - "src": "3424:51:21" - }, - { - "id": 17302, - "nodeType": "PlaceholderStatement", - "src": "3485:1:21" - } - ] - }, - "documentation": null, - "id": 17304, - "name": "surveyExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 17294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17293, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17304, - "src": "3395:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3395:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:19:21" - }, - "src": "3373:120:21", - "visibility": "internal" - }, - { - "body": { - "id": 17333, - "nodeType": "Block", - "src": "4303:141:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17318, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "4313:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 17319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4313:13:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17320, - "nodeType": "ExpressionStatement", - "src": "4313:13:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17321, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "4337:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17322, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17306, - "src": "4345:6:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "4337:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17324, - "nodeType": "ExpressionStatement", - "src": "4337:14:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17325, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4361:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17326, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17308, - "src": "4383:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4361:42:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17328, - "nodeType": "ExpressionStatement", - "src": "4361:42:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17329, - "name": "surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17232, - "src": "4413:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17330, - "name": "_surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17310, - "src": "4426:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4413:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17332, - "nodeType": "ExpressionStatement", - "src": "4413:24:21" - } - ] - }, - "documentation": "@notice Initialize Survey app with `_token.symbol(): string` for governance, minimum acceptance participation of `@formatPct(_minParticipationPct)`%, and a voting duration of `@transformTime(_surveyTime)`\n@param _token MiniMeToken address that will be used as governance token\n@param _minParticipationPct Percentage of total voting power that must participate in a survey for it to be taken into account (expressed as a 10^18 percentage, (eg 10^16 = 1%, 10^18 = 100%)\n@param _surveyTime Seconds that a survey will be open for token holders to vote", - "id": 17334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17313, - "modifierName": { - "argumentTypes": null, - "id": 17312, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "4230:8:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:8:21" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 17315, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17308, - "src": "4277:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 17316, - "modifierName": { - "argumentTypes": null, - "id": 17314, - "name": "acceptableMinParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17291, - "src": "4247:29:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4247:51:21" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17306, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4115:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17305, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4115:11:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17308, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4143:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17307, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4143:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17310, - "name": "_surveyTime", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4180:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17309, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4105:99:21" - }, - "payable": false, - "returnParameters": { - "id": 17317, - "nodeType": "ParameterList", - "parameters": [], - "src": "4303:0:21" - }, - "scope": 18181, - "src": "4086:358:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17361, - "nodeType": "Block", - "src": "4879:119:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 17355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17353, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4889:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17354, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4911:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4889:42:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17356, - "nodeType": "ExpressionStatement", - "src": "4889:42:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17358, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4970:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17357, - "name": "ChangeMinParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17274, - "src": "4947:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 17359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4947:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17360, - "nodeType": "EmitStatement", - "src": "4942:49:21" - } - ] - }, - "documentation": "@notice Change minimum acceptance participation to `@formatPct(_minParticipationPct)`%\n@param _minParticipationPct New acceptance participation", - "id": 17362, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17339, - "name": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17158, - "src": "4722:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17342, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4761:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 17343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4753:29:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17345, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4792:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4784:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 17346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4784:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17340, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4749:3:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 17347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4749:64:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 17348, - "modifierName": { - "argumentTypes": null, - "id": 17338, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4716:5:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4716:98:21" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 17350, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4853:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 17351, - "modifierName": { - "argumentTypes": null, - "id": 17349, - "name": "acceptableMinParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17291, - "src": "4823:29:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4823:51:21" - } - ], - "name": "changeMinAcceptParticipationPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17336, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17362, - "src": "4662:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17335, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4662:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4661:29:21" - }, - "payable": false, - "returnParameters": { - "id": 17352, - "nodeType": "ParameterList", - "parameters": [], - "src": "4879:0:21" - }, - "scope": 18181, - "src": "4621:377:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17444, - "nodeType": "Block", - "src": "5358:650:21", - "statements": [ - { - "assignments": [ - 17375 - ], - "declarations": [ - { - "constant": false, - "id": 17375, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5368:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17374, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5368:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17380, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17376, - "name": "getBlockNumber64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24133, - "src": "5391:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 17377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5391:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5391:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5368:45:21" - }, - { - "assignments": [ - 17382 - ], - "declarations": [ - { - "constant": false, - "id": 17382, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5465:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5465:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17387, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17385, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17375, - "src": "5507:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17383, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "5487:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "5487:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 17386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5487:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5465:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17389, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17382, - "src": "5539:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5553:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5539:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17392, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17175, - "src": "5556:21:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17388, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5531:47:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17394, - "nodeType": "ExpressionStatement", - "src": "5531:47:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17395, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5589:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5600:15:21", - "subExpression": { - "argumentTypes": null, - "id": 17396, - "name": "surveysLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17238, - "src": "5600:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5589:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17399, - "nodeType": "ExpressionStatement", - "src": "5589:26:21" - }, - { - "assignments": [ - 17401 - ], - "declarations": [ - { - "constant": false, - "id": 17401, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5626:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17400, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "5626:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17405, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17402, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "5656:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17404, - "indexExpression": { - "argumentTypes": null, - "id": 17403, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5664:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5656:17:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5626:47:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17406, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5683:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "5683:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17409, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "5702:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 17410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5683:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17412, - "nodeType": "ExpressionStatement", - "src": "5683:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17413, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "5728:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17416, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17375, - "src": "5751:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5728:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17418, - "nodeType": "ExpressionStatement", - "src": "5728:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17419, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5816:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "5816:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17422, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "5845:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5816:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17424, - "nodeType": "ExpressionStatement", - "src": "5816:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17425, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5874:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "5874:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17428, - "name": "_options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17366, - "src": "5891:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5874:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17430, - "nodeType": "ExpressionStatement", - "src": "5874:25:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17431, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5909:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "5909:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17434, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17382, - "src": "5930:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5909:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17436, - "nodeType": "ExpressionStatement", - "src": "5909:32:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17438, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5969:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17439, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17441, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17364, - "src": "5991:9:21", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 17437, - "name": "StartSurvey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17246, - "src": "5957:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,string memory)" - } - }, - "id": 17442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5957:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17443, - "nodeType": "EmitStatement", - "src": "5952:49:21" - } - ] - }, - "documentation": "@notice Create a new non-binding survey about \"`_metadata`\"\n@param _metadata Survey metadata\n@param _options Number of options voters can decide between\n@return surveyId id for newly created survey", - "id": 17445, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17369, - "name": "CREATE_SURVEYS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17153, - "src": "5310:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 17370, - "modifierName": { - "argumentTypes": null, - "id": 17368, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "5305:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5305:25:21" - } - ], - "name": "newSurvey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17364, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5260:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17363, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5260:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17366, - "name": "_options", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5278:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5278:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5259:36:21" - }, - "payable": false, - "returnParameters": { - "id": 17373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17372, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5340:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5340:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5339:18:21" - }, - "scope": 18181, - "src": "5241:767:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17466, - "nodeType": "Block", - "src": "6382:108:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17455, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6408:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6419:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6419:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17454, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "6400:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17459, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "6432:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17453, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6392:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17461, - "nodeType": "ExpressionStatement", - "src": "6392:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17463, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6473:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17462, - "name": "_resetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17966, - "src": "6462:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6462:21:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17465, - "nodeType": "ExpressionStatement", - "src": "6462:21:21" - } - ] - }, - "documentation": "@notice Reset previously casted vote in survey #`_surveyId`, if any.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@param _surveyId Id for survey", - "id": 17467, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17450, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6371:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17451, - "modifierName": { - "argumentTypes": null, - "id": 17449, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "6358:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6358:23:21" - } - ], - "name": "resetVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17447, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17467, - "src": "6330:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6329:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17452, - "nodeType": "ParameterList", - "parameters": [], - "src": "6382:0:21" - }, - "scope": 18181, - "src": "6311:179:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17510, - "nodeType": "Block", - "src": "7042:234:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17482, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7060:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7060:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17484, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17475, - "src": "7081:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7081:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7060:35:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17487, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7099:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7099:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7119:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7099:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7060:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17492, - "name": "ERROR_VOTE_WRONG_INPUT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17181, - "src": "7122:22:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7052:93:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17494, - "nodeType": "ExpressionStatement", - "src": "7052:93:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17497, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7171:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7182:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17496, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "7163:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7163:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17501, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "7195:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17495, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7155:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7155:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17503, - "nodeType": "ExpressionStatement", - "src": "7155:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17505, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7238:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17506, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7249:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "argumentTypes": null, - "id": 17507, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17475, - "src": "7261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "id": 17504, - "name": "_voteOptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18163, - "src": "7225:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256[] memory,uint256[] memory)" - } - }, - "id": 17508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7225:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17509, - "nodeType": "ExpressionStatement", - "src": "7225:44:21" - } - ] - }, - "documentation": "@notice Vote for multiple options in survey #`_surveyId`.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@param _surveyId Id for survey\n@param _optionIds Array with indexes of supported options\n@param _stakes Number of tokens assigned to each option", - "id": 17511, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17478, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7027:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17479, - "modifierName": { - "argumentTypes": null, - "id": 17477, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "7014:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7014:23:21" - } - ], - "name": "voteOptions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17469, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6929:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6929:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17472, - "name": "_optionIds", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6948:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6948:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17471, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6948:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17475, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6970:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6970:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17474, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6970:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6928:60:21" - }, - "payable": false, - "returnParameters": { - "id": 17480, - "nodeType": "ParameterList", - "parameters": [], - "src": "7042:0:21" - }, - "scope": 18181, - "src": "6908:368:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17584, - "nodeType": "Block", - "src": "7749:528:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17523, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7775:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17524, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7786:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7786:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17522, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "7767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7767:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17527, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "7799:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17521, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7759:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17529, - "nodeType": "ExpressionStatement", - "src": "7759:59:21" - }, - { - "assignments": [ - 17531 - ], - "declarations": [ - { - "constant": false, - "id": 17531, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7829:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17530, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "7829:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17535, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17532, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "7859:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17534, - "indexExpression": { - "argumentTypes": null, - "id": 17533, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7867:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7859:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7829:48:21" - }, - { - "assignments": [ - 17537 - ], - "declarations": [ - { - "constant": false, - "id": 17537, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7978:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7978:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17540, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8017:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8017:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17542, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17531, - "src": "8029:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17543, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "8029:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17538, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "7999:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "7999:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7999:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7978:72:21" - }, - { - "assignments": [ - 17549 - ], - "declarations": [ - { - "constant": false, - "id": 17549, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "8060:24:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8060:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17548, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8060:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 17553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8101:1:21", - "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" - } - ], - "id": 17552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8087:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17551, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8091:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8087:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8060:43:21" - }, - { - "assignments": [ - 17559 - ], - "declarations": [ - { - "constant": false, - "id": 17559, - "name": "stakes", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "8113:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17558, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8113:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17565, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 17563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8153:1:21", - "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" - } - ], - "id": 17562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8139:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8143:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17561, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8143:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8139:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8113:42:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17566, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17549, - "src": "8165:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17568, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8173:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8165:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17569, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17515, - "src": "8178:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8165:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17571, - "nodeType": "ExpressionStatement", - "src": "8165:22:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17572, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17559, - "src": "8197:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17574, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8204:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8197:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17575, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17537, - "src": "8209:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8197:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17577, - "nodeType": "ExpressionStatement", - "src": "8197:22:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17579, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "8243:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17580, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17549, - "src": "8254:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 17581, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17559, - "src": "8263:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 17578, - "name": "_voteOptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18163, - "src": "8230:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256[] memory,uint256[] memory)" - } - }, - "id": 17582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8230:40:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17583, - "nodeType": "ExpressionStatement", - "src": "8230:40:21" - } - ] - }, - "documentation": "@notice Vote option #`_optionId` in survey #`_surveyId`.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@dev It will use the whole balance.\n@param _surveyId Id for survey\n@param _optionId Index of supported option", - "id": 17585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17518, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7738:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17519, - "modifierName": { - "argumentTypes": null, - "id": 17517, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "7725:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7725:23:21" - } - ], - "name": "voteOption", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17513, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7678:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7678:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17515, - "name": "_optionId", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7697:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7697:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7677:38:21" - }, - "payable": false, - "returnParameters": { - "id": 17520, - "nodeType": "ParameterList", - "parameters": [], - "src": "7749:0:21" - }, - "scope": 18181, - "src": "7658:619:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17616, - "nodeType": "Block", - "src": "8405:159:21", - "statements": [ - { - "assignments": [ - 17598 - ], - "declarations": [ - { - "constant": false, - "id": 17598, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8415:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17597, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "8415:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17602, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17599, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "8445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17601, - "indexExpression": { - "argumentTypes": null, - "id": 17600, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17587, - "src": "8453:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8445:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8415:48:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17604, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17598, - "src": "8495:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - ], - "id": 17603, - "name": "_isSurveyOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18180, - "src": "8481:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_SurveyStruct_$17226_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Survey.SurveyStruct storage pointer) view returns (bool)" - } - }, - "id": 17605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8481:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17608, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17589, - "src": "8524:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17609, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17598, - "src": "8532:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "8532:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17606, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "8506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "8506:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8506:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8556:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8506:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8481:76:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 17596, - "id": 17615, - "nodeType": "Return", - "src": "8474:83:21" - } - ] - }, - "documentation": null, - "id": 17617, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17592, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17587, - "src": "8379:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17593, - "modifierName": { - "argumentTypes": null, - "id": 17591, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "8366:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8366:23:21" - } - ], - "name": "canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17587, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17589, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8338:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8338:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8318:35:21" - }, - "payable": false, - "returnParameters": { - "id": 17596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17595, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8399:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17594, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8399:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8398:6:21" - }, - "scope": 18181, - "src": "8302:262:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17681, - "nodeType": "Block", - "src": "8920:365:21", - "statements": [ - { - "assignments": [ - 17640 - ], - "declarations": [ - { - "constant": false, - "id": 17640, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8930:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17639, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "8930:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17644, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17641, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "8960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17643, - "indexExpression": { - "argumentTypes": null, - "id": 17642, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17619, - "src": "8968:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8960:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8930:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17645, - "name": "open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17625, - "src": "8989:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17647, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - ], - "id": 17646, - "name": "_isSurveyOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18180, - "src": "8996:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_SurveyStruct_$17226_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Survey.SurveyStruct storage pointer) view returns (bool)" - } - }, - "id": 17648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8996:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8989:28:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17650, - "nodeType": "ExpressionStatement", - "src": "8989:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17651, - "name": "startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17627, - "src": "9027:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17652, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17653, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "9039:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9027:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17655, - "nodeType": "ExpressionStatement", - "src": "9027:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17656, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17629, - "src": "9065:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17657, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9081:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "9081:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9065:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17660, - "nodeType": "ExpressionStatement", - "src": "9065:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17661, - "name": "minParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17631, - "src": "9111:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17662, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9130:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "9130:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9111:45:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17665, - "nodeType": "ExpressionStatement", - "src": "9111:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17666, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17633, - "src": "9166:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17667, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17668, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "9180:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9166:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17670, - "nodeType": "ExpressionStatement", - "src": "9166:32:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17671, - "name": "participation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17635, - "src": "9208:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17672, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9224:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "9224:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9208:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17675, - "nodeType": "ExpressionStatement", - "src": "9208:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17676, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17637, - "src": "9254:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17677, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9264:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "9264:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9254:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17680, - "nodeType": "ExpressionStatement", - "src": "9254:24:21" - } - ] - }, - "documentation": null, - "id": 17682, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17622, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17619, - "src": "8657:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17623, - "modifierName": { - "argumentTypes": null, - "id": 17621, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "8644:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8644:23:21" - } - ], - "name": "getSurvey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17619, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8589:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8589:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8588:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17625, - "name": "open", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8698:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17624, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17627, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8721:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17626, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8721:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17629, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8751:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17628, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8751:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17631, - "name": "minParticipation", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8785:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17630, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8785:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17633, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8822:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8822:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17635, - "name": "participation", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8855:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8855:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17637, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8890:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8684:231:21" - }, - "scope": 18181, - "src": "8570:715:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17780, - "nodeType": "Block", - "src": "9583:501:21", - "statements": [ - { - "assignments": [ - 17699 - ], - "declarations": [ - { - "constant": false, - "id": 17699, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9593:28:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17698, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "9593:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17706, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17700, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "9624:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17702, - "indexExpression": { - "argumentTypes": null, - "id": 17701, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17684, - "src": "9632:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9624:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "id": 17703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "9624:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17705, - "indexExpression": { - "argumentTypes": null, - "id": 17704, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17686, - "src": "9649:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9624:32:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9593:63:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17707, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9671:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9671:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9699:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9671:29:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17724, - "nodeType": "IfStatement", - "src": "9667:103:21", - "trueBody": { - "id": 17723, - "nodeType": "Block", - "src": "9702:68:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 17714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9738:1:21", - "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": 17713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9724:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9728:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17712, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9728:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9724:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 17719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9756:1:21", - "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": 17718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9742:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9746:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17717, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9746:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9742:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 17721, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9723:36:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 17697, - "id": 17722, - "nodeType": "Return", - "src": "9716:43:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 17734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17725, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17693, - "src": "9780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17729, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9804:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9804:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9831:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9804:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9790:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17727, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9794:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9790:43:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "9780:53:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17735, - "nodeType": "ExpressionStatement", - "src": "9780:53:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17736, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17696, - "src": "9843:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17740, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9866:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9866:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9893:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9866:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9852:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9856:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17738, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9856:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9852:43:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "9843:52:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17746, - "nodeType": "ExpressionStatement", - "src": "9843:52:21" - }, - { - "body": { - "id": 17778, - "nodeType": "Block", - "src": "9961:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 17766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17758, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17693, - "src": "9975:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17760, - "indexExpression": { - "argumentTypes": null, - "id": 17759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9983:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9975:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17761, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "9988:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17764, - "indexExpression": { - "argumentTypes": null, - "id": 17763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10005:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9988:19:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17765, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "9988:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9975:41:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17767, - "nodeType": "ExpressionStatement", - "src": "9975:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17768, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17696, - "src": "10030:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17770, - "indexExpression": { - "argumentTypes": null, - "id": 17769, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10037:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10030:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17771, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "10042:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "10042:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17774, - "indexExpression": { - "argumentTypes": null, - "id": 17773, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10059:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10042:19:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "10042:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10030:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17777, - "nodeType": "ExpressionStatement", - "src": "10030:37:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17751, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9925:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17752, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9930:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9930:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9925:29:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17779, - "initializationExpression": { - "assignments": [ - 17748 - ], - "declarations": [ - { - "constant": false, - "id": 17748, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9910:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17750, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 17749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9922:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9910:13:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 17756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9956:3:21", - "subExpression": { - "argumentTypes": null, - "id": 17755, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17757, - "nodeType": "ExpressionStatement", - "src": "9956:3:21" - }, - "nodeType": "ForStatement", - "src": "9905:173:21" - } - ] - }, - "documentation": "@dev This is not meant to be used on-chain", - "id": 17781, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17689, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17684, - "src": "9514:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17690, - "modifierName": { - "argumentTypes": null, - "id": 17688, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "9501:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9501:23:21" - } - ], - "name": "getVoterState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17684, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9428:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9428:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17686, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9447:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9447:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9427:35:21" - }, - "payable": false, - "returnParameters": { - "id": 17697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17693, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9542:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17692, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9542:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17696, - "name": "stakes", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9561:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17695, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9561:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9541:37:21" - }, - "scope": 18181, - "src": "9405:679:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17812, - "nodeType": "Block", - "src": "10206:175:21", - "statements": [ - { - "assignments": [ - 17794 - ], - "declarations": [ - { - "constant": false, - "id": 17794, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10216:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17793, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10216:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17798, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17795, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17797, - "indexExpression": { - "argumentTypes": null, - "id": 17796, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17783, - "src": "10254:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10246:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10216:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17800, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17785, - "src": "10282:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17801, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17794, - "src": "10295:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "10295:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10282:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17804, - "name": "ERROR_NO_OPTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17193, - "src": "10311:15:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10274:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10274:53:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17806, - "nodeType": "ExpressionStatement", - "src": "10274:53:21" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17807, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17794, - "src": "10345:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "10345:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17810, - "indexExpression": { - "argumentTypes": null, - "id": 17809, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17785, - "src": "10364:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10345:29:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 17792, - "id": 17811, - "nodeType": "Return", - "src": "10338:36:21" - } - ] - }, - "documentation": null, - "id": 17813, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17788, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17783, - "src": "10177:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17789, - "modifierName": { - "argumentTypes": null, - "id": 17787, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "10164:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10164:23:21" - } - ], - "name": "getOptionPower", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17783, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10114:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17785, - "name": "_optionId", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10133:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10113:38:21" - }, - "payable": false, - "returnParameters": { - "id": 17792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10197:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10197:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10196:9:21" - }, - "scope": 18181, - "src": "10090:291:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17845, - "nodeType": "Block", - "src": "10490:257:21", - "statements": [ - { - "assignments": [ - 17824 - ], - "declarations": [ - { - "constant": false, - "id": 17824, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10500:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17823, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10500:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17828, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17825, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17827, - "indexExpression": { - "argumentTypes": null, - "id": 17826, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17815, - "src": "10538:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10530:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10500:48:21" - }, - { - "assignments": [ - 17830 - ], - "declarations": [ - { - "constant": false, - "id": 17830, - "name": "participationPct", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10595:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10595:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17839, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17834, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17163, - "src": "10647:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17831, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "10622:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "10622:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10622:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17836, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10659:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "10659:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10622:55:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10595:82:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17840, - "name": "participationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17830, - "src": "10694:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17841, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10714:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "10714:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10694:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 17822, - "id": 17844, - "nodeType": "Return", - "src": "10687:53:21" - } - ] - }, - "documentation": null, - "id": 17846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17818, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17815, - "src": "10464:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17819, - "modifierName": { - "argumentTypes": null, - "id": 17817, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "10451:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10451:23:21" - } - ], - "name": "isParticipationAchieved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17815, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10420:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10420:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10419:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17821, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10484:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17820, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10484:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10483:6:21" - }, - "scope": 18181, - "src": "10387:360:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17965, - "nodeType": "Block", - "src": "10902:1358:21", - "statements": [ - { - "assignments": [ - 17852 - ], - "declarations": [ - { - "constant": false, - "id": 17852, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10912:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17851, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10912:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17856, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17853, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17855, - "indexExpression": { - "argumentTypes": null, - "id": 17854, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17848, - "src": "10950:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10942:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10912:48:21" - }, - { - "assignments": [ - 17858 - ], - "declarations": [ - { - "constant": false, - "id": 17858, - "name": "previousVote", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10970:36:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17857, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "10970:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17864, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17859, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11009:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17860, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "11009:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17863, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17861, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11022:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11022:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11009:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10970:63:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17865, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11047:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17866, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "11047:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11082:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11047:36:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17964, - "nodeType": "IfStatement", - "src": "11043:1211:21", - "trueBody": { - "id": 17963, - "nodeType": "Block", - "src": "11085:1169:21", - "statements": [ - { - "body": { - "id": 17923, - "nodeType": "Block", - "src": "11233:508:21", - "statements": [ - { - "assignments": [ - 17881 - ], - "declarations": [ - { - "constant": false, - "id": 17881, - "name": "previousOptionCast", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11251:37:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - }, - "typeName": { - "contractScope": null, - "id": 17880, - "name": "OptionCast", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17198, - "src": "11251:10:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17886, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17882, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11291:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "11291:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17885, - "indexExpression": { - "argumentTypes": null, - "id": 17884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11316:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11291:27:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11251:67:21" - }, - { - "assignments": [ - 17888 - ], - "declarations": [ - { - "constant": false, - "id": 17888, - "name": "previousOptionPower", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11336:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11336:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17889, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11366:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "11366:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17893, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17891, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11385:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17892, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11385:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11366:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11336:77:21" - }, - { - "assignments": [ - 17896 - ], - "declarations": [ - { - "constant": false, - "id": 17896, - "name": "currentOptionPower", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11431:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11431:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17902, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17899, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11484:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11484:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17897, - "name": "previousOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17888, - "src": "11460:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11460:23:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11460:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11431:78:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17903, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11527:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17907, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "11527:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17905, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11546:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11546:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11527:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17909, - "name": "currentOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17896, - "src": "11577:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11527:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17911, - "nodeType": "ExpressionStatement", - "src": "11527:68:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17913, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17848, - "src": "11629:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11640:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11640:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17916, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11652:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11652:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17918, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11681:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11681:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17920, - "name": "currentOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17896, - "src": "11707:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17912, - "name": "ResetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17270, - "src": "11619:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256)" - } - }, - "id": 17921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11619:107:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17922, - "nodeType": "EmitStatement", - "src": "11614:112:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17873, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11189:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17874, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11194:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "11194:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11189:37:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17924, - "initializationExpression": { - "assignments": [ - 17870 - ], - "declarations": [ - { - "constant": false, - "id": 17870, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11174:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11174:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17872, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 17871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11186:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11174:13:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 17878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11228:3:21", - "subExpression": { - "argumentTypes": null, - "id": 17877, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11228:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17879, - "nodeType": "ExpressionStatement", - "src": "11228:3:21" - }, - "nodeType": "ForStatement", - "src": "11169:572:21" - }, - { - "assignments": [ - 17926 - ], - "declarations": [ - { - "constant": false, - "id": 17926, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11846:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11846:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17934, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11885:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11885:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17931, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11897:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17932, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "11897:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17927, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "11867:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "11867:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11867:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11846:72:21" - }, - { - "assignments": [ - 17936 - ], - "declarations": [ - { - "constant": false, - "id": 17936, - "name": "previousParticipation", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11932:29:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11932:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17945, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17939, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11979:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "11979:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17942, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12004:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11979:27:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11979:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17937, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17926, - "src": "11964:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11964:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11964:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11932:81:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17946, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12081:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "12081:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17952, - "name": "previousParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17936, - "src": "12129:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17949, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12104:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "12104:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12104:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12104:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12081:70:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17955, - "nodeType": "ExpressionStatement", - "src": "12081:70:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "12212:31:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17956, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12219:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "12219:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17960, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12232:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12232:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12219:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17962, - "nodeType": "ExpressionStatement", - "src": "12212:31:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 17966, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_resetVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17848, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10874:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10874:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10873:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17850, - "nodeType": "ParameterList", - "parameters": [], - "src": "10902:0:21" - }, - "scope": 18181, - "src": "10854:1406:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18162, - "nodeType": "Block", - "src": "12437:2418:21", - "statements": [ - { - "assignments": [ - 17978 - ], - "declarations": [ - { - "constant": false, - "id": 17978, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12447:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17977, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "12447:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17982, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17979, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "12477:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17981, - "indexExpression": { - "argumentTypes": null, - "id": 17980, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "12485:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12477:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12447:48:21" - }, - { - "assignments": [ - 17984 - ], - "declarations": [ - { - "constant": false, - "id": 17984, - "name": "senderVotes", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12505:35:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17983, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "12505:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17990, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17985, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "12543:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "12543:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17989, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17987, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12556:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12556:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12543:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12505:62:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17992, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "12630:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17991, - "name": "_resetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17966, - "src": "12619:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12619:21:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17994, - "nodeType": "ExpressionStatement", - "src": "12619:21:21" - }, - { - "assignments": [ - 17996 - ], - "declarations": [ - { - "constant": false, - "id": 17996, - "name": "totalVoted", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12651:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12651:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17998, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 17997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12672:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12651:22:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17999, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "12731:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "12731:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18003, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12755:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12731:26:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18005, - "name": "ABSTAIN_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17166, - "src": "12783:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 18006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12804:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 18004, - "name": "OptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17198, - "src": "12760:10:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OptionCast_$17198_storage_ptr_$", - "typeString": "type(struct Survey.OptionCast storage pointer)" - } - }, - "id": 18007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "optionId", - "stake" - ], - "nodeType": "FunctionCall", - "src": "12760:48:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_memory", - "typeString": "struct Survey.OptionCast memory" - } - }, - "src": "12731:77:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18009, - "nodeType": "ExpressionStatement", - "src": "12731:77:21" - }, - { - "body": { - "id": 18113, - "nodeType": "Block", - "src": "12897:1331:21", - "statements": [ - { - "assignments": [ - 18022 - ], - "declarations": [ - { - "constant": false, - "id": 18022, - "name": "optionId", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "13173:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13173:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18028, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18023, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "13192:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18027, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18024, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13203:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13217:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13203:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13192:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13173:46:21" - }, - { - "assignments": [ - 18030 - ], - "declarations": [ - { - "constant": false, - "id": 18030, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "13233:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13233:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18036, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18031, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17974, - "src": "13249:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18035, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18032, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13257:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13271:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13257:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13233:40:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18038, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13296:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 18039, - "name": "ABSTAIN_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17166, - "src": "13308:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13296:24:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18041, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13324:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18042, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13336:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "13336:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13324:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13296:54:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18046, - "name": "ERROR_VOTE_WRONG_OPTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17184, - "src": "13352:23:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18037, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13288:88:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18048, - "nodeType": "ExpressionStatement", - "src": "13288:88:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18050, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "13398:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13406:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13398:9:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18053, - "name": "ERROR_NO_STAKE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17187, - "src": "13409:14:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13390:34:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18055, - "nodeType": "ExpressionStatement", - "src": "13390:34:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18057, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "13668:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "13668:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18062, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18059, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13692:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13706:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13692:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13668:40:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "13668:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18064, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13720:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13668:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18066, - "name": "ERROR_OPTIONS_NOT_ORDERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17190, - "src": "13730:25:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13660:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13660:96:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18068, - "nodeType": "ExpressionStatement", - "src": "13660:96:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18069, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "13808:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "13808:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18073, - "indexExpression": { - "argumentTypes": null, - "id": 18071, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13832:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13808:36:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18075, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13870:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18076, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "13887:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": null, - "id": 18074, - "name": "OptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17198, - "src": "13847:10:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OptionCast_$17198_storage_ptr_$", - "typeString": "type(struct Survey.OptionCast storage pointer)" - } - }, - "id": 18077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "optionId", - "stake" - ], - "nodeType": "FunctionCall", - "src": "13847:48:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_memory", - "typeString": "struct Survey.OptionCast memory" - } - }, - "src": "13808:87:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18079, - "nodeType": "ExpressionStatement", - "src": "13808:87:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18080, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13953:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "13953:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18084, - "indexExpression": { - "argumentTypes": null, - "id": 18082, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13972:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13953:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18090, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14017:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18085, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13984:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "13984:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18088, - "indexExpression": { - "argumentTypes": null, - "id": 18087, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14003:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13984:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13984:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13984:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13953:70:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18093, - "nodeType": "ExpressionStatement", - "src": "13953:70:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18094, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14085:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18097, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14113:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18095, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14098:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14098:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14098:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14085:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18100, - "nodeType": "ExpressionStatement", - "src": "14085:34:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18102, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "14148:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18103, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14159:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14159:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18105, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14171:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18106, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14181:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18107, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14188:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "14188:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18110, - "indexExpression": { - "argumentTypes": null, - "id": 18109, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14207:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14188:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18101, - "name": "CastVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17258, - "src": "14139:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256)" - } - }, - "id": 18111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14139:78:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18112, - "nodeType": "EmitStatement", - "src": "14134:83:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18014, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "12848:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18015, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "12863:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12848:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18114, - "initializationExpression": { - "assignments": [ - 18011 - ], - "declarations": [ - { - "constant": false, - "id": 18011, - "name": "optionIndex", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12823:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12823:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18013, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 18012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12845:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12823:23:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 18019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12882:13:21", - "subExpression": { - "argumentTypes": null, - "id": 18018, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "12882:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18020, - "nodeType": "ExpressionStatement", - "src": "12882:13:21" - }, - "nodeType": "ForStatement", - "src": "12818:1410:21" - }, - { - "assignments": [ - 18116 - ], - "declarations": [ - { - "constant": false, - "id": 18116, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "14424:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18124, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18119, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14463:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14463:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18121, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14475:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "14475:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 18117, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "14445:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "14445:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 18123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14445:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14424:72:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18125, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "14506:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "14506:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18129, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14530:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14506:26:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "14506:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18133, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14556:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18131, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18116, - "src": "14541:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "14541:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14541:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14506:61:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18136, - "nodeType": "ExpressionStatement", - "src": "14506:61:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18137, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "14622:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "14622:31:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18140, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "14656:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14656:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14622:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18143, - "nodeType": "ExpressionStatement", - "src": "14622:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18144, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14729:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14729:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18150, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14777:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18147, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14752:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14752:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14752:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14729:59:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18153, - "nodeType": "ExpressionStatement", - "src": "14729:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18155, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14805:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18157, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "14829:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14805:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 18154, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29773, - "src": "14798:6:21", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 18160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14798:50:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18161, - "nodeType": "ExpressionStatement", - "src": "14798:50:21" - } - ] - }, - "documentation": null, - "id": 18163, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_voteOptions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17968, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12368:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17971, - "name": "_optionIds", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12387:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12387:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17970, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12387:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17974, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12409:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12409:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17973, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12409:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12367:60:21" - }, - "payable": false, - "returnParameters": { - "id": 17976, - "nodeType": "ParameterList", - "parameters": [], - "src": "12437:0:21" - }, - "scope": 18181, - "src": "12346:2509:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18179, - "nodeType": "Block", - "src": "14943:76:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18170, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "14960:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 18171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14960:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18175, - "name": "surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17232, - "src": "15001:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18172, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18165, - "src": "14979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "14979:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "14979:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 18176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14979:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "14960:52:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18169, - "id": 18178, - "nodeType": "Return", - "src": "14953:59:21" - } - ] - }, - "documentation": null, - "id": 18180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isSurveyOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18165, - "name": "_survey", - "nodeType": "VariableDeclaration", - "scope": 18180, - "src": "14884:28:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 18164, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "14884:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14883:30:21" - }, - "payable": false, - "returnParameters": { - "id": 18169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18168, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18180, - "src": "14937:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14937:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14936:6:21" - }, - "scope": 18181, - "src": "14861:158:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 18182, - "src": "307:14714:21" - } - ], - "src": "57:14965:21" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-survey/contracts/Survey.sol", - "exportedSymbols": { - "Survey": [ - 18181 - ] - }, - "id": 18182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 17136, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:21" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 17137, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 23454, - "src": "82:49:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 17138, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 27870, - "src": "133:52:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 17139, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 28012, - "src": "186:54:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 17140, - "nodeType": "ImportDirective", - "scope": 18182, - "sourceUnit": 17135, - "src": "242:62:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 17141, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "326:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 17142, - "nodeType": "InheritanceSpecifier", - "src": "326:9:21" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 18181, - "linearizedBaseContracts": [ - 18181, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Survey", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 17145, - "libraryName": { - "contractScope": null, - "id": 17143, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "348:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "342:27:21", - "typeName": { - "id": 17144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 17148, - "libraryName": { - "contractScope": null, - "id": 17146, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "380:10:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "374:28:21", - "typeName": { - "id": 17147, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "395:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 17153, - "name": "CREATE_SURVEYS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "408:78:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "408:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f535552564559535f524f4c45", - "id": 17151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "464:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_096370bb487217c7ca90596c779cb95fe98bdd1189d3f96c38b0f7082f28bde5", - "typeString": "literal_string \"CREATE_SURVEYS_ROLE\"" - }, - "value": "CREATE_SURVEYS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_096370bb487217c7ca90596c779cb95fe98bdd1189d3f96c38b0f7082f28bde5", - "typeString": "literal_string \"CREATE_SURVEYS_ROLE\"" - } - ], - "id": 17150, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "454:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 17152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "454:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17158, - "name": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "492:90:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17154, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "492:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f50415254494349504154494f4e5f524f4c45", - "id": 17156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "554:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9bbe7b3016beaf2d708c4c714c5075b83431e52478a35b433cfac32419389d7", - "typeString": "literal_string \"MODIFY_PARTICIPATION_ROLE\"" - }, - "value": "MODIFY_PARTICIPATION_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b9bbe7b3016beaf2d708c4c714c5075b83431e52478a35b433cfac32419389d7", - "typeString": "literal_string \"MODIFY_PARTICIPATION_ROLE\"" - } - ], - "id": 17155, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "544:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 17157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "544:38:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17163, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "589:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17159, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "589:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 17162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 17160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "623:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 17161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "629:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "623:8:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17166, - "name": "ABSTAIN_VOTE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "673:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 17165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 17169, - "name": "ERROR_MIN_PARTICIPATION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "720:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17167, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "720:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4d494e5f50415254494349504154494f4e", - "id": 17168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "770:26:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_239930d8360ff6cee1b4946f7015994a53518e4d9a09c6d29bd3b54816b3b008", - "typeString": "literal_string \"SURVEY_MIN_PARTICIPATION\"" - }, - "value": "SURVEY_MIN_PARTICIPATION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17172, - "name": "ERROR_NO_SURVEY", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "802:60:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17170, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "802:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f535552564559", - "id": 17171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "844:18:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51f92bc9f20f49fecb1ff5c375485b8aefa7aa53095613351a41b769e63ae55c", - "typeString": "literal_string \"SURVEY_NO_SURVEY\"" - }, - "value": "SURVEY_NO_SURVEY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17175, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "868:72:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17173, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "868:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f564f54494e475f504f574552", - "id": 17174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "916:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3be975db6b7485885bc5ff486de9e2c5b792a0ea72e481471f7baecde51e792f", - "typeString": "literal_string \"SURVEY_NO_VOTING_POWER\"" - }, - "value": "SURVEY_NO_VOTING_POWER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17178, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "946:66:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "946:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f43414e5f4e4f545f564f5445", - "id": 17177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7db221120ca5905bbec6ddceba06ab95aaa99b8c42693c1963170bf810b591a5", - "typeString": "literal_string \"SURVEY_CAN_NOT_VOTE\"" - }, - "value": "SURVEY_CAN_NOT_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17181, - "name": "ERROR_VOTE_WRONG_INPUT", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1018:74:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17179, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1018:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f564f54455f57524f4e475f494e505554", - "id": 17180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1067:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c0d48b49626acdc2ed656627324216a18a3d133897f2076c4c83b2ab1a83d501", - "typeString": "literal_string \"SURVEY_VOTE_WRONG_INPUT\"" - }, - "value": "SURVEY_VOTE_WRONG_INPUT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17184, - "name": "ERROR_VOTE_WRONG_OPTION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1098:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17182, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1098:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f564f54455f57524f4e475f4f5054494f4e", - "id": 17183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1148:26:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88b2061eb4249437f300b1997ea8b266121aa5dd8a80e0c6b4152b91e22d4282", - "typeString": "literal_string \"SURVEY_VOTE_WRONG_OPTION\"" - }, - "value": "SURVEY_VOTE_WRONG_OPTION" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17187, - "name": "ERROR_NO_STAKE", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1180:58:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17185, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f5354414b45", - "id": 17186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:17:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86cb5a37ade17036748224799d9008adb9b119f0fc38054065e779ad86d9ddec", - "typeString": "literal_string \"SURVEY_NO_STAKE\"" - }, - "value": "SURVEY_NO_STAKE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17190, - "name": "ERROR_OPTIONS_NOT_ORDERED", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1244:80:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1244:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4f5054494f4e535f4e4f545f4f524445524544", - "id": 17189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1296:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d46982a1e211dd7aee8f54fa9d4dd0b2195b3a28c1e96f6bec3f169e35c518c8", - "typeString": "literal_string \"SURVEY_OPTIONS_NOT_ORDERED\"" - }, - "value": "SURVEY_OPTIONS_NOT_ORDERED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 17193, - "name": "ERROR_NO_OPTION", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "1330:60:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 17191, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1330:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5355525645595f4e4f5f4f5054494f4e", - "id": 17192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:18:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09bcb3bcabe521b97349658f3644876ba402ab8042040972c49b8c3f72910d73", - "typeString": "literal_string \"SURVEY_NO_OPTION\"" - }, - "value": "SURVEY_NO_OPTION" - }, - "visibility": "private" - }, - { - "canonicalName": "Survey.OptionCast", - "id": 17198, - "members": [ - { - "constant": false, - "id": 17195, - "name": "optionId", - "nodeType": "VariableDeclaration", - "scope": 17198, - "src": "1425:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1425:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17197, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 17198, - "src": "1451:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1451:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "OptionCast", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1397:74:21", - "visibility": "public" - }, - { - "canonicalName": "Survey.MultiOptionVote", - "id": 17205, - "members": [ - { - "constant": false, - "id": 17200, - "name": "optionsCastedLength", - "nodeType": "VariableDeclaration", - "scope": 17205, - "src": "1674:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17204, - "name": "castedVotes", - "nodeType": "VariableDeclaration", - "scope": 17205, - "src": "1839:43:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast)" - }, - "typeName": { - "id": 17203, - "keyType": { - "id": 17201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1839:31:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast)" - }, - "valueType": { - "contractScope": null, - "id": 17202, - "name": "OptionCast", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17198, - "src": "1859:10:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MultiOptionVote", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1641:248:21", - "visibility": "public" - }, - { - "canonicalName": "Survey.SurveyStruct", - "id": 17226, - "members": [ - { - "constant": false, - "id": 17207, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1925:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17206, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1925:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17209, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1951:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17208, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1951:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17211, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "1981:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17210, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1981:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17213, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2017:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17215, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2042:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17217, - "name": "participation", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2127:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17221, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2291:40:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 17220, - "keyType": { - "id": 17218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2291:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 17219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17225, - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 17226, - "src": "2387:42:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote)" - }, - "typeName": { - "id": 17224, - "keyType": { - "id": 17222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2396:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2387:36:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote)" - }, - "valueType": { - "contractScope": null, - "id": 17223, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "2407:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SurveyStruct", - "nodeType": "StructDefinition", - "scope": 18181, - "src": "1895:588:21", - "visibility": "public" - }, - { - "constant": false, - "id": 17228, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2489:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17227, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "2489:11:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17230, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2519:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17229, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2519:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17232, - "name": "surveyTime", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2558:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17231, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 17236, - "name": "surveys", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2681:50:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct)" - }, - "typeName": { - "id": 17235, - "keyType": { - "id": 17233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2690:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2681:33:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct)" - }, - "valueType": { - "contractScope": null, - "id": 17234, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "2701:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17238, - "name": "surveysLength", - "nodeType": "VariableDeclaration", - "scope": 18181, - "src": "2737:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 17246, - "name": "StartSurvey", - "nodeType": "EventDefinition", - "parameters": { - "id": 17245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17240, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2790:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2790:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17242, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2816:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17244, - "indexed": false, - "name": "metadata", - "nodeType": "VariableDeclaration", - "scope": 17246, - "src": "2841:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17243, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2841:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2789:68:21" - }, - "src": "2772:86:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17258, - "name": "CastVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 17257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17248, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2878:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17250, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2904:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2904:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17252, - "indexed": false, - "name": "option", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2927:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2927:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17254, - "indexed": false, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2943:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17256, - "indexed": false, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17258, - "src": "2958:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2958:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2877:101:21" - }, - "src": "2863:116:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17270, - "name": "ResetVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 17269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17260, - "indexed": true, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3000:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3000:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17262, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3026:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3026:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17264, - "indexed": false, - "name": "option", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3049:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3049:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17266, - "indexed": false, - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3065:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3065:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17268, - "indexed": false, - "name": "optionPower", - "nodeType": "VariableDeclaration", - "scope": 17270, - "src": "3088:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2999:109:21" - }, - "src": "2984:125:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 17274, - "name": "ChangeMinParticipation", - "nodeType": "EventDefinition", - "parameters": { - "id": 17273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17272, - "indexed": false, - "name": "minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17274, - "src": "3143:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17271, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3143:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3142:28:21" - }, - "src": "3114:57:21" - }, - { - "body": { - "id": 17290, - "nodeType": "Block", - "src": "3245:122:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17279, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17276, - "src": "3263:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3286:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3263:24:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17282, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17276, - "src": "3291:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 17283, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17163, - "src": "3315:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3291:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3263:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17286, - "name": "ERROR_MIN_PARTICIPATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17169, - "src": "3325:23:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17278, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3255:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3255:94:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17288, - "nodeType": "ExpressionStatement", - "src": "3255:94:21" - }, - { - "id": 17289, - "nodeType": "PlaceholderStatement", - "src": "3359:1:21" - } - ] - }, - "documentation": null, - "id": 17291, - "name": "acceptableMinParticipationPct", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 17277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17276, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17291, - "src": "3216:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17275, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3216:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3215:29:21" - }, - "src": "3177:190:21", - "visibility": "internal" - }, - { - "body": { - "id": 17303, - "nodeType": "Block", - "src": "3414:79:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17296, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17293, - "src": "3432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 17297, - "name": "surveysLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17238, - "src": "3444:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3432:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17299, - "name": "ERROR_NO_SURVEY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17172, - "src": "3459:15:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:51:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17301, - "nodeType": "ExpressionStatement", - "src": "3424:51:21" - }, - { - "id": 17302, - "nodeType": "PlaceholderStatement", - "src": "3485:1:21" - } - ] - }, - "documentation": null, - "id": 17304, - "name": "surveyExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 17294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17293, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17304, - "src": "3395:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3395:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:19:21" - }, - "src": "3373:120:21", - "visibility": "internal" - }, - { - "body": { - "id": 17333, - "nodeType": "Block", - "src": "4303:141:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17318, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "4313:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 17319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4313:13:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17320, - "nodeType": "ExpressionStatement", - "src": "4313:13:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17321, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "4337:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17322, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17306, - "src": "4345:6:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "4337:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17324, - "nodeType": "ExpressionStatement", - "src": "4337:14:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17325, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4361:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17326, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17308, - "src": "4383:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4361:42:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17328, - "nodeType": "ExpressionStatement", - "src": "4361:42:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17329, - "name": "surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17232, - "src": "4413:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17330, - "name": "_surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17310, - "src": "4426:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4413:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17332, - "nodeType": "ExpressionStatement", - "src": "4413:24:21" - } - ] - }, - "documentation": "@notice Initialize Survey app with `_token.symbol(): string` for governance, minimum acceptance participation of `@formatPct(_minParticipationPct)`%, and a voting duration of `@transformTime(_surveyTime)`\n@param _token MiniMeToken address that will be used as governance token\n@param _minParticipationPct Percentage of total voting power that must participate in a survey for it to be taken into account (expressed as a 10^18 percentage, (eg 10^16 = 1%, 10^18 = 100%)\n@param _surveyTime Seconds that a survey will be open for token holders to vote", - "id": 17334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 17313, - "modifierName": { - "argumentTypes": null, - "id": 17312, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "4230:8:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:8:21" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 17315, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17308, - "src": "4277:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 17316, - "modifierName": { - "argumentTypes": null, - "id": 17314, - "name": "acceptableMinParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17291, - "src": "4247:29:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4247:51:21" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17306, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4115:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 17305, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "4115:11:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17308, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4143:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17307, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4143:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17310, - "name": "_surveyTime", - "nodeType": "VariableDeclaration", - "scope": 17334, - "src": "4180:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17309, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4105:99:21" - }, - "payable": false, - "returnParameters": { - "id": 17317, - "nodeType": "ParameterList", - "parameters": [], - "src": "4303:0:21" - }, - "scope": 18181, - "src": "4086:358:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17361, - "nodeType": "Block", - "src": "4879:119:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 17355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17353, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4889:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17354, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4911:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4889:42:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17356, - "nodeType": "ExpressionStatement", - "src": "4889:42:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17358, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4970:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17357, - "name": "ChangeMinParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17274, - "src": "4947:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 17359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4947:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17360, - "nodeType": "EmitStatement", - "src": "4942:49:21" - } - ] - }, - "documentation": "@notice Change minimum acceptance participation to `@formatPct(_minParticipationPct)`%\n@param _minParticipationPct New acceptance participation", - "id": 17362, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17339, - "name": "MODIFY_PARTICIPATION_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17158, - "src": "4722:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17342, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4761:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 17343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4753:29:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17345, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "4792:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 17344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4784:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 17346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4784:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17340, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4749:3:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 17347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4749:64:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 17348, - "modifierName": { - "argumentTypes": null, - "id": 17338, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4716:5:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4716:98:21" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 17350, - "name": "_minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17336, - "src": "4853:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "id": 17351, - "modifierName": { - "argumentTypes": null, - "id": 17349, - "name": "acceptableMinParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17291, - "src": "4823:29:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint64_$", - "typeString": "modifier (uint64)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4823:51:21" - } - ], - "name": "changeMinAcceptParticipationPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17336, - "name": "_minParticipationPct", - "nodeType": "VariableDeclaration", - "scope": 17362, - "src": "4662:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17335, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4662:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4661:29:21" - }, - "payable": false, - "returnParameters": { - "id": 17352, - "nodeType": "ParameterList", - "parameters": [], - "src": "4879:0:21" - }, - "scope": 18181, - "src": "4621:377:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17444, - "nodeType": "Block", - "src": "5358:650:21", - "statements": [ - { - "assignments": [ - 17375 - ], - "declarations": [ - { - "constant": false, - "id": 17375, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5368:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17374, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5368:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17380, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 17379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17376, - "name": "getBlockNumber64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24133, - "src": "5391:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 17377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5391:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5391:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5368:45:21" - }, - { - "assignments": [ - 17382 - ], - "declarations": [ - { - "constant": false, - "id": 17382, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5465:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5465:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17387, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17385, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17375, - "src": "5507:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17383, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "5487:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "5487:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 17386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5487:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5465:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17389, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17382, - "src": "5539:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5553:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5539:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17392, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17175, - "src": "5556:21:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17388, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5531:47:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17394, - "nodeType": "ExpressionStatement", - "src": "5531:47:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17395, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5589:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5600:15:21", - "subExpression": { - "argumentTypes": null, - "id": 17396, - "name": "surveysLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17238, - "src": "5600:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5589:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17399, - "nodeType": "ExpressionStatement", - "src": "5589:26:21" - }, - { - "assignments": [ - 17401 - ], - "declarations": [ - { - "constant": false, - "id": 17401, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5626:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17400, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "5626:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17405, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17402, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "5656:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17404, - "indexExpression": { - "argumentTypes": null, - "id": 17403, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5664:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5656:17:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5626:47:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17406, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5683:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "5683:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 17409, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "5702:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 17410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5683:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17412, - "nodeType": "ExpressionStatement", - "src": "5683:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17413, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "5728:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17416, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17375, - "src": "5751:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5728:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17418, - "nodeType": "ExpressionStatement", - "src": "5728:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17419, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5816:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "5816:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17422, - "name": "minParticipationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17230, - "src": "5845:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5816:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17424, - "nodeType": "ExpressionStatement", - "src": "5816:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17425, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5874:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "5874:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17428, - "name": "_options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17366, - "src": "5891:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5874:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17430, - "nodeType": "ExpressionStatement", - "src": "5874:25:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17431, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17401, - "src": "5909:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "5909:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17434, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17382, - "src": "5930:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5909:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17436, - "nodeType": "ExpressionStatement", - "src": "5909:32:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17438, - "name": "surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17372, - "src": "5969:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17439, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "5979:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5979:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 17441, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17364, - "src": "5991:9:21", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 17437, - "name": "StartSurvey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17246, - "src": "5957:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,string memory)" - } - }, - "id": 17442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5957:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17443, - "nodeType": "EmitStatement", - "src": "5952:49:21" - } - ] - }, - "documentation": "@notice Create a new non-binding survey about \"`_metadata`\"\n@param _metadata Survey metadata\n@param _options Number of options voters can decide between\n@return surveyId id for newly created survey", - "id": 17445, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17369, - "name": "CREATE_SURVEYS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17153, - "src": "5310:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 17370, - "modifierName": { - "argumentTypes": null, - "id": 17368, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "5305:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5305:25:21" - } - ], - "name": "newSurvey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17364, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5260:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17363, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5260:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17366, - "name": "_options", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5278:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5278:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5259:36:21" - }, - "payable": false, - "returnParameters": { - "id": 17373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17372, - "name": "surveyId", - "nodeType": "VariableDeclaration", - "scope": 17445, - "src": "5340:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5340:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5339:18:21" - }, - "scope": 18181, - "src": "5241:767:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17466, - "nodeType": "Block", - "src": "6382:108:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17455, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6408:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6419:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6419:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17454, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "6400:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17459, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "6432:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17453, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6392:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17461, - "nodeType": "ExpressionStatement", - "src": "6392:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17463, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6473:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17462, - "name": "_resetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17966, - "src": "6462:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6462:21:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17465, - "nodeType": "ExpressionStatement", - "src": "6462:21:21" - } - ] - }, - "documentation": "@notice Reset previously casted vote in survey #`_surveyId`, if any.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@param _surveyId Id for survey", - "id": 17467, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17450, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17447, - "src": "6371:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17451, - "modifierName": { - "argumentTypes": null, - "id": 17449, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "6358:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6358:23:21" - } - ], - "name": "resetVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17447, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17467, - "src": "6330:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6329:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17452, - "nodeType": "ParameterList", - "parameters": [], - "src": "6382:0:21" - }, - "scope": 18181, - "src": "6311:179:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17510, - "nodeType": "Block", - "src": "7042:234:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17482, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7060:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7060:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17484, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17475, - "src": "7081:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7081:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7060:35:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17487, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7099:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 17488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7099:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7119:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7099:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7060:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17492, - "name": "ERROR_VOTE_WRONG_INPUT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17181, - "src": "7122:22:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7052:93:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17494, - "nodeType": "ExpressionStatement", - "src": "7052:93:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17497, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7171:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7182:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17496, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "7163:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7163:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17501, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "7195:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17495, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7155:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7155:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17503, - "nodeType": "ExpressionStatement", - "src": "7155:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17505, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7238:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17506, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17472, - "src": "7249:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "argumentTypes": null, - "id": 17507, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17475, - "src": "7261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "id": 17504, - "name": "_voteOptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18163, - "src": "7225:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256[] memory,uint256[] memory)" - } - }, - "id": 17508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7225:44:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17509, - "nodeType": "ExpressionStatement", - "src": "7225:44:21" - } - ] - }, - "documentation": "@notice Vote for multiple options in survey #`_surveyId`.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@param _surveyId Id for survey\n@param _optionIds Array with indexes of supported options\n@param _stakes Number of tokens assigned to each option", - "id": 17511, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17478, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17469, - "src": "7027:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17479, - "modifierName": { - "argumentTypes": null, - "id": 17477, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "7014:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7014:23:21" - } - ], - "name": "voteOptions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17469, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6929:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6929:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17472, - "name": "_optionIds", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6948:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6948:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17471, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6948:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17475, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 17511, - "src": "6970:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6970:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17474, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6970:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6928:60:21" - }, - "payable": false, - "returnParameters": { - "id": 17480, - "nodeType": "ParameterList", - "parameters": [], - "src": "7042:0:21" - }, - "scope": 18181, - "src": "6908:368:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17584, - "nodeType": "Block", - "src": "7749:528:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17523, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7775:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17524, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7786:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7786:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17522, - "name": "canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17617, - "src": "7767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 17526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7767:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17527, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17178, - "src": "7799:18:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17521, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7759:59:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17529, - "nodeType": "ExpressionStatement", - "src": "7759:59:21" - }, - { - "assignments": [ - 17531 - ], - "declarations": [ - { - "constant": false, - "id": 17531, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7829:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17530, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "7829:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17535, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17532, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "7859:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17534, - "indexExpression": { - "argumentTypes": null, - "id": 17533, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7867:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7859:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7829:48:21" - }, - { - "assignments": [ - 17537 - ], - "declarations": [ - { - "constant": false, - "id": 17537, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7978:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7978:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17540, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "8017:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8017:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17542, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17531, - "src": "8029:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17543, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "8029:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17538, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "7999:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "7999:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7999:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7978:72:21" - }, - { - "assignments": [ - 17549 - ], - "declarations": [ - { - "constant": false, - "id": 17549, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "8060:24:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8060:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17548, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8060:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 17553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8101:1:21", - "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" - } - ], - "id": 17552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8087:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17551, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8091:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8087:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8060:43:21" - }, - { - "assignments": [ - 17559 - ], - "declarations": [ - { - "constant": false, - "id": 17559, - "name": "stakes", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "8113:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17558, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8113:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17565, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 17563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8153:1:21", - "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" - } - ], - "id": 17562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8139:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8143:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17561, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8143:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8139:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8113:42:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17566, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17549, - "src": "8165:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17568, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8173:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8165:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17569, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17515, - "src": "8178:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8165:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17571, - "nodeType": "ExpressionStatement", - "src": "8165:22:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17572, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17559, - "src": "8197:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17574, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8204:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8197:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17575, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17537, - "src": "8209:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8197:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17577, - "nodeType": "ExpressionStatement", - "src": "8197:22:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17579, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "8243:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17580, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17549, - "src": "8254:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 17581, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17559, - "src": "8263:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 17578, - "name": "_voteOptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18163, - "src": "8230:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256[] memory,uint256[] memory)" - } - }, - "id": 17582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8230:40:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17583, - "nodeType": "ExpressionStatement", - "src": "8230:40:21" - } - ] - }, - "documentation": "@notice Vote option #`_optionId` in survey #`_surveyId`.\n@dev Initialization check is implicitly provided by `surveyExists()` as new surveys can only\n be created via `newSurvey(),` which requires initialization\n@dev It will use the whole balance.\n@param _surveyId Id for survey\n@param _optionId Index of supported option", - "id": 17585, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17518, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17513, - "src": "7738:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17519, - "modifierName": { - "argumentTypes": null, - "id": 17517, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "7725:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7725:23:21" - } - ], - "name": "voteOption", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17513, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7678:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7678:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17515, - "name": "_optionId", - "nodeType": "VariableDeclaration", - "scope": 17585, - "src": "7697:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7697:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7677:38:21" - }, - "payable": false, - "returnParameters": { - "id": 17520, - "nodeType": "ParameterList", - "parameters": [], - "src": "7749:0:21" - }, - "scope": 18181, - "src": "7658:619:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17616, - "nodeType": "Block", - "src": "8405:159:21", - "statements": [ - { - "assignments": [ - 17598 - ], - "declarations": [ - { - "constant": false, - "id": 17598, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8415:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17597, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "8415:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17602, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17599, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "8445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17601, - "indexExpression": { - "argumentTypes": null, - "id": 17600, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17587, - "src": "8453:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8445:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8415:48:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 17614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17604, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17598, - "src": "8495:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - ], - "id": 17603, - "name": "_isSurveyOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18180, - "src": "8481:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_SurveyStruct_$17226_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Survey.SurveyStruct storage pointer) view returns (bool)" - } - }, - "id": 17605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8481:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17608, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17589, - "src": "8524:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17609, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17598, - "src": "8532:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "8532:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17606, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "8506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "8506:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8506:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8556:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8506:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8481:76:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 17596, - "id": 17615, - "nodeType": "Return", - "src": "8474:83:21" - } - ] - }, - "documentation": null, - "id": 17617, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17592, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17587, - "src": "8379:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17593, - "modifierName": { - "argumentTypes": null, - "id": 17591, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "8366:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8366:23:21" - } - ], - "name": "canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17587, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17589, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8338:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8338:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8318:35:21" - }, - "payable": false, - "returnParameters": { - "id": 17596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17595, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17617, - "src": "8399:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17594, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8399:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8398:6:21" - }, - "scope": 18181, - "src": "8302:262:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17681, - "nodeType": "Block", - "src": "8920:365:21", - "statements": [ - { - "assignments": [ - 17640 - ], - "declarations": [ - { - "constant": false, - "id": 17640, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8930:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17639, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "8930:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17644, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17641, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "8960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17643, - "indexExpression": { - "argumentTypes": null, - "id": 17642, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17619, - "src": "8968:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8960:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8930:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17645, - "name": "open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17625, - "src": "8989:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17647, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - ], - "id": 17646, - "name": "_isSurveyOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18180, - "src": "8996:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_SurveyStruct_$17226_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Survey.SurveyStruct storage pointer) view returns (bool)" - } - }, - "id": 17648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8996:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8989:28:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17650, - "nodeType": "ExpressionStatement", - "src": "8989:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17651, - "name": "startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17627, - "src": "9027:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17652, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17653, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "9039:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9027:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17655, - "nodeType": "ExpressionStatement", - "src": "9027:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17656, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17629, - "src": "9065:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17657, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9081:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "9081:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9065:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17660, - "nodeType": "ExpressionStatement", - "src": "9065:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17661, - "name": "minParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17631, - "src": "9111:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17662, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9130:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "9130:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9111:45:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 17665, - "nodeType": "ExpressionStatement", - "src": "9111:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17666, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17633, - "src": "9166:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17667, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9180:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17668, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "9180:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9166:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17670, - "nodeType": "ExpressionStatement", - "src": "9166:32:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17671, - "name": "participation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17635, - "src": "9208:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17672, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9224:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "9224:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9208:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17675, - "nodeType": "ExpressionStatement", - "src": "9208:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17676, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17637, - "src": "9254:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17677, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17640, - "src": "9264:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "9264:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9254:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17680, - "nodeType": "ExpressionStatement", - "src": "9254:24:21" - } - ] - }, - "documentation": null, - "id": 17682, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17622, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17619, - "src": "8657:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17623, - "modifierName": { - "argumentTypes": null, - "id": 17621, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "8644:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8644:23:21" - } - ], - "name": "getSurvey", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17619, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8589:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8589:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8588:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17625, - "name": "open", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8698:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17624, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17627, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8721:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17626, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8721:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17629, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8751:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17628, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8751:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17631, - "name": "minParticipation", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8785:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 17630, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8785:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17633, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8822:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8822:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17635, - "name": "participation", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8855:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8855:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17637, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17682, - "src": "8890:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8684:231:21" - }, - "scope": 18181, - "src": "8570:715:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17780, - "nodeType": "Block", - "src": "9583:501:21", - "statements": [ - { - "assignments": [ - 17699 - ], - "declarations": [ - { - "constant": false, - "id": 17699, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9593:28:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17698, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "9593:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17706, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17700, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "9624:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17702, - "indexExpression": { - "argumentTypes": null, - "id": 17701, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17684, - "src": "9632:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9624:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "id": 17703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "9624:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17705, - "indexExpression": { - "argumentTypes": null, - "id": 17704, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17686, - "src": "9649:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9624:32:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9593:63:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17707, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9671:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9671:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9699:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9671:29:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17724, - "nodeType": "IfStatement", - "src": "9667:103:21", - "trueBody": { - "id": 17723, - "nodeType": "Block", - "src": "9702:68:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 17714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9738:1:21", - "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": 17713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9724:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9728:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17712, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9728:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9724:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 17719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9756:1:21", - "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": 17718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9742:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9746:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17717, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9746:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9742:16:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 17721, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9723:36:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 17697, - "id": 17722, - "nodeType": "Return", - "src": "9716:43:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 17734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17725, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17693, - "src": "9780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17729, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9804:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9804:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9831:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9804:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9790:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17727, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9794:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9790:43:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "9780:53:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17735, - "nodeType": "ExpressionStatement", - "src": "9780:53:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17736, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17696, - "src": "9843:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17740, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9866:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9866:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 17742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9893:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9866:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9852:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 17737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9856:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17738, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9856:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 17744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9852:43:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "src": "9843:52:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17746, - "nodeType": "ExpressionStatement", - "src": "9843:52:21" - }, - { - "body": { - "id": 17778, - "nodeType": "Block", - "src": "9961:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 17766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17758, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17693, - "src": "9975:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17760, - "indexExpression": { - "argumentTypes": null, - "id": 17759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9983:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9975:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17761, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "9988:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17764, - "indexExpression": { - "argumentTypes": null, - "id": 17763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10005:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9988:19:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17765, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "9988:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9975:41:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17767, - "nodeType": "ExpressionStatement", - "src": "9975:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17768, - "name": "stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17696, - "src": "10030:6:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 17770, - "indexExpression": { - "argumentTypes": null, - "id": 17769, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10037:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10030:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17771, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "10042:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "10042:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17774, - "indexExpression": { - "argumentTypes": null, - "id": 17773, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "10059:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10042:19:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "10042:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10030:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17777, - "nodeType": "ExpressionStatement", - "src": "10030:37:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17751, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9925:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17752, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17699, - "src": "9930:4:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "9930:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9925:29:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17779, - "initializationExpression": { - "assignments": [ - 17748 - ], - "declarations": [ - { - "constant": false, - "id": 17748, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9910:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17750, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 17749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9922:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9910:13:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 17756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9956:3:21", - "subExpression": { - "argumentTypes": null, - "id": 17755, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17748, - "src": "9956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17757, - "nodeType": "ExpressionStatement", - "src": "9956:3:21" - }, - "nodeType": "ForStatement", - "src": "9905:173:21" - } - ] - }, - "documentation": "@dev This is not meant to be used on-chain", - "id": 17781, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17689, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17684, - "src": "9514:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17690, - "modifierName": { - "argumentTypes": null, - "id": 17688, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "9501:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9501:23:21" - } - ], - "name": "getVoterState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17684, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9428:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9428:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17686, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9447:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9447:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9427:35:21" - }, - "payable": false, - "returnParameters": { - "id": 17697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17693, - "name": "options", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9542:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17692, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9542:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17696, - "name": "stakes", - "nodeType": "VariableDeclaration", - "scope": 17781, - "src": "9561:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17695, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9561:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9541:37:21" - }, - "scope": 18181, - "src": "9405:679:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 17812, - "nodeType": "Block", - "src": "10206:175:21", - "statements": [ - { - "assignments": [ - 17794 - ], - "declarations": [ - { - "constant": false, - "id": 17794, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10216:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17793, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10216:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17798, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17795, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17797, - "indexExpression": { - "argumentTypes": null, - "id": 17796, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17783, - "src": "10254:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10246:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10216:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17800, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17785, - "src": "10282:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17801, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17794, - "src": "10295:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "10295:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10282:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 17804, - "name": "ERROR_NO_OPTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17193, - "src": "10311:15:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 17799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10274:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 17805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10274:53:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17806, - "nodeType": "ExpressionStatement", - "src": "10274:53:21" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17807, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17794, - "src": "10345:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "10345:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17810, - "indexExpression": { - "argumentTypes": null, - "id": 17809, - "name": "_optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17785, - "src": "10364:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10345:29:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 17792, - "id": 17811, - "nodeType": "Return", - "src": "10338:36:21" - } - ] - }, - "documentation": null, - "id": 17813, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17788, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17783, - "src": "10177:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17789, - "modifierName": { - "argumentTypes": null, - "id": 17787, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "10164:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10164:23:21" - } - ], - "name": "getOptionPower", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17783, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10114:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17785, - "name": "_optionId", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10133:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10113:38:21" - }, - "payable": false, - "returnParameters": { - "id": 17792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17813, - "src": "10197:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10197:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10196:9:21" - }, - "scope": 18181, - "src": "10090:291:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17845, - "nodeType": "Block", - "src": "10490:257:21", - "statements": [ - { - "assignments": [ - 17824 - ], - "declarations": [ - { - "constant": false, - "id": 17824, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10500:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17823, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10500:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17828, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17825, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17827, - "indexExpression": { - "argumentTypes": null, - "id": 17826, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17815, - "src": "10538:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10530:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10500:48:21" - }, - { - "assignments": [ - 17830 - ], - "declarations": [ - { - "constant": false, - "id": 17830, - "name": "participationPct", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10595:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10595:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17839, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17834, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17163, - "src": "10647:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17831, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "10622:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "10622:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10622:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17836, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10659:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "10659:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10622:55:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10595:82:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17840, - "name": "participationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17830, - "src": "10694:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17841, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17824, - "src": "10714:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minParticipationPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 17211, - "src": "10714:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10694:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 17822, - "id": 17844, - "nodeType": "Return", - "src": "10687:53:21" - } - ] - }, - "documentation": null, - "id": 17846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 17818, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17815, - "src": "10464:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 17819, - "modifierName": { - "argumentTypes": null, - "id": 17817, - "name": "surveyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17304, - "src": "10451:12:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10451:23:21" - } - ], - "name": "isParticipationAchieved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17815, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10420:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10420:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10419:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17821, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 17846, - "src": "10484:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 17820, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10484:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10483:6:21" - }, - "scope": 18181, - "src": "10387:360:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 17965, - "nodeType": "Block", - "src": "10902:1358:21", - "statements": [ - { - "assignments": [ - 17852 - ], - "declarations": [ - { - "constant": false, - "id": 17852, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10912:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17851, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "10912:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17856, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17853, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "10942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17855, - "indexExpression": { - "argumentTypes": null, - "id": 17854, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17848, - "src": "10950:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10942:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10912:48:21" - }, - { - "assignments": [ - 17858 - ], - "declarations": [ - { - "constant": false, - "id": 17858, - "name": "previousVote", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10970:36:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17857, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "10970:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17864, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17859, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11009:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17860, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "11009:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17863, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17861, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11022:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11022:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11009:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10970:63:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17865, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11047:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17866, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "11047:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11082:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11047:36:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 17964, - "nodeType": "IfStatement", - "src": "11043:1211:21", - "trueBody": { - "id": 17963, - "nodeType": "Block", - "src": "11085:1169:21", - "statements": [ - { - "body": { - "id": 17923, - "nodeType": "Block", - "src": "11233:508:21", - "statements": [ - { - "assignments": [ - 17881 - ], - "declarations": [ - { - "constant": false, - "id": 17881, - "name": "previousOptionCast", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11251:37:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - }, - "typeName": { - "contractScope": null, - "id": 17880, - "name": "OptionCast", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17198, - "src": "11251:10:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17886, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17882, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11291:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "11291:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17885, - "indexExpression": { - "argumentTypes": null, - "id": 17884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11316:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11291:27:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11251:67:21" - }, - { - "assignments": [ - 17888 - ], - "declarations": [ - { - "constant": false, - "id": 17888, - "name": "previousOptionPower", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11336:27:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11336:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17889, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11366:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "11366:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17893, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17891, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11385:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17892, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11385:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11366:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11336:77:21" - }, - { - "assignments": [ - 17896 - ], - "declarations": [ - { - "constant": false, - "id": 17896, - "name": "currentOptionPower", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11431:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11431:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17902, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17899, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11484:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11484:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17897, - "name": "previousOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17888, - "src": "11460:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11460:23:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11460:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11431:78:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17903, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11527:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17907, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "11527:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 17908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17905, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11546:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11546:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11527:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 17909, - "name": "currentOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17896, - "src": "11577:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11527:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17911, - "nodeType": "ExpressionStatement", - "src": "11527:68:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17913, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17848, - "src": "11629:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11640:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11640:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17916, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11652:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "11652:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17918, - "name": "previousOptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17881, - "src": "11681:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage_ptr", - "typeString": "struct Survey.OptionCast storage pointer" - } - }, - "id": 17919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11681:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 17920, - "name": "currentOptionPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17896, - "src": "11707:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17912, - "name": "ResetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17270, - "src": "11619:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256)" - } - }, - "id": 17921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11619:107:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17922, - "nodeType": "EmitStatement", - "src": "11614:112:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 17876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17873, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11189:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17874, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11194:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "11194:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11189:37:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 17924, - "initializationExpression": { - "assignments": [ - 17870 - ], - "declarations": [ - { - "constant": false, - "id": 17870, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11174:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11174:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17872, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 17871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11186:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11174:13:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 17878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11228:3:21", - "subExpression": { - "argumentTypes": null, - "id": 17877, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17870, - "src": "11228:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17879, - "nodeType": "ExpressionStatement", - "src": "11228:3:21" - }, - "nodeType": "ForStatement", - "src": "11169:572:21" - }, - { - "assignments": [ - 17926 - ], - "declarations": [ - { - "constant": false, - "id": 17926, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11846:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11846:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17934, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "11885:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11885:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17931, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "11897:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17932, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "11897:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 17927, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "11867:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 17928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "11867:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 17933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11867:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11846:72:21" - }, - { - "assignments": [ - 17936 - ], - "declarations": [ - { - "constant": false, - "id": 17936, - "name": "previousParticipation", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "11932:29:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11932:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17945, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17939, - "name": "previousVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17858, - "src": "11979:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 17940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "11979:24:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 17942, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 17941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12004:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11979:27:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 17943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "11979:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 17937, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17926, - "src": "11964:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11964:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11964:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11932:81:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17946, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12081:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "12081:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17952, - "name": "previousParticipation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17936, - "src": "12129:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17949, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12104:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "12104:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "12104:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 17953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12104:47:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12081:70:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17955, - "nodeType": "ExpressionStatement", - "src": "12081:70:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 17961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "12212:31:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17956, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17852, - "src": "12219:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "12219:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17960, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12232:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12232:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12219:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17962, - "nodeType": "ExpressionStatement", - "src": "12212:31:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 17966, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_resetVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17848, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 17966, - "src": "10874:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10874:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10873:19:21" - }, - "payable": false, - "returnParameters": { - "id": 17850, - "nodeType": "ParameterList", - "parameters": [], - "src": "10902:0:21" - }, - "scope": 18181, - "src": "10854:1406:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18162, - "nodeType": "Block", - "src": "12437:2418:21", - "statements": [ - { - "assignments": [ - 17978 - ], - "declarations": [ - { - "constant": false, - "id": 17978, - "name": "survey", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12447:27:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 17977, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "12447:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17982, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 17979, - "name": "surveys", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17236, - "src": "12477:7:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SurveyStruct_$17226_storage_$", - "typeString": "mapping(uint256 => struct Survey.SurveyStruct storage ref)" - } - }, - "id": 17981, - "indexExpression": { - "argumentTypes": null, - "id": 17980, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "12485:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12477:18:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage", - "typeString": "struct Survey.SurveyStruct storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12447:48:21" - }, - { - "assignments": [ - 17984 - ], - "declarations": [ - { - "constant": false, - "id": 17984, - "name": "senderVotes", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12505:35:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - }, - "typeName": { - "contractScope": null, - "id": 17983, - "name": "MultiOptionVote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17205, - "src": "12505:15:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17990, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17985, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "12543:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 17986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17225, - "src": "12543:12:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_MultiOptionVote_$17205_storage_$", - "typeString": "mapping(address => struct Survey.MultiOptionVote storage ref)" - } - }, - "id": 17989, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17987, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "12556:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12556:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12543:24:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage", - "typeString": "struct Survey.MultiOptionVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12505:62:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 17992, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "12630:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 17991, - "name": "_resetVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17966, - "src": "12619:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 17993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12619:21:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 17994, - "nodeType": "ExpressionStatement", - "src": "12619:21:21" - }, - { - "assignments": [ - 17996 - ], - "declarations": [ - { - "constant": false, - "id": 17996, - "name": "totalVoted", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12651:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12651:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 17998, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 17997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12672:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12651:22:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 17999, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "12731:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "12731:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18003, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12755:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12731:26:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18005, - "name": "ABSTAIN_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17166, - "src": "12783:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 18006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12804:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 18004, - "name": "OptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17198, - "src": "12760:10:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OptionCast_$17198_storage_ptr_$", - "typeString": "type(struct Survey.OptionCast storage pointer)" - } - }, - "id": 18007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "optionId", - "stake" - ], - "nodeType": "FunctionCall", - "src": "12760:48:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_memory", - "typeString": "struct Survey.OptionCast memory" - } - }, - "src": "12731:77:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18009, - "nodeType": "ExpressionStatement", - "src": "12731:77:21" - }, - { - "body": { - "id": 18113, - "nodeType": "Block", - "src": "12897:1331:21", - "statements": [ - { - "assignments": [ - 18022 - ], - "declarations": [ - { - "constant": false, - "id": 18022, - "name": "optionId", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "13173:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13173:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18028, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18023, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "13192:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18027, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18024, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13203:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13217:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13203:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13192:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13173:46:21" - }, - { - "assignments": [ - 18030 - ], - "declarations": [ - { - "constant": false, - "id": 18030, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "13233:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13233:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18036, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18031, - "name": "_stakes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17974, - "src": "13249:7:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18035, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18032, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13257:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13271:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13257:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13233:40:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18038, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13296:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 18039, - "name": "ABSTAIN_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17166, - "src": "13308:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13296:24:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18041, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13324:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18042, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13336:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 17213, - "src": "13336:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13324:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13296:54:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18046, - "name": "ERROR_VOTE_WRONG_OPTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17184, - "src": "13352:23:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18037, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13288:88:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18048, - "nodeType": "ExpressionStatement", - "src": "13288:88:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18050, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "13398:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13406:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13398:9:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18053, - "name": "ERROR_NO_STAKE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17187, - "src": "13409:14:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13390:34:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18055, - "nodeType": "ExpressionStatement", - "src": "13390:34:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18057, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "13668:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "13668:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18062, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18059, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13692:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13706:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13692:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13668:40:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionId", - "nodeType": "MemberAccess", - "referencedDeclaration": 17195, - "src": "13668:49:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18064, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13720:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13668:60:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18066, - "name": "ERROR_OPTIONS_NOT_ORDERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17190, - "src": "13730:25:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13660:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13660:96:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18068, - "nodeType": "ExpressionStatement", - "src": "13660:96:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18069, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "13808:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "13808:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18073, - "indexExpression": { - "argumentTypes": null, - "id": 18071, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "13832:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13808:36:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18075, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13870:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18076, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "13887:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": null, - "id": 18074, - "name": "OptionCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17198, - "src": "13847:10:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OptionCast_$17198_storage_ptr_$", - "typeString": "type(struct Survey.OptionCast storage pointer)" - } - }, - "id": 18077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "optionId", - "stake" - ], - "nodeType": "FunctionCall", - "src": "13847:48:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_memory", - "typeString": "struct Survey.OptionCast memory" - } - }, - "src": "13808:87:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18079, - "nodeType": "ExpressionStatement", - "src": "13808:87:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18080, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13953:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "13953:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18084, - "indexExpression": { - "argumentTypes": null, - "id": 18082, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "13972:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13953:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18090, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14017:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18085, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "13984:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "13984:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18088, - "indexExpression": { - "argumentTypes": null, - "id": 18087, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14003:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13984:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13984:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13984:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13953:70:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18093, - "nodeType": "ExpressionStatement", - "src": "13953:70:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18094, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14085:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18097, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14113:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18095, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14098:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14098:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14098:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14085:34:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18100, - "nodeType": "ExpressionStatement", - "src": "14085:34:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18102, - "name": "_surveyId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17968, - "src": "14148:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18103, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14159:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14159:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18105, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14171:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18106, - "name": "stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18030, - "src": "14181:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18107, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14188:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17221, - "src": "14188:18:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 18110, - "indexExpression": { - "argumentTypes": null, - "id": 18109, - "name": "optionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18022, - "src": "14207:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14188:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18101, - "name": "CastVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17258, - "src": "14139:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256,uint256,uint256)" - } - }, - "id": 18111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14139:78:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18112, - "nodeType": "EmitStatement", - "src": "14134:83:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18014, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "12848:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18015, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "12863:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12863:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12848:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18114, - "initializationExpression": { - "assignments": [ - 18011 - ], - "declarations": [ - { - "constant": false, - "id": 18011, - "name": "optionIndex", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12823:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12823:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18013, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 18012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12845:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12823:23:21" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 18019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12882:13:21", - "subExpression": { - "argumentTypes": null, - "id": 18018, - "name": "optionIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18011, - "src": "12882:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18020, - "nodeType": "ExpressionStatement", - "src": "12882:13:21" - }, - "nodeType": "ForStatement", - "src": "12818:1410:21" - }, - { - "assignments": [ - 18116 - ], - "declarations": [ - { - "constant": false, - "id": 18116, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "14424:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18124, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18119, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "14463:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14463:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18121, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14475:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 17209, - "src": "14475:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 18117, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17228, - "src": "14445:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "14445:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 18123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14445:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14424:72:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18125, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "14506:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "castedVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 17204, - "src": "14506:23:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OptionCast_$17198_storage_$", - "typeString": "mapping(uint256 => struct Survey.OptionCast storage ref)" - } - }, - "id": 18129, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14530:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14506:26:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OptionCast_$17198_storage", - "typeString": "struct Survey.OptionCast storage ref" - } - }, - "id": 18130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 17197, - "src": "14506:32:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18133, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14556:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18131, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18116, - "src": "14541:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "14541:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14541:26:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14506:61:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18136, - "nodeType": "ExpressionStatement", - "src": "14506:61:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18137, - "name": "senderVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17984, - "src": "14622:11:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOptionVote_$17205_storage_ptr", - "typeString": "struct Survey.MultiOptionVote storage pointer" - } - }, - "id": 18139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "optionsCastedLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 17200, - "src": "14622:31:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18140, - "name": "_optionIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17971, - "src": "14656:10:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14656:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14622:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18143, - "nodeType": "ExpressionStatement", - "src": "14622:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 18152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18144, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14729:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14729:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18150, - "name": "totalVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17996, - "src": "14777:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18147, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14752:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14752:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "14752:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14729:59:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18153, - "nodeType": "ExpressionStatement", - "src": "14729:59:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18155, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participation", - "nodeType": "MemberAccess", - "referencedDeclaration": 17217, - "src": "14805:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18157, - "name": "survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17978, - "src": "14829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 17215, - "src": "14829:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14805:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 18154, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29773, - "src": "14798:6:21", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 18160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14798:50:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18161, - "nodeType": "ExpressionStatement", - "src": "14798:50:21" - } - ] - }, - "documentation": null, - "id": 18163, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_voteOptions", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 17975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 17968, - "name": "_surveyId", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12368:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17971, - "name": "_optionIds", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12387:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12387:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17970, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12387:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17974, - "name": "_stakes", - "nodeType": "VariableDeclaration", - "scope": 18163, - "src": "12409:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 17972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12409:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 17973, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12409:9:21", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12367:60:21" - }, - "payable": false, - "returnParameters": { - "id": 17976, - "nodeType": "ParameterList", - "parameters": [], - "src": "12437:0:21" - }, - "scope": 18181, - "src": "12346:2509:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18179, - "nodeType": "Block", - "src": "14943:76:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18170, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "14960:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 18171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14960:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18175, - "name": "surveyTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17232, - "src": "15001:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18172, - "name": "_survey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18165, - "src": "14979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct storage pointer" - } - }, - "id": 18173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 17207, - "src": "14979:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "14979:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 18176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14979:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "14960:52:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18169, - "id": 18178, - "nodeType": "Return", - "src": "14953:59:21" - } - ] - }, - "documentation": null, - "id": 18180, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isSurveyOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18165, - "name": "_survey", - "nodeType": "VariableDeclaration", - "scope": 18180, - "src": "14884:28:21", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - }, - "typeName": { - "contractScope": null, - "id": 18164, - "name": "SurveyStruct", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17226, - "src": "14884:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SurveyStruct_$17226_storage_ptr", - "typeString": "struct Survey.SurveyStruct" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14883:30:21" - }, - "payable": false, - "returnParameters": { - "id": 18169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18168, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18180, - "src": "14937:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14937:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14936:6:21" - }, - "scope": 18181, - "src": "14861:158:21", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 18182, - "src": "307:14714:21" - } - ], - "src": "57:14965:21" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.465Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Tap.json b/templates/multisig/build/contracts/Tap.json deleted file mode 100644 index 71346ff..0000000 --- a/templates/multisig/build/contracts/Tap.json +++ /dev/null @@ -1,29006 +0,0 @@ -{ - "contractName": "Tap", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_CONTROLLER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "beneficiary", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_BENEFICIARY_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maximumTapRateIncreasePct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "lastTappedAmountUpdates", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "tappedAmounts", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ADD_TAPPED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "RESET_TAPPED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_RESERVE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_TAPPED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "batchBlocks", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "floors", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "reserve", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REMOVE_TAPPED_TOKEN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "WITHDRAW_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "lastTapUpdates", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maximumTapFloorDecreasePct", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "controller", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PCT_BASE", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "beneficiary", - "type": "address" - } - ], - "name": "UpdateBeneficiary", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "maximumTapRateIncreasePct", - "type": "uint256" - } - ], - "name": "UpdateMaximumTapRateIncreasePct", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "maximumTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "UpdateMaximumTapFloorDecreasePct", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "rate", - "type": "uint256" - }, - { - "indexed": false, - "name": "floor", - "type": "uint256" - } - ], - "name": "AddTappedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - } - ], - "name": "RemoveTappedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "rate", - "type": "uint256" - }, - { - "indexed": false, - "name": "floor", - "type": "uint256" - } - ], - "name": "UpdateTappedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - } - ], - "name": "ResetTappedToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "tappedAmount", - "type": "uint256" - } - ], - "name": "UpdateTappedAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_controller", - "type": "address" - }, - { - "name": "_reserve", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - }, - { - "name": "_batchBlocks", - "type": "uint256" - }, - { - "name": "_maximumTapRateIncreasePct", - "type": "uint256" - }, - { - "name": "_maximumTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "updateBeneficiary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapRateIncreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_maximumTapFloorDecreasePct", - "type": "uint256" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "addTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "removeTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_rate", - "type": "uint256" - }, - { - "name": "_floor", - "type": "uint256" - } - ], - "name": "updateTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "resetTappedToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "updateTappedAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "getMaximumWithdrawal", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "rates", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620033198339815191526401000000006200261b6200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620033198339815191528264010000000062002c896200023782021704565b50565b5490565b9055565b6130ce806200024b6000396000f3006080604052600436106102005763ffffffff60e060020a60003504166307e18bc881146102055780630803fac01461021f578063092c684f146102485780630aaffd2a1461026f5780632914b9bd1461029057806332f0a3b51461030557806338af3eed1461031a57806341644f8c1461032f578063486b6d1a146103445780634c8621361461036557806351cff8d91461037a5780635503c6561461039b5780635567de45146103bc57806372405ee0146103dd578063728cdbca146103f257806378986e64146104285780637e7db6e11461043d57806380afdea81461045e578063846a0a89146104735780638b3dd749146104945780639cbbba88146104a95780639d4941d8146104ca578063a1658fad146104eb578063a479e50814610552578063a59a583214610567578063a8734f0b1461057c578063b897b6281461059d578063bf5ae743146105c4578063c102b1b5146105d9578063c56f0f6c146105ee578063cc3f861f14610603578063cc77491b14610624578063cd3293de14610639578063d0c063be1461064e578063d21bd82014610663578063d4aae0c41461067b578063de4796ed14610690578063e02023a1146106a5578063e1264fcd146106ba578063e2a5aec5146106db578063ed20de58146106fc578063f30a00ce14610711578063f77c479114610738578063fc157cb41461074d575b600080fd5b34801561021157600080fd5b5061021d600435610762565b005b34801561022b57600080fd5b50610234610862565b604080519115158252519081900360200190f35b34801561025457600080fd5b5061025d61088b565b60408051918252519081900360200190f35b34801561027b57600080fd5b5061021d600160a060020a03600435166108af565b34801561029c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e99436949293602493928401919081908401838280828437509497506109fd9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561031157600080fd5b506102e9610ae3565b34801561032657600080fd5b506102e9610b5b565b34801561033b57600080fd5b5061025d610b6a565b34801561035057600080fd5b5061021d600160a060020a0360043516610b8e565b34801561037157600080fd5b5061025d610cca565b34801561038657600080fd5b5061021d600160a060020a0360043516610cd0565b3480156103a757600080fd5b5061025d600160a060020a0360043516610ea6565b3480156103c857600080fd5b5061025d600160a060020a0360043516610eb8565b3480156103e957600080fd5b5061025d610eca565b3480156103fe57600080fd5b5061021d600160a060020a036004358116906024358116906044351660643560843560a435610eee565b34801561043457600080fd5b5061025d6112a7565b34801561044957600080fd5b50610234600160a060020a03600435166112cb565b34801561046a57600080fd5b5061025d6112d1565b34801561047f57600080fd5b5061021d600160a060020a0360043516611301565b3480156104a057600080fd5b5061025d611388565b3480156104b557600080fd5b5061021d600160a060020a03600435166113b3565b3480156104d657600080fd5b5061021d600160a060020a03600435166114ef565b3480156104f757600080fd5b506040805160206004604435818101358381028086018501909652808552610234958335600160a060020a031695602480359636969560649593949201929182918501908490808284375094975061177e9650505050505050565b34801561055e57600080fd5b506102e96118ce565b34801561057357600080fd5b5061025d611983565b34801561058857600080fd5b5061025d600160a060020a03600435166119a7565b3480156105a957600080fd5b5061021d600160a060020a0360043516602435604435611a54565b3480156105d057600080fd5b5061025d611cc9565b3480156105e557600080fd5b5061025d611ced565b3480156105fa57600080fd5b5061025d611d11565b34801561060f57600080fd5b5061025d600160a060020a0360043516611d17565b34801561063057600080fd5b5061025d611d29565b34801561064557600080fd5b506102e9611d4d565b34801561065a57600080fd5b5061025d611d5c565b34801561066f57600080fd5b5061021d600435611d80565b34801561068757600080fd5b506102e9611ece565b34801561069c57600080fd5b50610234611ef9565b3480156106b157600080fd5b5061025d611f0c565b3480156106c657600080fd5b5061025d600160a060020a0360043516611f30565b3480156106e757600080fd5b5061025d600160a060020a0360043516611f42565b34801561070857600080fd5b5061025d611fe2565b34801561071d57600080fd5b5061021d600160a060020a0360043516602435604435611fe8565b34801561074457600080fd5b506102e9612248565b34801561075957600080fd5b5061025d612257565b604080516000808252602082019092527f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207916107a49133918491905b5061177e565b60408051808201909152600f815260008051602061306383398151915260208201529015156108545760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610819578181015183820152602001610801565b50505050905090810190601f1680156108465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061085e82612263565b5050565b60008061086d611388565b9050801580159061088557508061088261229e565b10155b91505090565b7f454b5d0dbb74f012faf1d3722ea441689f97dc957dd3ca5335b4969586e5dc3081565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593916108ef91339184919061079e565b60408051808201909152600f815260008051602061306383398151915260208201529015156109635760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061096d826122a2565b60408051808201909152601781527f5441505f494e56414c49445f42454e454649434941525900000000000000000060208201529015156109f35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e826122b0565b6000610a076118ce565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a65578181015183820152602001610a4d565b50505050905090810190601f168015610a925780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610ab157600080fd5b505af1158015610ac5573d6000803e3d6000fd5b505050506040513d6020811015610adb57600080fd5b505192915050565b6000610aed611ece565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b5051905090565b600254600160a060020a031681565b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b604080516000808252602082019092527fd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd91610bce91339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515610c425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610c4c82612307565b60408051808201909152601481526000805160206130838339815191526020820152901515610cc05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612324565b60045481565b604080516000808252602082019092527f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec90610d1090339083908561079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515610d845760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610d8e83612307565b60408051808201909152601481526000805160206130838339815191526020820152901515610e025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610e0c83612393565b60408051808201909152601a81527f5441505f5749544844524157414c5f414d4f554e545f5a45524f000000000000602082015290925060008311610e965760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610ea18383612411565b505050565b60096020526000908152604090205481565b60066020526000908152604090205481565b7f5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc81565b610ef6611388565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610f7b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610f858661251f565b60408051808201909152601381527f5441505f434f4e54524143545f49535f454f4100000000000000000000000000602082015290151561100b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506110158561251f565b60408051808201909152601381527f5441505f434f4e54524143545f49535f454f4100000000000000000000000000602082015290151561109b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506110a5846122a2565b60408051808201909152601781527f5441505f494e56414c49445f42454e4546494349415259000000000000000000602082015290151561112b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5060408051808201909152601881527f5441505f494e56414c49445f42415443485f424c4f434b53000000000000000060208201528315156111b25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506111bc81612545565b60408051808201909152601e81527f5441505f494e56414c49445f464c4f4f525f44454352454153455f504354000060208201529015156112425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061124b612553565b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039889161790915560018054821696881696909617909555600280549095169390951692909217909255600391909155600455600555565b7f294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e81565b50600190565b60006112fc7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61261b565b905090565b61130a81612307565b6040805180820190915260148152600080516020613083833981519152602082015290151561137e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e81612393565b60006112fc7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61261b565b604080516000808252602082019092527f294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e916113f391339184919061079e565b60408051808201909152600f815260008051602061306383398151915260208201529015156114675760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061147182612307565b604080518082019091526014815260008051602061308383398151915260208201529015156114e55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612623565b60008060006114fd846112cb565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156115835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061158c610ae3565b92506115978361251f565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561161d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50600160a060020a038416151561166e5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015611668573d6000803e3d6000fd5b5061172d565b5082611689600160a060020a0382163063ffffffff6126ac16565b91506116a5600160a060020a038216848463ffffffff6127ac16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561172b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080611789610862565b151561179857600091506118c6565b6117a0611ece565b9050600160a060020a03811615156117bb57600091506118c6565b80600160a060020a031663fdef91068630876117d688612822565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611848578181015183820152602001611830565b50505050905090810190601f1680156118755780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561189757600080fd5b505af11580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b505191505b509392505050565b6000806118d9611ece565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610ab157600080fd5b7f7984c050833e1db850f5aa7476710412fd2983fcec34da049502835ad7aed4f781565b60006119b1610862565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515611a375760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5050600160a060020a031660009081526007602052604090205490565b604080516000808252602082019092527f5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc91611a9491339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515611b085760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611b128461282c565b60408051808201909152601181527f5441505f494e56414c49445f544f4b454e0000000000000000000000000000006020820152901515611b985760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611ba284612307565b60408051808201909152601881527f5441505f544f4b454e5f414c52454144595f544150504544000000000000000060208201529015611c275760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611c318361284b565b60408051808201909152601481527f5441505f494e56414c49445f5441505f524154450000000000000000000000006020820152901515611cb75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611cc3848484612850565b50505050565b7f83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e1221328881565b7f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20781565b60035481565b60086020526000908152604090205481565b7f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e181565b600154600160a060020a031681565b7fd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd81565b604080516000808252602082019092527f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e191611dc091339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515611e345760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611e3e82612545565b60408051808201909152601e81527f5441505f494e56414c49445f464c4f4f525f44454352454153455f50435400006020820152901515611ec45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612900565b60006112fc7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61261b565b6000600019611f06611388565b14905090565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b600a6020526000908152604090205481565b6000611f4c610862565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515611fd25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611fdc8261293b565b92915050565b60055481565b604080516000808252602082019092527f83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e122132889161202891339184919061079e565b60408051808201909152600f8152600080516020613063833981519152602082015290151561209c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506120a684612307565b6040805180820190915260148152600080516020613083833981519152602082015290151561211a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506121248361284b565b60408051808201909152601481527f5441505f494e56414c49445f5441505f5241544500000000000000000000000060208201529015156121aa5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506121b6848484612aff565b60408051808201909152601681527f5441505f494e56414c49445f5441505f55504441544500000000000000000000602082015290151561223c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611cc3848484612b24565b600054600160a060020a031681565b670de0b6b3a764000081565b60048190556040805182815290517f9b7e646ff02dfcf5eb44312fe1246b19fbd7cd135b5e8fc87ea8dabdba0a557a9181900360200190a150565b4390565b600160a060020a0316151590565b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091556040517fe6131a64e93e9aa4ff38892c34d563c06dcc1e03b3d6897cc65f0903e2ad684890600090a250565b600160a060020a0316600090815260076020526040902054151590565b600160a060020a0381166000818152600660209081526040808320839055600782528083208390556008825280832083905560098252808320839055600a909152808220829055517f501177e27fa4ac1960010be66ac3465730ea30d032efffb194ecdab56780a9a19190a250565b60008061239f8361293b565b90506123a9612bd4565b600160a060020a03841660008181526009602090815260408083209490945560068152908390208490558251848152925191927f52a0ec2acc756c1e658413fdceb6e3d7621deafa23d6f7cf8cfe8dac74f58f38929081900390910190a28091505b50919050565b600160a060020a03821660009081526006602052604090205461243a908263ffffffff612bee16565b600160a060020a038084166000818152600660205260408082209490945560015460025485517fbeabacc8000000000000000000000000000000000000000000000000000000008152600481019490945284166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b1580156124c457600080fd5b505af11580156124d8573d6000803e3d6000fd5b5050604080518481529051600160a060020a03861693507f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436492509081900360200190a25050565b600080600160a060020a038316151561253b576000915061240b565b50506000903b1190565b670de0b6b3a7640000101590565b61255b611388565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156125e05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506126196125ec61229e565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612c8916565b565b5490565b5490565b600160a060020a038116600090815260066020526040812055612644612bd4565b600160a060020a038216600090815260096020526040902055612665612c8d565b600160a060020a0382166000818152600a602052604080822093909355915190917fd6bb4268f8b24a4b1224ccb373917deefefc838e5deb90fc31bf588f809eb5b091a250565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806127178684612c91565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156127a25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906128198582612cc2565b95945050505050565b8051602002815290565b60006128378261251f565b80611fdc575050600160a060020a03161590565b151590565b600160a060020a038316600090815260076020908152604080832085905560089091529020819055612880612bd4565b600160a060020a0384166000908152600960205260409020556128a1612c8d565b600160a060020a0384166000818152600a6020908152604091829020939093558051858152928301849052805191927fd68f3ca2b9dba133e5d2c7434e9354e135d834bb79a415b6ee8a640d61631260929081900390910190a2505050565b60058190556040805182815290517fa9ff459c90a69cad3990e8d42d4becd66f4252de3fd0da15700f4eb1f31d33e49181900360200190a150565b600160a060020a03808216600081815260086020908152604080832054835482517f4afe6c4700000000000000000000000000000000000000000000000000000000815260048101969096529151939586958695869586956129f495941692634afe6c47926024808301939282900301818987803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b50519063ffffffff612d1016565b9350600160a060020a03861615612a2957600154612a2490600160a060020a03888116911663ffffffff6126ac16565b612a37565b600154600160a060020a0316315b600160a060020a038716600090815260076020908152604080832054600990925290912054919450612a8791612a7b90612a6f612bd4565b9063ffffffff612bee16565b9063ffffffff612d9e16565b600160a060020a038716600090815260066020526040902054909250612ab3908363ffffffff612d1016565b9050838311612ac55760009450612af6565b612ad5848263ffffffff612d1016565b8311612af257612aeb838563ffffffff612bee16565b9450612af6565b8094505b50505050919050565b6000612b0b8484612e49565b8015612b1c5750612b1c8483612f04565b949350505050565b6000612b2f84612393565b90506000811115612b4457612b448482612411565b600160a060020a038416600090815260076020908152604080832086905560089091529020829055612b74612c8d565b600160a060020a0385166000818152600a6020908152604091829020939093558051868152928301859052805191927fd163e19d68c378e6a686a4f7b29752e9132fcb27e94cba5824967cda8f707746929081900390910190a250505050565b6003546000906112fc90612a7b438263ffffffff612fc216565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612c7a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b505050808203805b5092915050565b9055565b4290565b6000806000806040516020818751602089018a5afa92506000831115612cb657805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612d06573d8015612cf35760208114612cfc57612d04565b60019350612d04565b600183511493505b505b5090949350505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156118c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b600080831515612db15760009150612c82565b50828202828482811515612dc157fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146118c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b600160a060020a038216600090815260076020526040812054808311612e725760019150612c82565b600160a060020a0384166000908152600a602052604090205462278d0001612e98612c8d565b1015612ea75760009150612c82565b612ed4612ec7600454670de0b6b3a7640000612d1090919063ffffffff16565b829063ffffffff612d9e16565b612eec84670de0b6b3a764000063ffffffff612d9e16565b11612efa5760019150612c82565b5060009392505050565b600160a060020a038216600090815260086020526040812054808310612f2d5760019150612c82565b600160a060020a0384166000908152600a602052604090205462278d0001612f53612c8d565b1015612f625760009150612c82565b600554670de0b6b3a764000011612f7c5760019150612c82565b612f9c612ec7600554670de0b6b3a7640000612bee90919063ffffffff16565b612fb484670de0b6b3a764000063ffffffff612d9e16565b10612efa5760019150612c82565b60408051808201909152600d81527f4d4154485f4449565f5a45524f000000000000000000000000000000000000006020820152600090819081841161304d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50828481151561305957fe5b0494935050505056004150505f415554485f4641494c454400000000000000000000000000000000005441505f544f4b454e5f4e4f545f544150504544000000000000000000000000a165627a7a72305820007e30768373fa0108fa6a85d9e36da547323a186c575bbddee0e9fb6f7428130029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106102005763ffffffff60e060020a60003504166307e18bc881146102055780630803fac01461021f578063092c684f146102485780630aaffd2a1461026f5780632914b9bd1461029057806332f0a3b51461030557806338af3eed1461031a57806341644f8c1461032f578063486b6d1a146103445780634c8621361461036557806351cff8d91461037a5780635503c6561461039b5780635567de45146103bc57806372405ee0146103dd578063728cdbca146103f257806378986e64146104285780637e7db6e11461043d57806380afdea81461045e578063846a0a89146104735780638b3dd749146104945780639cbbba88146104a95780639d4941d8146104ca578063a1658fad146104eb578063a479e50814610552578063a59a583214610567578063a8734f0b1461057c578063b897b6281461059d578063bf5ae743146105c4578063c102b1b5146105d9578063c56f0f6c146105ee578063cc3f861f14610603578063cc77491b14610624578063cd3293de14610639578063d0c063be1461064e578063d21bd82014610663578063d4aae0c41461067b578063de4796ed14610690578063e02023a1146106a5578063e1264fcd146106ba578063e2a5aec5146106db578063ed20de58146106fc578063f30a00ce14610711578063f77c479114610738578063fc157cb41461074d575b600080fd5b34801561021157600080fd5b5061021d600435610762565b005b34801561022b57600080fd5b50610234610862565b604080519115158252519081900360200190f35b34801561025457600080fd5b5061025d61088b565b60408051918252519081900360200190f35b34801561027b57600080fd5b5061021d600160a060020a03600435166108af565b34801561029c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e99436949293602493928401919081908401838280828437509497506109fd9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561031157600080fd5b506102e9610ae3565b34801561032657600080fd5b506102e9610b5b565b34801561033b57600080fd5b5061025d610b6a565b34801561035057600080fd5b5061021d600160a060020a0360043516610b8e565b34801561037157600080fd5b5061025d610cca565b34801561038657600080fd5b5061021d600160a060020a0360043516610cd0565b3480156103a757600080fd5b5061025d600160a060020a0360043516610ea6565b3480156103c857600080fd5b5061025d600160a060020a0360043516610eb8565b3480156103e957600080fd5b5061025d610eca565b3480156103fe57600080fd5b5061021d600160a060020a036004358116906024358116906044351660643560843560a435610eee565b34801561043457600080fd5b5061025d6112a7565b34801561044957600080fd5b50610234600160a060020a03600435166112cb565b34801561046a57600080fd5b5061025d6112d1565b34801561047f57600080fd5b5061021d600160a060020a0360043516611301565b3480156104a057600080fd5b5061025d611388565b3480156104b557600080fd5b5061021d600160a060020a03600435166113b3565b3480156104d657600080fd5b5061021d600160a060020a03600435166114ef565b3480156104f757600080fd5b506040805160206004604435818101358381028086018501909652808552610234958335600160a060020a031695602480359636969560649593949201929182918501908490808284375094975061177e9650505050505050565b34801561055e57600080fd5b506102e96118ce565b34801561057357600080fd5b5061025d611983565b34801561058857600080fd5b5061025d600160a060020a03600435166119a7565b3480156105a957600080fd5b5061021d600160a060020a0360043516602435604435611a54565b3480156105d057600080fd5b5061025d611cc9565b3480156105e557600080fd5b5061025d611ced565b3480156105fa57600080fd5b5061025d611d11565b34801561060f57600080fd5b5061025d600160a060020a0360043516611d17565b34801561063057600080fd5b5061025d611d29565b34801561064557600080fd5b506102e9611d4d565b34801561065a57600080fd5b5061025d611d5c565b34801561066f57600080fd5b5061021d600435611d80565b34801561068757600080fd5b506102e9611ece565b34801561069c57600080fd5b50610234611ef9565b3480156106b157600080fd5b5061025d611f0c565b3480156106c657600080fd5b5061025d600160a060020a0360043516611f30565b3480156106e757600080fd5b5061025d600160a060020a0360043516611f42565b34801561070857600080fd5b5061025d611fe2565b34801561071d57600080fd5b5061021d600160a060020a0360043516602435604435611fe8565b34801561074457600080fd5b506102e9612248565b34801561075957600080fd5b5061025d612257565b604080516000808252602082019092527f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207916107a49133918491905b5061177e565b60408051808201909152600f815260008051602061306383398151915260208201529015156108545760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610819578181015183820152602001610801565b50505050905090810190601f1680156108465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061085e82612263565b5050565b60008061086d611388565b9050801580159061088557508061088261229e565b10155b91505090565b7f454b5d0dbb74f012faf1d3722ea441689f97dc957dd3ca5335b4969586e5dc3081565b604080516000808252602082019092527ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593916108ef91339184919061079e565b60408051808201909152600f815260008051602061306383398151915260208201529015156109635760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061096d826122a2565b60408051808201909152601781527f5441505f494e56414c49445f42454e454649434941525900000000000000000060208201529015156109f35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e826122b0565b6000610a076118ce565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a65578181015183820152602001610a4d565b50505050905090810190601f168015610a925780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610ab157600080fd5b505af1158015610ac5573d6000803e3d6000fd5b505050506040513d6020811015610adb57600080fd5b505192915050565b6000610aed611ece565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b5051905090565b600254600160a060020a031681565b7ff7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b73259381565b604080516000808252602082019092527fd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd91610bce91339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515610c425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610c4c82612307565b60408051808201909152601481526000805160206130838339815191526020820152901515610cc05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612324565b60045481565b604080516000808252602082019092527f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec90610d1090339083908561079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515610d845760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610d8e83612307565b60408051808201909152601481526000805160206130838339815191526020820152901515610e025760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610e0c83612393565b60408051808201909152601a81527f5441505f5749544844524157414c5f414d4f554e545f5a45524f000000000000602082015290925060008311610e965760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610ea18383612411565b505050565b60096020526000908152604090205481565b60066020526000908152604090205481565b7f5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc81565b610ef6611388565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610f7b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50610f858661251f565b60408051808201909152601381527f5441505f434f4e54524143545f49535f454f4100000000000000000000000000602082015290151561100b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506110158561251f565b60408051808201909152601381527f5441505f434f4e54524143545f49535f454f4100000000000000000000000000602082015290151561109b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506110a5846122a2565b60408051808201909152601781527f5441505f494e56414c49445f42454e4546494349415259000000000000000000602082015290151561112b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5060408051808201909152601881527f5441505f494e56414c49445f42415443485f424c4f434b53000000000000000060208201528315156111b25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506111bc81612545565b60408051808201909152601e81527f5441505f494e56414c49445f464c4f4f525f44454352454153455f504354000060208201529015156112425760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061124b612553565b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039889161790915560018054821696881696909617909555600280549095169390951692909217909255600391909155600455600555565b7f294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e81565b50600190565b60006112fc7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61261b565b905090565b61130a81612307565b6040805180820190915260148152600080516020613083833981519152602082015290151561137e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e81612393565b60006112fc7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e61261b565b604080516000808252602082019092527f294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e916113f391339184919061079e565b60408051808201909152600f815260008051602061306383398151915260208201529015156114675760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061147182612307565b604080518082019091526014815260008051602061308383398151915260208201529015156114e55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612623565b60008060006114fd846112cb565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156115835760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061158c610ae3565b92506115978361251f565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e5452414354000000000000602082015290151561161d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50600160a060020a038416151561166e5760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015611668573d6000803e3d6000fd5b5061172d565b5082611689600160a060020a0382163063ffffffff6126ac16565b91506116a5600160a060020a038216848463ffffffff6127ac16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544000000602082015290151561172b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080611789610862565b151561179857600091506118c6565b6117a0611ece565b9050600160a060020a03811615156117bb57600091506118c6565b80600160a060020a031663fdef91068630876117d688612822565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611848578181015183820152602001611830565b50505050905090810190601f1680156118755780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561189757600080fd5b505af11580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b505191505b509392505050565b6000806118d9611ece565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610ab157600080fd5b7f7984c050833e1db850f5aa7476710412fd2983fcec34da049502835ad7aed4f781565b60006119b1610862565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515611a375760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5050600160a060020a031660009081526007602052604090205490565b604080516000808252602082019092527f5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc91611a9491339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515611b085760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611b128461282c565b60408051808201909152601181527f5441505f494e56414c49445f544f4b454e0000000000000000000000000000006020820152901515611b985760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611ba284612307565b60408051808201909152601881527f5441505f544f4b454e5f414c52454144595f544150504544000000000000000060208201529015611c275760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611c318361284b565b60408051808201909152601481527f5441505f494e56414c49445f5441505f524154450000000000000000000000006020820152901515611cb75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611cc3848484612850565b50505050565b7f83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e1221328881565b7f5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d20781565b60035481565b60086020526000908152604090205481565b7f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e181565b600154600160a060020a031681565b7fd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd81565b604080516000808252602082019092527f57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e191611dc091339184919061079e565b60408051808201909152600f81526000805160206130638339815191526020820152901515611e345760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611e3e82612545565b60408051808201909152601e81527f5441505f494e56414c49445f464c4f4f525f44454352454153455f50435400006020820152901515611ec45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5061085e82612900565b60006112fc7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b61261b565b6000600019611f06611388565b14905090565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b600a6020526000908152604090205481565b6000611f4c610862565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515611fd25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611fdc8261293b565b92915050565b60055481565b604080516000808252602082019092527f83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e122132889161202891339184919061079e565b60408051808201909152600f8152600080516020613063833981519152602082015290151561209c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506120a684612307565b6040805180820190915260148152600080516020613083833981519152602082015290151561211a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506121248361284b565b60408051808201909152601481527f5441505f494e56414c49445f5441505f5241544500000000000000000000000060208201529015156121aa5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506121b6848484612aff565b60408051808201909152601681527f5441505f494e56414c49445f5441505f55504441544500000000000000000000602082015290151561223c5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50611cc3848484612b24565b600054600160a060020a031681565b670de0b6b3a764000081565b60048190556040805182815290517f9b7e646ff02dfcf5eb44312fe1246b19fbd7cd135b5e8fc87ea8dabdba0a557a9181900360200190a150565b4390565b600160a060020a0316151590565b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091556040517fe6131a64e93e9aa4ff38892c34d563c06dcc1e03b3d6897cc65f0903e2ad684890600090a250565b600160a060020a0316600090815260076020526040902054151590565b600160a060020a0381166000818152600660209081526040808320839055600782528083208390556008825280832083905560098252808320839055600a909152808220829055517f501177e27fa4ac1960010be66ac3465730ea30d032efffb194ecdab56780a9a19190a250565b60008061239f8361293b565b90506123a9612bd4565b600160a060020a03841660008181526009602090815260408083209490945560068152908390208490558251848152925191927f52a0ec2acc756c1e658413fdceb6e3d7621deafa23d6f7cf8cfe8dac74f58f38929081900390910190a28091505b50919050565b600160a060020a03821660009081526006602052604090205461243a908263ffffffff612bee16565b600160a060020a038084166000818152600660205260408082209490945560015460025485517fbeabacc8000000000000000000000000000000000000000000000000000000008152600481019490945284166024840152604483018690529351939092169263beabacc89260648084019391929182900301818387803b1580156124c457600080fd5b505af11580156124d8573d6000803e3d6000fd5b5050604080518481529051600160a060020a03861693507f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436492509081900360200190a25050565b600080600160a060020a038316151561253b576000915061240b565b50506000903b1190565b670de0b6b3a7640000101590565b61255b611388565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156125e05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b506126196125ec61229e565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612c8916565b565b5490565b5490565b600160a060020a038116600090815260066020526040812055612644612bd4565b600160a060020a038216600090815260096020526040902055612665612c8d565b600160a060020a0382166000818152600a602052604080822093909355915190917fd6bb4268f8b24a4b1224ccb373917deefefc838e5deb90fc31bf588f809eb5b091a250565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806127178684612c91565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156127a25760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906128198582612cc2565b95945050505050565b8051602002815290565b60006128378261251f565b80611fdc575050600160a060020a03161590565b151590565b600160a060020a038316600090815260076020908152604080832085905560089091529020819055612880612bd4565b600160a060020a0384166000908152600960205260409020556128a1612c8d565b600160a060020a0384166000818152600a6020908152604091829020939093558051858152928301849052805191927fd68f3ca2b9dba133e5d2c7434e9354e135d834bb79a415b6ee8a640d61631260929081900390910190a2505050565b60058190556040805182815290517fa9ff459c90a69cad3990e8d42d4becd66f4252de3fd0da15700f4eb1f31d33e49181900360200190a150565b600160a060020a03808216600081815260086020908152604080832054835482517f4afe6c4700000000000000000000000000000000000000000000000000000000815260048101969096529151939586958695869586956129f495941692634afe6c47926024808301939282900301818987803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b50519063ffffffff612d1016565b9350600160a060020a03861615612a2957600154612a2490600160a060020a03888116911663ffffffff6126ac16565b612a37565b600154600160a060020a0316315b600160a060020a038716600090815260076020908152604080832054600990925290912054919450612a8791612a7b90612a6f612bd4565b9063ffffffff612bee16565b9063ffffffff612d9e16565b600160a060020a038716600090815260066020526040902054909250612ab3908363ffffffff612d1016565b9050838311612ac55760009450612af6565b612ad5848263ffffffff612d1016565b8311612af257612aeb838563ffffffff612bee16565b9450612af6565b8094505b50505050919050565b6000612b0b8484612e49565b8015612b1c5750612b1c8483612f04565b949350505050565b6000612b2f84612393565b90506000811115612b4457612b448482612411565b600160a060020a038416600090815260076020908152604080832086905560089091529020829055612b74612c8d565b600160a060020a0385166000818152600a6020908152604091829020939093558051868152928301859052805191927fd163e19d68c378e6a686a4f7b29752e9132fcb27e94cba5824967cda8f707746929081900390910190a250505050565b6003546000906112fc90612a7b438263ffffffff612fc216565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612c7a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b505050808203805b5092915050565b9055565b4290565b6000806000806040516020818751602089018a5afa92506000831115612cb657805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612d06573d8015612cf35760208114612cfc57612d04565b60019350612d04565b600183511493505b505b5090949350505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156118c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b600080831515612db15760009150612c82565b50828202828482811515612dc157fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146118c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b600160a060020a038216600090815260076020526040812054808311612e725760019150612c82565b600160a060020a0384166000908152600a602052604090205462278d0001612e98612c8d565b1015612ea75760009150612c82565b612ed4612ec7600454670de0b6b3a7640000612d1090919063ffffffff16565b829063ffffffff612d9e16565b612eec84670de0b6b3a764000063ffffffff612d9e16565b11612efa5760019150612c82565b5060009392505050565b600160a060020a038216600090815260086020526040812054808310612f2d5760019150612c82565b600160a060020a0384166000908152600a602052604090205462278d0001612f53612c8d565b1015612f625760009150612c82565b600554670de0b6b3a764000011612f7c5760019150612c82565b612f9c612ec7600554670de0b6b3a7640000612bee90919063ffffffff16565b612fb484670de0b6b3a764000063ffffffff612d9e16565b10612efa5760019150612c82565b60408051808201909152600d81527f4d4154485f4449565f5a45524f000000000000000000000000000000000000006020820152600090819081841161304d5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610819578181015183820152602001610801565b50828481151561305957fe5b0494935050505056004150505f415554485f4641494c454400000000000000000000000000000000005441505f544f4b454e5f4e4f545f544150504544000000000000000000000000a165627a7a72305820007e30768373fa0108fa6a85d9e36da547323a186c575bbddee0e9fb6f7428130029", - "sourceMap": "608:18789:12:-;;;344:9:40;:7;;;;:9;:::i;:::-;608:18789:12;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;608:18789:12:-;;;;;;;", - "deployedSourceMap": "608:18789:12:-;;;;;;;;;-1:-1:-1;;;608:18789:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8243:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8243:211:12;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;1939:135:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1939:135:12;;;;;;;;;;;;;;;;;;;;7787:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7787:217:12;-1:-1:-1;;;;;7787:217:12;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;4439:47:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4439:47:12;;;;2221:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2221:135:12;;;;9975:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9975:192:12;-1:-1:-1;;;;;9975:192:12;;;;;4545:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4545:61:12;;;;11960:284;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11960:284:12;-1:-1:-1;;;;;11960:284:12;;;;;4831:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4831:59:12;-1:-1:-1;;;;;4831:59:12;;;;;4681:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4681:49:12;-1:-1:-1;;;;;4681:49:12;;;;;2644:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2644:135:12;;;;6381:1235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6381:1235:12;-1:-1:-1;;;;;6381:1235:12;;;;;;;;;;;;;;;;;;;;;3067:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3067:135:12;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;11570:163:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11570:163:12;-1:-1:-1;;;;;11570:163:12;;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;11211:189:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11211:189:12;-1:-1:-1;;;;;11211:189:12;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;2080:135:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2080:135:12;;;;12432:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12432:112:12;-1:-1:-1;;;;;12432:112:12;;;;;9455:381;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9455:381:12;-1:-1:-1;;;;;9455:381:12;;;;;;;;;2926:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2926:135:12;;;;2362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2362:135:12;;;;4492:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4492:47:12;;;;4783:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4783:42:12;-1:-1:-1;;;;;4783:42:12;;;;;2503:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2503:135:12;;;;4390:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4390:43:12;;;;2785:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2785:135:12;;;;8697:333;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8697:333:12;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;3208:135:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3208:135:12;;;;4925:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4925:50:12;-1:-1:-1;;;;;4925:50:12;;;;;12291:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12291:135:12;-1:-1:-1;;;;;12291:135:12;;;;;4612:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:62:12;;;;10617:424;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10617:424:12;-1:-1:-1;;;;;10617:424:12;;;;;;;;;4338:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4338:46:12;;;;3350:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3350:43:12;;;;8243:211;1020:16:39;;;1034:1;1020:16;;;;;;;;;2431:66:12;;990:47:39;;1001:10;;2431:66:12;;1020:16:39;;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8387:60:12;8420:26;8387:32;:60::i;:::-;8243:211;;:::o;1128:208:48:-;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;1939:135:12:-;2008:66;1939:135;:::o;7787:217::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2290:66:12;;990:47:39;;1001:10;;2290:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;7893:33:12;7913:12;7893:19;:33::i;:::-;7928:25;;;;;;;;;;;;;;;;;;7885:69;;;;;;-1:-1:-1;;;;;7885:69:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7885:69:12;;7965:32;7984:12;7965:18;:32::i;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;4439:47:12:-;;;-1:-1:-1;;;;;4439:47:12;;:::o;2221:135::-;2290:66;2221:135;:::o;9975:192::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2854:66:12;;990:47:39;;1001:10;;2854:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;10076:22:12;10091:6;10076:14;:22::i;:::-;10100;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10100:22:12;;;;;10068:55;;;;;;-1:-1:-1;;;;;10068:55:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10068:55:12;;10134:26;10153:6;10134:18;:26::i;4545:61::-;;;;:::o;11960:284::-;1020:16:39;;;12098:14:12;1020:16:39;;;;;;;;;3277:66:12;;990:47:39;;1001:10;;3277:66:12;;12098:14;1020:16:39;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;12041:22:12;12056:6;12041:14;:22::i;:::-;12065;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12065:22:12;;;;;12033:55;;;;;;-1:-1:-1;;;;;12033:55:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12033:55:12;;12115:27;12135:6;12115:19;:27::i;:::-;12172:28;;;;;;;;;;;;;;;;;12098:44;;-1:-1:-1;12169:1:12;12160:10;;12152:49;;;;-1:-1:-1;;;;;12152:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12152:49:12;;12212:25;12222:6;12230;12212:9;:25::i;:::-;11960:284;;;:::o;4831:59::-;;;;;;;;;;;;;:::o;4681:49::-;;;;;;;;;;;;;:::o;2644:135::-;2713:66;2644:135;:::o;6381:1235::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;6793:23:12;6804:11;6793:10;:23::i;:::-;6858:21;;;;;;;;;;;;;;;;;;6785:95;;;;;;-1:-1:-1;;;;;6785:95:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6785:95:12;;6898:20;6909:8;6898:10;:20::i;:::-;6963:21;;;;;;;;;;;;;;;;;;6890:95;;;;;;-1:-1:-1;;;;;6890:95:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6890:95:12;;7003:33;7023:12;7003:19;:33::i;:::-;7068:25;;;;;;;;;;;;;;;;;;6995:99;;;;;;-1:-1:-1;;;;;6995:99:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6995:99:12;-1:-1:-1;7177:26:12;;;;;;;;;;;;;;;;;7112:17;;;7104:100;;;;-1:-1:-1;;;;;7104:100:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7104::12;;7222:63;7257:27;7222:34;:63::i;:::-;7287:32;;;;;;;;;;;;;;;;;;7214:106;;;;;;-1:-1:-1;;;;;7214:106:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7214:106:12;;7331:13;:11;:13::i;:::-;7355:10;:24;;-1:-1:-1;;7355:24:12;;;-1:-1:-1;;;;;7355:24:12;;;;;;;-1:-1:-1;7389:18:12;;;;;;;;;;;;;;7417:11;:26;;;;;;;;;;;;;;;;7453:11;:26;;;;7489:25;:54;7553:26;:56;6381:1235::o;3067:135::-;3136:66;3067:135;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;11570:163:12:-;11641:22;11656:6;11641:14;:22::i;:::-;11665;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11665:22:12;;;;;11633:55;;;;;;-1:-1:-1;;;;;11633:55:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11633:55:12;;11699:27;11719:6;11699:19;:27::i;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;11211:189:12:-;1020:16:39;;;1034:1;1020:16;;;;;;;;;3136:66:12;;990:47:39;;1001:10;;3136:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;11310:22:12;11325:6;11310:14;:22::i;:::-;11334;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11334:22:12;;;;;11302:55;;;;;;-1:-1:-1;;;;;11302:55:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11302:55:12;;11368:25;11386:6;11368:17;:25::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;2080:135:12;2149:66;2080:135;:::o;12432:112::-;12498:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;-1:-1:-1;;;;;;;12524:13:12;;;;;:5;:13;;;;;;;12432:112::o;9455:381::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2713:66:12;;990:47:39;;1001:10;;2713:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;9581:29:12;9603:6;9581:21;:29::i;:::-;9612:19;;;;;;;;;;;;;;;;;;9573:59;;;;;;-1:-1:-1;;;;;9573:59:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9573:59:12;;9651:22;9666:6;9651:14;:22::i;:::-;9681:26;;;;;;;;;;;;;;;;;;9650:23;9642:66;;;;-1:-1:-1;;;;;9642:66:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9642:66:12;;9726:22;9742:5;9726:15;:22::i;:::-;9757;;;;;;;;;;;;;;;;;;9718:62;;;;;;-1:-1:-1;;;;;9718:62:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9718:62:12;;9791:38;9807:6;9815:5;9822:6;9791:15;:38::i;:::-;9455:381;;;;:::o;2926:135::-;2995:66;2926:135;:::o;2362:::-;2431:66;2362:135;:::o;4492:47::-;;;;:::o;4783:42::-;;;;;;;;;;;;;:::o;2503:135::-;2572:66;2503:135;:::o;4390:43::-;;;-1:-1:-1;;;;;4390:43:12;;:::o;2785:135::-;2854:66;2785:135;:::o;8697:333::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2572:66:12;;990:47:39;;1001:10;;2572:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;8852:63:12;8887:27;8852:34;:63::i;:::-;8917:32;;;;;;;;;;;;;;;;;;8844:106;;;;;;-1:-1:-1;;;;;8844:106:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8844:106:12;;8961:62;8995:27;8961:33;:62::i;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;3208:135:12:-;3277:66;3208:135;:::o;4925:50::-;;;;;;;;;;;;;:::o;12291:135::-;12372:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;12398:21:12;12412:6;12398:13;:21::i;:::-;12391:28;12291:135;-1:-1:-1;;12291:135:12:o;4612:62::-;;;;:::o;10617:424::-;1020:16:39;;;1034:1;1020:16;;;;;;;;;2995:66:12;;990:47:39;;1001:10;;2995:66:12;;1020:16:39;;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;10749:22:12;10764:6;10749:14;:22::i;:::-;10791;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10791:22:12;;;;;10741:73;;;;;;-1:-1:-1;;;;;10741:73:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10741:73:12;;10832:22;10848:5;10832:15;:22::i;:::-;10874;;;;;;;;;;;;;;;;;;10824:73;;;;;;-1:-1:-1;;;;;10824:73:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10824:73:12;;10915:40;10933:6;10941:5;10948:6;10915:17;:40::i;:::-;10957:24;;;;;;;;;;;;;;;;;;10907:75;;;;;;-1:-1:-1;;;;;10907:75:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10907:75:12;;10993:41;11012:6;11020:5;11027:6;10993:18;:41::i;4338:46::-;;;-1:-1:-1;;;;;4338:46:12;;:::o;3350:43::-;3385:8;3350:43;:::o;16602:233::-;16699:25;:54;;;16769:59;;;;;;;;;;;;;;;;;16602:233;:::o;347:94:53:-;422:12;347:94;:::o;14165:130:12:-;-1:-1:-1;;;;;14262:26:12;;;;14165:130::o;16447:149::-;16516:11;:26;;-1:-1:-1;;16516:26:12;-1:-1:-1;;;;;16516:26:12;;;;;;;;16558:31;;;;-1:-1:-1;;16558:31:12;16447:149;:::o;14621:120::-;-1:-1:-1;;;;;14707:13:12;14684:4;14707:13;;;:5;:13;;;;;;:27;;;14621:120::o;17913:287::-;-1:-1:-1;;;;;17983:21:12;;;;;;:13;:21;;;;;;;;17976:28;;;18021:5;:13;;;;;18014:20;;;18051:6;:14;;;;;18044:21;;;18082:23;:31;;;;;18075:38;;;18130:14;:22;;;;;;18123:29;;;18168:25;;;17983:21;18168:25;17913:287;:::o;16115:326::-;16178:7;16197:20;16220:21;16234:6;16220:13;:21::i;:::-;16197:44;;16285:17;:15;:17::i;:::-;-1:-1:-1;;;;;16251:31:12;;;;;;:23;:31;;;;;;;;:51;;;;16312:13;:21;;;;;;:36;;;16364:40;;;;;;;16251:31;;16364:40;;;;;;;;;;;16422:12;16415:19;;16115:326;;;;;:::o;19101:294::-;-1:-1:-1;;;;;19196:21:12;;;;;;:13;:21;;;;;;:34;;19222:7;19196:34;:25;:34;:::i;:::-;-1:-1:-1;;;;;19172:21:12;;;;;;;:13;:21;;;;;;:58;;;;19240:7;;19265:11;;19240:46;;;;;;;;;;;;19265:11;;19240:46;;;;;;;;;;;;:7;;;;;:16;;:46;;;;;19172:21;;19240:46;;;;;;19172:21;19240:7;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;19240:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;19363:25:12;;;;;;;;-1:-1:-1;;;;;19363:25:12;;;-1:-1:-1;19363:25:12;;-1:-1:-1;19363:25:12;;;;;;;;19101:294;;:::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;-1:-1:-1;;662:1:49;617:20;;655:8;;426:244::o;14301:173:12:-;3385:8;-1:-1:-1;14428:39:12;;14301:173::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;18851:244:12:-;-1:-1:-1;;;;;18913:21:12;;18937:1;18913:21;;;:13;:21;;;;;:25;18982:17;:15;:17::i;:::-;-1:-1:-1;;;;;18948:31:12;;;;;;:23;:31;;;;;:51;19034:14;:12;:14::i;:::-;-1:-1:-1;;;;;19009:22:12;;;;;;:14;:22;;;;;;:39;;;;19064:24;;19009:22;;19064:24;;;18851:244;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;14480:135:12:-;14550:4;14573:18;14584:6;14573:10;:18::i;:::-;:35;;;-1:-1:-1;;;;;;;14595:13:12;;;14480:135::o;14747:103::-;14833:10;;;14747:103::o;17086:821::-;-1:-1:-1;;;;;17683:13:12;;;;;;:5;:13;;;;;;;;:21;;;17714:6;:14;;;;;:23;;;17781:17;:15;:17::i;:::-;-1:-1:-1;;;;;17747:31:12;;;;;;:23;:31;;;;;:51;17833:14;:12;:14::i;:::-;-1:-1:-1;;;;;17808:22:12;;;;;;:14;:22;;;;;;;;;:39;;;;17863:37;;;;;;;;;;;;;17808:22;;17863:37;;;;;;;;;;;17086:821;;;:::o;16841:239::-;16940:26;:56;;;17012:61;;;;;;;;;;;;;;;;;16841:239;:::o;12758:1374::-;-1:-1:-1;;;;;12904:14:12;;;12820:7;12904:14;;;:6;:14;;;;;;;;;12858:10;;:41;;;;;;;;;;;;;;12820:7;;;;;;;;;;12858:61;;12904:14;12858:10;;:33;;:41;;;;;12904:14;12858:41;;;;;12820:7;12858:10;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;12858:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12858:41:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12858:41:12;;:61;:45;:61;:::i;:::-;12839:80;-1:-1:-1;;;;;;12947:13:12;;;:81;;13020:7;;12990:38;;-1:-1:-1;;;;;12990:29:12;;;;13020:7;12990:38;:29;:38;:::i;:::-;12947:81;;;12971:7;;-1:-1:-1;;;;;12971:7:12;12963:24;12947:81;-1:-1:-1;;;;;13114:13:12;;;;;;:5;:13;;;;;;;;;13076:23;:31;;;;;;;12929:99;;-1:-1:-1;13053:75:12;;13054:54;;:17;:15;:17::i;:::-;:21;:54;:21;:54;:::i;:::-;13053:60;:75;:60;:75;:::i;:::-;-1:-1:-1;;;;;13161:21:12;;;;;;:13;:21;;;;;;13038:90;;-1:-1:-1;13161:31:12;;13038:90;13161:31;:25;:31;:::i;:::-;13138:54;-1:-1:-1;13588:19:12;;;13584:58;;13630:1;13623:8;;;;13584:58;13849:26;:8;13862:12;13849:26;:12;:26;:::i;:::-;13838:37;;13834:96;;13898:21;:7;13910:8;13898:21;:11;:21;:::i;:::-;13891:28;;;;13834:96;14113:12;14106:19;;12758:1374;;;;;;;;:::o;14856:205::-;14953:4;14976:36;14998:6;15006:5;14976:21;:36::i;:::-;:78;;;;;15016:38;15039:6;15047;15016:22;:38::i;:::-;14969:85;14856:205;-1:-1:-1;;;;14856:205:12:o;18206:639::-;18549:14;18566:27;18586:6;18566:19;:27::i;:::-;18549:44;;18616:1;18607:6;:10;18603:66;;;18633:25;18643:6;18651;18633:9;:25::i;:::-;-1:-1:-1;;;;;18679:13:12;;;;;;:5;:13;;;;;;;;:21;;;18710:6;:14;;;;;:23;;;18768:14;:12;:14::i;:::-;-1:-1:-1;;;;;18743:22:12;;;;;;:14;:22;;;;;;;;;:39;;;;18798:40;;;;;;;;;;;;;18743:22;;18798:40;;;;;;;;;;;18206:639;;;;:::o;12621:131::-;12733:11;;12671:7;;12697:48;;12698:29;:12;12733:11;12698:29;:16;:29;:::i;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;;1685:172;;;;;;:::o;1028:119:55:-;1117:22;;1115:26::o;926:144:53:-;999:15;926:144;:::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1928:170:79:-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;685:448:79;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15067:450:12;-1:-1:-1;;;;;15183:13:12;;15152:4;15183:13;;;:5;:13;;;;;;15211;;;15207:55;;15247:4;15240:11;;;;15207:55;-1:-1:-1;;;;;15293:22:12;;;;;;:14;:22;;;;;;15318:7;15293:32;15276:14;:12;:14::i;:::-;:49;15272:92;;;15348:5;15341:12;;;;15272:92;15401:49;15410:39;15423:25;;3385:8;15410:12;;:39;;;;:::i;:::-;15401:4;;:49;:8;:49;:::i;:::-;15378:19;:5;3385:8;15378:19;:9;:19;:::i;:::-;:72;15374:114;;15473:4;15466:11;;;;15374:114;-1:-1:-1;15505:5:12;;15067:450;-1:-1:-1;;;15067:450:12:o;15523:549::-;-1:-1:-1;;;;;15642:14:12;;15610:4;15642:14;;;:6;:14;;;;;;15671:15;;;15667:57;;15709:4;15702:11;;;;15667:57;-1:-1:-1;;;;;15755:22:12;;;;;;:14;:22;;;;;;15780:7;15755:32;15738:14;:12;:14::i;:::-;:49;15734:92;;;15810:5;15803:12;;;;15734:92;15840:26;;3385:8;-1:-1:-1;15836:80:12;;15901:4;15894:11;;;;15836:80;15954:51;15964:40;15977:26;;3385:8;15964:12;;:40;;;;:::i;15954:51::-;15930:20;:6;3385:8;15930:20;:10;:20;:::i;:::-;:75;15926:117;;16028:4;16021:11;;;;1251:313:79;1346:14;;;;;;;;;;;;;;;;;1311:7;;;;1338:6;;;1330:31;;;;-1:-1:-1;;;;;1330:31:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1330:31:79;;1446:2;1441;:7;;;;;;;;;1251:313;-1:-1:-1;;;;1251:313:79:o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/IsContract.sol\";\nimport \"@aragon/os/contracts/common/TimeHelpers.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/ITap.sol\";\nimport \"@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol\";\n\n\ncontract Tap is ITap, TimeHelpers, EtherTokenConstant, IsContract, AragonApp {\n using SafeERC20 for ERC20;\n using SafeMath for uint256;\n\n /**\n Hardcoded constants to save gas\n bytes32 public constant UPDATE_CONTROLLER_ROLE = keccak256(\"UPDATE_CONTROLLER_ROLE\");\n bytes32 public constant UPDATE_RESERVE_ROLE = keccak256(\"UPDATE_RESERVE_ROLE\");\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = keccak256(\"UPDATE_BENEFICIARY_ROLE\");\n bytes32 public constant UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE = keccak256(\"UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE\");\n bytes32 public constant UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE = keccak256(\"UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE\");\n bytes32 public constant ADD_TAPPED_TOKEN_ROLE = keccak256(\"ADD_TAPPED_TOKEN_ROLE\");\n bytes32 public constant REMOVE_TAPPED_TOKEN_ROLE = keccak256(\"REMOVE_TAPPED_TOKEN_ROLE\");\n bytes32 public constant UPDATE_TAPPED_TOKEN_ROLE = keccak256(\"UPDATE_TAPPED_TOKEN_ROLE\");\n bytes32 public constant RESET_TAPPED_TOKEN_ROLE = keccak256(\"RESET_TAPPED_TOKEN_ROLE\");\n bytes32 public constant WITHDRAW_ROLE = keccak256(\"WITHDRAW_ROLE\");\n */\n bytes32 public constant UPDATE_CONTROLLER_ROLE = 0x454b5d0dbb74f012faf1d3722ea441689f97dc957dd3ca5335b4969586e5dc30;\n bytes32 public constant UPDATE_RESERVE_ROLE = 0x7984c050833e1db850f5aa7476710412fd2983fcec34da049502835ad7aed4f7;\n bytes32 public constant UPDATE_BENEFICIARY_ROLE = 0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593;\n bytes32 public constant UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE = 0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207;\n bytes32 public constant UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE = 0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1;\n bytes32 public constant ADD_TAPPED_TOKEN_ROLE = 0x5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc;\n bytes32 public constant REMOVE_TAPPED_TOKEN_ROLE = 0xd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd;\n bytes32 public constant UPDATE_TAPPED_TOKEN_ROLE = 0x83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e12213288;\n bytes32 public constant RESET_TAPPED_TOKEN_ROLE = 0x294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e;\n bytes32 public constant WITHDRAW_ROLE = 0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec;\n\n uint256 public constant PCT_BASE = 10 ** 18; // 0% = 0; 1% = 10 ** 16; 100% = 10 ** 18\n\n string private constant ERROR_CONTRACT_IS_EOA = \"TAP_CONTRACT_IS_EOA\";\n string private constant ERROR_INVALID_BENEFICIARY = \"TAP_INVALID_BENEFICIARY\";\n string private constant ERROR_INVALID_BATCH_BLOCKS = \"TAP_INVALID_BATCH_BLOCKS\";\n string private constant ERROR_INVALID_FLOOR_DECREASE_PCT = \"TAP_INVALID_FLOOR_DECREASE_PCT\";\n string private constant ERROR_INVALID_TOKEN = \"TAP_INVALID_TOKEN\";\n string private constant ERROR_INVALID_TAP_RATE = \"TAP_INVALID_TAP_RATE\";\n string private constant ERROR_INVALID_TAP_UPDATE = \"TAP_INVALID_TAP_UPDATE\";\n string private constant ERROR_TOKEN_ALREADY_TAPPED = \"TAP_TOKEN_ALREADY_TAPPED\";\n string private constant ERROR_TOKEN_NOT_TAPPED = \"TAP_TOKEN_NOT_TAPPED\";\n string private constant ERROR_WITHDRAWAL_AMOUNT_ZERO = \"TAP_WITHDRAWAL_AMOUNT_ZERO\";\n\n IAragonFundraisingController public controller;\n Vault public reserve;\n address public beneficiary;\n uint256 public batchBlocks;\n uint256 public maximumTapRateIncreasePct;\n uint256 public maximumTapFloorDecreasePct;\n\n mapping (address => uint256) public tappedAmounts;\n mapping (address => uint256) public rates;\n mapping (address => uint256) public floors;\n mapping (address => uint256) public lastTappedAmountUpdates; // batch ids [block numbers]\n mapping (address => uint256) public lastTapUpdates; // timestamps\n\n event UpdateBeneficiary (address indexed beneficiary);\n event UpdateMaximumTapRateIncreasePct (uint256 maximumTapRateIncreasePct);\n event UpdateMaximumTapFloorDecreasePct(uint256 maximumTapFloorDecreasePct);\n event AddTappedToken (address indexed token, uint256 rate, uint256 floor);\n event RemoveTappedToken (address indexed token);\n event UpdateTappedToken (address indexed token, uint256 rate, uint256 floor);\n event ResetTappedToken (address indexed token);\n event UpdateTappedAmount (address indexed token, uint256 tappedAmount);\n event Withdraw (address indexed token, uint256 amount);\n\n\n /***** external functions *****/\n\n /**\n * @notice Initialize tap\n * @param _controller The address of the controller contract\n * @param _reserve The address of the reserve [pool] contract\n * @param _beneficiary The address of the beneficiary [to whom funds are to be withdrawn]\n * @param _batchBlocks The number of blocks batches are to last\n * @param _maximumTapRateIncreasePct The maximum tap rate increase percentage allowed [in PCT_BASE]\n * @param _maximumTapFloorDecreasePct The maximum tap floor decrease percentage allowed [in PCT_BASE]\n */\n function initialize(\n IAragonFundraisingController _controller,\n Vault _reserve,\n address _beneficiary,\n uint256 _batchBlocks,\n uint256 _maximumTapRateIncreasePct,\n uint256 _maximumTapFloorDecreasePct\n )\n external\n onlyInit\n {\n require(isContract(_controller), ERROR_CONTRACT_IS_EOA);\n require(isContract(_reserve), ERROR_CONTRACT_IS_EOA);\n require(_beneficiaryIsValid(_beneficiary), ERROR_INVALID_BENEFICIARY);\n require(_batchBlocks != 0, ERROR_INVALID_BATCH_BLOCKS);\n require(_maximumTapFloorDecreasePctIsValid(_maximumTapFloorDecreasePct), ERROR_INVALID_FLOOR_DECREASE_PCT);\n\n initialized();\n\n controller = _controller;\n reserve = _reserve;\n beneficiary = _beneficiary;\n batchBlocks = _batchBlocks;\n maximumTapRateIncreasePct = _maximumTapRateIncreasePct;\n maximumTapFloorDecreasePct = _maximumTapFloorDecreasePct;\n }\n\n /**\n * @notice Update beneficiary to `_beneficiary`\n * @param _beneficiary The address of the new beneficiary [to whom funds are to be withdrawn]\n */\n function updateBeneficiary(address _beneficiary) external auth(UPDATE_BENEFICIARY_ROLE) {\n require(_beneficiaryIsValid(_beneficiary), ERROR_INVALID_BENEFICIARY);\n\n _updateBeneficiary(_beneficiary);\n }\n\n /**\n * @notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n * @param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]\n */\n function updateMaximumTapRateIncreasePct(uint256 _maximumTapRateIncreasePct) external auth(UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE) {\n _updateMaximumTapRateIncreasePct(_maximumTapRateIncreasePct);\n }\n\n /**\n * @notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n * @param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]\n */\n function updateMaximumTapFloorDecreasePct(uint256 _maximumTapFloorDecreasePct) external auth(UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE) {\n require(_maximumTapFloorDecreasePctIsValid(_maximumTapFloorDecreasePct), ERROR_INVALID_FLOOR_DECREASE_PCT);\n\n _updateMaximumTapFloorDecreasePct(_maximumTapFloorDecreasePct);\n }\n\n /**\n * @notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n * @param _token The address of the token to be tapped\n * @param _rate The rate at which that token is to be tapped [in wei / block]\n * @param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]\n */\n function addTappedToken(address _token, uint256 _rate, uint256 _floor) external auth(ADD_TAPPED_TOKEN_ROLE) {\n require(_tokenIsContractOrETH(_token), ERROR_INVALID_TOKEN);\n require(!_tokenIsTapped(_token), ERROR_TOKEN_ALREADY_TAPPED);\n require(_tapRateIsValid(_rate), ERROR_INVALID_TAP_RATE);\n\n _addTappedToken(_token, _rate, _floor);\n }\n\n /**\n * @notice Remove tap for `_token.symbol(): string`\n * @param _token The address of the token to be un-tapped\n */\n function removeTappedToken(address _token) external auth(REMOVE_TAPPED_TOKEN_ROLE) {\n require(_tokenIsTapped(_token), ERROR_TOKEN_NOT_TAPPED);\n\n _removeTappedToken(_token);\n }\n\n /**\n * @notice Update tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n * @param _token The address of the token whose tap is to be updated\n * @param _rate The new rate at which that token is to be tapped [in wei / block]\n * @param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]\n */\n function updateTappedToken(address _token, uint256 _rate, uint256 _floor) external auth(UPDATE_TAPPED_TOKEN_ROLE) {\n require(_tokenIsTapped(_token), ERROR_TOKEN_NOT_TAPPED);\n require(_tapRateIsValid(_rate), ERROR_INVALID_TAP_RATE);\n require(_tapUpdateIsValid(_token, _rate, _floor), ERROR_INVALID_TAP_UPDATE);\n\n _updateTappedToken(_token, _rate, _floor);\n }\n\n /**\n * @notice Reset tap timestamps for `_token.symbol(): string`\n * @param _token The address of the token whose tap timestamps are to be reset\n */\n function resetTappedToken(address _token) external auth(RESET_TAPPED_TOKEN_ROLE) {\n require(_tokenIsTapped(_token), ERROR_TOKEN_NOT_TAPPED);\n\n _resetTappedToken(_token);\n }\n\n /**\n * @notice Update tapped amount for `_token.symbol(): string`\n * @param _token The address of the token whose tapped amount is to be updated\n */\n function updateTappedAmount(address _token) external {\n require(_tokenIsTapped(_token), ERROR_TOKEN_NOT_TAPPED);\n\n _updateTappedAmount(_token);\n }\n\n /**\n * @notice Transfer about `@tokenAmount(_token, self.getMaximalWithdrawal(_token): uint256)` from `self.reserve()` to `self.beneficiary()`\n * @param _token The address of the token to be transfered\n */\n function withdraw(address _token) external auth(WITHDRAW_ROLE) {\n require(_tokenIsTapped(_token), ERROR_TOKEN_NOT_TAPPED);\n uint256 amount = _updateTappedAmount(_token);\n require(amount > 0, ERROR_WITHDRAWAL_AMOUNT_ZERO);\n\n _withdraw(_token, amount);\n }\n\n /***** public view functions *****/\n\n function getMaximumWithdrawal(address _token) public view isInitialized returns (uint256) {\n return _tappedAmount(_token);\n }\n\n function rates(address _token) public view isInitialized returns (uint256) {\n return rates[_token];\n }\n\n /***** internal functions *****/\n\n /* computation functions */\n\n function _currentBatchId() internal view returns (uint256) {\n return (block.number.div(batchBlocks)).mul(batchBlocks);\n }\n\n function _tappedAmount(address _token) internal view returns (uint256) {\n uint256 toBeKept = controller.collateralsToBeClaimed(_token).add(floors[_token]);\n uint256 balance = _token == ETH ? address(reserve).balance : ERC20(_token).staticBalanceOf(reserve);\n uint256 flow = (_currentBatchId().sub(lastTappedAmountUpdates[_token])).mul(rates[_token]);\n uint256 tappedAmount = tappedAmounts[_token].add(flow);\n /**\n * whatever happens enough collateral should be\n * kept in the reserve pool to guarantee that\n * its balance is kept above the floor once\n * all pending sell orders are claimed\n */\n\n /**\n * the reserve's balance is already below the balance to be kept\n * the tapped amount should be reset to zero\n */\n if (balance <= toBeKept) {\n return 0;\n }\n\n /**\n * the reserve's balance minus the upcoming tap flow would be below the balance to be kept\n * the flow should be reduced to balance - toBeKept\n */\n if (balance <= toBeKept.add(tappedAmount)) {\n return balance.sub(toBeKept);\n }\n\n /**\n * the reserve's balance minus the upcoming flow is above the balance to be kept\n * the flow can be added to the tapped amount\n */\n return tappedAmount;\n }\n\n /* check functions */\n\n function _beneficiaryIsValid(address _beneficiary) internal pure returns (bool) {\n return _beneficiary != address(0);\n }\n\n function _maximumTapFloorDecreasePctIsValid(uint256 _maximumTapFloorDecreasePct) internal pure returns (bool) {\n return _maximumTapFloorDecreasePct <= PCT_BASE;\n }\n\n function _tokenIsContractOrETH(address _token) internal view returns (bool) {\n return isContract(_token) || _token == ETH;\n }\n\n function _tokenIsTapped(address _token) internal view returns (bool) {\n return rates[_token] != uint256(0);\n }\n\n function _tapRateIsValid(uint256 _rate) internal pure returns (bool) {\n return _rate != 0;\n }\n\n function _tapUpdateIsValid(address _token, uint256 _rate, uint256 _floor) internal view returns (bool) {\n return _tapRateUpdateIsValid(_token, _rate) && _tapFloorUpdateIsValid(_token, _floor);\n }\n\n function _tapRateUpdateIsValid(address _token, uint256 _rate) internal view returns (bool) {\n uint256 rate = rates[_token];\n\n if (_rate <= rate) {\n return true;\n }\n\n if (getTimestamp() < lastTapUpdates[_token] + 30 days) {\n return false;\n }\n\n if (_rate.mul(PCT_BASE) <= rate.mul(PCT_BASE.add(maximumTapRateIncreasePct))) {\n return true;\n }\n\n return false;\n }\n\n function _tapFloorUpdateIsValid(address _token, uint256 _floor) internal view returns (bool) {\n uint256 floor = floors[_token];\n\n if (_floor >= floor) {\n return true;\n }\n\n if (getTimestamp() < lastTapUpdates[_token] + 30 days) {\n return false;\n }\n\n if (maximumTapFloorDecreasePct >= PCT_BASE) {\n return true;\n }\n\n if (_floor.mul(PCT_BASE) >= floor.mul(PCT_BASE.sub(maximumTapFloorDecreasePct))) {\n return true;\n }\n\n return false;\n }\n\n /* state modifying functions */\n\n function _updateTappedAmount(address _token) internal returns (uint256) {\n uint256 tappedAmount = _tappedAmount(_token);\n lastTappedAmountUpdates[_token] = _currentBatchId();\n tappedAmounts[_token] = tappedAmount;\n\n emit UpdateTappedAmount(_token, tappedAmount);\n\n return tappedAmount;\n }\n\n function _updateBeneficiary(address _beneficiary) internal {\n beneficiary = _beneficiary;\n\n emit UpdateBeneficiary(_beneficiary);\n }\n\n function _updateMaximumTapRateIncreasePct(uint256 _maximumTapRateIncreasePct) internal {\n maximumTapRateIncreasePct = _maximumTapRateIncreasePct;\n\n emit UpdateMaximumTapRateIncreasePct(_maximumTapRateIncreasePct);\n }\n\n function _updateMaximumTapFloorDecreasePct(uint256 _maximumTapFloorDecreasePct) internal {\n maximumTapFloorDecreasePct = _maximumTapFloorDecreasePct;\n\n emit UpdateMaximumTapFloorDecreasePct(_maximumTapFloorDecreasePct);\n }\n\n function _addTappedToken(address _token, uint256 _rate, uint256 _floor) internal {\n /**\n * NOTE\n * 1. if _token is tapped in the middle of a batch it will\n * reach the next batch faster than what it normally takes\n * to go through a batch [e.g. one block later]\n * 2. this will allow for a higher withdrawal than expected\n * a few blocks after _token is tapped\n * 3. this is not a problem because this extra amount is\n * static [at most rates[_token] * batchBlocks] and does\n * not increase in time\n */\n rates[_token] = _rate;\n floors[_token] = _floor;\n lastTappedAmountUpdates[_token] = _currentBatchId();\n lastTapUpdates[_token] = getTimestamp();\n\n emit AddTappedToken(_token, _rate, _floor);\n }\n\n function _removeTappedToken(address _token) internal {\n delete tappedAmounts[_token];\n delete rates[_token];\n delete floors[_token];\n delete lastTappedAmountUpdates[_token];\n delete lastTapUpdates[_token];\n\n emit RemoveTappedToken(_token);\n }\n\n function _updateTappedToken(address _token, uint256 _rate, uint256 _floor) internal {\n /**\n * NOTE\n * withdraw before updating to keep the reserve\n * actual balance [balance - virtual withdrawal]\n * continuous in time [though a floor update can\n * still break this continuity]\n */\n uint256 amount = _updateTappedAmount(_token);\n if (amount > 0) {\n _withdraw(_token, amount);\n }\n\n rates[_token] = _rate;\n floors[_token] = _floor;\n lastTapUpdates[_token] = getTimestamp();\n\n emit UpdateTappedToken(_token, _rate, _floor);\n }\n\n function _resetTappedToken(address _token) internal {\n tappedAmounts[_token] = 0;\n lastTappedAmountUpdates[_token] = _currentBatchId();\n lastTapUpdates[_token] = getTimestamp();\n\n emit ResetTappedToken(_token);\n }\n\n function _withdraw(address _token, uint256 _amount) internal {\n tappedAmounts[_token] = tappedAmounts[_token].sub(_amount);\n reserve.transfer(_token, beneficiary, _amount); // vault contract's transfer method already reverts on error\n\n emit Withdraw(_token, _amount);\n }\n}", - "sourcePath": "@ablack/fundraising-tap/contracts/Tap.sol", - "ast": { - "absolutePath": "@ablack/fundraising-tap/contracts/Tap.sol", - "exportedSymbols": { - "Tap": [ - 10786 - ] - }, - "id": 10787, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9708, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 9709, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23454, - "src": "25:49:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 9710, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23650, - "src": "75:60:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 9711, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23826, - "src": "136:52:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "@aragon/os/contracts/common/TimeHelpers.sol", - "id": 9712, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 24155, - "src": "189:53:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 9713, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 24108, - "src": "243:51:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 9714, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 27870, - "src": "295:52:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 9715, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 28100, - "src": "348:50:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 9716, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 19336, - "src": "399:48:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "id": 9717, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 9707, - "src": "448:66:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 9718, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 9607, - "src": "515:90:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9719, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "624:4:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 9720, - "nodeType": "InheritanceSpecifier", - "src": "624:4:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9721, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "630:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 9722, - "nodeType": "InheritanceSpecifier", - "src": "630:11:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9723, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "643:18:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 9724, - "nodeType": "InheritanceSpecifier", - "src": "643:18:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9725, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "663:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 9726, - "nodeType": "InheritanceSpecifier", - "src": "663:10:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9727, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "675:9:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 9728, - "nodeType": "InheritanceSpecifier", - "src": "675:9:12" - } - ], - "contractDependencies": [ - 9706, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 10786, - "linearizedBaseContracts": [ - 10786, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 9706 - ], - "name": "Tap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9731, - "libraryName": { - "contractScope": null, - "id": 9729, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "697:9:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "691:26:12", - "typeName": { - "contractScope": null, - "id": 9730, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "711:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 9734, - "libraryName": { - "contractScope": null, - "id": 9732, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "728:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "722:28:12", - "typeName": { - "id": 9733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 9737, - "name": "UPDATE_CONTROLLER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "1939:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9735, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1939:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834353462356430646262373466303132666166316433373232656134343136383966393764633935376464336361353333356234393639353836653564633330", - "id": 9736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2008:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31342742314734821776322769899902321751680835264925120007321203260400154827824_by_1", - "typeString": "int_const 3134...(69 digits omitted)...7824" - }, - "value": "0x454b5d0dbb74f012faf1d3722ea441689f97dc957dd3ca5335b4969586e5dc30" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9740, - "name": "UPDATE_RESERVE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2080:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9738, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2080:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837393834633035303833336531646238353066356161373437363731303431326664323938336663656333346461303439353032383335616437616564346637", - "id": 9739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2149:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54964405797041760172370187077584862735592509618057968423295843060887862564087_by_1", - "typeString": "int_const 5496...(69 digits omitted)...4087" - }, - "value": "0x7984c050833e1db850f5aa7476710412fd2983fcec34da049502835ad7aed4f7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9743, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2221:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9741, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2221:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 9742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2290:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9746, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2362:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9744, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2362:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643934646537653432393235306565653466663937653330616239663338336265613363643536346436373830653061396539363562316164643164323037", - "id": 9745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2431:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42328123875484044786714676363886707536613321598827999033773583507089796485639_by_1", - "typeString": "int_const 4232...(69 digits omitted)...5639" - }, - "value": "0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9749, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2503:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9747, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2503:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835376339633637383936636630613466666539326362656136366332663763333433383061663036626631343231356461626230373863663861366439396531", - "id": 9748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2572:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39707723883616910811070684472502419160349445362132466926300379747285497387489_by_1", - "typeString": "int_const 3970...(69 digits omitted)...7489" - }, - "value": "0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9752, - "name": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2644:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9750, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835626333623630386536626539336237356131633437326134613562656133643331656162616534366266393638653462633463373730313536323131346463", - "id": 9751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2713:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41506260756523941427108209019816285069765552339255648585357697861206098908380_by_1", - "typeString": "int_const 4150...(69 digits omitted)...8380" - }, - "value": "0x5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9755, - "name": "REMOVE_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2785:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9753, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2785:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864373639363062653738626665646335623430636534666136346132663833303866333964643263626231663936373664626334636538376238313762656664", - "id": 9754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2854:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97433449089959592435775398846125283514412287497506082928985629660370123079421_by_1", - "typeString": "int_const 9743...(69 digits omitted)...9421" - }, - "value": "0xd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9758, - "name": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2926:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9756, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2926:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307838333230313339343533346335336165306234363936666434396139333330383264336530353235616135613364306131346132663531653132323133323838", - "id": 9757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2995:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59309657402505820197887986615248370536114730090765417278525765001419925041800_by_1", - "typeString": "int_const 5930...(69 digits omitted)...1800" - }, - "value": "0x83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e12213288" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9761, - "name": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3067:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9759, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3067:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832393462663532633531383636393335393135376139666538323665353130646663336462643230306434346266373765633935333662666633346263323965", - "id": 9760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3136:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18679032444450506883349328256990080161546381720546159031893289578683542782622_by_1", - "typeString": "int_const 1867...(69 digits omitted)...2622" - }, - "value": "0x294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9764, - "name": "WITHDRAW_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3208:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9762, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3208:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643865313263333931343266663936643739643034643135643162613132363965346665353762623964323666343335323336323862333462613130386563", - "id": 9763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3277:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42316116705363990851232871325518885526905562683539808675587814484451545647340_by_1", - "typeString": "int_const 4231...(69 digits omitted)...7340" - }, - "value": "0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9769, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3350:43:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 9768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3385:2:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 9767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3391:2:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "3385:8:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9772, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3442:80:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9770, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3442:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f434f4e54524143545f49535f454f41", - "id": 9771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3501:21:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0e65f7b3df35bc021fb00f63e2788967f7d091c35080f026eb59b265b2899bab", - "typeString": "literal_string \"TAP_CONTRACT_IS_EOA\"" - }, - "value": "TAP_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9775, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3528:84:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9773, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3528:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f42454e4546494349415259", - "id": 9774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3587:25:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_74b35626c14a656007479903612e29798bf45fdec0fb6c6b130c44e09ed0954a", - "typeString": "literal_string \"TAP_INVALID_BENEFICIARY\"" - }, - "value": "TAP_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9778, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3618:85:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9776, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3618:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f42415443485f424c4f434b53", - "id": 9777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3677:26:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_320a9097fd7b1ef6388ddb24eed3136e4df3523b5b1b54b54b2254dc0d442ca3", - "typeString": "literal_string \"TAP_INVALID_BATCH_BLOCKS\"" - }, - "value": "TAP_INVALID_BATCH_BLOCKS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9781, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3709:91:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9779, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3709:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f464c4f4f525f44454352454153455f504354", - "id": 9780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3768:32:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cd593eb792ef88abab714b43dabbe994726ec6e3351e89f9f953361dea50eeb7", - "typeString": "literal_string \"TAP_INVALID_FLOOR_DECREASE_PCT\"" - }, - "value": "TAP_INVALID_FLOOR_DECREASE_PCT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9784, - "name": "ERROR_INVALID_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3806:78:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9782, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3806:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f544f4b454e", - "id": 9783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:19:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dab728774666a9f4ce11319c679ff8004f34641d56dc315b19708be506dceab4", - "typeString": "literal_string \"TAP_INVALID_TOKEN\"" - }, - "value": "TAP_INVALID_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9787, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3890:81:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9785, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3890:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f5441505f52415445", - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3949:22:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5ac8675e170278b8ce2315357811d16ad945c50e6edeff8149d1a8ab64d70249", - "typeString": "literal_string \"TAP_INVALID_TAP_RATE\"" - }, - "value": "TAP_INVALID_TAP_RATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9790, - "name": "ERROR_INVALID_TAP_UPDATE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3977:83:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9788, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3977:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f5441505f555044415445", - "id": 9789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4036:24:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_55c3ee8eec46226a9181f136c783ab55ba16770caad52c50b045821822319ef4", - "typeString": "literal_string \"TAP_INVALID_TAP_UPDATE\"" - }, - "value": "TAP_INVALID_TAP_UPDATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9793, - "name": "ERROR_TOKEN_ALREADY_TAPPED", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4066:85:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9791, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4066:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f544f4b454e5f414c52454144595f544150504544", - "id": 9792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:26:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c633257b706496e48a214c9072f04bc556c0570992f5058ece59980e510b48a", - "typeString": "literal_string \"TAP_TOKEN_ALREADY_TAPPED\"" - }, - "value": "TAP_TOKEN_ALREADY_TAPPED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9796, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4157:81:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9794, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4157:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f544f4b454e5f4e4f545f544150504544", - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4216:22:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_56489e50b39e8d5f1bdec6c5fe2232ace8180c3a97ff21b031ae22c7220ec294", - "typeString": "literal_string \"TAP_TOKEN_NOT_TAPPED\"" - }, - "value": "TAP_TOKEN_NOT_TAPPED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9799, - "name": "ERROR_WITHDRAWAL_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4244:87:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9797, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4244:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f5749544844524157414c5f414d4f554e545f5a45524f", - "id": 9798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4303:28:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_65a6163d10d27fce5c33a78d8ccf062e9a3d0fd8377d8ddaec141b65c5219375", - "typeString": "literal_string \"TAP_WITHDRAWAL_AMOUNT_ZERO\"" - }, - "value": "TAP_WITHDRAWAL_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 9801, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4338:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 9800, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "4338:28:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9803, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4390:43:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 9802, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "4390:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9805, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4439:47:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4439:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9807, - "name": "batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4492:47:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4492:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9809, - "name": "maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4545:61:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4545:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9811, - "name": "maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4612:62:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4612:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9815, - "name": "tappedAmounts", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4681:49:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9814, - "keyType": { - "id": 9812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4690:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4681:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4701:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9819, - "name": "rates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4736:41:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9818, - "keyType": { - "id": 9816, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4736:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4756:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9823, - "name": "floors", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4783:42:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9822, - "keyType": { - "id": 9820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4792:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4783:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4803:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9827, - "name": "lastTappedAmountUpdates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4831:59:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9826, - "keyType": { - "id": 9824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4840:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4831:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9831, - "name": "lastTapUpdates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4925:50:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9830, - "keyType": { - "id": 9828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4934:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4925:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4945:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 9835, - "name": "UpdateBeneficiary", - "nodeType": "EventDefinition", - "parameters": { - "id": 9834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9833, - "indexed": true, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9835, - "src": "5036:27:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5036:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5035:29:12" - }, - "src": "4997:68:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9839, - "name": "UpdateMaximumTapRateIncreasePct", - "nodeType": "EventDefinition", - "parameters": { - "id": 9838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9837, - "indexed": false, - "name": "maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9839, - "src": "5109:33:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5109:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5108:35:12" - }, - "src": "5070:74:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9843, - "name": "UpdateMaximumTapFloorDecreasePct", - "nodeType": "EventDefinition", - "parameters": { - "id": 9842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9841, - "indexed": false, - "name": "maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9843, - "src": "5188:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5188:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5187:36:12" - }, - "src": "5149:75:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9851, - "name": "AddTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9845, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5268:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5268:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9847, - "indexed": false, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5291:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5291:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9849, - "indexed": false, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5305:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5305:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5267:52:12" - }, - "src": "5229:91:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9855, - "name": "RemoveTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9853, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9855, - "src": "5364:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5364:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5363:23:12" - }, - "src": "5325:62:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9863, - "name": "UpdateTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9857, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5431:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5431:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "indexed": false, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5454:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5454:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9861, - "indexed": false, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5468:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5468:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5430:52:12" - }, - "src": "5392:91:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9867, - "name": "ResetTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9865, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9867, - "src": "5527:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5526:23:12" - }, - "src": "5488:62:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9873, - "name": "UpdateTappedAmount", - "nodeType": "EventDefinition", - "parameters": { - "id": 9872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9869, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9873, - "src": "5594:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5594:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9871, - "indexed": false, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 9873, - "src": "5617:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5617:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5593:45:12" - }, - "src": "5555:84:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9879, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 9878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9875, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9879, - "src": "5683:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5683:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9877, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 9879, - "src": "5706:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5706:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5682:39:12" - }, - "src": "5644:78:12" - }, - { - "body": { - "id": 9958, - "nodeType": "Block", - "src": "6775:841:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9898, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9881, - "src": "6804:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 9897, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6793:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6793:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9900, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9772, - "src": "6858:21:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9896, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6785:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6785:95:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9902, - "nodeType": "ExpressionStatement", - "src": "6785:95:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9905, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9883, - "src": "6909:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 9904, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6898:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6898:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9907, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9772, - "src": "6963:21:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9903, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6890:95:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9909, - "nodeType": "ExpressionStatement", - "src": "6890:95:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9912, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9885, - "src": "7023:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9911, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "7003:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 9913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7003:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9914, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9775, - "src": "7068:25:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9910, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6995:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6995:99:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9916, - "nodeType": "ExpressionStatement", - "src": "6995:99:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9918, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7128:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7112:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9921, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9778, - "src": "7177:26:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9917, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7104:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7104:100:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9923, - "nodeType": "ExpressionStatement", - "src": "7104:100:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9926, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "7257:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9925, - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "7222:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 9927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:63:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9928, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9781, - "src": "7287:32:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9924, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7214:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7214:106:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9930, - "nodeType": "ExpressionStatement", - "src": "7214:106:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9931, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "7331:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7331:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9933, - "nodeType": "ExpressionStatement", - "src": "7331:13:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9934, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9801, - "src": "7355:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9935, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9881, - "src": "7368:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "7355:24:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 9937, - "nodeType": "ExpressionStatement", - "src": "7355:24:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9938, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "7389:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9939, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9883, - "src": "7399:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "7389:18:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 9941, - "nodeType": "ExpressionStatement", - "src": "7389:18:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9942, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "7417:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9943, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9885, - "src": "7431:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7417:26:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9945, - "nodeType": "ExpressionStatement", - "src": "7417:26:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9946, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "7453:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9947, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7467:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7453:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9949, - "nodeType": "ExpressionStatement", - "src": "7453:26:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9950, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "7489:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9951, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "7517:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7489:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9953, - "nodeType": "ExpressionStatement", - "src": "7489:54:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9954, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "7553:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9955, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "7582:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7553:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9957, - "nodeType": "ExpressionStatement", - "src": "7553:56:12" - } - ] - }, - "documentation": "@notice Initialize tap\n@param _controller The address of the controller contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom funds are to be withdrawn]\n@param _batchBlocks The number of blocks batches are to last\n@param _maximumTapRateIncreasePct The maximum tap rate increase percentage allowed [in PCT_BASE]\n@param _maximumTapFloorDecreasePct The maximum tap floor decrease percentage allowed [in PCT_BASE]", - "id": 9959, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9894, - "modifierName": { - "argumentTypes": null, - "id": 9893, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "6762:8:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6762:8:12" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9881, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6410:40:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 9880, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "6410:28:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9883, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6460:37:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 9882, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "6460:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9885, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6507:41:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9884, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6507:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9887, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6558:41:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6558:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9889, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6609:55:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6609:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9891, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6674:56:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6674:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6400:336:12" - }, - "payable": false, - "returnParameters": { - "id": 9895, - "nodeType": "ParameterList", - "parameters": [], - "src": "6775:0:12" - }, - "scope": 10786, - "src": "6381:1235:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 9978, - "nodeType": "Block", - "src": "7875:129:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9969, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "7913:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9968, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "7893:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7893:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9971, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9775, - "src": "7928:25:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9967, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7885:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7885:69:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9973, - "nodeType": "ExpressionStatement", - "src": "7885:69:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9975, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "7984:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9974, - "name": "_updateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10567, - "src": "7965:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 9976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7965:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9977, - "nodeType": "ExpressionStatement", - "src": "7965:32:12" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary [to whom funds are to be withdrawn]", - "id": 9979, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9964, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9743, - "src": "7850:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9965, - "modifierName": { - "argumentTypes": null, - "id": 9963, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7845:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7845:29:12" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9961, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9979, - "src": "7814:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7814:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7813:22:12" - }, - "payable": false, - "returnParameters": { - "id": 9966, - "nodeType": "ParameterList", - "parameters": [], - "src": "7875:0:12" - }, - "scope": 10786, - "src": "7787:217:12", - "stateMutability": "nonpayable", - "superFunction": 9648, - "visibility": "external" - }, - { - "body": { - "id": 9991, - "nodeType": "Block", - "src": "8377:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9988, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "8420:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9987, - "name": "_updateMaximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10581, - "src": "8387:32:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8387:60:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9990, - "nodeType": "ExpressionStatement", - "src": "8387:60:12" - } - ] - }, - "documentation": "@notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n@param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]", - "id": 9992, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9984, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9746, - "src": "8334:41:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9985, - "modifierName": { - "argumentTypes": null, - "id": 9983, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8329:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8329:47:12" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9981, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9992, - "src": "8284:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8284:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8283:36:12" - }, - "payable": false, - "returnParameters": { - "id": 9986, - "nodeType": "ParameterList", - "parameters": [], - "src": "8377:0:12" - }, - "scope": 10786, - "src": "8243:211:12", - "stateMutability": "nonpayable", - "superFunction": 9653, - "visibility": "external" - }, - { - "body": { - "id": 10011, - "nodeType": "Block", - "src": "8834:196:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10002, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "8887:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10001, - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "8852:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8852:63:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10004, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9781, - "src": "8917:32:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10000, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8844:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8844:106:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10006, - "nodeType": "ExpressionStatement", - "src": "8844:106:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10008, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "8995:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10007, - "name": "_updateMaximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10595, - "src": "8961:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8961:62:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10010, - "nodeType": "ExpressionStatement", - "src": "8961:62:12" - } - ] - }, - "documentation": "@notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n@param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]", - "id": 10012, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9997, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "8790:42:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9998, - "modifierName": { - "argumentTypes": null, - "id": 9996, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8785:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8785:48:12" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9994, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10012, - "src": "8739:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8739:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8738:37:12" - }, - "payable": false, - "returnParameters": { - "id": 9999, - "nodeType": "ParameterList", - "parameters": [], - "src": "8834:0:12" - }, - "scope": 10786, - "src": "8697:333:12", - "stateMutability": "nonpayable", - "superFunction": 9658, - "visibility": "external" - }, - { - "body": { - "id": 10052, - "nodeType": "Block", - "src": "9563:273:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10026, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9603:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10025, - "name": "_tokenIsContractOrETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10356, - "src": "9581:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9581:29:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10028, - "name": "ERROR_INVALID_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9784, - "src": "9612:19:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10024, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9573:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9573:59:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10030, - "nodeType": "ExpressionStatement", - "src": "9573:59:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9650:23:12", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10033, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9666:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10032, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "9651:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9651:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10036, - "name": "ERROR_TOKEN_ALREADY_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9793, - "src": "9681:26:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10031, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9642:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9642:66:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10038, - "nodeType": "ExpressionStatement", - "src": "9642:66:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10041, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10016, - "src": "9742:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10040, - "name": "_tapRateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "9726:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10043, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9787, - "src": "9757:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10039, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9718:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9718:62:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10045, - "nodeType": "ExpressionStatement", - "src": "9718:62:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10047, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9807:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10048, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10016, - "src": "9815:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10049, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "9822:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10046, - "name": "_addTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10637, - "src": "9791:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9791:38:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10051, - "nodeType": "ExpressionStatement", - "src": "9791:38:12" - } - ] - }, - "documentation": "@notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token to be tapped\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 10053, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10021, - "name": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "9540:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10022, - "modifierName": { - "argumentTypes": null, - "id": 10020, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9535:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9535:27:12" - } - ], - "name": "addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10014, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9479:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9479:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10016, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9495:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9495:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10018, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9510:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9510:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9478:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10023, - "nodeType": "ParameterList", - "parameters": [], - "src": "9563:0:12" - }, - "scope": 10786, - "src": "9455:381:12", - "stateMutability": "nonpayable", - "superFunction": 9667, - "visibility": "external" - }, - { - "body": { - "id": 10072, - "nodeType": "Block", - "src": "10058:109:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10063, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10055, - "src": "10091:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10062, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "10076:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10076:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10065, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "10100:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10061, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10068:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10067, - "nodeType": "ExpressionStatement", - "src": "10068:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10069, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10055, - "src": "10153:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10068, - "name": "_removeTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10672, - "src": "10134:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10134:26:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10071, - "nodeType": "ExpressionStatement", - "src": "10134:26:12" - } - ] - }, - "documentation": "@notice Remove tap for `_token.symbol(): string`\n@param _token The address of the token to be un-tapped", - "id": 10073, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10058, - "name": "REMOVE_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9755, - "src": "10032:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10059, - "modifierName": { - "argumentTypes": null, - "id": 10057, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "10027:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10027:30:12" - } - ], - "name": "removeTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10055, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10073, - "src": "10002:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10002:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10001:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10060, - "nodeType": "ParameterList", - "parameters": [], - "src": "10058:0:12" - }, - "scope": 10786, - "src": "9975:192:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 10114, - "nodeType": "Block", - "src": "10731:310:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10087, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "10764:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10086, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "10749:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10089, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "10791:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10085, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10741:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10741:73:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10091, - "nodeType": "ExpressionStatement", - "src": "10741:73:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10094, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "10848:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10093, - "name": "_tapRateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "10832:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10832:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10096, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9787, - "src": "10874:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10092, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10824:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10824:73:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10098, - "nodeType": "ExpressionStatement", - "src": "10824:73:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10101, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "10933:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10102, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "10941:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10103, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10079, - "src": "10948:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10100, - "name": "_tapUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10406, - "src": "10915:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256,uint256) view returns (bool)" - } - }, - "id": 10104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10915:40:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10105, - "name": "ERROR_INVALID_TAP_UPDATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9790, - "src": "10957:24:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10099, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10907:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10907:75:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10107, - "nodeType": "ExpressionStatement", - "src": "10907:75:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10109, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "11012:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10110, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "11020:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10111, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10079, - "src": "11027:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10108, - "name": "_updateTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10723, - "src": "10993:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10993:41:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10113, - "nodeType": "ExpressionStatement", - "src": "10993:41:12" - } - ] - }, - "documentation": "@notice Update tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token whose tap is to be updated\n@param _rate The new rate at which that token is to be tapped [in wei / block]\n@param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 10115, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10082, - "name": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "10705:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10083, - "modifierName": { - "argumentTypes": null, - "id": 10081, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "10700:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10700:30:12" - } - ], - "name": "updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10075, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10644:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10074, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10077, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10660:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10660:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10079, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10675:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10675:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10643:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10084, - "nodeType": "ParameterList", - "parameters": [], - "src": "10731:0:12" - }, - "scope": 10786, - "src": "10617:424:12", - "stateMutability": "nonpayable", - "superFunction": 9676, - "visibility": "external" - }, - { - "body": { - "id": 10134, - "nodeType": "Block", - "src": "11292:108:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10125, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10117, - "src": "11325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10124, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "11310:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11310:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10127, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "11334:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11302:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10129, - "nodeType": "ExpressionStatement", - "src": "11302:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10131, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10117, - "src": "11386:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10130, - "name": "_resetTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "11368:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11368:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10133, - "nodeType": "ExpressionStatement", - "src": "11368:25:12" - } - ] - }, - "documentation": "@notice Reset tap timestamps for `_token.symbol(): string`\n@param _token The address of the token whose tap timestamps are to be reset", - "id": 10135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10120, - "name": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9761, - "src": "11267:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10121, - "modifierName": { - "argumentTypes": null, - "id": 10119, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11262:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11262:29:12" - } - ], - "name": "resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10117, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10135, - "src": "11237:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11237:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11236:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10122, - "nodeType": "ParameterList", - "parameters": [], - "src": "11292:0:12" - }, - "scope": 10786, - "src": "11211:189:12", - "stateMutability": "nonpayable", - "superFunction": 9681, - "visibility": "external" - }, - { - "body": { - "id": 10151, - "nodeType": "Block", - "src": "11623:110:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10142, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10137, - "src": "11656:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10141, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "11641:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11641:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10144, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "11665:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11633:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11633:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10146, - "nodeType": "ExpressionStatement", - "src": "11633:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10148, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10137, - "src": "11719:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10147, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "11699:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11699:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10150, - "nodeType": "ExpressionStatement", - "src": "11699:27:12" - } - ] - }, - "documentation": "@notice Update tapped amount for `_token.symbol(): string`\n@param _token The address of the token whose tapped amount is to be updated", - "id": 10152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10137, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10152, - "src": "11598:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11598:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11597:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10139, - "nodeType": "ParameterList", - "parameters": [], - "src": "11623:0:12" - }, - "scope": 10786, - "src": "11570:163:12", - "stateMutability": "nonpayable", - "superFunction": 9686, - "visibility": "external" - }, - { - "body": { - "id": 10185, - "nodeType": "Block", - "src": "12023:221:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10162, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12056:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10161, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "12041:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12041:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10164, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "12065:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10160, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12033:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12033:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10166, - "nodeType": "ExpressionStatement", - "src": "12033:55:12" - }, - { - "assignments": [ - 10168 - ], - "declarations": [ - { - "constant": false, - "id": 10168, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 10186, - "src": "12098:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12098:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10172, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10170, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12135:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10169, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "12115:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12115:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12098:44:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10174, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10168, - "src": "12160:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12169:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12160:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10177, - "name": "ERROR_WITHDRAWAL_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9799, - "src": "12172:28:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10173, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12152:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12152:49:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10179, - "nodeType": "ExpressionStatement", - "src": "12152:49:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10181, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10182, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10168, - "src": "12230:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10180, - "name": "_withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "12212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12212:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10184, - "nodeType": "ExpressionStatement", - "src": "12212:25:12" - } - ] - }, - "documentation": "@notice Transfer about `@tokenAmount(_token, self.getMaximalWithdrawal(_token): uint256)` from `self.reserve()` to `self.beneficiary()`\n@param _token The address of the token to be transfered", - "id": 10186, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10157, - "name": "WITHDRAW_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9764, - "src": "12008:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10158, - "modifierName": { - "argumentTypes": null, - "id": 10156, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12003:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12003:19:12" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10154, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10186, - "src": "11978:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11978:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11977:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10159, - "nodeType": "ParameterList", - "parameters": [], - "src": "12023:0:12" - }, - "scope": 10786, - "src": "11960:284:12", - "stateMutability": "nonpayable", - "superFunction": 9691, - "visibility": "external" - }, - { - "body": { - "id": 10199, - "nodeType": "Block", - "src": "12381:45:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10196, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "12412:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10195, - "name": "_tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10314, - "src": "12398:13:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12398:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10194, - "id": 10198, - "nodeType": "Return", - "src": "12391:28:12" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 10200, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 10191, - "modifierName": { - "argumentTypes": null, - "id": 10190, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12349:13:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12349:13:12" - } - ], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10188, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10200, - "src": "12321:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12321:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12320:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10193, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10200, - "src": "12372:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12372:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12371:9:12" - }, - "scope": 10786, - "src": "12291:135:12", - "stateMutability": "view", - "superFunction": 9698, - "visibility": "public" - }, - { - "body": { - "id": 10213, - "nodeType": "Block", - "src": "12507:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10209, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "12524:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10211, - "indexExpression": { - "argumentTypes": null, - "id": 10210, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10202, - "src": "12530:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12524:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10208, - "id": 10212, - "nodeType": "Return", - "src": "12517:20:12" - } - ] - }, - "documentation": null, - "id": 10214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 10205, - "modifierName": { - "argumentTypes": null, - "id": 10204, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12475:13:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12475:13:12" - } - ], - "name": "rates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10203, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10202, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10214, - "src": "12447:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12447:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12446:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10207, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10214, - "src": "12498:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12498:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12497:9:12" - }, - "scope": 10786, - "src": "12432:112:12", - "stateMutability": "view", - "superFunction": 9705, - "visibility": "public" - }, - { - "body": { - "id": 10229, - "nodeType": "Block", - "src": "12680:72:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10226, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "12733:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10222, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "12715:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10219, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12698:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 10220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12698:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "12698:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12698:29:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10224, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12697:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12697:35:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12697:48:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10218, - "id": 10228, - "nodeType": "Return", - "src": "12690:55:12" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 10230, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10215, - "nodeType": "ParameterList", - "parameters": [], - "src": "12645:2:12" - }, - "payable": false, - "returnParameters": { - "id": 10218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10217, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10230, - "src": "12671:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12671:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12670:9:12" - }, - "scope": 10786, - "src": "12621:131:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10313, - "nodeType": "Block", - "src": "12829:1303:12", - "statements": [ - { - "assignments": [ - 10238 - ], - "declarations": [ - { - "constant": false, - "id": 10238, - "name": "toBeKept", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12839:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12839:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10248, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10244, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "12904:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10246, - "indexExpression": { - "argumentTypes": null, - "id": 10245, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12904:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10241, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12892:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 10239, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9801, - "src": "12858:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "collateralsToBeClaimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 9596, - "src": "12858:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 10242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12858:41:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12858:45:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12858:61:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12839:80:12" - }, - { - "assignments": [ - 10250 - ], - "declarations": [ - { - "constant": false, - "id": 10250, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12929:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12929:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10265, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10251, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12947:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10252, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12957:3:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12947:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10262, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "13020:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10259, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12996:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10258, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "12990:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 10260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12990:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 10261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "12990:29:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 10263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12990:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12947:81:12", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10255, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "12971:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12963:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 10256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12963:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12963:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12929:99:12" - }, - { - "assignments": [ - 10267 - ], - "declarations": [ - { - "constant": false, - "id": 10267, - "name": "flow", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "13038:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13038:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10281, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10277, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "13114:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10279, - "indexExpression": { - "argumentTypes": null, - "id": 10278, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13120:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13114:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10271, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "13076:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10273, - "indexExpression": { - "argumentTypes": null, - "id": 10272, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13100:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13076:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10268, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "13054:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "13054:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10275, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13053:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "13053:60:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13053:75:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13038:90:12" - }, - { - "assignments": [ - 10283 - ], - "declarations": [ - { - "constant": false, - "id": 10283, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "13138:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13138:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10290, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10288, - "name": "flow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10267, - "src": "13187:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10284, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "13161:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10286, - "indexExpression": { - "argumentTypes": null, - "id": 10285, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13175:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13161:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13161:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13161:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13138:54:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10291, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13588:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10292, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13599:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13588:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10297, - "nodeType": "IfStatement", - "src": "13584:58:12", - "trueBody": { - "id": 10296, - "nodeType": "Block", - "src": "13609:33:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13630:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 10236, - "id": 10295, - "nodeType": "Return", - "src": "13623:8:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10298, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13838:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10301, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "13862:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10299, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13849:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13849:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13849:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13838:37:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10310, - "nodeType": "IfStatement", - "src": "13834:96:12", - "trueBody": { - "id": 10309, - "nodeType": "Block", - "src": "13877:53:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10306, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13910:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10304, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13898:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "13898:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13898:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10236, - "id": 10308, - "nodeType": "Return", - "src": "13891:28:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10311, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "14113:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10236, - "id": 10312, - "nodeType": "Return", - "src": "14106:19:12" - } - ] - }, - "documentation": null, - "id": 10314, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10232, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12781:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12781:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12780:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12820:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12820:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12819:9:12" - }, - "scope": 10786, - "src": "12758:1374:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10327, - "nodeType": "Block", - "src": "14245:50:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10321, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10316, - "src": "14262:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 10323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14286:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 10322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14278:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 10324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14278:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14262:26:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10320, - "id": 10326, - "nodeType": "Return", - "src": "14255:33:12" - } - ] - }, - "documentation": null, - "id": 10328, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_beneficiaryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10316, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10328, - "src": "14194:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14194:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14193:22:12" - }, - "payable": false, - "returnParameters": { - "id": 10320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10319, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10328, - "src": "14239:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10318, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14239:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14238:6:12" - }, - "scope": 10786, - "src": "14165:130:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10339, - "nodeType": "Block", - "src": "14411:63:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10335, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10330, - "src": "14428:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10336, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "14459:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14428:39:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10334, - "id": 10338, - "nodeType": "Return", - "src": "14421:46:12" - } - ] - }, - "documentation": null, - "id": 10340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10330, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10340, - "src": "14345:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14345:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14344:37:12" - }, - "payable": false, - "returnParameters": { - "id": 10334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10333, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10340, - "src": "14405:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14405:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14404:6:12" - }, - "scope": 10786, - "src": "14301:173:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10355, - "nodeType": "Block", - "src": "14556:59:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10348, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10342, - "src": "14584:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10347, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "14573:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14573:18:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10350, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10342, - "src": "14595:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10351, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "14605:3:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14595:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14573:35:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10346, - "id": 10354, - "nodeType": "Return", - "src": "14566:42:12" - } - ] - }, - "documentation": null, - "id": 10356, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsContractOrETH", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10342, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10356, - "src": "14511:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14511:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14510:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10346, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10345, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10356, - "src": "14550:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10344, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14550:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14549:6:12" - }, - "scope": 10786, - "src": "14480:135:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10371, - "nodeType": "Block", - "src": "14690:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10363, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "14707:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10365, - "indexExpression": { - "argumentTypes": null, - "id": 10364, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "14713:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14707:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 10367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14732:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 10366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14724:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14724:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14707:27:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10362, - "id": 10370, - "nodeType": "Return", - "src": "14700:34:12" - } - ] - }, - "documentation": null, - "id": 10372, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsTapped", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10358, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10372, - "src": "14645:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14645:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14644:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10361, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10372, - "src": "14684:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10360, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14684:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14683:6:12" - }, - "scope": 10786, - "src": "14621:120:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10383, - "nodeType": "Block", - "src": "14816:34:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10379, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10374, - "src": "14833:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14842:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14833:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10378, - "id": 10382, - "nodeType": "Return", - "src": "14826:17:12" - } - ] - }, - "documentation": null, - "id": 10384, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapRateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10374, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10384, - "src": "14772:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14772:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14771:15:12" - }, - "payable": false, - "returnParameters": { - "id": 10378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10377, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10384, - "src": "14810:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10376, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14810:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14809:6:12" - }, - "scope": 10786, - "src": "14747:103:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10405, - "nodeType": "Block", - "src": "14959:102:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10396, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10386, - "src": "14998:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10397, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10388, - "src": "15006:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10395, - "name": "_tapRateUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10459, - "src": "14976:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 10398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14976:36:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10400, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10386, - "src": "15039:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10401, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10390, - "src": "15047:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10399, - "name": "_tapFloorUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10519, - "src": "15016:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 10402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15016:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14976:78:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10394, - "id": 10404, - "nodeType": "Return", - "src": "14969:85:12" - } - ] - }, - "documentation": null, - "id": 10406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10386, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14883:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14883:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10388, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14899:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10390, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14914:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14914:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14882:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10393, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14953:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14953:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14952:6:12" - }, - "scope": 10786, - "src": "14856:205:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10458, - "nodeType": "Block", - "src": "15158:359:12", - "statements": [ - { - "assignments": [ - 10416 - ], - "declarations": [ - { - "constant": false, - "id": 10416, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15168:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15168:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10420, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10417, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "15183:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10419, - "indexExpression": { - "argumentTypes": null, - "id": 10418, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10408, - "src": "15189:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15183:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15168:28:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10421, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10410, - "src": "15211:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10422, - "name": "rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10416, - "src": "15220:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15211:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10427, - "nodeType": "IfStatement", - "src": "15207:55:12", - "trueBody": { - "id": 10426, - "nodeType": "Block", - "src": "15226:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15247:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10414, - "id": 10425, - "nodeType": "Return", - "src": "15240:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10428, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15276:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15276:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10430, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "15293:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10432, - "indexExpression": { - "argumentTypes": null, - "id": 10431, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10408, - "src": "15308:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15293:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 10433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15318:7:12", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "src": "15293:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15276:49:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10439, - "nodeType": "IfStatement", - "src": "15272:92:12", - "trueBody": { - "id": 10438, - "nodeType": "Block", - "src": "15327:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15348:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10414, - "id": 10437, - "nodeType": "Return", - "src": "15341:12:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10442, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15388:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10440, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10410, - "src": "15378:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15378:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15378:19:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10448, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "15423:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10446, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15410:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "15410:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15410:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10444, - "name": "rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10416, - "src": "15401:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15401:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15401:49:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15378:72:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10455, - "nodeType": "IfStatement", - "src": "15374:114:12", - "trueBody": { - "id": 10454, - "nodeType": "Block", - "src": "15452:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15473:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10414, - "id": 10453, - "nodeType": "Return", - "src": "15466:11:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15505:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10414, - "id": 10457, - "nodeType": "Return", - "src": "15498:12:12" - } - ] - }, - "documentation": null, - "id": 10459, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapRateUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10408, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15098:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15098:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10410, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15114:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15114:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15097:31:12" - }, - "payable": false, - "returnParameters": { - "id": 10414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10413, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15152:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10412, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15152:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15151:6:12" - }, - "scope": 10786, - "src": "15067:450:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10518, - "nodeType": "Block", - "src": "15616:456:12", - "statements": [ - { - "assignments": [ - 10469 - ], - "declarations": [ - { - "constant": false, - "id": 10469, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15626:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15626:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10473, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10470, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "15642:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10472, - "indexExpression": { - "argumentTypes": null, - "id": 10471, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "15649:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15642:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15626:30:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10474, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "15671:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10475, - "name": "floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10469, - "src": "15681:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15671:15:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10480, - "nodeType": "IfStatement", - "src": "15667:57:12", - "trueBody": { - "id": 10479, - "nodeType": "Block", - "src": "15688:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15709:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10478, - "nodeType": "Return", - "src": "15702:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10481, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15738:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15738:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10483, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "15755:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10485, - "indexExpression": { - "argumentTypes": null, - "id": 10484, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "15770:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15755:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 10486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15780:7:12", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "src": "15755:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15738:49:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10492, - "nodeType": "IfStatement", - "src": "15734:92:12", - "trueBody": { - "id": 10491, - "nodeType": "Block", - "src": "15789:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15810:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10467, - "id": 10490, - "nodeType": "Return", - "src": "15803:12:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10493, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "15840:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10494, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15870:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15840:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10499, - "nodeType": "IfStatement", - "src": "15836:80:12", - "trueBody": { - "id": 10498, - "nodeType": "Block", - "src": "15880:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15901:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10497, - "nodeType": "Return", - "src": "15894:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10502, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15941:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10500, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "15930:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15930:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15930:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10508, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "15977:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10506, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15964:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15964:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15964:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10504, - "name": "floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10469, - "src": "15954:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15954:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15954:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15930:75:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10515, - "nodeType": "IfStatement", - "src": "15926:117:12", - "trueBody": { - "id": 10514, - "nodeType": "Block", - "src": "16007:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16028:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10513, - "nodeType": "Return", - "src": "16021:11:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16060:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10467, - "id": 10517, - "nodeType": "Return", - "src": "16053:12:12" - } - ] - }, - "documentation": null, - "id": 10519, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapFloorUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10461, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15555:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10460, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15555:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10463, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15571:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15571:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15554:32:12" - }, - "payable": false, - "returnParameters": { - "id": 10467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10466, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15610:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10465, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15610:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15609:6:12" - }, - "scope": 10786, - "src": "15523:549:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10552, - "nodeType": "Block", - "src": "16187:254:12", - "statements": [ - { - "assignments": [ - 10527 - ], - "declarations": [ - { - "constant": false, - "id": 10527, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16197:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16197:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10531, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10529, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16234:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10528, - "name": "_tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10314, - "src": "16220:13:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 10530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16220:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16197:44:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10532, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "16251:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10534, - "indexExpression": { - "argumentTypes": null, - "id": 10533, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16275:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16251:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10535, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "16285:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16285:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16251:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10538, - "nodeType": "ExpressionStatement", - "src": "16251:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10539, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "16312:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10541, - "indexExpression": { - "argumentTypes": null, - "id": 10540, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16326:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16312:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10542, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16336:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16312:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10544, - "nodeType": "ExpressionStatement", - "src": "16312:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10546, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16383:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10547, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16391:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10545, - "name": "UpdateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9873, - "src": "16364:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16364:40:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10549, - "nodeType": "EmitStatement", - "src": "16359:45:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10550, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16422:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10525, - "id": 10551, - "nodeType": "Return", - "src": "16415:19:12" - } - ] - }, - "documentation": null, - "id": 10553, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10521, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16144:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10520, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16144:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16143:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10524, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16178:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16178:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16177:9:12" - }, - "scope": 10786, - "src": "16115:326:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10566, - "nodeType": "Block", - "src": "16506:90:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10558, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "16516:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10559, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "16530:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16516:26:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10561, - "nodeType": "ExpressionStatement", - "src": "16516:26:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10563, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "16576:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10562, - "name": "UpdateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9835, - "src": "16558:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16558:31:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10565, - "nodeType": "EmitStatement", - "src": "16553:36:12" - } - ] - }, - "documentation": null, - "id": 10567, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10555, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10567, - "src": "16475:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16474:22:12" - }, - "payable": false, - "returnParameters": { - "id": 10557, - "nodeType": "ParameterList", - "parameters": [], - "src": "16506:0:12" - }, - "scope": 10786, - "src": "16447:149:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10580, - "nodeType": "Block", - "src": "16689:146:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10572, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "16699:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10573, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10569, - "src": "16727:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16699:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10575, - "nodeType": "ExpressionStatement", - "src": "16699:54:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10577, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10569, - "src": "16801:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10576, - "name": "UpdateMaximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9839, - "src": "16769:31:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16769:59:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10579, - "nodeType": "EmitStatement", - "src": "16764:64:12" - } - ] - }, - "documentation": null, - "id": 10581, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10569, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 10581, - "src": "16644:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16643:36:12" - }, - "payable": false, - "returnParameters": { - "id": 10571, - "nodeType": "ParameterList", - "parameters": [], - "src": "16689:0:12" - }, - "scope": 10786, - "src": "16602:233:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10594, - "nodeType": "Block", - "src": "16930:150:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10586, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "16940:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10587, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10583, - "src": "16969:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16940:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10589, - "nodeType": "ExpressionStatement", - "src": "16940:56:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10591, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10583, - "src": "17045:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10590, - "name": "UpdateMaximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9843, - "src": "17012:32:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17012:61:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10593, - "nodeType": "EmitStatement", - "src": "17007:66:12" - } - ] - }, - "documentation": null, - "id": 10595, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10583, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10595, - "src": "16884:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16884:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16883:37:12" - }, - "payable": false, - "returnParameters": { - "id": 10585, - "nodeType": "ParameterList", - "parameters": [], - "src": "16930:0:12" - }, - "scope": 10786, - "src": "16841:239:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10636, - "nodeType": "Block", - "src": "17167:740:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10604, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "17683:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10606, - "indexExpression": { - "argumentTypes": null, - "id": 10605, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17689:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17683:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10607, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10599, - "src": "17699:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17683:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10609, - "nodeType": "ExpressionStatement", - "src": "17683:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10610, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "17714:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10612, - "indexExpression": { - "argumentTypes": null, - "id": 10611, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17721:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17714:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10613, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10601, - "src": "17731:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17714:23:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10615, - "nodeType": "ExpressionStatement", - "src": "17714:23:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10616, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "17747:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10618, - "indexExpression": { - "argumentTypes": null, - "id": 10617, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17771:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17747:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10619, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "17781:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17781:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17747:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10622, - "nodeType": "ExpressionStatement", - "src": "17747:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10623, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "17808:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10625, - "indexExpression": { - "argumentTypes": null, - "id": 10624, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17823:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17808:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10626, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "17833:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17833:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17808:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10629, - "nodeType": "ExpressionStatement", - "src": "17808:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10631, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17878:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10632, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10599, - "src": "17886:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10633, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10601, - "src": "17893:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10630, - "name": "AddTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "17863:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17863:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10635, - "nodeType": "EmitStatement", - "src": "17858:42:12" - } - ] - }, - "documentation": null, - "id": 10637, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10597, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17111:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10596, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17111:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10599, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17127:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17127:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10601, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17142:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17142:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17110:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10603, - "nodeType": "ParameterList", - "parameters": [], - "src": "17167:0:12" - }, - "scope": 10786, - "src": "17086:821:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10671, - "nodeType": "Block", - "src": "17966:234:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "17976:28:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10642, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "17983:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10644, - "indexExpression": { - "argumentTypes": null, - "id": 10643, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "17997:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17983:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10646, - "nodeType": "ExpressionStatement", - "src": "17976:28:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18014:20:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10647, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "18021:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10649, - "indexExpression": { - "argumentTypes": null, - "id": 10648, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18027:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18021:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10651, - "nodeType": "ExpressionStatement", - "src": "18014:20:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18044:21:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10652, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "18051:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10654, - "indexExpression": { - "argumentTypes": null, - "id": 10653, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18058:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18051:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10656, - "nodeType": "ExpressionStatement", - "src": "18044:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18075:38:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10657, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "18082:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10659, - "indexExpression": { - "argumentTypes": null, - "id": 10658, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18106:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18082:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10661, - "nodeType": "ExpressionStatement", - "src": "18075:38:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18123:29:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10662, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "18130:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10664, - "indexExpression": { - "argumentTypes": null, - "id": 10663, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18145:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18130:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10666, - "nodeType": "ExpressionStatement", - "src": "18123:29:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10668, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18186:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10667, - "name": "RemoveTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "18168:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18168:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10670, - "nodeType": "EmitStatement", - "src": "18163:30:12" - } - ] - }, - "documentation": null, - "id": 10672, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10639, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10672, - "src": "17941:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17941:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17940:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10641, - "nodeType": "ParameterList", - "parameters": [], - "src": "17966:0:12" - }, - "scope": 10786, - "src": "17913:287:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10722, - "nodeType": "Block", - "src": "18290:555:12", - "statements": [ - { - "assignments": [ - 10682 - ], - "declarations": [ - { - "constant": false, - "id": 10682, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18549:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18549:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10686, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10684, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18586:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10683, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "18566:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18566:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18549:44:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10687, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10682, - "src": "18607:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18616:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18607:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10696, - "nodeType": "IfStatement", - "src": "18603:66:12", - "trueBody": { - "id": 10695, - "nodeType": "Block", - "src": "18619:50:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10691, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18643:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10692, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10682, - "src": "18651:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10690, - "name": "_withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "18633:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18633:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10694, - "nodeType": "ExpressionStatement", - "src": "18633:25:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10697, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "18679:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10699, - "indexExpression": { - "argumentTypes": null, - "id": 10698, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18685:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18679:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10700, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "18695:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18679:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10702, - "nodeType": "ExpressionStatement", - "src": "18679:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10703, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "18710:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10705, - "indexExpression": { - "argumentTypes": null, - "id": 10704, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18717:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18710:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10706, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "18727:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18710:23:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10708, - "nodeType": "ExpressionStatement", - "src": "18710:23:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10709, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "18743:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10711, - "indexExpression": { - "argumentTypes": null, - "id": 10710, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18758:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18743:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10712, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "18768:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18768:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18743:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10715, - "nodeType": "ExpressionStatement", - "src": "18743:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10717, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18816:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10718, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "18824:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10719, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "18831:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10716, - "name": "UpdateTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9863, - "src": "18798:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18798:40:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10721, - "nodeType": "EmitStatement", - "src": "18793:45:12" - } - ] - }, - "documentation": null, - "id": 10723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10674, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18234:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18234:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10676, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18250:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18250:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10678, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18265:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18265:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18233:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10680, - "nodeType": "ParameterList", - "parameters": [], - "src": "18290:0:12" - }, - "scope": 10786, - "src": "18206:639:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10752, - "nodeType": "Block", - "src": "18903:192:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10728, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "18913:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10730, - "indexExpression": { - "argumentTypes": null, - "id": 10729, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "18927:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18913:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 10731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18937:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18913:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10733, - "nodeType": "ExpressionStatement", - "src": "18913:25:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10734, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "18948:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10736, - "indexExpression": { - "argumentTypes": null, - "id": 10735, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "18972:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18948:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10737, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "18982:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18982:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18948:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10740, - "nodeType": "ExpressionStatement", - "src": "18948:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10741, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "19009:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10743, - "indexExpression": { - "argumentTypes": null, - "id": 10742, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "19024:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19009:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10744, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "19034:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19034:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19009:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10747, - "nodeType": "ExpressionStatement", - "src": "19009:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10749, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "19081:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10748, - "name": "ResetTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9867, - "src": "19064:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19064:24:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10751, - "nodeType": "EmitStatement", - "src": "19059:29:12" - } - ] - }, - "documentation": null, - "id": 10753, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10725, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10753, - "src": "18878:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18878:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18877:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10727, - "nodeType": "ParameterList", - "parameters": [], - "src": "18903:0:12" - }, - "scope": 10786, - "src": "18851:244:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10784, - "nodeType": "Block", - "src": "19162:233:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10760, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "19172:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10762, - "indexExpression": { - "argumentTypes": null, - "id": 10761, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19186:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19172:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10767, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19222:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10763, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "19196:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10765, - "indexExpression": { - "argumentTypes": null, - "id": 10764, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19210:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19196:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "19196:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19196:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19172:58:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10770, - "nodeType": "ExpressionStatement", - "src": "19172:58:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10774, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19257:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10775, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "19265:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10776, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19278:7:12", - "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": 10771, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "19240:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 10773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "19240:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 10777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19240:46:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10778, - "nodeType": "ExpressionStatement", - "src": "19240:46:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10780, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19372:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10781, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19380:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10779, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9879, - "src": "19363:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19363:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10783, - "nodeType": "EmitStatement", - "src": "19358:30:12" - } - ] - }, - "documentation": null, - "id": 10785, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10755, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "19120:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19120:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10757, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "19136:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19136:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19119:33:12" - }, - "payable": false, - "returnParameters": { - "id": 10759, - "nodeType": "ParameterList", - "parameters": [], - "src": "19162:0:12" - }, - "scope": 10786, - "src": "19101:294:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 10787, - "src": "608:18789:12" - } - ], - "src": "0:19397:12" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-tap/contracts/Tap.sol", - "exportedSymbols": { - "Tap": [ - 10786 - ] - }, - "id": 10787, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9708, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 9709, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23454, - "src": "25:49:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 9710, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23650, - "src": "75:60:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "@aragon/os/contracts/common/IsContract.sol", - "id": 9711, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 23826, - "src": "136:52:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "file": "@aragon/os/contracts/common/TimeHelpers.sol", - "id": 9712, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 24155, - "src": "189:53:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 9713, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 24108, - "src": "243:51:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 9714, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 27870, - "src": "295:52:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 9715, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 28100, - "src": "348:50:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "file": "@aragon/apps-vault/contracts/Vault.sol", - "id": 9716, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 19336, - "src": "399:48:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/ITap.sol", - "id": 9717, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 9707, - "src": "448:66:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "file": "@ablack/fundraising-shared-interfaces/contracts/IAragonFundraisingController.sol", - "id": 9718, - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 9607, - "src": "515:90:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9719, - "name": "ITap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9706, - "src": "624:4:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITap_$9706", - "typeString": "contract ITap" - } - }, - "id": 9720, - "nodeType": "InheritanceSpecifier", - "src": "624:4:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9721, - "name": "TimeHelpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24154, - "src": "630:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimeHelpers_$24154", - "typeString": "contract TimeHelpers" - } - }, - "id": 9722, - "nodeType": "InheritanceSpecifier", - "src": "630:11:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9723, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "643:18:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 9724, - "nodeType": "InheritanceSpecifier", - "src": "643:18:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9725, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "663:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 9726, - "nodeType": "InheritanceSpecifier", - "src": "663:10:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9727, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "675:9:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 9728, - "nodeType": "InheritanceSpecifier", - "src": "675:9:12" - } - ], - "contractDependencies": [ - 9706, - 22236, - 23329, - 23453, - 23466, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 10786, - "linearizedBaseContracts": [ - 10786, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 9706 - ], - "name": "Tap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9731, - "libraryName": { - "contractScope": null, - "id": 9729, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "697:9:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "691:26:12", - "typeName": { - "contractScope": null, - "id": 9730, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "711:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "id": 9734, - "libraryName": { - "contractScope": null, - "id": 9732, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "728:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "722:28:12", - "typeName": { - "id": 9733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 9737, - "name": "UPDATE_CONTROLLER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "1939:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9735, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1939:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834353462356430646262373466303132666166316433373232656134343136383966393764633935376464336361353333356234393639353836653564633330", - "id": 9736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2008:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_31342742314734821776322769899902321751680835264925120007321203260400154827824_by_1", - "typeString": "int_const 3134...(69 digits omitted)...7824" - }, - "value": "0x454b5d0dbb74f012faf1d3722ea441689f97dc957dd3ca5335b4969586e5dc30" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9740, - "name": "UPDATE_RESERVE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2080:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9738, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2080:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837393834633035303833336531646238353066356161373437363731303431326664323938336663656333346461303439353032383335616437616564346637", - "id": 9739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2149:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_54964405797041760172370187077584862735592509618057968423295843060887862564087_by_1", - "typeString": "int_const 5496...(69 digits omitted)...4087" - }, - "value": "0x7984c050833e1db850f5aa7476710412fd2983fcec34da049502835ad7aed4f7" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9743, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2221:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9741, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2221:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307866376561326238306337623661326361623263313164323239306362303035633337343833393733353861323565313731313336353863383362373332353933", - "id": 9742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2290:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112135016060223303346580072054921545496145351630587593938532051000938128942483_by_1", - "typeString": "int_const 1121...(70 digits omitted)...2483" - }, - "value": "0xf7ea2b80c7b6a2cab2c11d2290cb005c3748397358a25e17113658c83b732593" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9746, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2362:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9744, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2362:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643934646537653432393235306565653466663937653330616239663338336265613363643536346436373830653061396539363562316164643164323037", - "id": 9745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2431:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42328123875484044786714676363886707536613321598827999033773583507089796485639_by_1", - "typeString": "int_const 4232...(69 digits omitted)...5639" - }, - "value": "0x5d94de7e429250eee4ff97e30ab9f383bea3cd564d6780e0a9e965b1add1d207" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9749, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2503:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9747, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2503:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835376339633637383936636630613466666539326362656136366332663763333433383061663036626631343231356461626230373863663861366439396531", - "id": 9748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2572:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_39707723883616910811070684472502419160349445362132466926300379747285497387489_by_1", - "typeString": "int_const 3970...(69 digits omitted)...7489" - }, - "value": "0x57c9c67896cf0a4ffe92cbea66c2f7c34380af06bf14215dabb078cf8a6d99e1" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9752, - "name": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2644:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9750, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835626333623630386536626539336237356131633437326134613562656133643331656162616534366266393638653462633463373730313536323131346463", - "id": 9751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2713:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_41506260756523941427108209019816285069765552339255648585357697861206098908380_by_1", - "typeString": "int_const 4150...(69 digits omitted)...8380" - }, - "value": "0x5bc3b608e6be93b75a1c472a4a5bea3d31eabae46bf968e4bc4c7701562114dc" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9755, - "name": "REMOVE_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2785:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9753, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2785:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864373639363062653738626665646335623430636534666136346132663833303866333964643263626231663936373664626334636538376238313762656664", - "id": 9754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2854:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_97433449089959592435775398846125283514412287497506082928985629660370123079421_by_1", - "typeString": "int_const 9743...(69 digits omitted)...9421" - }, - "value": "0xd76960be78bfedc5b40ce4fa64a2f8308f39dd2cbb1f9676dbc4ce87b817befd" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9758, - "name": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2926:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9756, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2926:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307838333230313339343533346335336165306234363936666434396139333330383264336530353235616135613364306131346132663531653132323133323838", - "id": 9757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2995:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_59309657402505820197887986615248370536114730090765417278525765001419925041800_by_1", - "typeString": "int_const 5930...(69 digits omitted)...1800" - }, - "value": "0x83201394534c53ae0b4696fd49a933082d3e0525aa5a3d0a14a2f51e12213288" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9761, - "name": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3067:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9759, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3067:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832393462663532633531383636393335393135376139666538323665353130646663336462643230306434346266373765633935333662666633346263323965", - "id": 9760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3136:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18679032444450506883349328256990080161546381720546159031893289578683542782622_by_1", - "typeString": "int_const 1867...(69 digits omitted)...2622" - }, - "value": "0x294bf52c518669359157a9fe826e510dfc3dbd200d44bf77ec9536bff34bc29e" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9764, - "name": "WITHDRAW_ROLE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3208:135:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9762, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3208:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835643865313263333931343266663936643739643034643135643162613132363965346665353762623964323666343335323336323862333462613130386563", - "id": 9763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3277:66:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_42316116705363990851232871325518885526905562683539808675587814484451545647340_by_1", - "typeString": "int_const 4231...(69 digits omitted)...7340" - }, - "value": "0x5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9769, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3350:43:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 9768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3385:2:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 9767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3391:2:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "3385:8:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 9772, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3442:80:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9770, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3442:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f434f4e54524143545f49535f454f41", - "id": 9771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3501:21:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0e65f7b3df35bc021fb00f63e2788967f7d091c35080f026eb59b265b2899bab", - "typeString": "literal_string \"TAP_CONTRACT_IS_EOA\"" - }, - "value": "TAP_CONTRACT_IS_EOA" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9775, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3528:84:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9773, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3528:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f42454e4546494349415259", - "id": 9774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3587:25:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_74b35626c14a656007479903612e29798bf45fdec0fb6c6b130c44e09ed0954a", - "typeString": "literal_string \"TAP_INVALID_BENEFICIARY\"" - }, - "value": "TAP_INVALID_BENEFICIARY" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9778, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3618:85:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9776, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3618:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f42415443485f424c4f434b53", - "id": 9777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3677:26:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_320a9097fd7b1ef6388ddb24eed3136e4df3523b5b1b54b54b2254dc0d442ca3", - "typeString": "literal_string \"TAP_INVALID_BATCH_BLOCKS\"" - }, - "value": "TAP_INVALID_BATCH_BLOCKS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9781, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3709:91:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9779, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3709:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f464c4f4f525f44454352454153455f504354", - "id": 9780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3768:32:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cd593eb792ef88abab714b43dabbe994726ec6e3351e89f9f953361dea50eeb7", - "typeString": "literal_string \"TAP_INVALID_FLOOR_DECREASE_PCT\"" - }, - "value": "TAP_INVALID_FLOOR_DECREASE_PCT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9784, - "name": "ERROR_INVALID_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3806:78:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9782, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3806:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f544f4b454e", - "id": 9783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:19:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dab728774666a9f4ce11319c679ff8004f34641d56dc315b19708be506dceab4", - "typeString": "literal_string \"TAP_INVALID_TOKEN\"" - }, - "value": "TAP_INVALID_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9787, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3890:81:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9785, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3890:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f5441505f52415445", - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3949:22:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5ac8675e170278b8ce2315357811d16ad945c50e6edeff8149d1a8ab64d70249", - "typeString": "literal_string \"TAP_INVALID_TAP_RATE\"" - }, - "value": "TAP_INVALID_TAP_RATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9790, - "name": "ERROR_INVALID_TAP_UPDATE", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "3977:83:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9788, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3977:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f494e56414c49445f5441505f555044415445", - "id": 9789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4036:24:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_55c3ee8eec46226a9181f136c783ab55ba16770caad52c50b045821822319ef4", - "typeString": "literal_string \"TAP_INVALID_TAP_UPDATE\"" - }, - "value": "TAP_INVALID_TAP_UPDATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9793, - "name": "ERROR_TOKEN_ALREADY_TAPPED", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4066:85:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9791, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4066:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f544f4b454e5f414c52454144595f544150504544", - "id": 9792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:26:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c633257b706496e48a214c9072f04bc556c0570992f5058ece59980e510b48a", - "typeString": "literal_string \"TAP_TOKEN_ALREADY_TAPPED\"" - }, - "value": "TAP_TOKEN_ALREADY_TAPPED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9796, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4157:81:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9794, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4157:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f544f4b454e5f4e4f545f544150504544", - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4216:22:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_56489e50b39e8d5f1bdec6c5fe2232ace8180c3a97ff21b031ae22c7220ec294", - "typeString": "literal_string \"TAP_TOKEN_NOT_TAPPED\"" - }, - "value": "TAP_TOKEN_NOT_TAPPED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9799, - "name": "ERROR_WITHDRAWAL_AMOUNT_ZERO", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4244:87:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 9797, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4244:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5441505f5749544844524157414c5f414d4f554e545f5a45524f", - "id": 9798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4303:28:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_65a6163d10d27fce5c33a78d8ccf062e9a3d0fd8377d8ddaec141b65c5219375", - "typeString": "literal_string \"TAP_WITHDRAWAL_AMOUNT_ZERO\"" - }, - "value": "TAP_WITHDRAWAL_AMOUNT_ZERO" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 9801, - "name": "controller", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4338:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 9800, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "4338:28:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9803, - "name": "reserve", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4390:43:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 9802, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "4390:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9805, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4439:47:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4439:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9807, - "name": "batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4492:47:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4492:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9809, - "name": "maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4545:61:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4545:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9811, - "name": "maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4612:62:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4612:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9815, - "name": "tappedAmounts", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4681:49:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9814, - "keyType": { - "id": 9812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4690:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4681:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4701:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9819, - "name": "rates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4736:41:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9818, - "keyType": { - "id": 9816, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4736:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4756:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9823, - "name": "floors", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4783:42:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9822, - "keyType": { - "id": 9820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4792:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4783:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4803:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9827, - "name": "lastTappedAmountUpdates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4831:59:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9826, - "keyType": { - "id": 9824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4840:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4831:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 9831, - "name": "lastTapUpdates", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "4925:50:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 9830, - "keyType": { - "id": 9828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4934:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "4925:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 9829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4945:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 9835, - "name": "UpdateBeneficiary", - "nodeType": "EventDefinition", - "parameters": { - "id": 9834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9833, - "indexed": true, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9835, - "src": "5036:27:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5036:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5035:29:12" - }, - "src": "4997:68:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9839, - "name": "UpdateMaximumTapRateIncreasePct", - "nodeType": "EventDefinition", - "parameters": { - "id": 9838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9837, - "indexed": false, - "name": "maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9839, - "src": "5109:33:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5109:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5108:35:12" - }, - "src": "5070:74:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9843, - "name": "UpdateMaximumTapFloorDecreasePct", - "nodeType": "EventDefinition", - "parameters": { - "id": 9842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9841, - "indexed": false, - "name": "maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9843, - "src": "5188:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5188:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5187:36:12" - }, - "src": "5149:75:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9851, - "name": "AddTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9845, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5268:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5268:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9847, - "indexed": false, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5291:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5291:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9849, - "indexed": false, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 9851, - "src": "5305:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5305:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5267:52:12" - }, - "src": "5229:91:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9855, - "name": "RemoveTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9853, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9855, - "src": "5364:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5364:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5363:23:12" - }, - "src": "5325:62:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9863, - "name": "UpdateTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9857, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5431:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5431:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "indexed": false, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5454:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5454:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9861, - "indexed": false, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 9863, - "src": "5468:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5468:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5430:52:12" - }, - "src": "5392:91:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9867, - "name": "ResetTappedToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9865, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9867, - "src": "5527:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5526:23:12" - }, - "src": "5488:62:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9873, - "name": "UpdateTappedAmount", - "nodeType": "EventDefinition", - "parameters": { - "id": 9872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9869, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9873, - "src": "5594:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5594:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9871, - "indexed": false, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 9873, - "src": "5617:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5617:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5593:45:12" - }, - "src": "5555:84:12" - }, - { - "anonymous": false, - "documentation": null, - "id": 9879, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 9878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9875, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 9879, - "src": "5683:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5683:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9877, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 9879, - "src": "5706:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5706:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5682:39:12" - }, - "src": "5644:78:12" - }, - { - "body": { - "id": 9958, - "nodeType": "Block", - "src": "6775:841:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9898, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9881, - "src": "6804:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - ], - "id": 9897, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6793:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6793:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9900, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9772, - "src": "6858:21:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9896, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6785:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6785:95:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9902, - "nodeType": "ExpressionStatement", - "src": "6785:95:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9905, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9883, - "src": "6909:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 9904, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "6898:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6898:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9907, - "name": "ERROR_CONTRACT_IS_EOA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9772, - "src": "6963:21:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9903, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6890:95:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9909, - "nodeType": "ExpressionStatement", - "src": "6890:95:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9912, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9885, - "src": "7023:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9911, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "7003:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 9913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7003:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9914, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9775, - "src": "7068:25:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9910, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6995:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6995:99:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9916, - "nodeType": "ExpressionStatement", - "src": "6995:99:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9918, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7128:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7112:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9921, - "name": "ERROR_INVALID_BATCH_BLOCKS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9778, - "src": "7177:26:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9917, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7104:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7104:100:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9923, - "nodeType": "ExpressionStatement", - "src": "7104:100:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9926, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "7257:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9925, - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "7222:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 9927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:63:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9928, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9781, - "src": "7287:32:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9924, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7214:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7214:106:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9930, - "nodeType": "ExpressionStatement", - "src": "7214:106:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9931, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "7331:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7331:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9933, - "nodeType": "ExpressionStatement", - "src": "7331:13:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9934, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9801, - "src": "7355:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9935, - "name": "_controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9881, - "src": "7368:11:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "src": "7355:24:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 9937, - "nodeType": "ExpressionStatement", - "src": "7355:24:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9938, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "7389:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9939, - "name": "_reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9883, - "src": "7399:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "src": "7389:18:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 9941, - "nodeType": "ExpressionStatement", - "src": "7389:18:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9942, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "7417:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9943, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9885, - "src": "7431:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7417:26:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9945, - "nodeType": "ExpressionStatement", - "src": "7417:26:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9946, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "7453:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9947, - "name": "_batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7467:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7453:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9949, - "nodeType": "ExpressionStatement", - "src": "7453:26:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9950, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "7489:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9951, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "7517:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7489:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9953, - "nodeType": "ExpressionStatement", - "src": "7489:54:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 9956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9954, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "7553:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9955, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "7582:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7553:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9957, - "nodeType": "ExpressionStatement", - "src": "7553:56:12" - } - ] - }, - "documentation": "@notice Initialize tap\n@param _controller The address of the controller contract\n@param _reserve The address of the reserve [pool] contract\n@param _beneficiary The address of the beneficiary [to whom funds are to be withdrawn]\n@param _batchBlocks The number of blocks batches are to last\n@param _maximumTapRateIncreasePct The maximum tap rate increase percentage allowed [in PCT_BASE]\n@param _maximumTapFloorDecreasePct The maximum tap floor decrease percentage allowed [in PCT_BASE]", - "id": 9959, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 9894, - "modifierName": { - "argumentTypes": null, - "id": 9893, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "6762:8:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6762:8:12" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9881, - "name": "_controller", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6410:40:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - }, - "typeName": { - "contractScope": null, - "id": 9880, - "name": "IAragonFundraisingController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9606, - "src": "6410:28:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9883, - "name": "_reserve", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6460:37:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - }, - "typeName": { - "contractScope": null, - "id": 9882, - "name": "Vault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19335, - "src": "6460:5:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9885, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6507:41:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9884, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6507:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9887, - "name": "_batchBlocks", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6558:41:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6558:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9889, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6609:55:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6609:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9891, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 9959, - "src": "6674:56:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6674:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6400:336:12" - }, - "payable": false, - "returnParameters": { - "id": 9895, - "nodeType": "ParameterList", - "parameters": [], - "src": "6775:0:12" - }, - "scope": 10786, - "src": "6381:1235:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 9978, - "nodeType": "Block", - "src": "7875:129:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9969, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "7913:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9968, - "name": "_beneficiaryIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "7893:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7893:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9971, - "name": "ERROR_INVALID_BENEFICIARY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9775, - "src": "7928:25:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 9967, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7885:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7885:69:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9973, - "nodeType": "ExpressionStatement", - "src": "7885:69:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9975, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "7984:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9974, - "name": "_updateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10567, - "src": "7965:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 9976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7965:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9977, - "nodeType": "ExpressionStatement", - "src": "7965:32:12" - } - ] - }, - "documentation": "@notice Update beneficiary to `_beneficiary`\n@param _beneficiary The address of the new beneficiary [to whom funds are to be withdrawn]", - "id": 9979, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9964, - "name": "UPDATE_BENEFICIARY_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9743, - "src": "7850:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9965, - "modifierName": { - "argumentTypes": null, - "id": 9963, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "7845:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7845:29:12" - } - ], - "name": "updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9961, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 9979, - "src": "7814:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7814:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7813:22:12" - }, - "payable": false, - "returnParameters": { - "id": 9966, - "nodeType": "ParameterList", - "parameters": [], - "src": "7875:0:12" - }, - "scope": 10786, - "src": "7787:217:12", - "stateMutability": "nonpayable", - "superFunction": 9648, - "visibility": "external" - }, - { - "body": { - "id": 9991, - "nodeType": "Block", - "src": "8377:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9988, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "8420:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9987, - "name": "_updateMaximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10581, - "src": "8387:32:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8387:60:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9990, - "nodeType": "ExpressionStatement", - "src": "8387:60:12" - } - ] - }, - "documentation": "@notice Update maximum tap rate increase percentage to `@formatPct(_maximumTapRateIncreasePct)`%\n@param _maximumTapRateIncreasePct The new maximum tap rate increase percentage to be allowed [in PCT_BASE]", - "id": 9992, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9984, - "name": "UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9746, - "src": "8334:41:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9985, - "modifierName": { - "argumentTypes": null, - "id": 9983, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8329:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8329:47:12" - } - ], - "name": "updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9981, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 9992, - "src": "8284:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8284:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8283:36:12" - }, - "payable": false, - "returnParameters": { - "id": 9986, - "nodeType": "ParameterList", - "parameters": [], - "src": "8377:0:12" - }, - "scope": 10786, - "src": "8243:211:12", - "stateMutability": "nonpayable", - "superFunction": 9653, - "visibility": "external" - }, - { - "body": { - "id": 10011, - "nodeType": "Block", - "src": "8834:196:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10002, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "8887:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10001, - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "8852:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8852:63:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10004, - "name": "ERROR_INVALID_FLOOR_DECREASE_PCT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9781, - "src": "8917:32:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10000, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8844:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8844:106:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10006, - "nodeType": "ExpressionStatement", - "src": "8844:106:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10008, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "8995:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10007, - "name": "_updateMaximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10595, - "src": "8961:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8961:62:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10010, - "nodeType": "ExpressionStatement", - "src": "8961:62:12" - } - ] - }, - "documentation": "@notice Update maximum tap floor decrease percentage to `@formatPct(_maximumTapFloorDecreasePct)`%\n@param _maximumTapFloorDecreasePct The new maximum tap floor decrease percentage to be allowed [in PCT_BASE]", - "id": 10012, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 9997, - "name": "UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "8790:42:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9998, - "modifierName": { - "argumentTypes": null, - "id": 9996, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "8785:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8785:48:12" - } - ], - "name": "updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9994, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10012, - "src": "8739:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8739:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8738:37:12" - }, - "payable": false, - "returnParameters": { - "id": 9999, - "nodeType": "ParameterList", - "parameters": [], - "src": "8834:0:12" - }, - "scope": 10786, - "src": "8697:333:12", - "stateMutability": "nonpayable", - "superFunction": 9658, - "visibility": "external" - }, - { - "body": { - "id": 10052, - "nodeType": "Block", - "src": "9563:273:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10026, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9603:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10025, - "name": "_tokenIsContractOrETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10356, - "src": "9581:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9581:29:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10028, - "name": "ERROR_INVALID_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9784, - "src": "9612:19:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10024, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9573:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9573:59:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10030, - "nodeType": "ExpressionStatement", - "src": "9573:59:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9650:23:12", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10033, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9666:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10032, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "9651:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9651:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10036, - "name": "ERROR_TOKEN_ALREADY_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9793, - "src": "9681:26:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10031, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9642:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9642:66:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10038, - "nodeType": "ExpressionStatement", - "src": "9642:66:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10041, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10016, - "src": "9742:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10040, - "name": "_tapRateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "9726:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9726:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10043, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9787, - "src": "9757:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10039, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "9718:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9718:62:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10045, - "nodeType": "ExpressionStatement", - "src": "9718:62:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10047, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10014, - "src": "9807:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10048, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10016, - "src": "9815:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10049, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "9822:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10046, - "name": "_addTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10637, - "src": "9791:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9791:38:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10051, - "nodeType": "ExpressionStatement", - "src": "9791:38:12" - } - ] - }, - "documentation": "@notice Add tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token to be tapped\n@param _rate The rate at which that token is to be tapped [in wei / block]\n@param _floor The floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 10053, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10021, - "name": "ADD_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "9540:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10022, - "modifierName": { - "argumentTypes": null, - "id": 10020, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "9535:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9535:27:12" - } - ], - "name": "addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10014, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9479:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9479:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10016, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9495:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9495:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10018, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10053, - "src": "9510:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9510:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9478:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10023, - "nodeType": "ParameterList", - "parameters": [], - "src": "9563:0:12" - }, - "scope": 10786, - "src": "9455:381:12", - "stateMutability": "nonpayable", - "superFunction": 9667, - "visibility": "external" - }, - { - "body": { - "id": 10072, - "nodeType": "Block", - "src": "10058:109:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10063, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10055, - "src": "10091:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10062, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "10076:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10076:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10065, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "10100:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10061, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10068:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10067, - "nodeType": "ExpressionStatement", - "src": "10068:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10069, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10055, - "src": "10153:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10068, - "name": "_removeTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10672, - "src": "10134:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10134:26:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10071, - "nodeType": "ExpressionStatement", - "src": "10134:26:12" - } - ] - }, - "documentation": "@notice Remove tap for `_token.symbol(): string`\n@param _token The address of the token to be un-tapped", - "id": 10073, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10058, - "name": "REMOVE_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9755, - "src": "10032:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10059, - "modifierName": { - "argumentTypes": null, - "id": 10057, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "10027:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10027:30:12" - } - ], - "name": "removeTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10055, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10073, - "src": "10002:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10002:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10001:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10060, - "nodeType": "ParameterList", - "parameters": [], - "src": "10058:0:12" - }, - "scope": 10786, - "src": "9975:192:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 10114, - "nodeType": "Block", - "src": "10731:310:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10087, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "10764:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10086, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "10749:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10089, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "10791:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10085, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10741:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10741:73:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10091, - "nodeType": "ExpressionStatement", - "src": "10741:73:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10094, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "10848:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10093, - "name": "_tapRateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "10832:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) pure returns (bool)" - } - }, - "id": 10095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10832:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10096, - "name": "ERROR_INVALID_TAP_RATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9787, - "src": "10874:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10092, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10824:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10824:73:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10098, - "nodeType": "ExpressionStatement", - "src": "10824:73:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10101, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "10933:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10102, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "10941:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10103, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10079, - "src": "10948:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10100, - "name": "_tapUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10406, - "src": "10915:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256,uint256) view returns (bool)" - } - }, - "id": 10104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10915:40:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10105, - "name": "ERROR_INVALID_TAP_UPDATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9790, - "src": "10957:24:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10099, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10907:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10907:75:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10107, - "nodeType": "ExpressionStatement", - "src": "10907:75:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10109, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10075, - "src": "11012:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10110, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10077, - "src": "11020:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10111, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10079, - "src": "11027:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10108, - "name": "_updateTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10723, - "src": "10993:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10993:41:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10113, - "nodeType": "ExpressionStatement", - "src": "10993:41:12" - } - ] - }, - "documentation": "@notice Update tap for `_token.symbol(): string` with a rate of `@tokenAmount(_token, _rate)` per block and a floor of `@tokenAmount(_token, _floor)`\n@param _token The address of the token whose tap is to be updated\n@param _rate The new rate at which that token is to be tapped [in wei / block]\n@param _floor The new floor above which the reserve [pool] balance for that token is to be kept [in wei]", - "id": 10115, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10082, - "name": "UPDATE_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "10705:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10083, - "modifierName": { - "argumentTypes": null, - "id": 10081, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "10700:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10700:30:12" - } - ], - "name": "updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10075, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10644:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10074, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10077, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10660:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10660:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10079, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10115, - "src": "10675:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10675:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10643:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10084, - "nodeType": "ParameterList", - "parameters": [], - "src": "10731:0:12" - }, - "scope": 10786, - "src": "10617:424:12", - "stateMutability": "nonpayable", - "superFunction": 9676, - "visibility": "external" - }, - { - "body": { - "id": 10134, - "nodeType": "Block", - "src": "11292:108:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10125, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10117, - "src": "11325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10124, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "11310:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11310:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10127, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "11334:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11302:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10129, - "nodeType": "ExpressionStatement", - "src": "11302:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10131, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10117, - "src": "11386:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10130, - "name": "_resetTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "11368:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11368:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10133, - "nodeType": "ExpressionStatement", - "src": "11368:25:12" - } - ] - }, - "documentation": "@notice Reset tap timestamps for `_token.symbol(): string`\n@param _token The address of the token whose tap timestamps are to be reset", - "id": 10135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10120, - "name": "RESET_TAPPED_TOKEN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9761, - "src": "11267:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10121, - "modifierName": { - "argumentTypes": null, - "id": 10119, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "11262:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11262:29:12" - } - ], - "name": "resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10117, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10135, - "src": "11237:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11237:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11236:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10122, - "nodeType": "ParameterList", - "parameters": [], - "src": "11292:0:12" - }, - "scope": 10786, - "src": "11211:189:12", - "stateMutability": "nonpayable", - "superFunction": 9681, - "visibility": "external" - }, - { - "body": { - "id": 10151, - "nodeType": "Block", - "src": "11623:110:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10142, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10137, - "src": "11656:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10141, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "11641:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11641:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10144, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "11665:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11633:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11633:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10146, - "nodeType": "ExpressionStatement", - "src": "11633:55:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10148, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10137, - "src": "11719:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10147, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "11699:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11699:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10150, - "nodeType": "ExpressionStatement", - "src": "11699:27:12" - } - ] - }, - "documentation": "@notice Update tapped amount for `_token.symbol(): string`\n@param _token The address of the token whose tapped amount is to be updated", - "id": 10152, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10137, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10152, - "src": "11598:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11598:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11597:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10139, - "nodeType": "ParameterList", - "parameters": [], - "src": "11623:0:12" - }, - "scope": 10786, - "src": "11570:163:12", - "stateMutability": "nonpayable", - "superFunction": 9686, - "visibility": "external" - }, - { - "body": { - "id": 10185, - "nodeType": "Block", - "src": "12023:221:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10162, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12056:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10161, - "name": "_tokenIsTapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10372, - "src": "12041:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12041:22:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10164, - "name": "ERROR_TOKEN_NOT_TAPPED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9796, - "src": "12065:22:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10160, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12033:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12033:55:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10166, - "nodeType": "ExpressionStatement", - "src": "12033:55:12" - }, - { - "assignments": [ - 10168 - ], - "declarations": [ - { - "constant": false, - "id": 10168, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 10186, - "src": "12098:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12098:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10172, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10170, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12135:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10169, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "12115:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12115:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12098:44:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10174, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10168, - "src": "12160:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12169:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12160:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10177, - "name": "ERROR_WITHDRAWAL_AMOUNT_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9799, - "src": "12172:28:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 10173, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12152:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12152:49:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10179, - "nodeType": "ExpressionStatement", - "src": "12152:49:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10181, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10154, - "src": "12222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10182, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10168, - "src": "12230:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10180, - "name": "_withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "12212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12212:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10184, - "nodeType": "ExpressionStatement", - "src": "12212:25:12" - } - ] - }, - "documentation": "@notice Transfer about `@tokenAmount(_token, self.getMaximalWithdrawal(_token): uint256)` from `self.reserve()` to `self.beneficiary()`\n@param _token The address of the token to be transfered", - "id": 10186, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 10157, - "name": "WITHDRAW_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9764, - "src": "12008:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10158, - "modifierName": { - "argumentTypes": null, - "id": 10156, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "12003:4:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "12003:19:12" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10154, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10186, - "src": "11978:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11978:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11977:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10159, - "nodeType": "ParameterList", - "parameters": [], - "src": "12023:0:12" - }, - "scope": 10786, - "src": "11960:284:12", - "stateMutability": "nonpayable", - "superFunction": 9691, - "visibility": "external" - }, - { - "body": { - "id": 10199, - "nodeType": "Block", - "src": "12381:45:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10196, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "12412:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10195, - "name": "_tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10314, - "src": "12398:13:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12398:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10194, - "id": 10198, - "nodeType": "Return", - "src": "12391:28:12" - } - ] - }, - "documentation": "*** public view functions ****", - "id": 10200, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 10191, - "modifierName": { - "argumentTypes": null, - "id": 10190, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12349:13:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12349:13:12" - } - ], - "name": "getMaximumWithdrawal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10188, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10200, - "src": "12321:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12321:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12320:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10193, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10200, - "src": "12372:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12372:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12371:9:12" - }, - "scope": 10786, - "src": "12291:135:12", - "stateMutability": "view", - "superFunction": 9698, - "visibility": "public" - }, - { - "body": { - "id": 10213, - "nodeType": "Block", - "src": "12507:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10209, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "12524:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10211, - "indexExpression": { - "argumentTypes": null, - "id": 10210, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10202, - "src": "12530:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12524:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10208, - "id": 10212, - "nodeType": "Return", - "src": "12517:20:12" - } - ] - }, - "documentation": null, - "id": 10214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 10205, - "modifierName": { - "argumentTypes": null, - "id": 10204, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12475:13:12", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12475:13:12" - } - ], - "name": "rates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10203, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10202, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10214, - "src": "12447:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12447:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12446:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10207, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10214, - "src": "12498:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12498:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12497:9:12" - }, - "scope": 10786, - "src": "12432:112:12", - "stateMutability": "view", - "superFunction": 9705, - "visibility": "public" - }, - { - "body": { - "id": 10229, - "nodeType": "Block", - "src": "12680:72:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10226, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "12733:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10222, - "name": "batchBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "12715:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10219, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "12698:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 10220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12698:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 27797, - "src": "12698:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12698:29:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10224, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12697:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "12697:35:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12697:48:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10218, - "id": 10228, - "nodeType": "Return", - "src": "12690:55:12" - } - ] - }, - "documentation": "*** internal functions ****", - "id": 10230, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_currentBatchId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10215, - "nodeType": "ParameterList", - "parameters": [], - "src": "12645:2:12" - }, - "payable": false, - "returnParameters": { - "id": 10218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10217, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10230, - "src": "12671:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12671:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12670:9:12" - }, - "scope": 10786, - "src": "12621:131:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10313, - "nodeType": "Block", - "src": "12829:1303:12", - "statements": [ - { - "assignments": [ - 10238 - ], - "declarations": [ - { - "constant": false, - "id": 10238, - "name": "toBeKept", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12839:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12839:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10248, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10244, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "12904:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10246, - "indexExpression": { - "argumentTypes": null, - "id": 10245, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12904:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10241, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12892:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 10239, - "name": "controller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9801, - "src": "12858:10:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAragonFundraisingController_$9606", - "typeString": "contract IAragonFundraisingController" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "collateralsToBeClaimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 9596, - "src": "12858:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 10242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12858:41:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12858:45:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12858:61:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12839:80:12" - }, - { - "assignments": [ - 10250 - ], - "declarations": [ - { - "constant": false, - "id": 10250, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12929:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12929:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10265, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10251, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12947:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10252, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "12957:3:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12947:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10262, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "13020:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10259, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "12996:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10258, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "12990:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 10260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12990:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 10261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "12990:29:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 10263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12990:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12947:81:12", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10255, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "12971:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12963:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 10256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12963:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12963:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12929:99:12" - }, - { - "assignments": [ - 10267 - ], - "declarations": [ - { - "constant": false, - "id": 10267, - "name": "flow", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "13038:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13038:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10281, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10277, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "13114:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10279, - "indexExpression": { - "argumentTypes": null, - "id": 10278, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13120:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13114:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10271, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "13076:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10273, - "indexExpression": { - "argumentTypes": null, - "id": 10272, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13100:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13076:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10268, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "13054:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "13054:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13054:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10275, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13053:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "13053:60:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13053:75:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13038:90:12" - }, - { - "assignments": [ - 10283 - ], - "declarations": [ - { - "constant": false, - "id": 10283, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "13138:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13138:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10290, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10288, - "name": "flow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10267, - "src": "13187:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10284, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "13161:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10286, - "indexExpression": { - "argumentTypes": null, - "id": 10285, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10232, - "src": "13175:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13161:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13161:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13161:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13138:54:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10291, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13588:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10292, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13599:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13588:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10297, - "nodeType": "IfStatement", - "src": "13584:58:12", - "trueBody": { - "id": 10296, - "nodeType": "Block", - "src": "13609:33:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13630:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 10236, - "id": 10295, - "nodeType": "Return", - "src": "13623:8:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10298, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13838:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10301, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "13862:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10299, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13849:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13849:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13849:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13838:37:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10310, - "nodeType": "IfStatement", - "src": "13834:96:12", - "trueBody": { - "id": 10309, - "nodeType": "Block", - "src": "13877:53:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10306, - "name": "toBeKept", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "13910:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10304, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10250, - "src": "13898:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "13898:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13898:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10236, - "id": 10308, - "nodeType": "Return", - "src": "13891:28:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10311, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "14113:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10236, - "id": 10312, - "nodeType": "Return", - "src": "14106:19:12" - } - ] - }, - "documentation": null, - "id": 10314, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10232, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12781:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12781:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12780:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10235, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10314, - "src": "12820:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12820:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12819:9:12" - }, - "scope": 10786, - "src": "12758:1374:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10327, - "nodeType": "Block", - "src": "14245:50:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10321, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10316, - "src": "14262:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 10323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14286:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 10322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14278:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 10324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14278:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14262:26:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10320, - "id": 10326, - "nodeType": "Return", - "src": "14255:33:12" - } - ] - }, - "documentation": null, - "id": 10328, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_beneficiaryIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10316, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10328, - "src": "14194:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14194:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14193:22:12" - }, - "payable": false, - "returnParameters": { - "id": 10320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10319, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10328, - "src": "14239:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10318, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14239:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14238:6:12" - }, - "scope": 10786, - "src": "14165:130:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10339, - "nodeType": "Block", - "src": "14411:63:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10335, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10330, - "src": "14428:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10336, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "14459:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14428:39:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10334, - "id": 10338, - "nodeType": "Return", - "src": "14421:46:12" - } - ] - }, - "documentation": null, - "id": 10340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_maximumTapFloorDecreasePctIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10330, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10340, - "src": "14345:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14345:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14344:37:12" - }, - "payable": false, - "returnParameters": { - "id": 10334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10333, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10340, - "src": "14405:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14405:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14404:6:12" - }, - "scope": 10786, - "src": "14301:173:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10355, - "nodeType": "Block", - "src": "14556:59:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10348, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10342, - "src": "14584:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10347, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "14573:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 10349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14573:18:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10350, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10342, - "src": "14595:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10351, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "14605:3:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14595:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14573:35:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10346, - "id": 10354, - "nodeType": "Return", - "src": "14566:42:12" - } - ] - }, - "documentation": null, - "id": 10356, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsContractOrETH", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10342, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10356, - "src": "14511:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14511:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14510:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10346, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10345, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10356, - "src": "14550:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10344, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14550:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14549:6:12" - }, - "scope": 10786, - "src": "14480:135:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10371, - "nodeType": "Block", - "src": "14690:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10363, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "14707:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10365, - "indexExpression": { - "argumentTypes": null, - "id": 10364, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "14713:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14707:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 10367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14732:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 10366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14724:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 10368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14724:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14707:27:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10362, - "id": 10370, - "nodeType": "Return", - "src": "14700:34:12" - } - ] - }, - "documentation": null, - "id": 10372, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tokenIsTapped", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10358, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10372, - "src": "14645:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14645:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14644:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10361, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10372, - "src": "14684:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10360, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14684:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14683:6:12" - }, - "scope": 10786, - "src": "14621:120:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10383, - "nodeType": "Block", - "src": "14816:34:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10379, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10374, - "src": "14833:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14842:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14833:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10378, - "id": 10382, - "nodeType": "Return", - "src": "14826:17:12" - } - ] - }, - "documentation": null, - "id": 10384, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapRateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10374, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10384, - "src": "14772:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14772:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14771:15:12" - }, - "payable": false, - "returnParameters": { - "id": 10378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10377, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10384, - "src": "14810:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10376, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14810:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14809:6:12" - }, - "scope": 10786, - "src": "14747:103:12", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10405, - "nodeType": "Block", - "src": "14959:102:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10396, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10386, - "src": "14998:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10397, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10388, - "src": "15006:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10395, - "name": "_tapRateUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10459, - "src": "14976:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 10398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14976:36:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10400, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10386, - "src": "15039:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10401, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10390, - "src": "15047:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10399, - "name": "_tapFloorUpdateIsValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10519, - "src": "15016:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 10402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15016:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14976:78:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10394, - "id": 10404, - "nodeType": "Return", - "src": "14969:85:12" - } - ] - }, - "documentation": null, - "id": 10406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10386, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14883:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14883:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10388, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14899:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10390, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14914:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14914:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14882:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10393, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10406, - "src": "14953:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14953:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14952:6:12" - }, - "scope": 10786, - "src": "14856:205:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10458, - "nodeType": "Block", - "src": "15158:359:12", - "statements": [ - { - "assignments": [ - 10416 - ], - "declarations": [ - { - "constant": false, - "id": 10416, - "name": "rate", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15168:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15168:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10420, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10417, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "15183:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10419, - "indexExpression": { - "argumentTypes": null, - "id": 10418, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10408, - "src": "15189:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15183:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15168:28:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10421, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10410, - "src": "15211:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 10422, - "name": "rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10416, - "src": "15220:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15211:13:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10427, - "nodeType": "IfStatement", - "src": "15207:55:12", - "trueBody": { - "id": 10426, - "nodeType": "Block", - "src": "15226:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15247:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10414, - "id": 10425, - "nodeType": "Return", - "src": "15240:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10428, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15276:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15276:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10430, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "15293:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10432, - "indexExpression": { - "argumentTypes": null, - "id": 10431, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10408, - "src": "15308:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15293:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 10433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15318:7:12", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "src": "15293:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15276:49:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10439, - "nodeType": "IfStatement", - "src": "15272:92:12", - "trueBody": { - "id": 10438, - "nodeType": "Block", - "src": "15327:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15348:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10414, - "id": 10437, - "nodeType": "Return", - "src": "15341:12:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10442, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15388:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10440, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10410, - "src": "15378:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15378:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15378:19:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10448, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "15423:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10446, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15410:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "15410:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15410:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10444, - "name": "rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10416, - "src": "15401:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15401:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15401:49:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15378:72:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10455, - "nodeType": "IfStatement", - "src": "15374:114:12", - "trueBody": { - "id": 10454, - "nodeType": "Block", - "src": "15452:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15473:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10414, - "id": 10453, - "nodeType": "Return", - "src": "15466:11:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15505:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10414, - "id": 10457, - "nodeType": "Return", - "src": "15498:12:12" - } - ] - }, - "documentation": null, - "id": 10459, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapRateUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10408, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15098:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15098:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10410, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15114:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15114:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15097:31:12" - }, - "payable": false, - "returnParameters": { - "id": 10414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10413, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10459, - "src": "15152:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10412, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15152:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15151:6:12" - }, - "scope": 10786, - "src": "15067:450:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10518, - "nodeType": "Block", - "src": "15616:456:12", - "statements": [ - { - "assignments": [ - 10469 - ], - "declarations": [ - { - "constant": false, - "id": 10469, - "name": "floor", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15626:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15626:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10473, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10470, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "15642:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10472, - "indexExpression": { - "argumentTypes": null, - "id": 10471, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "15649:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15642:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15626:30:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10474, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "15671:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10475, - "name": "floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10469, - "src": "15681:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15671:15:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10480, - "nodeType": "IfStatement", - "src": "15667:57:12", - "trueBody": { - "id": 10479, - "nodeType": "Block", - "src": "15688:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15709:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10478, - "nodeType": "Return", - "src": "15702:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10481, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "15738:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15738:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10483, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "15755:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10485, - "indexExpression": { - "argumentTypes": null, - "id": 10484, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "15770:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15755:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3330", - "id": 10486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15780:7:12", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "src": "15755:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15738:49:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10492, - "nodeType": "IfStatement", - "src": "15734:92:12", - "trueBody": { - "id": 10491, - "nodeType": "Block", - "src": "15789:37:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15810:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10467, - "id": 10490, - "nodeType": "Return", - "src": "15803:12:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10493, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "15840:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10494, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15870:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15840:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10499, - "nodeType": "IfStatement", - "src": "15836:80:12", - "trueBody": { - "id": 10498, - "nodeType": "Block", - "src": "15880:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15901:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10497, - "nodeType": "Return", - "src": "15894:11:12" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10502, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15941:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10500, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "15930:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15930:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15930:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10508, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "15977:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10506, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "15964:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15964:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15964:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10504, - "name": "floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10469, - "src": "15954:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15954:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15954:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15930:75:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10515, - "nodeType": "IfStatement", - "src": "15926:117:12", - "trueBody": { - "id": 10514, - "nodeType": "Block", - "src": "16007:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16028:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10467, - "id": 10513, - "nodeType": "Return", - "src": "16021:11:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16060:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10467, - "id": 10517, - "nodeType": "Return", - "src": "16053:12:12" - } - ] - }, - "documentation": null, - "id": 10519, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_tapFloorUpdateIsValid", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10461, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15555:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10460, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15555:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10463, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15571:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15571:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15554:32:12" - }, - "payable": false, - "returnParameters": { - "id": 10467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10466, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10519, - "src": "15610:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10465, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15610:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15609:6:12" - }, - "scope": 10786, - "src": "15523:549:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10552, - "nodeType": "Block", - "src": "16187:254:12", - "statements": [ - { - "assignments": [ - 10527 - ], - "declarations": [ - { - "constant": false, - "id": 10527, - "name": "tappedAmount", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16197:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16197:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10531, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10529, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16234:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10528, - "name": "_tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10314, - "src": "16220:13:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 10530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16220:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16197:44:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10532, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "16251:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10534, - "indexExpression": { - "argumentTypes": null, - "id": 10533, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16275:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16251:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10535, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "16285:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16285:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16251:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10538, - "nodeType": "ExpressionStatement", - "src": "16251:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10539, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "16312:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10541, - "indexExpression": { - "argumentTypes": null, - "id": 10540, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16326:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16312:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10542, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16336:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16312:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10544, - "nodeType": "ExpressionStatement", - "src": "16312:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10546, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10521, - "src": "16383:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10547, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16391:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10545, - "name": "UpdateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9873, - "src": "16364:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16364:40:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10549, - "nodeType": "EmitStatement", - "src": "16359:45:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10550, - "name": "tappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10527, - "src": "16422:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10525, - "id": 10551, - "nodeType": "Return", - "src": "16415:19:12" - } - ] - }, - "documentation": null, - "id": 10553, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateTappedAmount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10521, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16144:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10520, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16144:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16143:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10524, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 10553, - "src": "16178:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16178:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16177:9:12" - }, - "scope": 10786, - "src": "16115:326:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10566, - "nodeType": "Block", - "src": "16506:90:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10558, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "16516:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10559, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "16530:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16516:26:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 10561, - "nodeType": "ExpressionStatement", - "src": "16516:26:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10563, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "16576:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10562, - "name": "UpdateBeneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9835, - "src": "16558:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16558:31:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10565, - "nodeType": "EmitStatement", - "src": "16553:36:12" - } - ] - }, - "documentation": null, - "id": 10567, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateBeneficiary", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10555, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 10567, - "src": "16475:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16474:22:12" - }, - "payable": false, - "returnParameters": { - "id": 10557, - "nodeType": "ParameterList", - "parameters": [], - "src": "16506:0:12" - }, - "scope": 10786, - "src": "16447:149:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10580, - "nodeType": "Block", - "src": "16689:146:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10572, - "name": "maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "16699:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10573, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10569, - "src": "16727:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16699:54:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10575, - "nodeType": "ExpressionStatement", - "src": "16699:54:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10577, - "name": "_maximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10569, - "src": "16801:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10576, - "name": "UpdateMaximumTapRateIncreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9839, - "src": "16769:31:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16769:59:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10579, - "nodeType": "EmitStatement", - "src": "16764:64:12" - } - ] - }, - "documentation": null, - "id": 10581, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateMaximumTapRateIncreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10569, - "name": "_maximumTapRateIncreasePct", - "nodeType": "VariableDeclaration", - "scope": 10581, - "src": "16644:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16643:36:12" - }, - "payable": false, - "returnParameters": { - "id": 10571, - "nodeType": "ParameterList", - "parameters": [], - "src": "16689:0:12" - }, - "scope": 10786, - "src": "16602:233:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10594, - "nodeType": "Block", - "src": "16930:150:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10586, - "name": "maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "16940:26:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10587, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10583, - "src": "16969:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16940:56:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10589, - "nodeType": "ExpressionStatement", - "src": "16940:56:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10591, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10583, - "src": "17045:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10590, - "name": "UpdateMaximumTapFloorDecreasePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9843, - "src": "17012:32:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 10592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17012:61:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10593, - "nodeType": "EmitStatement", - "src": "17007:66:12" - } - ] - }, - "documentation": null, - "id": 10595, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateMaximumTapFloorDecreasePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10583, - "name": "_maximumTapFloorDecreasePct", - "nodeType": "VariableDeclaration", - "scope": 10595, - "src": "16884:35:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16884:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16883:37:12" - }, - "payable": false, - "returnParameters": { - "id": 10585, - "nodeType": "ParameterList", - "parameters": [], - "src": "16930:0:12" - }, - "scope": 10786, - "src": "16841:239:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10636, - "nodeType": "Block", - "src": "17167:740:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10604, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "17683:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10606, - "indexExpression": { - "argumentTypes": null, - "id": 10605, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17689:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17683:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10607, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10599, - "src": "17699:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17683:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10609, - "nodeType": "ExpressionStatement", - "src": "17683:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10610, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "17714:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10612, - "indexExpression": { - "argumentTypes": null, - "id": 10611, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17721:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17714:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10613, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10601, - "src": "17731:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17714:23:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10615, - "nodeType": "ExpressionStatement", - "src": "17714:23:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10616, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "17747:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10618, - "indexExpression": { - "argumentTypes": null, - "id": 10617, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17771:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17747:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10619, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "17781:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17781:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17747:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10622, - "nodeType": "ExpressionStatement", - "src": "17747:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10623, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "17808:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10625, - "indexExpression": { - "argumentTypes": null, - "id": 10624, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17823:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17808:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10626, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "17833:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17833:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17808:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10629, - "nodeType": "ExpressionStatement", - "src": "17808:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10631, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10597, - "src": "17878:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10632, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10599, - "src": "17886:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10633, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10601, - "src": "17893:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10630, - "name": "AddTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "17863:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17863:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10635, - "nodeType": "EmitStatement", - "src": "17858:42:12" - } - ] - }, - "documentation": null, - "id": 10637, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_addTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10597, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17111:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10596, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17111:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10599, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17127:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17127:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10601, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "17142:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17142:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17110:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10603, - "nodeType": "ParameterList", - "parameters": [], - "src": "17167:0:12" - }, - "scope": 10786, - "src": "17086:821:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10671, - "nodeType": "Block", - "src": "17966:234:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "17976:28:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10642, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "17983:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10644, - "indexExpression": { - "argumentTypes": null, - "id": 10643, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "17997:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17983:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10646, - "nodeType": "ExpressionStatement", - "src": "17976:28:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18014:20:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10647, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "18021:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10649, - "indexExpression": { - "argumentTypes": null, - "id": 10648, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18027:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18021:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10651, - "nodeType": "ExpressionStatement", - "src": "18014:20:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18044:21:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10652, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "18051:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10654, - "indexExpression": { - "argumentTypes": null, - "id": 10653, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18058:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18051:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10656, - "nodeType": "ExpressionStatement", - "src": "18044:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18075:38:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10657, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "18082:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10659, - "indexExpression": { - "argumentTypes": null, - "id": 10658, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18106:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18082:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10661, - "nodeType": "ExpressionStatement", - "src": "18075:38:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18123:29:12", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10662, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "18130:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10664, - "indexExpression": { - "argumentTypes": null, - "id": 10663, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18145:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18130:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10666, - "nodeType": "ExpressionStatement", - "src": "18123:29:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10668, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10639, - "src": "18186:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10667, - "name": "RemoveTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "18168:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18168:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10670, - "nodeType": "EmitStatement", - "src": "18163:30:12" - } - ] - }, - "documentation": null, - "id": 10672, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_removeTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10639, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10672, - "src": "17941:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17941:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17940:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10641, - "nodeType": "ParameterList", - "parameters": [], - "src": "17966:0:12" - }, - "scope": 10786, - "src": "17913:287:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10722, - "nodeType": "Block", - "src": "18290:555:12", - "statements": [ - { - "assignments": [ - 10682 - ], - "declarations": [ - { - "constant": false, - "id": 10682, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18549:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18549:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10686, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10684, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18586:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10683, - "name": "_updateTappedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "18566:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 10685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18566:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18549:44:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10687, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10682, - "src": "18607:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18616:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18607:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10696, - "nodeType": "IfStatement", - "src": "18603:66:12", - "trueBody": { - "id": 10695, - "nodeType": "Block", - "src": "18619:50:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10691, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18643:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10692, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10682, - "src": "18651:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10690, - "name": "_withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "18633:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18633:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10694, - "nodeType": "ExpressionStatement", - "src": "18633:25:12" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10697, - "name": "rates", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9819 - ], - "referencedDeclaration": 9819, - "src": "18679:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10699, - "indexExpression": { - "argumentTypes": null, - "id": 10698, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18685:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18679:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10700, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "18695:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18679:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10702, - "nodeType": "ExpressionStatement", - "src": "18679:21:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10703, - "name": "floors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9823, - "src": "18710:6:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10705, - "indexExpression": { - "argumentTypes": null, - "id": 10704, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18717:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18710:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10706, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "18727:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18710:23:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10708, - "nodeType": "ExpressionStatement", - "src": "18710:23:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10709, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "18743:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10711, - "indexExpression": { - "argumentTypes": null, - "id": 10710, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18758:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18743:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10712, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "18768:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18768:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18743:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10715, - "nodeType": "ExpressionStatement", - "src": "18743:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10717, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10674, - "src": "18816:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10718, - "name": "_rate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "18824:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10719, - "name": "_floor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "18831:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10716, - "name": "UpdateTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9863, - "src": "18798:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 10720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18798:40:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10721, - "nodeType": "EmitStatement", - "src": "18793:45:12" - } - ] - }, - "documentation": null, - "id": 10723, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_updateTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10674, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18234:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18234:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10676, - "name": "_rate", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18250:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18250:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10678, - "name": "_floor", - "nodeType": "VariableDeclaration", - "scope": 10723, - "src": "18265:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18265:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18233:47:12" - }, - "payable": false, - "returnParameters": { - "id": 10680, - "nodeType": "ParameterList", - "parameters": [], - "src": "18290:0:12" - }, - "scope": 10786, - "src": "18206:639:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10752, - "nodeType": "Block", - "src": "18903:192:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10728, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "18913:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10730, - "indexExpression": { - "argumentTypes": null, - "id": 10729, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "18927:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18913:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 10731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18937:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18913:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10733, - "nodeType": "ExpressionStatement", - "src": "18913:25:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10734, - "name": "lastTappedAmountUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "18948:23:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10736, - "indexExpression": { - "argumentTypes": null, - "id": 10735, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "18972:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18948:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10737, - "name": "_currentBatchId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10230, - "src": "18982:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18982:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18948:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10740, - "nodeType": "ExpressionStatement", - "src": "18948:51:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 10746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10741, - "name": "lastTapUpdates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9831, - "src": "19009:14:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10743, - "indexExpression": { - "argumentTypes": null, - "id": 10742, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "19024:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19009:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10744, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "19034:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 10745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19034:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19009:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10747, - "nodeType": "ExpressionStatement", - "src": "19009:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10749, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "19081:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10748, - "name": "ResetTappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9867, - "src": "19064:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19064:24:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10751, - "nodeType": "EmitStatement", - "src": "19059:29:12" - } - ] - }, - "documentation": null, - "id": 10753, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_resetTappedToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10725, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10753, - "src": "18878:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18878:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18877:16:12" - }, - "payable": false, - "returnParameters": { - "id": 10727, - "nodeType": "ParameterList", - "parameters": [], - "src": "18903:0:12" - }, - "scope": 10786, - "src": "18851:244:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 10784, - "nodeType": "Block", - "src": "19162:233:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10760, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "19172:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10762, - "indexExpression": { - "argumentTypes": null, - "id": 10761, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19186:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19172:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10767, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19222:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10763, - "name": "tappedAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9815, - "src": "19196:13:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10765, - "indexExpression": { - "argumentTypes": null, - "id": 10764, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19210:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19196:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "19196:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19196:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19172:58:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10770, - "nodeType": "ExpressionStatement", - "src": "19172:58:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10774, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19257:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10775, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9805, - "src": "19265:11:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10776, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19278:7:12", - "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": 10771, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9803, - "src": "19240:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - }, - "id": 10773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 19239, - "src": "19240:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 10777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19240:46:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10778, - "nodeType": "ExpressionStatement", - "src": "19240:46:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10780, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "19372:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 10781, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "19380:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10779, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9879, - "src": "19363:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19363:25:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10783, - "nodeType": "EmitStatement", - "src": "19358:30:12" - } - ] - }, - "documentation": null, - "id": 10785, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10755, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "19120:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19120:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10757, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "19136:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19136:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19119:33:12" - }, - "payable": false, - "returnParameters": { - "id": 10759, - "nodeType": "ParameterList", - "parameters": [], - "src": "19162:0:12" - }, - "scope": 10786, - "src": "19101:294:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 10787, - "src": "608:18789:12" - } - ], - "src": "0:19397:12" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.423Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/TestImports.json b/templates/multisig/build/contracts/TestImports.json deleted file mode 100644 index 92dcffe..0000000 --- a/templates/multisig/build/contracts/TestImports.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "contractName": "TestImports", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820f3cae04dc6912c99ec834bac23d2d457b33b87a36e65f06a00e62623280a5b150029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820f3cae04dc6912c99ec834bac23d2d457b33b87a36e65f06a00e62623280a5b150029", - "sourceMap": "392:113:1:-;;;419:84;8:9:-1;5:2;;;30:1;27;20:12;5:2;419:84:1;392:113;;;;;;", - "deployedSourceMap": "392:113:1:-;;;;;", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/id/contracts/FIFSResolvingRegistrar.sol\";\nimport \"@aragon/os/contracts/factory/ENSFactory.sol\";\nimport \"@aragon/os/contracts/factory/APMRegistryFactory.sol\";\nimport \"@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol\";\nimport \"@aragon/templates-shared/contracts/Migrations.sol\";\n\n\n// HACK to workaround truffle artifact loading on dependencies\ncontract TestImports {\n constructor() public {\n // solium-disable-previous-line no-empty-blocks\n }\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/TestImports.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/TestImports.sol", - "exportedSymbols": { - "TestImports": [ - 2254 - ] - }, - "id": 2255, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2244, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "absolutePath": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "file": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "id": 2245, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 20459, - "src": "25:57:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "file": "@aragon/os/contracts/factory/ENSFactory.sol", - "id": 2246, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 26245, - "src": "83:53:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "file": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "id": 2247, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 25849, - "src": "137:61:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "file": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "id": 2248, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 26352, - "src": "199:67:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/templates-shared/contracts/Migrations.sol", - "file": "@aragon/templates-shared/contracts/Migrations.sol", - "id": 2249, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 29770, - "src": "267:59:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2254, - "linearizedBaseContracts": [ - 2254 - ], - "name": "TestImports", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2252, - "nodeType": "Block", - "src": "440:63:1", - "statements": [] - }, - "documentation": null, - "id": 2253, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [], - "src": "430:2:1" - }, - "payable": false, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "440:0:1" - }, - "scope": 2254, - "src": "419:84:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2255, - "src": "392:113:1" - } - ], - "src": "0:505:1" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/TestImports.sol", - "exportedSymbols": { - "TestImports": [ - 2254 - ] - }, - "id": 2255, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2244, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "absolutePath": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "file": "@aragon/id/contracts/FIFSResolvingRegistrar.sol", - "id": 2245, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 20459, - "src": "25:57:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/ENSFactory.sol", - "file": "@aragon/os/contracts/factory/ENSFactory.sol", - "id": 2246, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 26245, - "src": "83:53:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "file": "@aragon/os/contracts/factory/APMRegistryFactory.sol", - "id": 2247, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 25849, - "src": "137:61:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "file": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol", - "id": 2248, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 26352, - "src": "199:67:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/templates-shared/contracts/Migrations.sol", - "file": "@aragon/templates-shared/contracts/Migrations.sol", - "id": 2249, - "nodeType": "ImportDirective", - "scope": 2255, - "sourceUnit": 29770, - "src": "267:59:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2254, - "linearizedBaseContracts": [ - 2254 - ], - "name": "TestImports", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2252, - "nodeType": "Block", - "src": "440:63:1", - "statements": [] - }, - "documentation": null, - "id": 2253, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [], - "src": "430:2:1" - }, - "payable": false, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "440:0:1" - }, - "scope": 2254, - "src": "419:84:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2255, - "src": "392:113:1" - } - ], - "src": "0:505:1" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.194Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/TimeHelpers.json b/templates/multisig/build/contracts/TimeHelpers.json deleted file mode 100644 index ca5460d..0000000 --- a/templates/multisig/build/contracts/TimeHelpers.json +++ /dev/null @@ -1,1087 +0,0 @@ -{ - "contractName": "TimeHelpers", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058206b1371b2691e586e287b1e0dd17b1a36e79ff6384fe10619f00127221243a53a0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058206b1371b2691e586e287b1e0dd17b1a36e79ff6384fe10619f00127221243a53a0029", - "sourceMap": "103:1266:53:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;103:1266:53;;;;;;;", - "deployedSourceMap": "103:1266:53:-;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./Uint256Helpers.sol\";\n\n\ncontract TimeHelpers {\n using Uint256Helpers for uint256;\n\n /**\n * @dev Returns the current block number.\n * Using a function rather than `block.number` allows us to easily mock the block number in\n * tests.\n */\n function getBlockNumber() internal view returns (uint256) {\n return block.number;\n }\n\n /**\n * @dev Returns the current block number, converted to uint64.\n * Using a function rather than `block.number` allows us to easily mock the block number in\n * tests.\n */\n function getBlockNumber64() internal view returns (uint64) {\n return getBlockNumber().toUint64();\n }\n\n /**\n * @dev Returns the current timestamp.\n * Using a function rather than `block.timestamp` allows us to easily mock it in\n * tests.\n */\n function getTimestamp() internal view returns (uint256) {\n return block.timestamp; // solium-disable-line security/no-block-members\n }\n\n /**\n * @dev Returns the current timestamp, converted to uint64.\n * Using a function rather than `block.timestamp` allows us to easily mock it in\n * tests.\n */\n function getTimestamp64() internal view returns (uint64) {\n return getTimestamp().toUint64();\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "exportedSymbols": { - "TimeHelpers": [ - 24154 - ] - }, - "id": 24155, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24109, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:53" - }, - { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "file": "./Uint256Helpers.sol", - "id": 24110, - "nodeType": "ImportDirective", - "scope": 24155, - "sourceUnit": 24186, - "src": "70:30:53", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24154, - "linearizedBaseContracts": [ - 24154 - ], - "name": "TimeHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24113, - "libraryName": { - "contractScope": null, - "id": 24111, - "name": "Uint256Helpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24185, - "src": "136:14:53", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Uint256Helpers_$24185", - "typeString": "library Uint256Helpers" - } - }, - "nodeType": "UsingForDirective", - "src": "130:33:53", - "typeName": { - "id": 24112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "155:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 24121, - "nodeType": "Block", - "src": "405:36:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24118, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "422:5:53", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 24119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:12:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24117, - "id": 24120, - "nodeType": "Return", - "src": "415:19:53" - } - ] - }, - "documentation": "@dev Returns the current block number.\n Using a function rather than `block.number` allows us to easily mock the block number in\n tests.", - "id": 24122, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBlockNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24114, - "nodeType": "ParameterList", - "parameters": [], - "src": "370:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24116, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24122, - "src": "396:7:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "396:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:9:53" - }, - "scope": 24154, - "src": "347:94:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24132, - "nodeType": "Block", - "src": "705:51:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24127, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "722:14:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 24128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:16:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "722:25:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 24130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:27:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24126, - "id": 24131, - "nodeType": "Return", - "src": "715:34:53" - } - ] - }, - "documentation": "@dev Returns the current block number, converted to uint64.\n Using a function rather than `block.number` allows us to easily mock the block number in\n tests.", - "id": 24133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBlockNumber64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24123, - "nodeType": "ParameterList", - "parameters": [], - "src": "671:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24125, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24133, - "src": "697:6:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24124, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "697:6:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "696:8:53" - }, - "scope": 24154, - "src": "646:110:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24141, - "nodeType": "Block", - "src": "982:88:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24138, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "999:5:53", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 24139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "999:15:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24137, - "id": 24140, - "nodeType": "Return", - "src": "992:22:53" - } - ] - }, - "documentation": "@dev Returns the current timestamp.\n Using a function rather than `block.timestamp` allows us to easily mock it in\n tests.", - "id": 24142, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTimestamp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24134, - "nodeType": "ParameterList", - "parameters": [], - "src": "947:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24136, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24142, - "src": "973:7:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "973:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "972:9:53" - }, - "scope": 24154, - "src": "926:144:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24152, - "nodeType": "Block", - "src": "1318:49:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24147, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "1335:12:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 24148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:14:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "1335:23:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 24150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:25:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24146, - "id": 24151, - "nodeType": "Return", - "src": "1328:32:53" - } - ] - }, - "documentation": "@dev Returns the current timestamp, converted to uint64.\n Using a function rather than `block.timestamp` allows us to easily mock it in\n tests.", - "id": 24153, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTimestamp64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24143, - "nodeType": "ParameterList", - "parameters": [], - "src": "1284:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24145, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24153, - "src": "1310:6:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24144, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1310:6:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1309:8:53" - }, - "scope": 24154, - "src": "1261:106:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24155, - "src": "103:1266:53" - } - ], - "src": "44:1326:53" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol", - "exportedSymbols": { - "TimeHelpers": [ - 24154 - ] - }, - "id": 24155, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24109, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:53" - }, - { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "file": "./Uint256Helpers.sol", - "id": 24110, - "nodeType": "ImportDirective", - "scope": 24155, - "sourceUnit": 24186, - "src": "70:30:53", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 24154, - "linearizedBaseContracts": [ - 24154 - ], - "name": "TimeHelpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24113, - "libraryName": { - "contractScope": null, - "id": 24111, - "name": "Uint256Helpers", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24185, - "src": "136:14:53", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Uint256Helpers_$24185", - "typeString": "library Uint256Helpers" - } - }, - "nodeType": "UsingForDirective", - "src": "130:33:53", - "typeName": { - "id": 24112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "155:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 24121, - "nodeType": "Block", - "src": "405:36:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24118, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "422:5:53", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 24119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:12:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24117, - "id": 24120, - "nodeType": "Return", - "src": "415:19:53" - } - ] - }, - "documentation": "@dev Returns the current block number.\n Using a function rather than `block.number` allows us to easily mock the block number in\n tests.", - "id": 24122, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBlockNumber", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24114, - "nodeType": "ParameterList", - "parameters": [], - "src": "370:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24116, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24122, - "src": "396:7:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "396:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:9:53" - }, - "scope": 24154, - "src": "347:94:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24132, - "nodeType": "Block", - "src": "705:51:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24127, - "name": "getBlockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24122, - "src": "722:14:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 24128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:16:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "722:25:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 24130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "722:27:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24126, - "id": 24131, - "nodeType": "Return", - "src": "715:34:53" - } - ] - }, - "documentation": "@dev Returns the current block number, converted to uint64.\n Using a function rather than `block.number` allows us to easily mock the block number in\n tests.", - "id": 24133, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getBlockNumber64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24123, - "nodeType": "ParameterList", - "parameters": [], - "src": "671:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24125, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24133, - "src": "697:6:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24124, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "697:6:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "696:8:53" - }, - "scope": 24154, - "src": "646:110:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24141, - "nodeType": "Block", - "src": "982:88:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 24138, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29774, - "src": "999:5:53", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 24139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "999:15:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 24137, - "id": 24140, - "nodeType": "Return", - "src": "992:22:53" - } - ] - }, - "documentation": "@dev Returns the current timestamp.\n Using a function rather than `block.timestamp` allows us to easily mock it in\n tests.", - "id": 24142, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTimestamp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24134, - "nodeType": "ParameterList", - "parameters": [], - "src": "947:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24136, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24142, - "src": "973:7:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "973:7:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "972:9:53" - }, - "scope": 24154, - "src": "926:144:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24152, - "nodeType": "Block", - "src": "1318:49:53", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24147, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "1335:12:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 24148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:14:53", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 24184, - "src": "1335:23:53", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 24150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:25:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24146, - "id": 24151, - "nodeType": "Return", - "src": "1328:32:53" - } - ] - }, - "documentation": "@dev Returns the current timestamp, converted to uint64.\n Using a function rather than `block.timestamp` allows us to easily mock it in\n tests.", - "id": 24153, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTimestamp64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24143, - "nodeType": "ParameterList", - "parameters": [], - "src": "1284:2:53" - }, - "payable": false, - "returnParameters": { - "id": 24146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24145, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24153, - "src": "1310:6:53", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24144, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1310:6:53", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1309:8:53" - }, - "scope": 24154, - "src": "1261:106:53", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24155, - "src": "103:1266:53" - } - ], - "src": "44:1326:53" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.216Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/TokenManager.json b/templates/multisig/build/contracts/TokenManager.json deleted file mode 100644 index e5335ec..0000000 --- a/templates/multisig/build/contracts/TokenManager.json +++ /dev/null @@ -1,24829 +0,0 @@ -{ - "contractName": "TokenManager", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_VESTINGS_PER_ADDRESS", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ISSUE_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "vestingsLengths", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ASSIGN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "BURN_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MINT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxAccountTokens", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REVOKE_VESTINGS_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "name": "vestingId", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "NewVesting", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "name": "vestingId", - "type": "uint256" - }, - { - "indexed": false, - "name": "nonVestedAmount", - "type": "uint256" - } - ], - "name": "RevokeVesting", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_transferable", - "type": "bool" - }, - { - "name": "_maxAccountTokens", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_receiver", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "issue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_receiver", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "assign", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_holder", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_receiver", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_start", - "type": "uint64" - }, - { - "name": "_cliff", - "type": "uint64" - }, - { - "name": "_vested", - "type": "uint64" - }, - { - "name": "_revokable", - "type": "bool" - } - ], - "name": "assignVested", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_holder", - "type": "address" - }, - { - "name": "_vestingId", - "type": "uint256" - } - ], - "name": "revokeVesting", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "onTransfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "onApprove", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "proxyPayment", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isForwarder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_evmScript", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "", - "type": "bytes" - } - ], - "name": "canForward", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_recipient", - "type": "address" - }, - { - "name": "_vestingId", - "type": "uint256" - } - ], - "name": "getVesting", - "outputs": [ - { - "name": "amount", - "type": "uint256" - }, - { - "name": "start", - "type": "uint64" - }, - { - "name": "cliff", - "type": "uint64" - }, - { - "name": "vesting", - "type": "uint64" - }, - { - "name": "revokable", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_holder", - "type": "address" - } - ], - "name": "spendableBalanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_holder", - "type": "address" - }, - { - "name": "_time", - "type": "uint256" - } - ], - "name": "transferableBalance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062003843833981519152640100000000620029916200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b50620002306000805160206200384383398151915282640100000000620034bd6200023782021704565b50565b5490565b9055565b6135f8806200024b6000396000f3006080604052600436106101a85763ffffffff60e060020a6000350416630803fac081146101ad5780630db3971b146101d65780630f8f8b83146101fd57806321cb18cd1461021e5780632914b9bd1461026057806332f0a3b5146102d55780633e05a36d146102ea57806340c10f19146103475780634a3931491461036d57806372f8393c146103975780637e7db6e1146103bb57806380afdea8146103dc578063856222f1146103f15780638b3dd7491461040657806397f2562a1461041b5780639d4941d81461043c5780639dc29fac1461045d578063a1658fad14610481578063a479e508146104e8578063a51d9a8e146104fd578063b930908f14610512578063be76048814610527578063c0774df31461054b578063cc872b66146105b2578063d4aae0c4146105ca578063d948d468146105df578063da682aeb14610638578063de4796ed14610662578063e37ff29f14610677578063e9a9c850146106a0578063ecfda432146106b5578063edc168f1146106ca578063f48c3054146106df578063fa6799f2146106f3578063fc0c546a14610717578063fd64eccb1461072c575b600080fd5b3480156101b957600080fd5b506101c2610741565b604080519115158252519081900360200190f35b3480156101e257600080fd5b506101eb61076a565b60408051918252519081900360200190f35b34801561020957600080fd5b506101eb600160a060020a036004351661076f565b34801561022a57600080fd5b506101eb600160a060020a036004351660243567ffffffffffffffff6044358116906064358116906084351660a4351515610841565b34801561026c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102b9943694929360249392840191908190840183828082843750949750610cb09650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156102e157600080fd5b506102b9610d96565b3480156102f657600080fd5b5061030e600160a060020a0360043516602435610e0e565b6040805195865267ffffffffffffffff948516602087015292841685840152921660608401529015156080830152519081900360a00190f35b34801561035357600080fd5b5061036b600160a060020a0360043516602435610f37565b005b34801561037957600080fd5b506101c2600160a060020a0360043581169060243516604435611094565b3480156103a357600080fd5b506101eb600160a060020a036004351660243561113f565b3480156103c757600080fd5b506101c2600160a060020a03600435166111cf565b3480156103e857600080fd5b506101eb6111e4565b3480156103fd57600080fd5b506101eb611214565b34801561041257600080fd5b506101eb611249565b34801561042757600080fd5b506101eb600160a060020a0360043516611274565b34801561044857600080fd5b5061036b600160a060020a0360043516611286565b34801561046957600080fd5b5061036b600160a060020a0360043516602435611515565b34801561048d57600080fd5b5060408051602060046044358181013583810280860185019096528085526101c2958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506116759650505050505050565b3480156104f457600080fd5b506102b96117c5565b34801561050957600080fd5b506101eb61187a565b34801561051e57600080fd5b506101eb6118a0565b34801561053357600080fd5b5061036b600160a060020a03600435166024356118d5565b34801561055757600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101c2958335600160a060020a031695369560449491939091019190819084018382808284375094975061198c9650505050505050565b3480156105be57600080fd5b5061036b600435611a23565b3480156105d657600080fd5b506102b9611aed565b3480156105eb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261036b943694929360249392840191908190840183828082843750949750611b189650505050505050565b34801561064457600080fd5b506101c2600160a060020a0360043581169060243516604435611c15565b34801561066e57600080fd5b506101c2611ca1565b34801561068357600080fd5b5061036b600160a060020a03600435166024351515604435611cb4565b3480156106ac57600080fd5b506101eb611f94565b3480156106c157600080fd5b506101eb611fc9565b3480156106d657600080fd5b506101eb611fcf565b6101c2600160a060020a0360043516612004565b3480156106ff57600080fd5b5061036b600160a060020a036004351660243561208e565b34801561072357600080fd5b506102b961248b565b34801561073857600080fd5b506101c261249a565b60008061074c611249565b9050801580159061076457508061076161249f565b10155b91505090565b603281565b6000610779610741565b60408051808201909152601481526000805160206135ad83398151915260208201529015156108295760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107ee5781810151838201526020016107d6565b50505050905090810190601f16801561081b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061083b826108366124a3565b6124a7565b92915050565b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b019020600090819061087389896125f0565b61087e338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156108f25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051808201909152601081527f544d5f56455354494e475f544f5f544d000000000000000000000000000000006020820152600160a060020a038b163014156109835760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a038a16600090815260036020908152604091829020548251808401909352601483527f544d5f544f4f5f4d414e595f56455354494e475300000000000000000000000091830191909152603211610a275760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b508667ffffffffffffffff168867ffffffffffffffff1611158015610a6057508567ffffffffffffffff168767ffffffffffffffff1611155b60408051808201909152601381527f544d5f57524f4e475f434c4946465f44415445000000000000000000000000006020820152901515610ae65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600360008b600160a060020a0316600160a060020a03168152602001908152602001600020600081548092919060010191905055925060a0604051908101604052808a81526020018967ffffffffffffffff1681526020018867ffffffffffffffff1681526020018767ffffffffffffffff168152602001861515815250600260008c600160a060020a0316600160a060020a0316815260200190815260200160002060008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160186101000a81548160ff021916908315150217905550905050610c5f8a8a612605565b60408051848152602081018b90528151600160a060020a038d16927f627ad26dcfe82ec79b33fda0ddd062f6fab9f4914acac8345f79090dfd86fb54928290030190a2509098975050505050505050565b6000610cba6117c5565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d18578181015183820152602001610d00565b50505050905090810190601f168015610d455780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610d6457600080fd5b505af1158015610d78573d6000803e3d6000fd5b505050506040513d6020811015610d8e57600080fd5b505192915050565b6000610da0611aed565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ddd57600080fd5b505af1158015610df1573d6000803e3d6000fd5b505050506040513d6020811015610e0757600080fd5b5051905090565b60008060008060008087876003600083600160a060020a0316600160a060020a031681526020019081526020016000205481106040805190810160405280600d81526020017f544d5f4e4f5f56455354494e4700000000000000000000000000000000000000815250901515610ec95760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50505050600160a060020a03969096166000908152600260209081526040808320978352969052949094208054600190910154909667ffffffffffffffff808316975068010000000000000000830481169650608060020a830416945060c060020a90910460ff1692509050565b604080517f4d494e545f524f4c45000000000000000000000000000000000000000000000081529051908190036009019020610f7383836125f0565b610f7e338383611675565b60408051808201909152600f815260008051602061356d8339815191526020820152901515610ff25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051808201909152601681527f544d5f4d494e545f52454345495645525f49535f544d000000000000000000006020820152600160a060020a0385163014156110835760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061108e84846127aa565b50505050565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a031633146111155760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061112083836128d7565b8015611137575081611134856108366124a3565b10155b949350505050565b6000611149610741565b60408051808201909152601481526000805160206135ad83398151915260208201529015156111bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506111c883836124a7565b9392505050565b600054600160a060020a039081169116141590565b600061120f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612991565b905090565b604080517f49535355455f524f4c45000000000000000000000000000000000000000000008152905190819003600a01902081565b600061120f7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612991565b60036020526000908152604090205481565b6000806000611294846111cf565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561131a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611323610d96565b925061132e83612999565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113b45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a03841615156114055760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113ff573d6000803e3d6000fd5b506114c4565b5082611420600160a060020a0382163063ffffffff6129c616565b915061143c600160a060020a038216848463ffffffff612ab016565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156114c25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b604080517f4255524e5f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902061155183836125f0565b61155c338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156115d05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060008054604080517fd3ce77fe000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482018890529151919092169263d3ce77fe92604480820193602093909283900390910190829087803b15801561164357600080fd5b505af1158015611657573d6000803e3d6000fd5b505050506040513d602081101561166d57600080fd5b505050505050565b600080611680610741565b151561168f57600091506117bd565b611697611aed565b9050600160a060020a03811615156116b257600091506117bd565b80600160a060020a031663fdef91068630876116cd88612b26565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561173f578181015183820152602001611727565b50505050905090810190601f16801561176c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b505191505b509392505050565b6000806117d0611aed565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610d6457600080fd5b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b01902081565b604080517f4255524e5f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902081565b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b01902061190283836125f0565b61190d338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156119815760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061108e8484612605565b6000611996610741565b80156111c85750600080546040805160e060020a6370a08231028152600160a060020a038781166004830152915191909216916370a0823191602480830192602092919082900301818787803b1580156119ef57600080fd5b505af1158015611a03573d6000803e3d6000fd5b505050506040513d6020811015611a1957600080fd5b5051119392505050565b604080517f49535355455f524f4c45000000000000000000000000000000000000000000008152905190819003600a019020611a5e82612b30565b611a69338383611675565b60408051808201909152600f815260008051602061356d8339815191526020820152901515611add5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611ae830846127aa565b505050565b600061120f7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612991565b606080611b25338461198c565b60408051808201909152601281527f544d5f43414e5f4e4f545f464f525741524400000000000000000000000000006020820152901515611bab5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506040805160008152600160208083018281526060840185529295509192909190850190803883395050600080548351939450600160a060020a0316928492508110611bf357fe5b600160a060020a0390921660209283029091019091015261108e838383612b71565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a03163314611c965760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506001949350505050565b6000600019611cae611249565b14905090565b611cbc611249565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611d415760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611d4a613164565b30600160a060020a031683600160a060020a031663f77c47916040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b505160408051808201909152601381527f544d5f544f4b454e5f434f4e54524f4c4c455200000000000000000000000000602082015291600160a060020a0390911614611e4e5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790558015611e835780611e87565b6000195b6001819055508115156000809054906101000a9004600160a060020a0316600160a060020a031663bef97c876040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611ee257600080fd5b505af1158015611ef6573d6000803e3d6000fd5b505050506040513d6020811015611f0c57600080fd5b5051151514611ae85760008054604080517ff41e60c500000000000000000000000000000000000000000000000000000000815285151560048201529051600160a060020a039092169263f41e60c59260248084019382900301818387803b158015611f7757600080fd5b505af1158015611f8b573d6000803e3d6000fd5b50505050505050565b604080517f4d494e545f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902081565b60015481565b604080517f5245564f4b455f56455354494e47535f524f4c450000000000000000000000008152905190819003601401902081565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a031633146120855760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600092915050565b604080517f5245564f4b455f56455354494e47535f524f4c450000000000000000000000008152905190819003601401902060009081906120ce8561322c565b6120d9338383611675565b60408051808201909152600f815260008051602061356d833981519152602082015290151561214d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a038616600090815260036020908152604091829020548251808401909352600d83527f544d5f4e4f5f56455354494e4700000000000000000000000000000000000000918301919091528791879182106121f45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a03881660009081526002602090815260408083208a845282529182902060018101548351808501909452601884527f544d5f56455354494e475f4e4f545f5245564f4b41424c45000000000000000092840192909252975060c060020a900460ff1615156122af5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5085546122ed906122be6124a3565b600189015467ffffffffffffffff80821691680100000000000000008104821691608060020a90910416613240565b600160a060020a03808a1660008181526002602090815260408083208d84528252808320838155600101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690558254815160e060020a6323b872dd0281526004810195909552306024860152604485018790529051959a50909316936323b872dd936064808501949193918390030190829087803b15801561238b57600080fd5b505af115801561239f573d6000803e3d6000fd5b505050506040513d60208110156123b557600080fd5b50516040805180820190915260208082527f544d5f5245564f4b455f5452414e534645525f46524f4d5f52455645525445449082015290151561243d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051888152602081018790528151600160a060020a038b16927fafc516b1509f836efdc27d64d966d14f82ef53f456f0de74c12ac8a651a084cc928290030190a25050505050505050565b600054600160a060020a031681565b600190565b4390565b4290565b600080546040805160e060020a6370a08231028152600160a060020a03868116600483015291518493849384938493849392909216916370a082319160248082019260209290919082900301818787803b15801561250457600080fd5b505af1158015612518573d6000803e3d6000fd5b505050506040513d602081101561252e57600080fd5b50519450600160a060020a03881630146125e457600160a060020a038816600090815260036020526040812054945092505b838310156125e457600160a060020a03881660009081526002602090815260408083208684529091529020805460018201549193506125c591899067ffffffffffffffff80821691680100000000000000008104821691608060020a90910416613240565b90506125d7858263ffffffff6132ba16565b9450600190920191612560565b50929695505050505050565b60606111c883600160a060020a031683613355565b61260f82826128d7565b60408051808201909152601a81527f544d5f42414c414e43455f494e435f4e4f545f414c4c4f57454400000000000060208201529015156126955760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600080546040805160e060020a6323b872dd028152306004820152600160a060020a03868116602483015260448201869052915191909216926323b872dd92606480820193602093909283900390910190829087803b1580156126f857600080fd5b505af115801561270c573d6000803e3d6000fd5b505050506040513d602081101561272257600080fd5b50516040805180820190915260208082527f544d5f41535349474e5f5452414e534645525f46524f4d5f524556455254454490820152901515611ae85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b6127b482826128d7565b60408051808201909152601a81527f544d5f42414c414e43455f494e435f4e4f545f414c4c4f574544000000000000602082015290151561283a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060008054604080517f827f32c0000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151919092169263827f32c092604480820193602093909283900390910190829087803b1580156128ad57600080fd5b505af11580156128c1573d6000803e3d6000fd5b505050506040513d602081101561108e57600080fd5b6000600160a060020a0383163014156128f25750600161083b565b600154600080546040805160e060020a6370a08231028152600160a060020a038881166004830152915161298894889493909316926370a0823192602480820193602093909283900390910190829087803b15801561295057600080fd5b505af1158015612964573d6000803e3d6000fd5b505050506040513d602081101561297a57600080fd5b50519063ffffffff6133b016565b11159392505050565b5490565b5490565b600080600160a060020a03831615156129b557600091506129c0565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a08231021790526000908180612a1b868461343e565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515612aa65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090612b1d858261346f565b95945050505050565b8051602002815290565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181101515612b6257fe5b60209081029091010152919050565b6060600080606080612b81610741565b60408051808201909152601481526000805160206135ad8339815191526020820152901515612bf55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600080612c01611aed565b9150612c0b6111e4565b9050612c168a610cb0565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a0387161515612ca85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b83811015612d1e578181015183820152602001612d06565b50505050905090810190601f168015612d4b5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612d7e578181015183820152602001612d66565b50505050905090810190601f168015612dab5780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b83811015612de0578181015183820152602001612dc8565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af46040519350808015612ea457603f3d118015612e595760203d03806020883e8601604052612e9e565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b50612ead565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015612f22578181015183820152602001612f0a565b50505050905090810190601f168015612f4f5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612f82578181015183820152602001612f6a565b50505050905090810190601f168015612faf5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015612fe2578181015183820152602001612fca565b50505050905090810190601f16801561300f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613035611aed565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156130c75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50806130d16111e4565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400602082015291146131565760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505050505050509392505050565b61316c611249565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131f15760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061322a6131fd61249f565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6134bd16565b565b606061083b82600160a060020a0316612b30565b6000808286106132535760009150612aa6565b8386101561326357869150612aa6565b613273838663ffffffff6132ba16565b613293613286888863ffffffff6132ba16565b899063ffffffff6134c116565b81151561329c57fe5b0490506132af878263ffffffff6132ba16565b979650505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156133465760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505050808203805b5092915050565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151561338557fe5b6020908102909101015280518290829060019081106133a057fe5b6020908102909101015292915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156117bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b6000806000806040516020818751602089018a5afa9250600083111561346357805191505b50909590945092505050565b6000806040516020818551602087016000895af160008111156134b3573d80156134a057602081146134a9576134b1565b600193506134b1565b600183511493505b505b5090949350505050565b9055565b6000808315156134d4576000915061334e565b508282028284828115156134e457fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146117bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d656004150505f415554485f4641494c45440000000000000000000000000000000000544d5f43414c4c45525f4e4f545f544f4b454e00000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a72305820a502424d5a6355535e93e765d3c99572b9dbfae2abb9b1bc0a334b30dc3edfcd0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101a85763ffffffff60e060020a6000350416630803fac081146101ad5780630db3971b146101d65780630f8f8b83146101fd57806321cb18cd1461021e5780632914b9bd1461026057806332f0a3b5146102d55780633e05a36d146102ea57806340c10f19146103475780634a3931491461036d57806372f8393c146103975780637e7db6e1146103bb57806380afdea8146103dc578063856222f1146103f15780638b3dd7491461040657806397f2562a1461041b5780639d4941d81461043c5780639dc29fac1461045d578063a1658fad14610481578063a479e508146104e8578063a51d9a8e146104fd578063b930908f14610512578063be76048814610527578063c0774df31461054b578063cc872b66146105b2578063d4aae0c4146105ca578063d948d468146105df578063da682aeb14610638578063de4796ed14610662578063e37ff29f14610677578063e9a9c850146106a0578063ecfda432146106b5578063edc168f1146106ca578063f48c3054146106df578063fa6799f2146106f3578063fc0c546a14610717578063fd64eccb1461072c575b600080fd5b3480156101b957600080fd5b506101c2610741565b604080519115158252519081900360200190f35b3480156101e257600080fd5b506101eb61076a565b60408051918252519081900360200190f35b34801561020957600080fd5b506101eb600160a060020a036004351661076f565b34801561022a57600080fd5b506101eb600160a060020a036004351660243567ffffffffffffffff6044358116906064358116906084351660a4351515610841565b34801561026c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102b9943694929360249392840191908190840183828082843750949750610cb09650505050505050565b60408051600160a060020a039092168252519081900360200190f35b3480156102e157600080fd5b506102b9610d96565b3480156102f657600080fd5b5061030e600160a060020a0360043516602435610e0e565b6040805195865267ffffffffffffffff948516602087015292841685840152921660608401529015156080830152519081900360a00190f35b34801561035357600080fd5b5061036b600160a060020a0360043516602435610f37565b005b34801561037957600080fd5b506101c2600160a060020a0360043581169060243516604435611094565b3480156103a357600080fd5b506101eb600160a060020a036004351660243561113f565b3480156103c757600080fd5b506101c2600160a060020a03600435166111cf565b3480156103e857600080fd5b506101eb6111e4565b3480156103fd57600080fd5b506101eb611214565b34801561041257600080fd5b506101eb611249565b34801561042757600080fd5b506101eb600160a060020a0360043516611274565b34801561044857600080fd5b5061036b600160a060020a0360043516611286565b34801561046957600080fd5b5061036b600160a060020a0360043516602435611515565b34801561048d57600080fd5b5060408051602060046044358181013583810280860185019096528085526101c2958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506116759650505050505050565b3480156104f457600080fd5b506102b96117c5565b34801561050957600080fd5b506101eb61187a565b34801561051e57600080fd5b506101eb6118a0565b34801561053357600080fd5b5061036b600160a060020a03600435166024356118d5565b34801561055757600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101c2958335600160a060020a031695369560449491939091019190819084018382808284375094975061198c9650505050505050565b3480156105be57600080fd5b5061036b600435611a23565b3480156105d657600080fd5b506102b9611aed565b3480156105eb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261036b943694929360249392840191908190840183828082843750949750611b189650505050505050565b34801561064457600080fd5b506101c2600160a060020a0360043581169060243516604435611c15565b34801561066e57600080fd5b506101c2611ca1565b34801561068357600080fd5b5061036b600160a060020a03600435166024351515604435611cb4565b3480156106ac57600080fd5b506101eb611f94565b3480156106c157600080fd5b506101eb611fc9565b3480156106d657600080fd5b506101eb611fcf565b6101c2600160a060020a0360043516612004565b3480156106ff57600080fd5b5061036b600160a060020a036004351660243561208e565b34801561072357600080fd5b506102b961248b565b34801561073857600080fd5b506101c261249a565b60008061074c611249565b9050801580159061076457508061076161249f565b10155b91505090565b603281565b6000610779610741565b60408051808201909152601481526000805160206135ad83398151915260208201529015156108295760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107ee5781810151838201526020016107d6565b50505050905090810190601f16801561081b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061083b826108366124a3565b6124a7565b92915050565b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b019020600090819061087389896125f0565b61087e338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156108f25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051808201909152601081527f544d5f56455354494e475f544f5f544d000000000000000000000000000000006020820152600160a060020a038b163014156109835760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a038a16600090815260036020908152604091829020548251808401909352601483527f544d5f544f4f5f4d414e595f56455354494e475300000000000000000000000091830191909152603211610a275760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b508667ffffffffffffffff168867ffffffffffffffff1611158015610a6057508567ffffffffffffffff168767ffffffffffffffff1611155b60408051808201909152601381527f544d5f57524f4e475f434c4946465f44415445000000000000000000000000006020820152901515610ae65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600360008b600160a060020a0316600160a060020a03168152602001908152602001600020600081548092919060010191905055925060a0604051908101604052808a81526020018967ffffffffffffffff1681526020018867ffffffffffffffff1681526020018767ffffffffffffffff168152602001861515815250600260008c600160a060020a0316600160a060020a0316815260200190815260200160002060008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160186101000a81548160ff021916908315150217905550905050610c5f8a8a612605565b60408051848152602081018b90528151600160a060020a038d16927f627ad26dcfe82ec79b33fda0ddd062f6fab9f4914acac8345f79090dfd86fb54928290030190a2509098975050505050505050565b6000610cba6117c5565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d18578181015183820152602001610d00565b50505050905090810190601f168015610d455780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610d6457600080fd5b505af1158015610d78573d6000803e3d6000fd5b505050506040513d6020811015610d8e57600080fd5b505192915050565b6000610da0611aed565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ddd57600080fd5b505af1158015610df1573d6000803e3d6000fd5b505050506040513d6020811015610e0757600080fd5b5051905090565b60008060008060008087876003600083600160a060020a0316600160a060020a031681526020019081526020016000205481106040805190810160405280600d81526020017f544d5f4e4f5f56455354494e4700000000000000000000000000000000000000815250901515610ec95760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50505050600160a060020a03969096166000908152600260209081526040808320978352969052949094208054600190910154909667ffffffffffffffff808316975068010000000000000000830481169650608060020a830416945060c060020a90910460ff1692509050565b604080517f4d494e545f524f4c45000000000000000000000000000000000000000000000081529051908190036009019020610f7383836125f0565b610f7e338383611675565b60408051808201909152600f815260008051602061356d8339815191526020820152901515610ff25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051808201909152601681527f544d5f4d494e545f52454345495645525f49535f544d000000000000000000006020820152600160a060020a0385163014156110835760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061108e84846127aa565b50505050565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a031633146111155760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061112083836128d7565b8015611137575081611134856108366124a3565b10155b949350505050565b6000611149610741565b60408051808201909152601481526000805160206135ad83398151915260208201529015156111bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506111c883836124a7565b9392505050565b600054600160a060020a039081169116141590565b600061120f7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612991565b905090565b604080517f49535355455f524f4c45000000000000000000000000000000000000000000008152905190819003600a01902081565b600061120f7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612991565b60036020526000908152604090205481565b6000806000611294846111cf565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561131a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611323610d96565b925061132e83612999565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113b45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a03841615156114055760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113ff573d6000803e3d6000fd5b506114c4565b5082611420600160a060020a0382163063ffffffff6129c616565b915061143c600160a060020a038216848463ffffffff612ab016565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156114c25760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b604080517f4255524e5f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902061155183836125f0565b61155c338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156115d05760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060008054604080517fd3ce77fe000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482018890529151919092169263d3ce77fe92604480820193602093909283900390910190829087803b15801561164357600080fd5b505af1158015611657573d6000803e3d6000fd5b505050506040513d602081101561166d57600080fd5b505050505050565b600080611680610741565b151561168f57600091506117bd565b611697611aed565b9050600160a060020a03811615156116b257600091506117bd565b80600160a060020a031663fdef91068630876116cd88612b26565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561173f578181015183820152602001611727565b50505050905090810190601f16801561176c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b505191505b509392505050565b6000806117d0611aed565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610d6457600080fd5b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b01902081565b604080517f4255524e5f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902081565b6040805160a860020a6a41535349474e5f524f4c45028152905190819003600b01902061190283836125f0565b61190d338383611675565b60408051808201909152600f815260008051602061356d83398151915260208201529015156119815760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061108e8484612605565b6000611996610741565b80156111c85750600080546040805160e060020a6370a08231028152600160a060020a038781166004830152915191909216916370a0823191602480830192602092919082900301818787803b1580156119ef57600080fd5b505af1158015611a03573d6000803e3d6000fd5b505050506040513d6020811015611a1957600080fd5b5051119392505050565b604080517f49535355455f524f4c45000000000000000000000000000000000000000000008152905190819003600a019020611a5e82612b30565b611a69338383611675565b60408051808201909152600f815260008051602061356d8339815191526020820152901515611add5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611ae830846127aa565b505050565b600061120f7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612991565b606080611b25338461198c565b60408051808201909152601281527f544d5f43414e5f4e4f545f464f525741524400000000000000000000000000006020820152901515611bab5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506040805160008152600160208083018281526060840185529295509192909190850190803883395050600080548351939450600160a060020a0316928492508110611bf357fe5b600160a060020a0390921660209283029091019091015261108e838383612b71565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a03163314611c965760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506001949350505050565b6000600019611cae611249565b14905090565b611cbc611249565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611d415760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50611d4a613164565b30600160a060020a031683600160a060020a031663f77c47916040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b505160408051808201909152601381527f544d5f544f4b454e5f434f4e54524f4c4c455200000000000000000000000000602082015291600160a060020a0390911614611e4e5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790558015611e835780611e87565b6000195b6001819055508115156000809054906101000a9004600160a060020a0316600160a060020a031663bef97c876040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611ee257600080fd5b505af1158015611ef6573d6000803e3d6000fd5b505050506040513d6020811015611f0c57600080fd5b5051151514611ae85760008054604080517ff41e60c500000000000000000000000000000000000000000000000000000000815285151560048201529051600160a060020a039092169263f41e60c59260248084019382900301818387803b158015611f7757600080fd5b505af1158015611f8b573d6000803e3d6000fd5b50505050505050565b604080517f4d494e545f524f4c4500000000000000000000000000000000000000000000008152905190819003600901902081565b60015481565b604080517f5245564f4b455f56455354494e47535f524f4c450000000000000000000000008152905190819003601401902081565b60008054604080518082019091526013815260008051602061358d833981519152602082015290600160a060020a031633146120855760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600092915050565b604080517f5245564f4b455f56455354494e47535f524f4c450000000000000000000000008152905190819003601401902060009081906120ce8561322c565b6120d9338383611675565b60408051808201909152600f815260008051602061356d833981519152602082015290151561214d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a038616600090815260036020908152604091829020548251808401909352600d83527f544d5f4e4f5f56455354494e4700000000000000000000000000000000000000918301919091528791879182106121f45760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600160a060020a03881660009081526002602090815260408083208a845282529182902060018101548351808501909452601884527f544d5f56455354494e475f4e4f545f5245564f4b41424c45000000000000000092840192909252975060c060020a900460ff1615156122af5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5085546122ed906122be6124a3565b600189015467ffffffffffffffff80821691680100000000000000008104821691608060020a90910416613240565b600160a060020a03808a1660008181526002602090815260408083208d84528252808320838155600101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690558254815160e060020a6323b872dd0281526004810195909552306024860152604485018790529051959a50909316936323b872dd936064808501949193918390030190829087803b15801561238b57600080fd5b505af115801561239f573d6000803e3d6000fd5b505050506040513d60208110156123b557600080fd5b50516040805180820190915260208082527f544d5f5245564f4b455f5452414e534645525f46524f4d5f52455645525445449082015290151561243d5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060408051888152602081018790528151600160a060020a038b16927fafc516b1509f836efdc27d64d966d14f82ef53f456f0de74c12ac8a651a084cc928290030190a25050505050505050565b600054600160a060020a031681565b600190565b4390565b4290565b600080546040805160e060020a6370a08231028152600160a060020a03868116600483015291518493849384938493849392909216916370a082319160248082019260209290919082900301818787803b15801561250457600080fd5b505af1158015612518573d6000803e3d6000fd5b505050506040513d602081101561252e57600080fd5b50519450600160a060020a03881630146125e457600160a060020a038816600090815260036020526040812054945092505b838310156125e457600160a060020a03881660009081526002602090815260408083208684529091529020805460018201549193506125c591899067ffffffffffffffff80821691680100000000000000008104821691608060020a90910416613240565b90506125d7858263ffffffff6132ba16565b9450600190920191612560565b50929695505050505050565b60606111c883600160a060020a031683613355565b61260f82826128d7565b60408051808201909152601a81527f544d5f42414c414e43455f494e435f4e4f545f414c4c4f57454400000000000060208201529015156126955760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600080546040805160e060020a6323b872dd028152306004820152600160a060020a03868116602483015260448201869052915191909216926323b872dd92606480820193602093909283900390910190829087803b1580156126f857600080fd5b505af115801561270c573d6000803e3d6000fd5b505050506040513d602081101561272257600080fd5b50516040805180820190915260208082527f544d5f41535349474e5f5452414e534645525f46524f4d5f524556455254454490820152901515611ae85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b6127b482826128d7565b60408051808201909152601a81527f544d5f42414c414e43455f494e435f4e4f545f414c4c4f574544000000000000602082015290151561283a5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5060008054604080517f827f32c0000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152602482018690529151919092169263827f32c092604480820193602093909283900390910190829087803b1580156128ad57600080fd5b505af11580156128c1573d6000803e3d6000fd5b505050506040513d602081101561108e57600080fd5b6000600160a060020a0383163014156128f25750600161083b565b600154600080546040805160e060020a6370a08231028152600160a060020a038881166004830152915161298894889493909316926370a0823192602480820193602093909283900390910190829087803b15801561295057600080fd5b505af1158015612964573d6000803e3d6000fd5b505050506040513d602081101561297a57600080fd5b50519063ffffffff6133b016565b11159392505050565b5490565b5490565b600080600160a060020a03831615156129b557600091506129c0565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a08231021790526000908180612a1b868461343e565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f52455645525445440000000060208201529193509150821515612aa65760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb00000000000000000000000000000000000000000000000000000000179052600090612b1d858261346f565b95945050505050565b8051602002815290565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181101515612b6257fe5b60209081029091010152919050565b6060600080606080612b81610741565b60408051808201909152601481526000805160206135ad8339815191526020820152901515612bf55760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50600080612c01611aed565b9150612c0b6111e4565b9050612c168a610cb0565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a0387161515612ca85760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b83811015612d1e578181015183820152602001612d06565b50505050905090810190601f168015612d4b5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612d7e578181015183820152602001612d66565b50505050905090810190601f168015612dab5780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b83811015612de0578181015183820152602001612dc8565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af46040519350808015612ea457603f3d118015612e595760203d03806020883e8601604052612e9e565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b50612ead565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015612f22578181015183820152602001612f0a565b50505050905090810190601f168015612f4f5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612f82578181015183820152602001612f6a565b50505050905090810190601f168015612faf5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015612fe2578181015183820152602001612fca565b50505050905090810190601f16801561300f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613035611aed565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156130c75760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b50806130d16111e4565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400602082015291146131565760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505050505050509392505050565b61316c611249565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156131f15760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b5061322a6131fd61249f565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6134bd16565b565b606061083b82600160a060020a0316612b30565b6000808286106132535760009150612aa6565b8386101561326357869150612aa6565b613273838663ffffffff6132ba16565b613293613286888863ffffffff6132ba16565b899063ffffffff6134c116565b81151561329c57fe5b0490506132af878263ffffffff6132ba16565b979650505050505050565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156133465760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b505050808203805b5092915050565b60408051600280825260608083018452926020830190803883390190505090508281600081518110151561338557fe5b6020908102909101015280518290829060019081106133a057fe5b6020908102909101015292915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156117bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d6565b6000806000806040516020818751602089018a5afa9250600083111561346357805191505b50909590945092505050565b6000806040516020818551602087016000895af160008111156134b3573d80156134a057602081146134a9576134b1565b600193506134b1565b600183511493505b505b5090949350505050565b9055565b6000808315156134d4576000915061334e565b508282028284828115156134e457fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f57000000000000000000000000000000602082015292919004146117bd5760405160e560020a62461bcd028152600401808060200182810382528381815181526020019150805190602001908083836000838110156107ee5781810151838201526020016107d656004150505f415554485f4641494c45440000000000000000000000000000000000544d5f43414c4c45525f4e4f545f544f4b454e00000000000000000000000000494e49545f4e4f545f494e495449414c495a4544000000000000000000000000a165627a7a72305820a502424d5a6355535e93e765d3c99572b9dbfae2abb9b1bc0a334b30dc3edfcd0029", - "sourceMap": "410:16216:22:-;;;344:9:40;:7;;;;:9;:::i;:::-;410:16216:22;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;410:16216:22:-;;;;;;;", - "deployedSourceMap": "410:16216:22:-;;;;;;;;;-1:-1:-1;;;410:16216:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;863:53:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;863:53:22;;;;;;;;;;;;;;;;;;;;12000:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12000:158:22;-1:-1:-1;;;;;12000:158:22;;;;;6631:876;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6631:876:22;-1:-1:-1;;;;;6631:876:22;;;;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;11392:602:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11392:602:22;-1:-1:-1;;;;;11392:602:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4490:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4490:215:22;-1:-1:-1;;;;;4490:215:22;;;;;;;;;9487:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9487:220:22;-1:-1:-1;;;;;9487:220:22;;;;;;;;;;;;12164:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12164:165:22;-1:-1:-1;;;;;12164:165:22;;;;;;;12484:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12484:120:22;-1:-1:-1;;;;;12484:120:22;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;578:60:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;578:60:22;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;2425:51:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2425:51:22;-1:-1:-1;;;;;2425:51:22;;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;5617:230:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5617:230:22;-1:-1:-1;;;;;5617:230:22;;;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;644:62:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:62:22;;;;798:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;798:58:22;;;;5250:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5250:149:22;-1:-1:-1;;;;;5250:149:22;;;;;;;11224:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11224:143:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11224:143:22;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11224:143:22;;-1:-1:-1;11224:143:22;;-1:-1:-1;;;;;;;11224:143:22;4873:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4873:119:22;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;10712:506:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10712:506:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10712:506:22;;-1:-1:-1;10712:506:22;;-1:-1:-1;;;;;;;10712:506:22;9968:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9968:105:22;-1:-1:-1;;;;;9968:105:22;;;;;;;;;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;3719:493:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3719:493:22;-1:-1:-1;;;;;3719:493:22;;;;;;;;;;;514:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:58:22;;;;2196:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2196:31:22;;;;712:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;712:80:22;;;;10300:102;;-1:-1:-1;;;;;10300:102:22;;;;;7737:1015;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7737:1015:22;-1:-1:-1;;;;;7737:1015:22;;;;;;;2166:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2166:24:22;;;;10431:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10431:80:22;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;863:53:22:-;914:2;863:53;:::o;12000:158::-;12080:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12106:45:22;12127:7;12136:14;:12;:14::i;:::-;12106:20;:45::i;:::-;12099:52;12000:158;-1:-1:-1;;12000:158:22:o;6631:876::-;682:24;;;-1:-1:-1;;;;;682:24:22;;;;;;;;;;;;6892:7;;;;6850:23;6854:9;6865:7;6850:3;:23::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;6951:19:22;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6923:26:22;;6944:4;6923:26;;6915:56;;;;-1:-1:-1;;;;;6915:56:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6915:56:22;-1:-1:-1;;;;;;6989:26:22;;;;;;:15;:26;;;;;;;;;;7044:23;;;;;;;;;;;;;;;;;;;914:2;-1:-1:-1;6981:87:22;;;;-1:-1:-1;;;;;6981:87:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6981:87:22;;7096:6;7086:16;;:6;:16;;;;:37;;;;;7116:7;7106:17;;:6;:17;;;;7086:37;7125:22;;;;;;;;;;;;;;;;;;7078:70;;;;;;-1:-1:-1;;;;;7078:70:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7078:70:22;;7179:15;:26;7195:9;-1:-1:-1;;;;;7179:26:22;-1:-1:-1;;;;;7179:26:22;;;;;;;;;;;;;:28;;;;;;;;;;;;7159:48;;7250:128;;;;;;;;;7276:7;7250:128;;;;7297:6;7250:128;;;;;;7317:6;7250:128;;;;;;7337:7;7250:128;;;;;;7358:10;7250:128;;;;;7217:8;:19;7226:9;-1:-1:-1;;;;;7217:19:22;-1:-1:-1;;;;;7217:19:22;;;;;;;;;;;;:30;7237:9;7217:30;;;;;;;;;;;:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7389:27;7397:9;7408:7;7389;:27::i;:::-;7432:41;;;;;;;;;;;;;;-1:-1:-1;;;;;7432:41:22;;;;;;;;;;;-1:-1:-1;7491:9:22;;6631:876;-1:-1:-1;;;;;;;;6631:876:22:o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;11392:602:22:-;11578:14;11606:12;11632;11658:14;11686;11725:33;11524:10;11536;3075:15;:24;3091:7;-1:-1:-1;;;;;3075:24:22;-1:-1:-1;;;;;3075:24:22;;;;;;;;;;;;;3062:10;:37;3101:16;;;;;;;;;;;;;;;;;;3054:64;;;;;;;-1:-1:-1;;;;;3054:64:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3054:64:22;-1:-1:-1;;;;;;;;;11761:20:22;;;;;;;;:8;:20;;;;;;;;:32;;;;;;;;;;11812:19;;11849:18;;;;;11812:19;;11849:18;;;;;-1:-1:-1;11885:18:22;;;;;;-1:-1:-1;;;;11923:20:22;;;;-1:-1:-1;;;;11965:22:22;;;;;;-1:-1:-1;11812:19:22;-1:-1:-1;11392:602:22:o;4490:215::-;550:22;;;;;;;;;;;;;;;;4566:23;4570:9;4581:7;4566:3;:23::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;4637:25:22;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4609:26:22;;4630:4;4609:26;;4601:62;;;;-1:-1:-1;;;;;4601:62:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4601:62:22;;4673:25;4679:9;4690:7;4673:5;:25::i;:::-;4490:215;;;;:::o;9487:220::-;9580:4;2824:5;;2832:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2832:22:22;;;;;-1:-1:-1;;;;;2824:5:22;2802:10;:28;2794:61;;;;-1:-1:-1;;;;;2794:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2794:61:22;;9603:39;9629:3;9634:7;9603:25;:39::i;:::-;:97;;;;;9693:7;9646:43;9667:5;9674:14;:12;:14::i;9646:43::-;:54;;9603:97;9596:104;9487:220;-1:-1:-1;;;;9487:220:22:o;12164:165::-;12260:7;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;12286:36:22;12307:7;12316:5;12286:20;:36::i;:::-;12279:43;12164:165;-1:-1:-1;;;12164:165:22:o;12484:120::-;12550:4;12591:5;-1:-1:-1;;;;;12591:5:22;;;12573:24;;;;;12484:120::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;578:60:22:-;615:23;;;;;;;;;;;;;;;;578:60;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;2425:51:22:-;;;;;;;;;;;;;:::o;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;5617:230:22:-;834:22;;;;;;;;;;;;;;;;5691:21;5695:7;5704;5691:3;:21::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;5803:5:22;;;:37;;;;;;-1:-1:-1;;;;;5803:37:22;;;;;;;;;;;;;;;:5;;;;;:19;;:37;;;;;;;;;;;;;;;;;;:5;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;5803:37:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5803:37:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5617:230:22:o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;644:62:22;682:24;;;-1:-1:-1;;;;;682:24:22;;;;;;;;;;;;644:62;:::o;798:58::-;834:22;;;;;;;;;;;;;;;;798:58;:::o;5250:149::-;682:24;;;-1:-1:-1;;;;;682:24:22;;;;;;;;;;;;5330:23;5334:9;5345:7;5330:3;:23::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;5365:27:22;5373:9;5384:7;5365;:27::i;11224:143::-;11289:4;11312:16;:14;:16::i;:::-;:48;;;;-1:-1:-1;11359:1:22;11332:5;;:24;;;-1:-1:-1;;;;;11332:24:22;;-1:-1:-1;;;;;11332:24:22;;;;;;;;;:5;;;;;:15;;:24;;;;;;;;;;;;;;11359:1;11332:5;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;11332:24:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11332:24:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11332:24:22;:28;;11224:143;-1:-1:-1;;;11224:143:22:o;4873:119::-;615:23;;;;;;;;;;;;;;;;4932:12;4936:7;4932:3;:12::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;;4956:29:22;4970:4;4977:7;4956:5;:29::i;:::-;4873:119;;;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;10712:506:22:-;10840:18;11077:26;10772:34;10783:10;10795;10772;:34::i;:::-;10808:21;;;;;;;;;;;;;;;;;;10764:66;;;;;;-1:-1:-1;;;;;10764:66:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10764:66:22;-1:-1:-1;10861:12:22;;;10871:1;10861:12;;11120:1;10861:12;;;;11106:16;;;;;;;;10861:12;;-1:-1:-1;10861:12:22;;11120:1;;11106:16;;;;10861:12;105:10:-1;11106:16:22;88:34:-1;-1:-1;;11155:5:22;;;11132:12;;;;-1:-1:-1;;;;;;11155:5:22;;11132:12;;-1:-1:-1;11132:12:22;;;;;;-1:-1:-1;;;;;11132:29:22;;;:12;;;;;;;;;;:29;11172:39;11182:10;11194:5;11201:9;11172;:39::i;9968:105::-;10039:4;2824:5;;2832:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2832:22:22;;;;;-1:-1:-1;;;;;2824:5:22;2802:10;:28;2794:61;;;;-1:-1:-1;;;;;2794:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2794:61:22;-1:-1:-1;10062:4:22;;9968:105;-1:-1:-1;;;;9968:105:22:o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;3719:493:22:-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;3884:13:22;:11;:13::i;:::-;3947:4;-1:-1:-1;;;;;3916:36:22;:6;-1:-1:-1;;;;;3916:17:22;;:19;;;;;-1:-1:-1;;;3916:19:22;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3916:19:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3916:19:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3916:19:22;3954:22;;;;;;;;;;;;;3916:19;3954:22;;;;-1:-1:-1;;;;;3916:36:22;;;;3908:69;;;;-1:-1:-1;;;;;3908:69:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3908:69:22;-1:-1:-1;3988:5:22;:14;;-1:-1:-1;;3988:14:22;-1:-1:-1;;;;;3988:14:22;;;;;4031:22;;:56;;4070:17;4031:56;;;-1:-1:-1;;4031:56:22;4012:16;:75;;;;4130:13;4102:41;;:5;;;;;;;;;-1:-1:-1;;;;;4102:5:22;-1:-1:-1;;;;;4102:22:22;;:24;;;;;-1:-1:-1;;;4102:24:22;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4102:24:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4102:24:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4102:24:22;:41;;;4098:108;;4159:5;;;:36;;;;;;;;;;;;;;;-1:-1:-1;;;;;4159:5:22;;;;:21;;:36;;;;;;;;;;:5;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;4159:36:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4159:36:22;;;;3719:493;;;:::o;514:58::-;550:22;;;;;;;;;;;;;;;;514:58;:::o;2196:31::-;;;;:::o;712:80::-;759:33;;;;;;;;;;;;;;;;712:80;:::o;10300:102::-;10367:4;2824:5;;2832:22;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2832:22:22;;;;;-1:-1:-1;;;;;2824:5:22;2802:10;:28;2794:61;;;;-1:-1:-1;;;;;2794:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2794:61:22;-1:-1:-1;10390:5:22;;10300:102;-1:-1:-1;;10300:102:22:o;7737:1015::-;759:33;;;;;;;;;;;;;;;;7921:22;;;;7850:12;7854:7;7850:3;:12::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;;;;;;3075:24:22;;;;;;:15;:24;;;;;;;;;;3101:16;;;;;;;;;;;;;;;;;;;7886:7;;7895:10;;3062:37;;3054:64;;;;-1:-1:-1;;;;;3054:64:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3054:64:22;-1:-1:-1;;;;;;7946:17:22;;;;;;:8;:17;;;;;;;;:29;;;;;;;;;7993:11;;;;8006:27;;;;;;;;7993:11;8006:27;;;;;;;;;;7946:29;-1:-1:-1;;;;7993:11:22;;;;7985:49;;;;;;-1:-1:-1;;;;;7985:49:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7985:49:22;-1:-1:-1;8104:8:22;;8065:150;;8126:14;:12;:14::i;:::-;8154:7;;;;;;;;;8175;;;;;;-1:-1:-1;;;8196:9:22;;;;8065:25;:150::i;:::-;-1:-1:-1;;;;;8418:17:22;;;;;;;:8;:17;;;;;;;;:29;;;;;;;;8411:36;;;;;;;-1:-1:-1;;8411:36:22;;;8593:5;;:53;;-1:-1:-1;;;;;8593:53:22;;;;;;;;;8629:4;8593:53;;;;;;;;;;;;8045:170;;-1:-1:-1;8593:5:22;;;;:18;;:53;;;;;8418:17;;8593:53;;;;;;;;:5;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;8593:53:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8593:53:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8593:53:22;8648:35;;;;;;;;;8593:53;8648:35;;;;;;;;;8585:99;;;;;;-1:-1:-1;;;;;8585:99:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8585:99:22;-1:-1:-1;8700:45:22;;;;;;;;;;;;;;-1:-1:-1;;;;;8700:45:22;;;;;;;;;;;1216:1:39;;7737:1015:22;;;;;;:::o;2166:24::-;;;-1:-1:-1;;;;;2166:24:22;;:::o;10431:80::-;10500:4;10431:80;:::o;347:94:53:-;422:12;347:94;:::o;926:144::-;999:15;926:144;:::o;15464:1160:22:-;15549:7;15591:5;;:24;;;-1:-1:-1;;;;;15591:24:22;;-1:-1:-1;;;;;15591:24:22;;;;;;;;;15549:7;;;;;;;;;;15591:5;;;;;:15;;:24;;;;;;;;;;;;;;;15549:7;15591:5;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;15591:24:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15591:24:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15591:24:22;;-1:-1:-1;;;;;;16055:24:22;;16074:4;16055:24;16051:537;;-1:-1:-1;;;;;16119:24:22;;;;;;:15;:24;;;;;;;-1:-1:-1;16119:24:22;-1:-1:-1;16157:421:22;16181:13;16177:1;:17;16157:421;;;-1:-1:-1;;;;;16244:17:22;;;;;;:8;:17;;;;;;;;:20;;;;;;;;16355:8;;16412:7;;;;16244:20;;-1:-1:-1;16308:189:22;;16385:5;;16412:7;;;;;16441;;;;;;-1:-1:-1;;;16470:9:22;;;;16308:25;:189::i;:::-;16282:215;-1:-1:-1;16530:33:22;:12;16282:215;16530:33;:16;:33;:::i;:::-;16515:48;-1:-1:-1;16196:3:22;;;;;16157:421;;;-1:-1:-1;16605:12:22;;15464:1160;-1:-1:-1;;;;;;15464:1160:22:o;968:126:29:-;1028:11;1058:29;1070:2;-1:-1:-1;;;;;1062:11:29;1083:2;1058:3;:29::i;12631:375:22:-;12711:45;12737:9;12748:7;12711:25;:45::i;:::-;12758:34;;;;;;;;;;;;;;;;;;12703:90;;;;;;-1:-1:-1;;;;;12703:90:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12703:90:22;-1:-1:-1;12908:5:22;;;:53;;;-1:-1:-1;;;;;12908:53:22;;12935:4;12908:53;;;;-1:-1:-1;;;;;12908:53:22;;;;;;;;;;;;;;;:5;;;;;:18;;:53;;;;;;;;;;;;;;;;;;:5;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;12908:53:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12908:53:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12908:53:22;12963:35;;;;;;;;;12908:53;12963:35;;;;;;;;;12900:99;;;;;;-1:-1:-1;;;;;12900:99:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13012:264:22;13090:45;13116:9;13127:7;13090:25;:45::i;:::-;13137:34;;;;;;;;;;;;;;;;;;13082:90;;;;;;-1:-1:-1;;;;;13082:90:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13082:90:22;-1:-1:-1;13182:5:22;;;:40;;;;;;-1:-1:-1;;;;;13182:40:22;;;;;;;;;;;;;;;:5;;;;;:20;;:40;;;;;;;;;;;;;;;;;;:5;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;13182:40:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13182:40:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;13282:319:22;13373:4;-1:-1:-1;;;;;13458:26:22;;13479:4;13458:26;13454:68;;;-1:-1:-1;13507:4:22;13500:11;;13454:68;13578:16;;13538:5;;;:26;;;-1:-1:-1;;;;;13538:26:22;;-1:-1:-1;;;;;13538:26:22;;;;;;;;;:36;;13569:4;;13538:5;;;;;:15;;:26;;;;;;;;;;;;;;;;;;:5;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;13538:26:22;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13538:26:22;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13538:26:22;;:36;:30;:36;:::i;:::-;:56;;;13282:319;-1:-1:-1;;;13282:319:22:o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;179:29;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1594:117:29:-;1669:16;;;1683:1;1669:16;;;;;;;;;1642:11;;1669:16;;;;;;105:10:-1;1669:16:29;88:34:-1;136:17;;-1:-1;1669:16:29;1665:20;;1702:2;1695:1;1697;1695:4;;;;;;;;;;;;;;;;;;:9;1594:117;;-1:-1:-1;1594:117:29:o;1217:3212:60:-;1364:5;1385:27;1533:10;1584:17;1671:19;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;755:21:48;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;4467:17:60;4514:16;4495:8;:6;:8::i;:::-;4467:37;;4533:7;:5;:7::i;:::-;4514:26;;1415:29;1436:7;1415:20;:29::i;:::-;1495:26;;;;;;;;;;;;;;;;;1385:59;;-1:-1:-1;;;;;;1462:31:60;;;;1454:68;;;;-1:-1:-1;;;;;1454:68:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1454:68:60;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;1546:28;;-1:-1:-1;1546:28:60;;1632:7;;1641:6;;1649:10;;1604:56;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1604:56:60;;;;-1:-1:-1;;;;;1604:56:60;;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;;;1604:56:60;1584:76;;2067:1;1979;1930:4;1924:11;1880:4;1874;1870:15;1823:8;1768:3;1738:384;2152:4;2146:11;;-1:-1:-1;2198:7:60;2218:195;;;;2478:4;2462:14;2459:24;2500:970;;;;4144:4;4128:14;4124:25;4199:8;4193:4;4185:6;4170:38;4243:21;;4237:4;4230:35;2452:1851;;2500:970;-1:-1:-1;;;;;2845:6:60;2838:82;2995:66;2988:4;2980:6;2976:17;2969:93;3128:66;3121:4;3113:6;3109:17;3102:93;3259:66;3252:4;3244:6;3240:17;3233:93;3373:3;3365:6;3358:19;2452:1851;;2191:2126;;2218:195;2337:14;2334:1;2326:6;2311:41;2384:14;2376:6;2369:30;2191:2126;;1709:2618;4363:8;-1:-1:-1;;;;;4342:56:60;;4374:7;4383:6;4391;4342:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:6;4409:13;;4598:9;-1:-1:-1;;;;;4577:30:60;4585:8;:6;:8::i;:::-;-1:-1:-1;;;;;4577:30:60;;4609;;;;;;;;;;;;;;;;;;4569:71;;;;;;;-1:-1:-1;;;;;4569:71:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4569:71:60;-1:-1:-1;4669:8:60;4658:7;:5;:7::i;:::-;4679:30;;;;;;;;;;;;;;;;;;4658:19;4650:60;;;;-1:-1:-1;;;;;4650:60:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4650:60:60;;787:1:48;;1217:3212:60;;;;;;;;;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;435:101:29:-;483:11;513:16;525:2;-1:-1:-1;;;;;517:11:29;513:3;:16::i;14469:989:22:-;14672:7;;14761:14;;;14757:53;;14798:1;14791:8;;;;14757:53;14830:5;14823:4;:12;14819:56;;;14858:6;14851:13;;;;14819:56;15359:17;:6;15370:5;15359:17;:10;:17;:::i;:::-;15329:27;15340:15;:4;15349:5;15340:15;:8;:15;:::i;:::-;15329:6;;:27;:10;:27;:::i;:::-;:47;;;;;;;;;-1:-1:-1;15427:24:22;:6;15329:47;15427:24;:10;:24;:::i;:::-;15420:31;14469:989;-1:-1:-1;;;;;;;14469:989:22:o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;;1685:172;;;;;;:::o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;1928:170:79:-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2148:774:52;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;", - "source": "/*\n * SPDX-License-Identitifer: GPL-3.0-or-later\n */\n\n/* solium-disable function-order */\n\npragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/IForwarder.sol\";\n\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\n\nimport \"@aragon/apps-shared-minime/contracts/ITokenController.sol\";\nimport \"@aragon/apps-shared-minime/contracts/MiniMeToken.sol\";\n\n\ncontract TokenManager is ITokenController, IForwarder, AragonApp {\n using SafeMath for uint256;\n\n bytes32 public constant MINT_ROLE = keccak256(\"MINT_ROLE\");\n bytes32 public constant ISSUE_ROLE = keccak256(\"ISSUE_ROLE\");\n bytes32 public constant ASSIGN_ROLE = keccak256(\"ASSIGN_ROLE\");\n bytes32 public constant REVOKE_VESTINGS_ROLE = keccak256(\"REVOKE_VESTINGS_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n\n uint256 public constant MAX_VESTINGS_PER_ADDRESS = 50;\n\n string private constant ERROR_CALLER_NOT_TOKEN = \"TM_CALLER_NOT_TOKEN\";\n string private constant ERROR_NO_VESTING = \"TM_NO_VESTING\";\n string private constant ERROR_TOKEN_CONTROLLER = \"TM_TOKEN_CONTROLLER\";\n string private constant ERROR_MINT_RECEIVER_IS_TM = \"TM_MINT_RECEIVER_IS_TM\";\n string private constant ERROR_VESTING_TO_TM = \"TM_VESTING_TO_TM\";\n string private constant ERROR_TOO_MANY_VESTINGS = \"TM_TOO_MANY_VESTINGS\";\n string private constant ERROR_WRONG_CLIFF_DATE = \"TM_WRONG_CLIFF_DATE\";\n string private constant ERROR_VESTING_NOT_REVOKABLE = \"TM_VESTING_NOT_REVOKABLE\";\n string private constant ERROR_REVOKE_TRANSFER_FROM_REVERTED = \"TM_REVOKE_TRANSFER_FROM_REVERTED\";\n string private constant ERROR_CAN_NOT_FORWARD = \"TM_CAN_NOT_FORWARD\";\n string private constant ERROR_BALANCE_INCREASE_NOT_ALLOWED = \"TM_BALANCE_INC_NOT_ALLOWED\";\n string private constant ERROR_ASSIGN_TRANSFER_FROM_REVERTED = \"TM_ASSIGN_TRANSFER_FROM_REVERTED\";\n\n struct TokenVesting {\n uint256 amount;\n uint64 start;\n uint64 cliff;\n uint64 vesting;\n bool revokable;\n }\n\n // Note that we COMPLETELY trust this MiniMeToken to not be malicious for proper operation of this contract\n MiniMeToken public token;\n uint256 public maxAccountTokens;\n\n // We are mimicing an array in the inner mapping, we use a mapping instead to make app upgrade more graceful\n mapping (address => mapping (uint256 => TokenVesting)) internal vestings;\n mapping (address => uint256) public vestingsLengths;\n\n // Other token specific events can be watched on the token address directly (avoids duplication)\n event NewVesting(address indexed receiver, uint256 vestingId, uint256 amount);\n event RevokeVesting(address indexed receiver, uint256 vestingId, uint256 nonVestedAmount);\n\n modifier onlyToken() {\n require(msg.sender == address(token), ERROR_CALLER_NOT_TOKEN);\n _;\n }\n\n modifier vestingExists(address _holder, uint256 _vestingId) {\n // TODO: it's not checking for gaps that may appear because of deletes in revokeVesting function\n require(_vestingId < vestingsLengths[_holder], ERROR_NO_VESTING);\n _;\n }\n\n /**\n * @notice Initialize Token Manager for `_token.symbol(): string`, whose tokens are `transferable ? 'not' : ''` transferable`_maxAccountTokens > 0 ? ' and limited to a maximum of ' + @tokenAmount(_token, _maxAccountTokens, false) + ' per account' : ''`\n * @param _token MiniMeToken address for the managed token (Token Manager instance must be already set as the token controller)\n * @param _transferable whether the token can be transferred by holders\n * @param _maxAccountTokens Maximum amount of tokens an account can have (0 for infinite tokens)\n */\n function initialize(\n MiniMeToken _token,\n bool _transferable,\n uint256 _maxAccountTokens\n )\n external\n onlyInit\n {\n initialized();\n\n require(_token.controller() == address(this), ERROR_TOKEN_CONTROLLER);\n\n token = _token;\n maxAccountTokens = _maxAccountTokens == 0 ? uint256(-1) : _maxAccountTokens;\n\n if (token.transfersEnabled() != _transferable) {\n token.enableTransfers(_transferable);\n }\n }\n\n /**\n * @notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for `_receiver`\n * @param _receiver The address receiving the tokens, cannot be the Token Manager itself (use `issue()` instead)\n * @param _amount Number of tokens minted\n */\n function mint(address _receiver, uint256 _amount) external authP(MINT_ROLE, arr(_receiver, _amount)) {\n require(_receiver != address(this), ERROR_MINT_RECEIVER_IS_TM);\n _mint(_receiver, _amount);\n }\n\n /**\n * @notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for the Token Manager\n * @param _amount Number of tokens minted\n */\n function issue(uint256 _amount) external authP(ISSUE_ROLE, arr(_amount)) {\n _mint(address(this), _amount);\n }\n\n /**\n * @notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings\n * @param _receiver The address receiving the tokens\n * @param _amount Number of tokens transferred\n */\n function assign(address _receiver, uint256 _amount) external authP(ASSIGN_ROLE, arr(_receiver, _amount)) {\n _assign(_receiver, _amount);\n }\n\n /**\n * @notice Burn `@tokenAmount(self.token(): address, _amount, false)` tokens from `_holder`\n * @param _holder Holder of tokens being burned\n * @param _amount Number of tokens being burned\n */\n function burn(address _holder, uint256 _amount) external authP(BURN_ROLE, arr(_holder, _amount)) {\n // minime.destroyTokens() never returns false, only reverts on failure\n token.destroyTokens(_holder, _amount);\n }\n\n /**\n * @notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings with a `_revokable : 'revokable' : ''` vesting starting at `@formatDate(_start)`, cliff at `@formatDate(_cliff)` (first portion of tokens transferable), and completed vesting at `@formatDate(_vested)` (all tokens transferable)\n * @param _receiver The address receiving the tokens, cannot be Token Manager itself\n * @param _amount Number of tokens vested\n * @param _start Date the vesting calculations start\n * @param _cliff Date when the initial portion of tokens are transferable\n * @param _vested Date when all tokens are transferable\n * @param _revokable Whether the vesting can be revoked by the Token Manager\n */\n function assignVested(\n address _receiver,\n uint256 _amount,\n uint64 _start,\n uint64 _cliff,\n uint64 _vested,\n bool _revokable\n )\n external\n authP(ASSIGN_ROLE, arr(_receiver, _amount))\n returns (uint256)\n {\n require(_receiver != address(this), ERROR_VESTING_TO_TM);\n require(vestingsLengths[_receiver] < MAX_VESTINGS_PER_ADDRESS, ERROR_TOO_MANY_VESTINGS);\n require(_start <= _cliff && _cliff <= _vested, ERROR_WRONG_CLIFF_DATE);\n\n uint256 vestingId = vestingsLengths[_receiver]++;\n vestings[_receiver][vestingId] = TokenVesting(\n _amount,\n _start,\n _cliff,\n _vested,\n _revokable\n );\n\n _assign(_receiver, _amount);\n\n emit NewVesting(_receiver, vestingId, _amount);\n\n return vestingId;\n }\n\n /**\n * @notice Revoke vesting #`_vestingId` from `_holder`, returning unvested tokens to the Token Manager\n * @param _holder Address whose vesting to revoke\n * @param _vestingId Numeric id of the vesting\n */\n function revokeVesting(address _holder, uint256 _vestingId)\n external\n authP(REVOKE_VESTINGS_ROLE, arr(_holder))\n vestingExists(_holder, _vestingId)\n {\n TokenVesting storage v = vestings[_holder][_vestingId];\n require(v.revokable, ERROR_VESTING_NOT_REVOKABLE);\n\n uint256 nonVested = _calculateNonVestedTokens(\n v.amount,\n getTimestamp(),\n v.start,\n v.cliff,\n v.vesting\n );\n\n // To make vestingIds immutable over time, we just zero out the revoked vesting\n // Clearing this out also allows the token transfer back to the Token Manager to succeed\n delete vestings[_holder][_vestingId];\n\n // transferFrom always works as controller\n // onTransfer hook always allows if transfering to token controller\n require(token.transferFrom(_holder, address(this), nonVested), ERROR_REVOKE_TRANSFER_FROM_REVERTED);\n\n emit RevokeVesting(_holder, _vestingId, nonVested);\n }\n\n // ITokenController fns\n // `onTransfer()`, `onApprove()`, and `proxyPayment()` are callbacks from the MiniMe token\n // contract and are only meant to be called through the managed MiniMe token that gets assigned\n // during initialization.\n\n /*\n * @dev Notifies the controller about a token transfer allowing the controller to decide whether\n * to allow it or react if desired (only callable from the token).\n * Initialization check is implicitly provided by `onlyToken()`.\n * @param _from The origin of the transfer\n * @param _to The destination of the transfer\n * @param _amount The amount of the transfer\n * @return False if the controller does not authorize the transfer\n */\n function onTransfer(address _from, address _to, uint256 _amount) external onlyToken returns (bool) {\n return _isBalanceIncreaseAllowed(_to, _amount) && _transferableBalance(_from, getTimestamp()) >= _amount;\n }\n\n /**\n * @dev Notifies the controller about an approval allowing the controller to react if desired\n * Initialization check is implicitly provided by `onlyToken()`.\n * @return False if the controller does not authorize the approval\n */\n function onApprove(address, address, uint) external onlyToken returns (bool) {\n return true;\n }\n\n /**\n * @dev Called when ether is sent to the MiniMe Token contract\n * Initialization check is implicitly provided by `onlyToken()`.\n * @return True if the ether is accepted, false for it to throw\n */\n function proxyPayment(address) external payable onlyToken returns (bool) {\n return false;\n }\n\n // Forwarding fns\n\n function isForwarder() external pure returns (bool) {\n return true;\n }\n\n /**\n * @notice Execute desired action as a token holder\n * @dev IForwarder interface conformance. Forwards any token holder action.\n * @param _evmScript Script being executed\n */\n function forward(bytes _evmScript) public {\n require(canForward(msg.sender, _evmScript), ERROR_CAN_NOT_FORWARD);\n bytes memory input = new bytes(0); // TODO: Consider input for this\n\n // Add the managed token to the blacklist to disallow a token holder from executing actions\n // on the token controller's (this contract) behalf\n address[] memory blacklist = new address[](1);\n blacklist[0] = address(token);\n\n runScript(_evmScript, input, blacklist);\n }\n\n function canForward(address _sender, bytes) public view returns (bool) {\n return hasInitialized() && token.balanceOf(_sender) > 0;\n }\n\n // Getter fns\n\n function getVesting(\n address _recipient,\n uint256 _vestingId\n )\n public\n view\n vestingExists(_recipient, _vestingId)\n returns (\n uint256 amount,\n uint64 start,\n uint64 cliff,\n uint64 vesting,\n bool revokable\n )\n {\n TokenVesting storage tokenVesting = vestings[_recipient][_vestingId];\n amount = tokenVesting.amount;\n start = tokenVesting.start;\n cliff = tokenVesting.cliff;\n vesting = tokenVesting.vesting;\n revokable = tokenVesting.revokable;\n }\n\n function spendableBalanceOf(address _holder) public view isInitialized returns (uint256) {\n return _transferableBalance(_holder, getTimestamp());\n }\n\n function transferableBalance(address _holder, uint256 _time) public view isInitialized returns (uint256) {\n return _transferableBalance(_holder, _time);\n }\n\n /**\n * @dev Disable recovery escape hatch for own token,\n * as the it has the concept of issuing tokens without assigning them\n */\n function allowRecoverability(address _token) public view returns (bool) {\n return _token != address(token);\n }\n\n // Internal fns\n\n function _assign(address _receiver, uint256 _amount) internal {\n require(_isBalanceIncreaseAllowed(_receiver, _amount), ERROR_BALANCE_INCREASE_NOT_ALLOWED);\n // Must use transferFrom() as transfer() does not give the token controller full control\n require(token.transferFrom(address(this), _receiver, _amount), ERROR_ASSIGN_TRANSFER_FROM_REVERTED);\n }\n\n function _mint(address _receiver, uint256 _amount) internal {\n require(_isBalanceIncreaseAllowed(_receiver, _amount), ERROR_BALANCE_INCREASE_NOT_ALLOWED);\n token.generateTokens(_receiver, _amount); // minime.generateTokens() never returns false\n }\n\n function _isBalanceIncreaseAllowed(address _receiver, uint256 _inc) internal view returns (bool) {\n // Max balance doesn't apply to the token manager itself\n if (_receiver == address(this)) {\n return true;\n }\n return token.balanceOf(_receiver).add(_inc) <= maxAccountTokens;\n }\n\n /**\n * @dev Calculate amount of non-vested tokens at a specifc time\n * @param tokens The total amount of tokens vested\n * @param time The time at which to check\n * @param start The date vesting started\n * @param cliff The cliff period\n * @param vested The fully vested date\n * @return The amount of non-vested tokens of a specific grant\n * transferableTokens\n * | _/-------- vestedTokens rect\n * | _/\n * | _/\n * | _/\n * | _/\n * | /\n * | .|\n * | . |\n * | . |\n * | . |\n * | . |\n * | . |\n * +===+===========+---------+----------> time\n * Start Cliff Vested\n */\n function _calculateNonVestedTokens(\n uint256 tokens,\n uint256 time,\n uint256 start,\n uint256 cliff,\n uint256 vested\n )\n private\n pure\n returns (uint256)\n {\n // Shortcuts for before cliff and after vested cases.\n if (time >= vested) {\n return 0;\n }\n if (time < cliff) {\n return tokens;\n }\n\n // Interpolate all vested tokens.\n // As before cliff the shortcut returns 0, we can just calculate a value\n // in the vesting rect (as shown in above's figure)\n\n // vestedTokens = tokens * (time - start) / (vested - start)\n // In assignVesting we enforce start <= cliff <= vested\n // Here we shortcut time >= vested and time < cliff,\n // so no division by 0 is possible\n uint256 vestedTokens = tokens.mul(time.sub(start)) / vested.sub(start);\n\n // tokens - vestedTokens\n return tokens.sub(vestedTokens);\n }\n\n function _transferableBalance(address _holder, uint256 _time) internal view returns (uint256) {\n uint256 transferable = token.balanceOf(_holder);\n\n // This check is not strictly necessary for the current version of this contract, as\n // Token Managers now cannot assign vestings to themselves.\n // However, this was a possibility in the past, so in case there were vestings assigned to\n // themselves, this will still return the correct value (entire balance, as the Token\n // Manager does not have a spending limit on its own balance).\n if (_holder != address(this)) {\n uint256 vestingsCount = vestingsLengths[_holder];\n for (uint256 i = 0; i < vestingsCount; i++) {\n TokenVesting storage v = vestings[_holder][i];\n uint256 nonTransferable = _calculateNonVestedTokens(\n v.amount,\n _time,\n v.start,\n v.cliff,\n v.vesting\n );\n transferable = transferable.sub(nonTransferable);\n }\n }\n\n return transferable;\n }\n}\n", - "sourcePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "ast": { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "exportedSymbols": { - "TokenManager": [ - 19073 - ] - }, - "id": 19074, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 18183, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "94:23:22" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 18184, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 23454, - "src": "119:49:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 18185, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 23672, - "src": "169:52:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 18186, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 27870, - "src": "223:52:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "id": 18187, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 16028, - "src": "277:67:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 18188, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 17135, - "src": "345:62:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18189, - "name": "ITokenController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16027, - "src": "435:16:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 18190, - "nodeType": "InheritanceSpecifier", - "src": "435:16:22" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18191, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "453:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 18192, - "nodeType": "InheritanceSpecifier", - "src": "453:10:22" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18193, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "465:9:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 18194, - "nodeType": "InheritanceSpecifier", - "src": "465:9:22" - } - ], - "contractDependencies": [ - 16027, - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 19073, - "linearizedBaseContracts": [ - 19073, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671, - 16027 - ], - "name": "TokenManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 18197, - "libraryName": { - "contractScope": null, - "id": 18195, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "487:8:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "481:27:22", - "typeName": { - "id": 18196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "500:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 18202, - "name": "MINT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "514:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "514:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d494e545f524f4c45", - "id": 18200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "560:11:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_154c00819833dac601ee5ddded6fda79d9d8b506b911b3dbd54cdb95fe6c3686", - "typeString": "literal_string \"MINT_ROLE\"" - }, - "value": "MINT_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_154c00819833dac601ee5ddded6fda79d9d8b506b911b3dbd54cdb95fe6c3686", - "typeString": "literal_string \"MINT_ROLE\"" - } - ], - "id": 18199, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "550:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "550:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18207, - "name": "ISSUE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "578:60:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18203, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "578:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "49535355455f524f4c45", - "id": 18205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "625:12:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2406f1e99f79cea012fb88c5c36566feaeefee0f4b98d3a376b49310222b53c4", - "typeString": "literal_string \"ISSUE_ROLE\"" - }, - "value": "ISSUE_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_2406f1e99f79cea012fb88c5c36566feaeefee0f4b98d3a376b49310222b53c4", - "typeString": "literal_string \"ISSUE_ROLE\"" - } - ], - "id": 18204, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "615:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18212, - "name": "ASSIGN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "644:62:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18208, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "41535349474e5f524f4c45", - "id": 18210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "692:13:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f5a08927c847d7a29dc35e105208dbde5ce951392105d712761cc5d17440e2ff", - "typeString": "literal_string \"ASSIGN_ROLE\"" - }, - "value": "ASSIGN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f5a08927c847d7a29dc35e105208dbde5ce951392105d712761cc5d17440e2ff", - "typeString": "literal_string \"ASSIGN_ROLE\"" - } - ], - "id": 18209, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "682:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "682:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18217, - "name": "REVOKE_VESTINGS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "712:80:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "712:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5245564f4b455f56455354494e47535f524f4c45", - "id": 18215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "769:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_95ffc68daedf1eb334cfcd22ee24a5eeb5a8e58aa40679f2ad247a84140f8d6e", - "typeString": "literal_string \"REVOKE_VESTINGS_ROLE\"" - }, - "value": "REVOKE_VESTINGS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_95ffc68daedf1eb334cfcd22ee24a5eeb5a8e58aa40679f2ad247a84140f8d6e", - "typeString": "literal_string \"REVOKE_VESTINGS_ROLE\"" - } - ], - "id": 18214, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "759:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "759:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18222, - "name": "BURN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "798:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "798:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4255524e5f524f4c45", - "id": 18220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "844:11:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", - "typeString": "literal_string \"BURN_ROLE\"" - }, - "value": "BURN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", - "typeString": "literal_string \"BURN_ROLE\"" - } - ], - "id": 18219, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "834:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18225, - "name": "MAX_VESTINGS_PER_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "863:53:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "863:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 18224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "914:2:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18228, - "name": "ERROR_CALLER_NOT_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "923:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18226, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "923:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f43414c4c45525f4e4f545f544f4b454e", - "id": 18227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1a89b8cdbdc2944c57294b0391f2a7d28ca286eb2c3e60cdd4b9461a0381df8", - "typeString": "literal_string \"TM_CALLER_NOT_TOKEN\"" - }, - "value": "TM_CALLER_NOT_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18231, - "name": "ERROR_NO_VESTING", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "999:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18229, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "999:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f4e4f5f56455354494e47", - "id": 18230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1042:15:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e58800e54011b78b0f26f397495d939339b84ffc714b84e5f9f82d7f925b4cd4", - "typeString": "literal_string \"TM_NO_VESTING\"" - }, - "value": "TM_NO_VESTING" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18234, - "name": "ERROR_TOKEN_CONTROLLER", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1063:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18232, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1063:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f544f4b454e5f434f4e54524f4c4c4552", - "id": 18233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1112:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_665d12afb25ae855835fa801a495db5c0dc17509fd09ae2f0e71ad1c99c0f7ef", - "typeString": "literal_string \"TM_TOKEN_CONTROLLER\"" - }, - "value": "TM_TOKEN_CONTROLLER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18237, - "name": "ERROR_MINT_RECEIVER_IS_TM", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1139:76:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18235, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1139:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f4d494e545f52454345495645525f49535f544d", - "id": 18236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1191:24:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df03d19ae47b3b78b8d8530d652564559e359e5c1aabe80ccb746fa3be6d718a", - "typeString": "literal_string \"TM_MINT_RECEIVER_IS_TM\"" - }, - "value": "TM_MINT_RECEIVER_IS_TM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18240, - "name": "ERROR_VESTING_TO_TM", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1221:64:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18238, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1221:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f56455354494e475f544f5f544d", - "id": 18239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1267:18:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8758efcfd20e8689404e19fa3158a1e1bed9fa7ae36af0e4ff792d9d9585b5af", - "typeString": "literal_string \"TM_VESTING_TO_TM\"" - }, - "value": "TM_VESTING_TO_TM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18243, - "name": "ERROR_TOO_MANY_VESTINGS", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1291:72:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18241, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1291:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f544f4f5f4d414e595f56455354494e4753", - "id": 18242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1341:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d7e86ff8841a8dbc5e617dd3cf057b08b2d9a42c406172be99a5de4b7831cf47", - "typeString": "literal_string \"TM_TOO_MANY_VESTINGS\"" - }, - "value": "TM_TOO_MANY_VESTINGS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18246, - "name": "ERROR_WRONG_CLIFF_DATE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1369:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18244, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1369:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f57524f4e475f434c4946465f44415445", - "id": 18245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1418:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7153794b46b4c93f4f46a4245605d5f0b27f26ef1574b8394431bdaae283cbc0", - "typeString": "literal_string \"TM_WRONG_CLIFF_DATE\"" - }, - "value": "TM_WRONG_CLIFF_DATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18249, - "name": "ERROR_VESTING_NOT_REVOKABLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1445:80:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18247, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1445:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f56455354494e475f4e4f545f5245564f4b41424c45", - "id": 18248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:26:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_95fd8da2a2e85dbbc02186b47870f457257c14a8e30040d7cdfddd0db2ec8f03", - "typeString": "literal_string \"TM_VESTING_NOT_REVOKABLE\"" - }, - "value": "TM_VESTING_NOT_REVOKABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18252, - "name": "ERROR_REVOKE_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1531:96:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1531:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f5245564f4b455f5452414e534645525f46524f4d5f5245564552544544", - "id": 18251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:34:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_db7e7bea8a3e06053d9ce1a46fec9f3cae3468c59c1d825a9595d219c5fb4ba0", - "typeString": "literal_string \"TM_REVOKE_TRANSFER_FROM_REVERTED\"" - }, - "value": "TM_REVOKE_TRANSFER_FROM_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18255, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1633:68:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18253, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1633:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f43414e5f4e4f545f464f5257415244", - "id": 18254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1681:20:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40dad3e8808c9552adc0ceb63220b80475917fd314fe84bbfed3430b25a7cdaf", - "typeString": "literal_string \"TM_CAN_NOT_FORWARD\"" - }, - "value": "TM_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18258, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1707:89:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18256, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1707:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f42414c414e43455f494e435f4e4f545f414c4c4f574544", - "id": 18257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1768:28:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01867da116437f8c8ebb0d23d7669c93e87109b1e4991c92523ca2a9fd7f3fd1", - "typeString": "literal_string \"TM_BALANCE_INC_NOT_ALLOWED\"" - }, - "value": "TM_BALANCE_INC_NOT_ALLOWED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18261, - "name": "ERROR_ASSIGN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1802:96:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18259, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1802:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f41535349474e5f5452414e534645525f46524f4d5f5245564552544544", - "id": 18260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1864:34:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_942e082c893982fa16c1067985c53ce2706583b575c0148f5e47f0926af1b6b5", - "typeString": "literal_string \"TM_ASSIGN_TRANSFER_FROM_REVERTED\"" - }, - "value": "TM_ASSIGN_TRANSFER_FROM_REVERTED" - }, - "visibility": "private" - }, - { - "canonicalName": "TokenManager.TokenVesting", - "id": 18272, - "members": [ - { - "constant": false, - "id": 18263, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1935:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18265, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1959:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18264, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1959:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18267, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1981:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18266, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1981:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18269, - "name": "vesting", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "2003:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18268, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2003:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18271, - "name": "revokable", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "2027:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2027:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenVesting", - "nodeType": "StructDefinition", - "scope": 19073, - "src": "1905:143:22", - "visibility": "public" - }, - { - "constant": false, - "id": 18274, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2166:24:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 18273, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "2166:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 18276, - "name": "maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2196:31:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2196:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 18282, - "name": "vestings", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2347:72:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting))" - }, - "typeName": { - "id": 18281, - "keyType": { - "id": 18277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2356:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2347:54:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting))" - }, - "valueType": { - "id": 18280, - "keyType": { - "id": 18278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2376:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2367:33:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting)" - }, - "valueType": { - "contractScope": null, - "id": 18279, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "2387:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18286, - "name": "vestingsLengths", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2425:51:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 18285, - "keyType": { - "id": 18283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2434:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2425:28:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 18284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2445:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 18294, - "name": "NewVesting", - "nodeType": "EventDefinition", - "parameters": { - "id": 18293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18288, - "indexed": true, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2601:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2601:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18290, - "indexed": false, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2627:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2627:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18292, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2646:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2646:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2600:61:22" - }, - "src": "2584:78:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 18302, - "name": "RevokeVesting", - "nodeType": "EventDefinition", - "parameters": { - "id": 18301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18296, - "indexed": true, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2687:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2687:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18298, - "indexed": false, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2713:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18297, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2713:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18300, - "indexed": false, - "name": "nonVestedAmount", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2732:23:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2732:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2686:70:22" - }, - "src": "2667:90:22" - }, - { - "body": { - "id": 18315, - "nodeType": "Block", - "src": "2784:89:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18305, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2802:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2802:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18308, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "2824:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2816:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2816:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2802:28:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18311, - "name": "ERROR_CALLER_NOT_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18228, - "src": "2832:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18304, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2794:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:61:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18313, - "nodeType": "ExpressionStatement", - "src": "2794:61:22" - }, - { - "id": 18314, - "nodeType": "PlaceholderStatement", - "src": "2865:1:22" - } - ] - }, - "documentation": null, - "id": 18316, - "name": "onlyToken", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 18303, - "nodeType": "ParameterList", - "parameters": [], - "src": "2781:2:22" - }, - "src": "2763:110:22", - "visibility": "internal" - }, - { - "body": { - "id": 18332, - "nodeType": "Block", - "src": "2939:197:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18323, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18320, - "src": "3062:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18324, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "3075:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18326, - "indexExpression": { - "argumentTypes": null, - "id": 18325, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18318, - "src": "3091:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3075:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3062:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18328, - "name": "ERROR_NO_VESTING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18231, - "src": "3101:16:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18322, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3054:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3054:64:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18330, - "nodeType": "ExpressionStatement", - "src": "3054:64:22" - }, - { - "id": 18331, - "nodeType": "PlaceholderStatement", - "src": "3128:1:22" - } - ] - }, - "documentation": null, - "id": 18333, - "name": "vestingExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 18321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18318, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18333, - "src": "2902:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2902:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18320, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18333, - "src": "2919:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2919:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2901:37:22" - }, - "src": "2879:257:22", - "visibility": "internal" - }, - { - "body": { - "id": 18387, - "nodeType": "Block", - "src": "3874:338:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18344, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3884:11:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 18345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:13:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18346, - "nodeType": "ExpressionStatement", - "src": "3884:13:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 18348, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18335, - "src": "3916:6:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 16043, - "src": "3916:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 18350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:19:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18352, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "3947:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3939:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3939:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3916:36:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18355, - "name": "ERROR_TOKEN_CONTROLLER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18234, - "src": "3954:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18347, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3908:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3908:69:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18357, - "nodeType": "ExpressionStatement", - "src": "3908:69:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18358, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "3988:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 18359, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18335, - "src": "3996:6:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "3988:14:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18361, - "nodeType": "ExpressionStatement", - "src": "3988:14:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18362, - "name": "maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18276, - "src": "4012:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18363, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18339, - "src": "4031:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4052:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4031:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 18370, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18339, - "src": "4070:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4031:56:22", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "4064:2:22", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4065:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 18366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4056:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 18369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4056:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4012:75:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18373, - "nodeType": "ExpressionStatement", - "src": "4012:75:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 18374, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "4102:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfersEnabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 16115, - "src": "4102:22:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", - "typeString": "function () view external returns (bool)" - } - }, - "id": 18376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4102:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 18377, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18337, - "src": "4130:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4102:41:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18386, - "nodeType": "IfStatement", - "src": "4098:108:22", - "trueBody": { - "id": 18385, - "nodeType": "Block", - "src": "4145:61:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18382, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18337, - "src": "4181:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 18379, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "4159:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "enableTransfers", - "nodeType": "MemberAccess", - "referencedDeclaration": 16783, - "src": "4159:21:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool) external" - } - }, - "id": 18383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:36:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18384, - "nodeType": "ExpressionStatement", - "src": "4159:36:22" - } - ] - } - } - ] - }, - "documentation": "@notice Initialize Token Manager for `_token.symbol(): string`, whose tokens are `transferable ? 'not' : ''` transferable`_maxAccountTokens > 0 ? ' and limited to a maximum of ' + @tokenAmount(_token, _maxAccountTokens, false) + ' per account' : ''`\n@param _token MiniMeToken address for the managed token (Token Manager instance must be already set as the token controller)\n@param _transferable whether the token can be transferred by holders\n@param _maxAccountTokens Maximum amount of tokens an account can have (0 for infinite tokens)", - "id": 18388, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18342, - "modifierName": { - "argumentTypes": null, - "id": 18341, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3861:8:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3861:8:22" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18335, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3748:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 18334, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3748:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18337, - "name": "_transferable", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3776:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18336, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3776:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18339, - "name": "_maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3804:25:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3804:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3738:97:22" - }, - "payable": false, - "returnParameters": { - "id": 18343, - "nodeType": "ParameterList", - "parameters": [], - "src": "3874:0:22" - }, - "scope": 19073, - "src": "3719:493:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18416, - "nodeType": "Block", - "src": "4591:114:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18403, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4609:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18405, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "4630:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4622:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4622:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4609:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18408, - "name": "ERROR_MINT_RECEIVER_IS_TM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18237, - "src": "4637:25:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18402, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4601:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4601:62:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18410, - "nodeType": "ExpressionStatement", - "src": "4601:62:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18412, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4679:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18413, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18392, - "src": "4690:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18411, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18920, - "src": "4673:5:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4673:25:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18415, - "nodeType": "ExpressionStatement", - "src": "4673:25:22" - } - ] - }, - "documentation": "@notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for `_receiver`\n@param _receiver The address receiving the tokens, cannot be the Token Manager itself (use `issue()` instead)\n@param _amount Number of tokens minted", - "id": 18417, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18395, - "name": "MINT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18202, - "src": "4555:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18397, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4570:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18398, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18392, - "src": "4581:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18396, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "4566:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4566:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18400, - "modifierName": { - "argumentTypes": null, - "id": 18394, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4549:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4549:41:22" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18390, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4504:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4504:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18392, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4523:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4523:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4503:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18401, - "nodeType": "ParameterList", - "parameters": [], - "src": "4591:0:22" - }, - "scope": 19073, - "src": "4490:215:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18435, - "nodeType": "Block", - "src": "4946:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18430, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "4970:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4962:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4962:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18432, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18419, - "src": "4977:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18428, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18920, - "src": "4956:5:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4956:29:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18434, - "nodeType": "ExpressionStatement", - "src": "4956:29:22" - } - ] - }, - "documentation": "@notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for the Token Manager\n@param _amount Number of tokens minted", - "id": 18436, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18422, - "name": "ISSUE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18207, - "src": "4920:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18424, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18419, - "src": "4936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18423, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "4932:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 18425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4932:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18426, - "modifierName": { - "argumentTypes": null, - "id": 18421, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4914:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4914:31:22" - } - ], - "name": "issue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18419, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18436, - "src": "4888:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4888:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4887:17:22" - }, - "payable": false, - "returnParameters": { - "id": 18427, - "nodeType": "ParameterList", - "parameters": [], - "src": "4946:0:22" - }, - "scope": 19073, - "src": "4873:119:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18455, - "nodeType": "Block", - "src": "5355:44:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18451, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18438, - "src": "5373:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18452, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18440, - "src": "5384:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18450, - "name": "_assign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18897, - "src": "5365:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5365:27:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18454, - "nodeType": "ExpressionStatement", - "src": "5365:27:22" - } - ] - }, - "documentation": "@notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings\n@param _receiver The address receiving the tokens\n@param _amount Number of tokens transferred", - "id": 18456, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18443, - "name": "ASSIGN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18212, - "src": "5317:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18445, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18438, - "src": "5334:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18446, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18440, - "src": "5345:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18444, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5330:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5330:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18448, - "modifierName": { - "argumentTypes": null, - "id": 18442, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5311:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5311:43:22" - } - ], - "name": "assign", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18438, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18456, - "src": "5266:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5266:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18440, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18456, - "src": "5285:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5285:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18449, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:22" - }, - "scope": 19073, - "src": "5250:149:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18477, - "nodeType": "Block", - "src": "5714:133:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18473, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5823:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18474, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18460, - "src": "5832:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18470, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "5803:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "destroyTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 16771, - "src": "5803:19:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 18475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5803:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18476, - "nodeType": "ExpressionStatement", - "src": "5803:37:22" - } - ] - }, - "documentation": "@notice Burn `@tokenAmount(self.token(): address, _amount, false)` tokens from `_holder`\n@param _holder Holder of tokens being burned\n@param _amount Number of tokens being burned", - "id": 18478, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18463, - "name": "BURN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18222, - "src": "5680:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18465, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5695:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18466, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18460, - "src": "5704:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18464, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5691:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5691:21:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18468, - "modifierName": { - "argumentTypes": null, - "id": 18462, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5674:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5674:39:22" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18458, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18478, - "src": "5631:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5631:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18460, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18478, - "src": "5648:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18459, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5648:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5630:34:22" - }, - "payable": false, - "returnParameters": { - "id": 18469, - "nodeType": "ParameterList", - "parameters": [], - "src": "5714:0:22" - }, - "scope": 19073, - "src": "5617:230:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18565, - "nodeType": "Block", - "src": "6905:602:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18503, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "6923:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18505, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "6944:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6923:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18508, - "name": "ERROR_VESTING_TO_TM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18240, - "src": "6951:19:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18502, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6915:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6915:56:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18510, - "nodeType": "ExpressionStatement", - "src": "6915:56:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18512, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "6989:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18514, - "indexExpression": { - "argumentTypes": null, - "id": 18513, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7005:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6989:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18515, - "name": "MAX_VESTINGS_PER_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18225, - "src": "7018:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6989:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18517, - "name": "ERROR_TOO_MANY_VESTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18243, - "src": "7044:23:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6981:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6981:87:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18519, - "nodeType": "ExpressionStatement", - "src": "6981:87:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18521, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18484, - "src": "7086:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18522, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7096:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7086:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18524, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7106:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18525, - "name": "_vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18488, - "src": "7116:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7106:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7086:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18528, - "name": "ERROR_WRONG_CLIFF_DATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18246, - "src": "7125:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7078:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7078:70:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18530, - "nodeType": "ExpressionStatement", - "src": "7078:70:22" - }, - { - "assignments": [ - 18532 - ], - "declarations": [ - { - "constant": false, - "id": 18532, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "7159:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7159:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18537, - "initialValue": { - "argumentTypes": null, - "id": 18536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7179:28:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18533, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "7179:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18535, - "indexExpression": { - "argumentTypes": null, - "id": 18534, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7195:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7179:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7159:48:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18538, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "7217:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18541, - "indexExpression": { - "argumentTypes": null, - "id": 18539, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7226:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7217:19:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18542, - "indexExpression": { - "argumentTypes": null, - "id": 18540, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7237:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7217:30:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18544, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7276:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18545, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18484, - "src": "7297:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18546, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7317:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18547, - "name": "_vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18488, - "src": "7337:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18548, - "name": "_revokable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18490, - "src": "7358:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 18543, - "name": "TokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18272, - "src": "7250:12:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_TokenVesting_$18272_storage_ptr_$", - "typeString": "type(struct TokenManager.TokenVesting storage pointer)" - } - }, - "id": 18549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7250:128:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_memory", - "typeString": "struct TokenManager.TokenVesting memory" - } - }, - "src": "7217:161:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "id": 18551, - "nodeType": "ExpressionStatement", - "src": "7217:161:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18553, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7397:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18554, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7408:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18552, - "name": "_assign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18897, - "src": "7389:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7389:27:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18556, - "nodeType": "ExpressionStatement", - "src": "7389:27:22" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18558, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7443:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18559, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7454:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18560, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7465:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18557, - "name": "NewVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18294, - "src": "7432:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 18561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7432:41:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18562, - "nodeType": "EmitStatement", - "src": "7427:46:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18563, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7491:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18501, - "id": 18564, - "nodeType": "Return", - "src": "7484:16:22" - } - ] - }, - "documentation": "@notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings with a `_revokable : 'revokable' : ''` vesting starting at `@formatDate(_start)`, cliff at `@formatDate(_cliff)` (first portion of tokens transferable), and completed vesting at `@formatDate(_vested)` (all tokens transferable)\n@param _receiver The address receiving the tokens, cannot be Token Manager itself\n@param _amount Number of tokens vested\n@param _start Date the vesting calculations start\n@param _cliff Date when the initial portion of tokens are transferable\n@param _vested Date when all tokens are transferable\n@param _revokable Whether the vesting can be revoked by the Token Manager", - "id": 18566, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18493, - "name": "ASSIGN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18212, - "src": "6837:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18495, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "6854:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18496, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "6865:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18494, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "6850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6850:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18498, - "modifierName": { - "argumentTypes": null, - "id": 18492, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "6831:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6831:43:22" - } - ], - "name": "assignVested", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18480, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6662:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6662:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18482, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6689:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6689:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18484, - "name": "_start", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6714:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18483, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6714:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18486, - "name": "_cliff", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6737:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18485, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6737:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18488, - "name": "_vested", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6760:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18487, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6760:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18490, - "name": "_revokable", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6784:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18489, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6784:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6652:153:22" - }, - "payable": false, - "returnParameters": { - "id": 18501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6892:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6892:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6891:9:22" - }, - "scope": 19073, - "src": "6631:876:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18637, - "nodeType": "Block", - "src": "7911:841:22", - "statements": [ - { - "assignments": [ - 18584 - ], - "declarations": [ - { - "constant": false, - "id": 18584, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7921:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 18583, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "7921:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18590, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18585, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "7946:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18587, - "indexExpression": { - "argumentTypes": null, - "id": 18586, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7955:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7946:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18589, - "indexExpression": { - "argumentTypes": null, - "id": 18588, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "7964:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7946:29:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7921:54:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18592, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "7993:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revokable", - "nodeType": "MemberAccess", - "referencedDeclaration": 18271, - "src": "7993:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18594, - "name": "ERROR_VESTING_NOT_REVOKABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18249, - "src": "8006:27:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7985:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7985:49:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18596, - "nodeType": "ExpressionStatement", - "src": "7985:49:22" - }, - { - "assignments": [ - 18598 - ], - "declarations": [ - { - "constant": false, - "id": 18598, - "name": "nonVested", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "8045:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8045:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18611, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18600, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8104:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "8104:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18602, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "8126:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8126:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18604, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8154:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "8154:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18606, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8175:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "8175:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18608, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8196:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "8196:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 18599, - "name": "_calculateNonVestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18999, - "src": "8065:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 18610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8065:150:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8045:170:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8411:36:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18612, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "8418:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18614, - "indexExpression": { - "argumentTypes": null, - "id": 18613, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8427:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8418:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18616, - "indexExpression": { - "argumentTypes": null, - "id": 18615, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "8436:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8418:29:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18618, - "nodeType": "ExpressionStatement", - "src": "8411:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18622, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8612:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "8629:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8621:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8621:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18626, - "name": "nonVested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18598, - "src": "8636:9:22", - "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": 18620, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "8593:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16237, - "src": "8593:18:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 18627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8593:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18628, - "name": "ERROR_REVOKE_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18252, - "src": "8648:35:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18619, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8585:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8585:99:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18630, - "nodeType": "ExpressionStatement", - "src": "8585:99:22" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18632, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8714:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18633, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "8723:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18634, - "name": "nonVested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18598, - "src": "8735:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18631, - "name": "RevokeVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18302, - "src": "8700:13:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 18635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8700:45:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18636, - "nodeType": "EmitStatement", - "src": "8695:50:22" - } - ] - }, - "documentation": "@notice Revoke vesting #`_vestingId` from `_holder`, returning unvested tokens to the Token Manager\n@param _holder Address whose vesting to revoke\n@param _vestingId Numeric id of the vesting", - "id": 18638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18573, - "name": "REVOKE_VESTINGS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18217, - "src": "7828:20:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18575, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7854:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 18574, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "7850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 18576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7850:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18577, - "modifierName": { - "argumentTypes": null, - "id": 18572, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "7822:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7822:41:22" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 18579, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7886:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18580, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "7895:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 18581, - "modifierName": { - "argumentTypes": null, - "id": 18578, - "name": "vestingExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18333, - "src": "7872:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", - "typeString": "modifier (address,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7872:34:22" - } - ], - "name": "revokeVesting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18568, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7760:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7760:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18570, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7777:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7777:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7759:37:22" - }, - "payable": false, - "returnParameters": { - "id": 18582, - "nodeType": "ParameterList", - "parameters": [], - "src": "7911:0:22" - }, - "scope": 19073, - "src": "7737:1015:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18664, - "nodeType": "Block", - "src": "9586:121:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18652, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18642, - "src": "9629:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18653, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18644, - "src": "9634:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18651, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "9603:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9603:39:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18656, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "9667:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18657, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "9674:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9674:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18655, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "9646:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9646:43:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18660, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18644, - "src": "9693:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9646:54:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9603:97:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18650, - "id": 18663, - "nodeType": "Return", - "src": "9596:104:22" - } - ] - }, - "documentation": null, - "id": 18665, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18647, - "modifierName": { - "argumentTypes": null, - "id": 18646, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "9561:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9561:9:22" - } - ], - "name": "onTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18640, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9507:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18639, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9507:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18642, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9522:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9522:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18644, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9535:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9535:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9506:45:22" - }, - "payable": false, - "returnParameters": { - "id": 18650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18649, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9580:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18648, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9580:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9579:6:22" - }, - "scope": 19073, - "src": "9487:220:22", - "stateMutability": "nonpayable", - "superFunction": 16015, - "visibility": "external" - }, - { - "body": { - "id": 18680, - "nodeType": "Block", - "src": "10045:28:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10062:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18677, - "id": 18679, - "nodeType": "Return", - "src": "10055:11:22" - } - ] - }, - "documentation": "@dev Notifies the controller about an approval allowing the controller to react if desired\n Initialization check is implicitly provided by `onlyToken()`.\n@return False if the controller does not authorize the approval", - "id": 18681, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18674, - "modifierName": { - "argumentTypes": null, - "id": 18673, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "10020:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10020:9:22" - } - ], - "name": "onApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18667, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "9987:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18666, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9987:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18669, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "9996:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9996:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18671, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "10005:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18670, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10005:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9986:24:22" - }, - "payable": false, - "returnParameters": { - "id": 18677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18676, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "10039:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18675, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10039:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10038:6:22" - }, - "scope": 19073, - "src": "9968:105:22", - "stateMutability": "nonpayable", - "superFunction": 16026, - "visibility": "external" - }, - { - "body": { - "id": 18692, - "nodeType": "Block", - "src": "10373:29:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 18690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10390:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 18689, - "id": 18691, - "nodeType": "Return", - "src": "10383:12:22" - } - ] - }, - "documentation": "@dev Called when ether is sent to the MiniMe Token contract\n Initialization check is implicitly provided by `onlyToken()`.\n@return True if the ether is accepted, false for it to throw", - "id": 18693, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18686, - "modifierName": { - "argumentTypes": null, - "id": 18685, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "10348:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10348:9:22" - } - ], - "name": "proxyPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18683, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18693, - "src": "10322:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10322:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10321:9:22" - }, - "payable": true, - "returnParameters": { - "id": 18689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18688, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18693, - "src": "10367:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18687, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10367:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10366:6:22" - }, - "scope": 19073, - "src": "10300:102:22", - "stateMutability": "payable", - "superFunction": 16004, - "visibility": "external" - }, - { - "body": { - "id": 18700, - "nodeType": "Block", - "src": "10483:28:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10500:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18697, - "id": 18699, - "nodeType": "Return", - "src": "10493:11:22" - } - ] - }, - "documentation": null, - "id": 18701, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18694, - "nodeType": "ParameterList", - "parameters": [], - "src": "10451:2:22" - }, - "payable": false, - "returnParameters": { - "id": 18697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18701, - "src": "10477:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18695, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10477:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10476:6:22" - }, - "scope": 19073, - "src": "10431:80:22", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 18746, - "nodeType": "Block", - "src": "10754:464:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18708, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10783:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10783:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18710, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18703, - "src": "10795:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18707, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 18767 - ], - "referencedDeclaration": 18767, - "src": "10772:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 18711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10772:34:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18712, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18255, - "src": "10808:21:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18706, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10764:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10764:66:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18714, - "nodeType": "ExpressionStatement", - "src": "10764:66:22" - }, - { - "assignments": [ - 18716 - ], - "declarations": [ - { - "constant": false, - "id": 18716, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "10840:18:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18715, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10840:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18721, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 18719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10871:1:22", - "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": 18718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "10861:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 18717, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10865:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 18720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10861:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10840:33:22" - }, - { - "assignments": [ - 18725 - ], - "declarations": [ - { - "constant": false, - "id": 18725, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "11077:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 18723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11077:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18724, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11077:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18731, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 18729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11120:1:22", - "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" - } - ], - "id": 18728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "11106:13:22", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 18726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11110:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18727, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11110:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 18730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11106:16:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11077:45:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18732, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18725, - "src": "11132:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 18734, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11142:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11132:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18736, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "11155:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11147:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11147:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11132:29:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18739, - "nodeType": "ExpressionStatement", - "src": "11132:29:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18741, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18703, - "src": "11182:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 18742, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18716, - "src": "11194:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 18743, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18725, - "src": "11201:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 18740, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "11172:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 18744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11172:39:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 18745, - "nodeType": "ExpressionStatement", - "src": "11172:39:22" - } - ] - }, - "documentation": "@notice Execute desired action as a token holder\n@dev IForwarder interface conformance. Forwards any token holder action.\n@param _evmScript Script being executed", - "id": 18747, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18703, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "10729:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18702, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10729:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10728:18:22" - }, - "payable": false, - "returnParameters": { - "id": 18705, - "nodeType": "ParameterList", - "parameters": [], - "src": "10754:0:22" - }, - "scope": 19073, - "src": "10712:506:22", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 18766, - "nodeType": "Block", - "src": "11295:72:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18756, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "11312:14:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 18757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11312:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18760, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18749, - "src": "11348:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 18758, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "11332:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "11332:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 18761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11332:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11359:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11332:28:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11312:48:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18755, - "id": 18765, - "nodeType": "Return", - "src": "11305:55:22" - } - ] - }, - "documentation": null, - "id": 18767, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18749, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11244:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11244:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11261:5:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18750, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11261:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11243:24:22" - }, - "payable": false, - "returnParameters": { - "id": 18755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18754, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11289:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11289:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11288:6:22" - }, - "scope": 19073, - "src": "11224:143:22", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 18821, - "nodeType": "Block", - "src": "11715:279:22", - "statements": [ - { - "assignments": [ - 18789 - ], - "declarations": [ - { - "constant": false, - "id": 18789, - "name": "tokenVesting", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11725:33:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 18788, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "11725:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18790, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "11761:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18792, - "indexExpression": { - "argumentTypes": null, - "id": 18791, - "name": "_recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18769, - "src": "11770:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11761:20:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18794, - "indexExpression": { - "argumentTypes": null, - "id": 18793, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18771, - "src": "11782:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11761:32:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11725:68:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18796, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18778, - "src": "11803:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18797, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11812:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "11812:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11803:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18800, - "nodeType": "ExpressionStatement", - "src": "11803:28:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18801, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18780, - "src": "11841:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18802, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11849:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "11849:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11841:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18805, - "nodeType": "ExpressionStatement", - "src": "11841:26:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18806, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18782, - "src": "11877:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18807, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11885:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "11885:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11877:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18810, - "nodeType": "ExpressionStatement", - "src": "11877:26:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18811, - "name": "vesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18784, - "src": "11913:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18812, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11923:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "11923:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11913:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18815, - "nodeType": "ExpressionStatement", - "src": "11913:30:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18816, - "name": "revokable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18786, - "src": "11953:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18817, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11965:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revokable", - "nodeType": "MemberAccess", - "referencedDeclaration": 18271, - "src": "11965:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11953:34:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18820, - "nodeType": "ExpressionStatement", - "src": "11953:34:22" - } - ] - }, - "documentation": null, - "id": 18822, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18774, - "name": "_recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18769, - "src": "11524:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18775, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18771, - "src": "11536:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 18776, - "modifierName": { - "argumentTypes": null, - "id": 18773, - "name": "vestingExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18333, - "src": "11510:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", - "typeString": "modifier (address,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11510:37:22" - } - ], - "name": "getVesting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18769, - "name": "_recipient", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11421:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11421:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18771, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11449:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11449:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11411:62:22" - }, - "payable": false, - "returnParameters": { - "id": 18787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18778, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11578:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11578:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18780, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11606:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18779, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11606:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18782, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11632:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18781, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11632:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18784, - "name": "vesting", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11658:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11658:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18786, - "name": "revokable", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11686:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18785, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11686:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11564:146:22" - }, - "scope": 19073, - "src": "11392:602:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18837, - "nodeType": "Block", - "src": "12089:69:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18832, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18824, - "src": "12127:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18833, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "12136:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12136:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18831, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "12106:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12106:45:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18830, - "id": 18836, - "nodeType": "Return", - "src": "12099:52:22" - } - ] - }, - "documentation": null, - "id": 18838, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 18827, - "modifierName": { - "argumentTypes": null, - "id": 18826, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12057:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12057:13:22" - } - ], - "name": "spendableBalanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18824, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18838, - "src": "12028:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12028:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12027:17:22" - }, - "payable": false, - "returnParameters": { - "id": 18830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18838, - "src": "12080:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12080:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12079:9:22" - }, - "scope": 19073, - "src": "12000:158:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18854, - "nodeType": "Block", - "src": "12269:60:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18850, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18840, - "src": "12307:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18851, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18842, - "src": "12316:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18849, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "12286:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12286:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18848, - "id": 18853, - "nodeType": "Return", - "src": "12279:43:22" - } - ] - }, - "documentation": null, - "id": 18855, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 18845, - "modifierName": { - "argumentTypes": null, - "id": 18844, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12237:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12237:13:22" - } - ], - "name": "transferableBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18840, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12193:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18839, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12193:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18842, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12210:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12210:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12192:32:22" - }, - "payable": false, - "returnParameters": { - "id": 18848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18847, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12260:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12260:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12259:9:22" - }, - "scope": 19073, - "src": "12164:165:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18868, - "nodeType": "Block", - "src": "12556:48:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18862, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18857, - "src": "12573:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18864, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "12591:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12583:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12583:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12573:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18861, - "id": 18867, - "nodeType": "Return", - "src": "12566:31:22" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch for own token,\n as the it has the concept of issuing tokens without assigning them", - "id": 18869, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18857, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 18869, - "src": "12513:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12513:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12512:16:22" - }, - "payable": false, - "returnParameters": { - "id": 18861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18860, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18869, - "src": "12550:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12550:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12549:6:22" - }, - "scope": 19073, - "src": "12484:120:22", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 18896, - "nodeType": "Block", - "src": "12693:313:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18878, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18871, - "src": "12737:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18879, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18873, - "src": "12748:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18877, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "12711:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12711:45:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18881, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18258, - "src": "12758:34:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18876, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12703:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12703:90:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18883, - "nodeType": "ExpressionStatement", - "src": "12703:90:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18888, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "12935:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12927:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12927:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18890, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18871, - "src": "12942:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18891, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18873, - "src": "12953:7:22", - "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": 18885, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "12908:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16237, - "src": "12908:18:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 18892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12908:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18893, - "name": "ERROR_ASSIGN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18261, - "src": "12963:35:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18884, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12900:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12900:99:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18895, - "nodeType": "ExpressionStatement", - "src": "12900:99:22" - } - ] - }, - "documentation": null, - "id": 18897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_assign", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18871, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18897, - "src": "12648:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18870, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12648:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18873, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18897, - "src": "12667:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12667:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12647:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18875, - "nodeType": "ParameterList", - "parameters": [], - "src": "12693:0:22" - }, - "scope": 19073, - "src": "12631:375:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18919, - "nodeType": "Block", - "src": "13072:204:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18906, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18899, - "src": "13116:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18907, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18901, - "src": "13127:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18905, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "13090:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13090:45:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18909, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18258, - "src": "13137:34:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13082:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13082:90:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18911, - "nodeType": "ExpressionStatement", - "src": "13082:90:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18915, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18899, - "src": "13203:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18916, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18901, - "src": "13214:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18912, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "13182:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "generateTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 16712, - "src": "13182:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 18917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13182:40:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18918, - "nodeType": "ExpressionStatement", - "src": "13182:40:22" - } - ] - }, - "documentation": null, - "id": 18920, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18899, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18920, - "src": "13027:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13027:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18901, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18920, - "src": "13046:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13046:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13026:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18903, - "nodeType": "ParameterList", - "parameters": [], - "src": "13072:0:22" - }, - "scope": 19073, - "src": "13012:264:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18948, - "nodeType": "Block", - "src": "13379:222:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18929, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18922, - "src": "13458:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "13479:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13471:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13471:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13458:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18937, - "nodeType": "IfStatement", - "src": "13454:68:22", - "trueBody": { - "id": 18936, - "nodeType": "Block", - "src": "13486:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13507:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18928, - "id": 18935, - "nodeType": "Return", - "src": "13500:11:22" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18943, - "name": "_inc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18924, - "src": "13569:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18940, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18922, - "src": "13554:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 18938, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "13538:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "13538:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 18941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13538:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13538:30:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13538:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18945, - "name": "maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18276, - "src": "13578:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13538:56:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18928, - "id": 18947, - "nodeType": "Return", - "src": "13531:63:22" - } - ] - }, - "documentation": null, - "id": 18949, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isBalanceIncreaseAllowed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18922, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13317:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13317:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18924, - "name": "_inc", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13336:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13336:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13316:33:22" - }, - "payable": false, - "returnParameters": { - "id": 18928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13373:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18926, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13373:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13372:6:22" - }, - "scope": 19073, - "src": "13282:319:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18998, - "nodeType": "Block", - "src": "14685:773:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18964, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "14761:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18965, - "name": "vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "14769:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14761:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18970, - "nodeType": "IfStatement", - "src": "14757:53:22", - "trueBody": { - "id": 18969, - "nodeType": "Block", - "src": "14777:33:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14798:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 18963, - "id": 18968, - "nodeType": "Return", - "src": "14791:8:22" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18971, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "14823:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18972, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18957, - "src": "14830:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14823:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18977, - "nodeType": "IfStatement", - "src": "14819:56:22", - "trueBody": { - "id": 18976, - "nodeType": "Block", - "src": "14837:38:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 18974, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "14858:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18963, - "id": 18975, - "nodeType": "Return", - "src": "14851:13:22" - } - ] - } - }, - { - "assignments": [ - 18979 - ], - "declarations": [ - { - "constant": false, - "id": 18979, - "name": "vestedTokens", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "15306:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15306:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18992, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18984, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18955, - "src": "15349:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18982, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "15340:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15340:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15340:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18980, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "15329:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15329:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15329:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18989, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18955, - "src": "15370:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18987, - "name": "vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "15359:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15359:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15329:47:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15306:70:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18995, - "name": "vestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18979, - "src": "15438:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18993, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "15427:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15427:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15427:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18963, - "id": 18997, - "nodeType": "Return", - "src": "15420:31:22" - } - ] - }, - "documentation": "@dev Calculate amount of non-vested tokens at a specifc time\n@param tokens The total amount of tokens vested\n@param time The time at which to check\n@param start The date vesting started\n@param cliff The cliff period\n@param vested The fully vested date\n@return The amount of non-vested tokens of a specific grant\n transferableTokens\n | _/-------- vestedTokens rect\n | _/\n | _/\n | _/\n | _/\n | /\n | .|\n | . |\n | . |\n | . |\n | . |\n | . |\n +===+===========+---------+----------> time\n Start Cliff Vested", - "id": 18999, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_calculateNonVestedTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18951, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14513:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14513:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18953, - "name": "time", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14537:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14537:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18955, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14559:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14559:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18957, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14582:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14582:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18959, - "name": "vested", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14605:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14605:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14503:122:22" - }, - "payable": false, - "returnParameters": { - "id": 18963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14672:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14672:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14671:9:22" - }, - "scope": 19073, - "src": "14469:989:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 19071, - "nodeType": "Block", - "src": "15558:1066:22", - "statements": [ - { - "assignments": [ - 19009 - ], - "declarations": [ - { - "constant": false, - "id": 19009, - "name": "transferable", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15568:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15568:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19014, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19012, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "15607:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 19010, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "15591:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "15591:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 19013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15568:47:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19015, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16055:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19017, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "16074:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 19016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16066:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16066:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16055:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 19068, - "nodeType": "IfStatement", - "src": "16051:537:22", - "trueBody": { - "id": 19067, - "nodeType": "Block", - "src": "16081:507:22", - "statements": [ - { - "assignments": [ - 19021 - ], - "declarations": [ - { - "constant": false, - "id": 19021, - "name": "vestingsCount", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16095:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16095:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19025, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19022, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "16119:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 19024, - "indexExpression": { - "argumentTypes": null, - "id": 19023, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16135:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16119:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16095:48:22" - }, - { - "body": { - "id": 19065, - "nodeType": "Block", - "src": "16201:377:22", - "statements": [ - { - "assignments": [ - 19037 - ], - "declarations": [ - { - "constant": false, - "id": 19037, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16219:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 19036, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "16219:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19043, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19038, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "16244:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 19040, - "indexExpression": { - "argumentTypes": null, - "id": 19039, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16253:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16244:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 19042, - "indexExpression": { - "argumentTypes": null, - "id": 19041, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16262:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16244:20:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16219:45:22" - }, - { - "assignments": [ - 19045 - ], - "declarations": [ - { - "constant": false, - "id": 19045, - "name": "nonTransferable", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16282:23:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16282:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19057, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19047, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16355:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "16355:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19049, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19003, - "src": "16385:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19050, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16412:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "16412:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19052, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16441:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "16441:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19054, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16470:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "16470:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19046, - "name": "_calculateNonVestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18999, - "src": "16308:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 19056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16308:189:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16282:215:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 19063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19058, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16515:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19061, - "name": "nonTransferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19045, - "src": "16547:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 19059, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16530:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "16530:16:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 19062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16530:33:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16515:48:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19064, - "nodeType": "ExpressionStatement", - "src": "16515:48:22" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19030, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16177:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19031, - "name": "vestingsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19021, - "src": "16181:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16177:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19066, - "initializationExpression": { - "assignments": [ - 19027 - ], - "declarations": [ - { - "constant": false, - "id": 19027, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16162:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19026, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16162:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19029, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 19028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16174:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16162:13:22" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 19034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16196:3:22", - "subExpression": { - "argumentTypes": null, - "id": 19033, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16196:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19035, - "nodeType": "ExpressionStatement", - "src": "16196:3:22" - }, - "nodeType": "ForStatement", - "src": "16157:421:22" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 19069, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16605:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19007, - "id": 19070, - "nodeType": "Return", - "src": "16598:19:22" - } - ] - }, - "documentation": null, - "id": 19072, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_transferableBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19004, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19001, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15494:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15494:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19003, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15511:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15511:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15493:32:22" - }, - "payable": false, - "returnParameters": { - "id": 19007, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19006, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15549:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15549:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15548:9:22" - }, - "scope": 19073, - "src": "15464:1160:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 19074, - "src": "410:16216:22" - } - ], - "src": "94:16533:22" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol", - "exportedSymbols": { - "TokenManager": [ - 19073 - ] - }, - "id": 19074, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 18183, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "94:23:22" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 18184, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 23454, - "src": "119:49:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 18185, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 23672, - "src": "169:52:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 18186, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 27870, - "src": "223:52:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "file": "@aragon/apps-shared-minime/contracts/ITokenController.sol", - "id": 18187, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 16028, - "src": "277:67:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 18188, - "nodeType": "ImportDirective", - "scope": 19074, - "sourceUnit": 17135, - "src": "345:62:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18189, - "name": "ITokenController", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 16027, - "src": "435:16:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenController_$16027", - "typeString": "contract ITokenController" - } - }, - "id": 18190, - "nodeType": "InheritanceSpecifier", - "src": "435:16:22" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18191, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "453:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 18192, - "nodeType": "InheritanceSpecifier", - "src": "453:10:22" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 18193, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "465:9:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 18194, - "nodeType": "InheritanceSpecifier", - "src": "465:9:22" - } - ], - "contractDependencies": [ - 16027, - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 19073, - "linearizedBaseContracts": [ - 19073, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671, - 16027 - ], - "name": "TokenManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 18197, - "libraryName": { - "contractScope": null, - "id": 18195, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "487:8:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "481:27:22", - "typeName": { - "id": 18196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "500:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 18202, - "name": "MINT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "514:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "514:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d494e545f524f4c45", - "id": 18200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "560:11:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_154c00819833dac601ee5ddded6fda79d9d8b506b911b3dbd54cdb95fe6c3686", - "typeString": "literal_string \"MINT_ROLE\"" - }, - "value": "MINT_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_154c00819833dac601ee5ddded6fda79d9d8b506b911b3dbd54cdb95fe6c3686", - "typeString": "literal_string \"MINT_ROLE\"" - } - ], - "id": 18199, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "550:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "550:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18207, - "name": "ISSUE_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "578:60:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18203, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "578:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "49535355455f524f4c45", - "id": 18205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "625:12:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2406f1e99f79cea012fb88c5c36566feaeefee0f4b98d3a376b49310222b53c4", - "typeString": "literal_string \"ISSUE_ROLE\"" - }, - "value": "ISSUE_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_2406f1e99f79cea012fb88c5c36566feaeefee0f4b98d3a376b49310222b53c4", - "typeString": "literal_string \"ISSUE_ROLE\"" - } - ], - "id": 18204, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "615:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18212, - "name": "ASSIGN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "644:62:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18208, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "644:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "41535349474e5f524f4c45", - "id": 18210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "692:13:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f5a08927c847d7a29dc35e105208dbde5ce951392105d712761cc5d17440e2ff", - "typeString": "literal_string \"ASSIGN_ROLE\"" - }, - "value": "ASSIGN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f5a08927c847d7a29dc35e105208dbde5ce951392105d712761cc5d17440e2ff", - "typeString": "literal_string \"ASSIGN_ROLE\"" - } - ], - "id": 18209, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "682:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "682:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18217, - "name": "REVOKE_VESTINGS_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "712:80:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18213, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "712:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5245564f4b455f56455354494e47535f524f4c45", - "id": 18215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "769:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_95ffc68daedf1eb334cfcd22ee24a5eeb5a8e58aa40679f2ad247a84140f8d6e", - "typeString": "literal_string \"REVOKE_VESTINGS_ROLE\"" - }, - "value": "REVOKE_VESTINGS_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_95ffc68daedf1eb334cfcd22ee24a5eeb5a8e58aa40679f2ad247a84140f8d6e", - "typeString": "literal_string \"REVOKE_VESTINGS_ROLE\"" - } - ], - "id": 18214, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "759:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "759:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18222, - "name": "BURN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "798:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "798:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4255524e5f524f4c45", - "id": 18220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "844:11:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", - "typeString": "literal_string \"BURN_ROLE\"" - }, - "value": "BURN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", - "typeString": "literal_string \"BURN_ROLE\"" - } - ], - "id": 18219, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "834:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 18221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18225, - "name": "MAX_VESTINGS_PER_ADDRESS", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "863:53:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "863:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 18224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "914:2:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 18228, - "name": "ERROR_CALLER_NOT_TOKEN", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "923:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18226, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "923:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f43414c4c45525f4e4f545f544f4b454e", - "id": 18227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1a89b8cdbdc2944c57294b0391f2a7d28ca286eb2c3e60cdd4b9461a0381df8", - "typeString": "literal_string \"TM_CALLER_NOT_TOKEN\"" - }, - "value": "TM_CALLER_NOT_TOKEN" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18231, - "name": "ERROR_NO_VESTING", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "999:58:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18229, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "999:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f4e4f5f56455354494e47", - "id": 18230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1042:15:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e58800e54011b78b0f26f397495d939339b84ffc714b84e5f9f82d7f925b4cd4", - "typeString": "literal_string \"TM_NO_VESTING\"" - }, - "value": "TM_NO_VESTING" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18234, - "name": "ERROR_TOKEN_CONTROLLER", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1063:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18232, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1063:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f544f4b454e5f434f4e54524f4c4c4552", - "id": 18233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1112:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_665d12afb25ae855835fa801a495db5c0dc17509fd09ae2f0e71ad1c99c0f7ef", - "typeString": "literal_string \"TM_TOKEN_CONTROLLER\"" - }, - "value": "TM_TOKEN_CONTROLLER" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18237, - "name": "ERROR_MINT_RECEIVER_IS_TM", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1139:76:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18235, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1139:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f4d494e545f52454345495645525f49535f544d", - "id": 18236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1191:24:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df03d19ae47b3b78b8d8530d652564559e359e5c1aabe80ccb746fa3be6d718a", - "typeString": "literal_string \"TM_MINT_RECEIVER_IS_TM\"" - }, - "value": "TM_MINT_RECEIVER_IS_TM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18240, - "name": "ERROR_VESTING_TO_TM", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1221:64:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18238, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1221:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f56455354494e475f544f5f544d", - "id": 18239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1267:18:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8758efcfd20e8689404e19fa3158a1e1bed9fa7ae36af0e4ff792d9d9585b5af", - "typeString": "literal_string \"TM_VESTING_TO_TM\"" - }, - "value": "TM_VESTING_TO_TM" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18243, - "name": "ERROR_TOO_MANY_VESTINGS", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1291:72:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18241, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1291:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f544f4f5f4d414e595f56455354494e4753", - "id": 18242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1341:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d7e86ff8841a8dbc5e617dd3cf057b08b2d9a42c406172be99a5de4b7831cf47", - "typeString": "literal_string \"TM_TOO_MANY_VESTINGS\"" - }, - "value": "TM_TOO_MANY_VESTINGS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18246, - "name": "ERROR_WRONG_CLIFF_DATE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1369:70:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18244, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1369:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f57524f4e475f434c4946465f44415445", - "id": 18245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1418:21:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7153794b46b4c93f4f46a4245605d5f0b27f26ef1574b8394431bdaae283cbc0", - "typeString": "literal_string \"TM_WRONG_CLIFF_DATE\"" - }, - "value": "TM_WRONG_CLIFF_DATE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18249, - "name": "ERROR_VESTING_NOT_REVOKABLE", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1445:80:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18247, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1445:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f56455354494e475f4e4f545f5245564f4b41424c45", - "id": 18248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:26:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_95fd8da2a2e85dbbc02186b47870f457257c14a8e30040d7cdfddd0db2ec8f03", - "typeString": "literal_string \"TM_VESTING_NOT_REVOKABLE\"" - }, - "value": "TM_VESTING_NOT_REVOKABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18252, - "name": "ERROR_REVOKE_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1531:96:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1531:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f5245564f4b455f5452414e534645525f46524f4d5f5245564552544544", - "id": 18251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:34:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_db7e7bea8a3e06053d9ce1a46fec9f3cae3468c59c1d825a9595d219c5fb4ba0", - "typeString": "literal_string \"TM_REVOKE_TRANSFER_FROM_REVERTED\"" - }, - "value": "TM_REVOKE_TRANSFER_FROM_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18255, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1633:68:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18253, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1633:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f43414e5f4e4f545f464f5257415244", - "id": 18254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1681:20:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40dad3e8808c9552adc0ceb63220b80475917fd314fe84bbfed3430b25a7cdaf", - "typeString": "literal_string \"TM_CAN_NOT_FORWARD\"" - }, - "value": "TM_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18258, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1707:89:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18256, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1707:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f42414c414e43455f494e435f4e4f545f414c4c4f574544", - "id": 18257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1768:28:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01867da116437f8c8ebb0d23d7669c93e87109b1e4991c92523ca2a9fd7f3fd1", - "typeString": "literal_string \"TM_BALANCE_INC_NOT_ALLOWED\"" - }, - "value": "TM_BALANCE_INC_NOT_ALLOWED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 18261, - "name": "ERROR_ASSIGN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "1802:96:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 18259, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1802:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "544d5f41535349474e5f5452414e534645525f46524f4d5f5245564552544544", - "id": 18260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1864:34:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_942e082c893982fa16c1067985c53ce2706583b575c0148f5e47f0926af1b6b5", - "typeString": "literal_string \"TM_ASSIGN_TRANSFER_FROM_REVERTED\"" - }, - "value": "TM_ASSIGN_TRANSFER_FROM_REVERTED" - }, - "visibility": "private" - }, - { - "canonicalName": "TokenManager.TokenVesting", - "id": 18272, - "members": [ - { - "constant": false, - "id": 18263, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1935:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18265, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1959:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18264, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1959:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18267, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "1981:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18266, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1981:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18269, - "name": "vesting", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "2003:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18268, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2003:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18271, - "name": "revokable", - "nodeType": "VariableDeclaration", - "scope": 18272, - "src": "2027:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2027:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenVesting", - "nodeType": "StructDefinition", - "scope": 19073, - "src": "1905:143:22", - "visibility": "public" - }, - { - "constant": false, - "id": 18274, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2166:24:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 18273, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "2166:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 18276, - "name": "maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2196:31:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2196:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 18282, - "name": "vestings", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2347:72:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting))" - }, - "typeName": { - "id": 18281, - "keyType": { - "id": 18277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2356:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2347:54:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting))" - }, - "valueType": { - "id": 18280, - "keyType": { - "id": 18278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2376:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2367:33:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting)" - }, - "valueType": { - "contractScope": null, - "id": 18279, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "2387:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18286, - "name": "vestingsLengths", - "nodeType": "VariableDeclaration", - "scope": 19073, - "src": "2425:51:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 18285, - "keyType": { - "id": 18283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2434:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2425:28:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 18284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2445:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 18294, - "name": "NewVesting", - "nodeType": "EventDefinition", - "parameters": { - "id": 18293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18288, - "indexed": true, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2601:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2601:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18290, - "indexed": false, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2627:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2627:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18292, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18294, - "src": "2646:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2646:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2600:61:22" - }, - "src": "2584:78:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 18302, - "name": "RevokeVesting", - "nodeType": "EventDefinition", - "parameters": { - "id": 18301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18296, - "indexed": true, - "name": "receiver", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2687:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2687:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18298, - "indexed": false, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2713:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18297, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2713:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18300, - "indexed": false, - "name": "nonVestedAmount", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "2732:23:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2732:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2686:70:22" - }, - "src": "2667:90:22" - }, - { - "body": { - "id": 18315, - "nodeType": "Block", - "src": "2784:89:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18305, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2802:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2802:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18308, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "2824:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2816:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2816:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2802:28:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18311, - "name": "ERROR_CALLER_NOT_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18228, - "src": "2832:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18304, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2794:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:61:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18313, - "nodeType": "ExpressionStatement", - "src": "2794:61:22" - }, - { - "id": 18314, - "nodeType": "PlaceholderStatement", - "src": "2865:1:22" - } - ] - }, - "documentation": null, - "id": 18316, - "name": "onlyToken", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 18303, - "nodeType": "ParameterList", - "parameters": [], - "src": "2781:2:22" - }, - "src": "2763:110:22", - "visibility": "internal" - }, - { - "body": { - "id": 18332, - "nodeType": "Block", - "src": "2939:197:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18323, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18320, - "src": "3062:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18324, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "3075:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18326, - "indexExpression": { - "argumentTypes": null, - "id": 18325, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18318, - "src": "3091:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3075:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3062:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18328, - "name": "ERROR_NO_VESTING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18231, - "src": "3101:16:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18322, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3054:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3054:64:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18330, - "nodeType": "ExpressionStatement", - "src": "3054:64:22" - }, - { - "id": 18331, - "nodeType": "PlaceholderStatement", - "src": "3128:1:22" - } - ] - }, - "documentation": null, - "id": 18333, - "name": "vestingExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 18321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18318, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18333, - "src": "2902:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2902:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18320, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18333, - "src": "2919:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2919:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2901:37:22" - }, - "src": "2879:257:22", - "visibility": "internal" - }, - { - "body": { - "id": 18387, - "nodeType": "Block", - "src": "3874:338:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18344, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3884:11:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 18345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:13:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18346, - "nodeType": "ExpressionStatement", - "src": "3884:13:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 18348, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18335, - "src": "3916:6:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "controller", - "nodeType": "MemberAccess", - "referencedDeclaration": 16043, - "src": "3916:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 18350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:19:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18352, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "3947:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3939:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3939:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3916:36:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18355, - "name": "ERROR_TOKEN_CONTROLLER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18234, - "src": "3954:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18347, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3908:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3908:69:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18357, - "nodeType": "ExpressionStatement", - "src": "3908:69:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18358, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "3988:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 18359, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18335, - "src": "3996:6:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "3988:14:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18361, - "nodeType": "ExpressionStatement", - "src": "3988:14:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18362, - "name": "maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18276, - "src": "4012:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18363, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18339, - "src": "4031:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4052:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4031:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 18370, - "name": "_maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18339, - "src": "4070:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4031:56:22", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "4064:2:22", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 18367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4065:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 18366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4056:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 18369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4056:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4012:75:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18373, - "nodeType": "ExpressionStatement", - "src": "4012:75:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 18374, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "4102:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfersEnabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 16115, - "src": "4102:22:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", - "typeString": "function () view external returns (bool)" - } - }, - "id": 18376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4102:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 18377, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18337, - "src": "4130:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4102:41:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18386, - "nodeType": "IfStatement", - "src": "4098:108:22", - "trueBody": { - "id": 18385, - "nodeType": "Block", - "src": "4145:61:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18382, - "name": "_transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18337, - "src": "4181:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 18379, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "4159:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "enableTransfers", - "nodeType": "MemberAccess", - "referencedDeclaration": 16783, - "src": "4159:21:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool) external" - } - }, - "id": 18383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:36:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18384, - "nodeType": "ExpressionStatement", - "src": "4159:36:22" - } - ] - } - } - ] - }, - "documentation": "@notice Initialize Token Manager for `_token.symbol(): string`, whose tokens are `transferable ? 'not' : ''` transferable`_maxAccountTokens > 0 ? ' and limited to a maximum of ' + @tokenAmount(_token, _maxAccountTokens, false) + ' per account' : ''`\n@param _token MiniMeToken address for the managed token (Token Manager instance must be already set as the token controller)\n@param _transferable whether the token can be transferred by holders\n@param _maxAccountTokens Maximum amount of tokens an account can have (0 for infinite tokens)", - "id": 18388, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18342, - "modifierName": { - "argumentTypes": null, - "id": 18341, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3861:8:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3861:8:22" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18335, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3748:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 18334, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3748:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18337, - "name": "_transferable", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3776:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18336, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3776:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18339, - "name": "_maxAccountTokens", - "nodeType": "VariableDeclaration", - "scope": 18388, - "src": "3804:25:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3804:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3738:97:22" - }, - "payable": false, - "returnParameters": { - "id": 18343, - "nodeType": "ParameterList", - "parameters": [], - "src": "3874:0:22" - }, - "scope": 19073, - "src": "3719:493:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18416, - "nodeType": "Block", - "src": "4591:114:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18403, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4609:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18405, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "4630:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4622:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4622:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4609:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18408, - "name": "ERROR_MINT_RECEIVER_IS_TM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18237, - "src": "4637:25:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18402, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4601:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4601:62:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18410, - "nodeType": "ExpressionStatement", - "src": "4601:62:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18412, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4679:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18413, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18392, - "src": "4690:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18411, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18920, - "src": "4673:5:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4673:25:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18415, - "nodeType": "ExpressionStatement", - "src": "4673:25:22" - } - ] - }, - "documentation": "@notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for `_receiver`\n@param _receiver The address receiving the tokens, cannot be the Token Manager itself (use `issue()` instead)\n@param _amount Number of tokens minted", - "id": 18417, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18395, - "name": "MINT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18202, - "src": "4555:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18397, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18390, - "src": "4570:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18398, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18392, - "src": "4581:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18396, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "4566:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4566:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18400, - "modifierName": { - "argumentTypes": null, - "id": 18394, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4549:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4549:41:22" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18390, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4504:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4504:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18392, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4523:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4523:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4503:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18401, - "nodeType": "ParameterList", - "parameters": [], - "src": "4591:0:22" - }, - "scope": 19073, - "src": "4490:215:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18435, - "nodeType": "Block", - "src": "4946:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18430, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "4970:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4962:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4962:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18432, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18419, - "src": "4977:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18428, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18920, - "src": "4956:5:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4956:29:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18434, - "nodeType": "ExpressionStatement", - "src": "4956:29:22" - } - ] - }, - "documentation": "@notice Mint `@tokenAmount(self.token(): address, _amount, false)` tokens for the Token Manager\n@param _amount Number of tokens minted", - "id": 18436, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18422, - "name": "ISSUE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18207, - "src": "4920:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18424, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18419, - "src": "4936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18423, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22063, - "src": "4932:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - } - }, - "id": 18425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4932:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18426, - "modifierName": { - "argumentTypes": null, - "id": 18421, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4914:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4914:31:22" - } - ], - "name": "issue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18419, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18436, - "src": "4888:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4888:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4887:17:22" - }, - "payable": false, - "returnParameters": { - "id": 18427, - "nodeType": "ParameterList", - "parameters": [], - "src": "4946:0:22" - }, - "scope": 19073, - "src": "4873:119:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18455, - "nodeType": "Block", - "src": "5355:44:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18451, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18438, - "src": "5373:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18452, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18440, - "src": "5384:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18450, - "name": "_assign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18897, - "src": "5365:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5365:27:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18454, - "nodeType": "ExpressionStatement", - "src": "5365:27:22" - } - ] - }, - "documentation": "@notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings\n@param _receiver The address receiving the tokens\n@param _amount Number of tokens transferred", - "id": 18456, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18443, - "name": "ASSIGN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18212, - "src": "5317:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18445, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18438, - "src": "5334:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18446, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18440, - "src": "5345:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18444, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5330:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5330:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18448, - "modifierName": { - "argumentTypes": null, - "id": 18442, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5311:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5311:43:22" - } - ], - "name": "assign", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18438, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18456, - "src": "5266:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5266:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18440, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18456, - "src": "5285:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5285:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18449, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:22" - }, - "scope": 19073, - "src": "5250:149:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18477, - "nodeType": "Block", - "src": "5714:133:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18473, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5823:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18474, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18460, - "src": "5832:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18470, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "5803:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "destroyTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 16771, - "src": "5803:19:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 18475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5803:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18476, - "nodeType": "ExpressionStatement", - "src": "5803:37:22" - } - ] - }, - "documentation": "@notice Burn `@tokenAmount(self.token(): address, _amount, false)` tokens from `_holder`\n@param _holder Holder of tokens being burned\n@param _amount Number of tokens being burned", - "id": 18478, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18463, - "name": "BURN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18222, - "src": "5680:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18465, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5695:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18466, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18460, - "src": "5704:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18464, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "5691:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5691:21:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18468, - "modifierName": { - "argumentTypes": null, - "id": 18462, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "5674:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5674:39:22" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18458, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18478, - "src": "5631:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5631:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18460, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18478, - "src": "5648:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18459, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5648:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5630:34:22" - }, - "payable": false, - "returnParameters": { - "id": 18469, - "nodeType": "ParameterList", - "parameters": [], - "src": "5714:0:22" - }, - "scope": 19073, - "src": "5617:230:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18565, - "nodeType": "Block", - "src": "6905:602:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18503, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "6923:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18505, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "6944:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6923:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18508, - "name": "ERROR_VESTING_TO_TM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18240, - "src": "6951:19:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18502, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6915:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6915:56:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18510, - "nodeType": "ExpressionStatement", - "src": "6915:56:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18512, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "6989:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18514, - "indexExpression": { - "argumentTypes": null, - "id": 18513, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7005:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6989:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18515, - "name": "MAX_VESTINGS_PER_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18225, - "src": "7018:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6989:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18517, - "name": "ERROR_TOO_MANY_VESTINGS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18243, - "src": "7044:23:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6981:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6981:87:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18519, - "nodeType": "ExpressionStatement", - "src": "6981:87:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18521, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18484, - "src": "7086:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18522, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7096:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7086:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 18526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18524, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7106:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18525, - "name": "_vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18488, - "src": "7116:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "7106:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7086:37:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18528, - "name": "ERROR_WRONG_CLIFF_DATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18246, - "src": "7125:22:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7078:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7078:70:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18530, - "nodeType": "ExpressionStatement", - "src": "7078:70:22" - }, - { - "assignments": [ - 18532 - ], - "declarations": [ - { - "constant": false, - "id": 18532, - "name": "vestingId", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "7159:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7159:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18537, - "initialValue": { - "argumentTypes": null, - "id": 18536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7179:28:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18533, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "7179:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 18535, - "indexExpression": { - "argumentTypes": null, - "id": 18534, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7195:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7179:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7159:48:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18538, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "7217:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18541, - "indexExpression": { - "argumentTypes": null, - "id": 18539, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7226:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7217:19:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18542, - "indexExpression": { - "argumentTypes": null, - "id": 18540, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7237:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7217:30:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18544, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7276:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18545, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18484, - "src": "7297:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18546, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18486, - "src": "7317:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18547, - "name": "_vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18488, - "src": "7337:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 18548, - "name": "_revokable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18490, - "src": "7358:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 18543, - "name": "TokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18272, - "src": "7250:12:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_TokenVesting_$18272_storage_ptr_$", - "typeString": "type(struct TokenManager.TokenVesting storage pointer)" - } - }, - "id": 18549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7250:128:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_memory", - "typeString": "struct TokenManager.TokenVesting memory" - } - }, - "src": "7217:161:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "id": 18551, - "nodeType": "ExpressionStatement", - "src": "7217:161:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18553, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7397:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18554, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7408:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18552, - "name": "_assign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18897, - "src": "7389:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 18555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7389:27:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18556, - "nodeType": "ExpressionStatement", - "src": "7389:27:22" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18558, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "7443:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18559, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7454:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18560, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "7465:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18557, - "name": "NewVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18294, - "src": "7432:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 18561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7432:41:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18562, - "nodeType": "EmitStatement", - "src": "7427:46:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18563, - "name": "vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18532, - "src": "7491:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18501, - "id": 18564, - "nodeType": "Return", - "src": "7484:16:22" - } - ] - }, - "documentation": "@notice Assign `@tokenAmount(self.token(): address, _amount, false)` tokens to `_receiver` from the Token Manager's holdings with a `_revokable : 'revokable' : ''` vesting starting at `@formatDate(_start)`, cliff at `@formatDate(_cliff)` (first portion of tokens transferable), and completed vesting at `@formatDate(_vested)` (all tokens transferable)\n@param _receiver The address receiving the tokens, cannot be Token Manager itself\n@param _amount Number of tokens vested\n@param _start Date the vesting calculations start\n@param _cliff Date when the initial portion of tokens are transferable\n@param _vested Date when all tokens are transferable\n@param _revokable Whether the vesting can be revoked by the Token Manager", - "id": 18566, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18493, - "name": "ASSIGN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18212, - "src": "6837:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18495, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18480, - "src": "6854:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18496, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18482, - "src": "6865:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18494, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21961, - "src": "6850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 18497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6850:23:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18498, - "modifierName": { - "argumentTypes": null, - "id": 18492, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "6831:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6831:43:22" - } - ], - "name": "assignVested", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18480, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6662:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6662:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18482, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6689:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6689:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18484, - "name": "_start", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6714:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18483, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6714:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18486, - "name": "_cliff", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6737:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18485, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6737:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18488, - "name": "_vested", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6760:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18487, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "6760:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18490, - "name": "_revokable", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6784:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18489, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6784:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6652:153:22" - }, - "payable": false, - "returnParameters": { - "id": 18501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18566, - "src": "6892:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6892:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6891:9:22" - }, - "scope": 19073, - "src": "6631:876:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18637, - "nodeType": "Block", - "src": "7911:841:22", - "statements": [ - { - "assignments": [ - 18584 - ], - "declarations": [ - { - "constant": false, - "id": 18584, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7921:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 18583, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "7921:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18590, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18585, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "7946:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18587, - "indexExpression": { - "argumentTypes": null, - "id": 18586, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7955:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7946:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18589, - "indexExpression": { - "argumentTypes": null, - "id": 18588, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "7964:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7946:29:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7921:54:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18592, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "7993:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revokable", - "nodeType": "MemberAccess", - "referencedDeclaration": 18271, - "src": "7993:11:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18594, - "name": "ERROR_VESTING_NOT_REVOKABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18249, - "src": "8006:27:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7985:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7985:49:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18596, - "nodeType": "ExpressionStatement", - "src": "7985:49:22" - }, - { - "assignments": [ - 18598 - ], - "declarations": [ - { - "constant": false, - "id": 18598, - "name": "nonVested", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "8045:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8045:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18611, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18600, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8104:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "8104:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18602, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "8126:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8126:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18604, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8154:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "8154:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18606, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8175:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "8175:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18608, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18584, - "src": "8196:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "8196:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 18599, - "name": "_calculateNonVestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18999, - "src": "8065:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 18610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8065:150:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8045:170:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8411:36:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18612, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "8418:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18614, - "indexExpression": { - "argumentTypes": null, - "id": 18613, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8427:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8418:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18616, - "indexExpression": { - "argumentTypes": null, - "id": 18615, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "8436:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8418:29:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18618, - "nodeType": "ExpressionStatement", - "src": "8411:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18622, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8612:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18624, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "8629:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8621:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8621:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18626, - "name": "nonVested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18598, - "src": "8636:9:22", - "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": 18620, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "8593:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16237, - "src": "8593:18:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 18627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8593:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18628, - "name": "ERROR_REVOKE_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18252, - "src": "8648:35:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18619, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "8585:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8585:99:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18630, - "nodeType": "ExpressionStatement", - "src": "8585:99:22" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18632, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "8714:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18633, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "8723:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 18634, - "name": "nonVested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18598, - "src": "8735:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18631, - "name": "RevokeVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18302, - "src": "8700:13:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 18635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8700:45:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18636, - "nodeType": "EmitStatement", - "src": "8695:50:22" - } - ] - }, - "documentation": "@notice Revoke vesting #`_vestingId` from `_holder`, returning unvested tokens to the Token Manager\n@param _holder Address whose vesting to revoke\n@param _vestingId Numeric id of the vesting", - "id": 18638, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18573, - "name": "REVOKE_VESTINGS_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18217, - "src": "7828:20:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18575, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7854:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 18574, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21876, - "src": "7850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address) pure returns (uint256[] memory)" - } - }, - "id": 18576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7850:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18577, - "modifierName": { - "argumentTypes": null, - "id": 18572, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "7822:5:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7822:41:22" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 18579, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18568, - "src": "7886:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18580, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18570, - "src": "7895:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 18581, - "modifierName": { - "argumentTypes": null, - "id": 18578, - "name": "vestingExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18333, - "src": "7872:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", - "typeString": "modifier (address,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7872:34:22" - } - ], - "name": "revokeVesting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18568, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7760:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7760:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18570, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18638, - "src": "7777:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7777:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7759:37:22" - }, - "payable": false, - "returnParameters": { - "id": 18582, - "nodeType": "ParameterList", - "parameters": [], - "src": "7911:0:22" - }, - "scope": 19073, - "src": "7737:1015:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 18664, - "nodeType": "Block", - "src": "9586:121:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18652, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18642, - "src": "9629:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18653, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18644, - "src": "9634:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18651, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "9603:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9603:39:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18656, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "9667:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18657, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "9674:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9674:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18655, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "9646:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9646:43:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18660, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18644, - "src": "9693:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9646:54:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9603:97:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18650, - "id": 18663, - "nodeType": "Return", - "src": "9596:104:22" - } - ] - }, - "documentation": null, - "id": 18665, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18647, - "modifierName": { - "argumentTypes": null, - "id": 18646, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "9561:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9561:9:22" - } - ], - "name": "onTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18640, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9507:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18639, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9507:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18642, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9522:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9522:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18644, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9535:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9535:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9506:45:22" - }, - "payable": false, - "returnParameters": { - "id": 18650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18649, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18665, - "src": "9580:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18648, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9580:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9579:6:22" - }, - "scope": 19073, - "src": "9487:220:22", - "stateMutability": "nonpayable", - "superFunction": 16015, - "visibility": "external" - }, - { - "body": { - "id": 18680, - "nodeType": "Block", - "src": "10045:28:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10062:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18677, - "id": 18679, - "nodeType": "Return", - "src": "10055:11:22" - } - ] - }, - "documentation": "@dev Notifies the controller about an approval allowing the controller to react if desired\n Initialization check is implicitly provided by `onlyToken()`.\n@return False if the controller does not authorize the approval", - "id": 18681, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18674, - "modifierName": { - "argumentTypes": null, - "id": 18673, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "10020:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10020:9:22" - } - ], - "name": "onApprove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18667, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "9987:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18666, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9987:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18669, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "9996:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9996:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18671, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "10005:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18670, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10005:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9986:24:22" - }, - "payable": false, - "returnParameters": { - "id": 18677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18676, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18681, - "src": "10039:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18675, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10039:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10038:6:22" - }, - "scope": 19073, - "src": "9968:105:22", - "stateMutability": "nonpayable", - "superFunction": 16026, - "visibility": "external" - }, - { - "body": { - "id": 18692, - "nodeType": "Block", - "src": "10373:29:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 18690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10390:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 18689, - "id": 18691, - "nodeType": "Return", - "src": "10383:12:22" - } - ] - }, - "documentation": "@dev Called when ether is sent to the MiniMe Token contract\n Initialization check is implicitly provided by `onlyToken()`.\n@return True if the ether is accepted, false for it to throw", - "id": 18693, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 18686, - "modifierName": { - "argumentTypes": null, - "id": 18685, - "name": "onlyToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18316, - "src": "10348:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10348:9:22" - } - ], - "name": "proxyPayment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18683, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18693, - "src": "10322:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10322:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10321:9:22" - }, - "payable": true, - "returnParameters": { - "id": 18689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18688, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18693, - "src": "10367:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18687, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10367:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10366:6:22" - }, - "scope": 19073, - "src": "10300:102:22", - "stateMutability": "payable", - "superFunction": 16004, - "visibility": "external" - }, - { - "body": { - "id": 18700, - "nodeType": "Block", - "src": "10483:28:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10500:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18697, - "id": 18699, - "nodeType": "Return", - "src": "10493:11:22" - } - ] - }, - "documentation": null, - "id": 18701, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18694, - "nodeType": "ParameterList", - "parameters": [], - "src": "10451:2:22" - }, - "payable": false, - "returnParameters": { - "id": 18697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18696, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18701, - "src": "10477:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18695, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10477:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10476:6:22" - }, - "scope": 19073, - "src": "10431:80:22", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 18746, - "nodeType": "Block", - "src": "10754:464:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18708, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10783:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10783:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18710, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18703, - "src": "10795:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18707, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 18767 - ], - "referencedDeclaration": 18767, - "src": "10772:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 18711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10772:34:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18712, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18255, - "src": "10808:21:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18706, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10764:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10764:66:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18714, - "nodeType": "ExpressionStatement", - "src": "10764:66:22" - }, - { - "assignments": [ - 18716 - ], - "declarations": [ - { - "constant": false, - "id": 18716, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "10840:18:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18715, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10840:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18721, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 18719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10871:1:22", - "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": 18718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "10861:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 18717, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10865:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 18720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10861:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10840:33:22" - }, - { - "assignments": [ - 18725 - ], - "declarations": [ - { - "constant": false, - "id": 18725, - "name": "blacklist", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "11077:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 18723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11077:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18724, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11077:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18731, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 18729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11120:1:22", - "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" - } - ], - "id": 18728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "11106:13:22", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 18726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11110:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18727, - "length": null, - "nodeType": "ArrayTypeName", - "src": "11110:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 18730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11106:16:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11077:45:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18732, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18725, - "src": "11132:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 18734, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11142:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11132:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18736, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "11155:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11147:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11147:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11132:29:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 18739, - "nodeType": "ExpressionStatement", - "src": "11132:29:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18741, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18703, - "src": "11182:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 18742, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18716, - "src": "11194:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 18743, - "name": "blacklist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18725, - "src": "11201:9:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 18740, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "11172:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 18744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11172:39:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 18745, - "nodeType": "ExpressionStatement", - "src": "11172:39:22" - } - ] - }, - "documentation": "@notice Execute desired action as a token holder\n@dev IForwarder interface conformance. Forwards any token holder action.\n@param _evmScript Script being executed", - "id": 18747, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18703, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 18747, - "src": "10729:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18702, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10729:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10728:18:22" - }, - "payable": false, - "returnParameters": { - "id": 18705, - "nodeType": "ParameterList", - "parameters": [], - "src": "10754:0:22" - }, - "scope": 19073, - "src": "10712:506:22", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 18766, - "nodeType": "Block", - "src": "11295:72:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18756, - "name": "hasInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23769, - "src": "11312:14:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 18757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11312:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18760, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18749, - "src": "11348:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 18758, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "11332:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "11332:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 18761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11332:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11359:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11332:28:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11312:48:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18755, - "id": 18765, - "nodeType": "Return", - "src": "11305:55:22" - } - ] - }, - "documentation": null, - "id": 18767, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18749, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11244:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11244:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11261:5:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18750, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11261:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11243:24:22" - }, - "payable": false, - "returnParameters": { - "id": 18755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18754, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18767, - "src": "11289:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11289:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11288:6:22" - }, - "scope": 19073, - "src": "11224:143:22", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 18821, - "nodeType": "Block", - "src": "11715:279:22", - "statements": [ - { - "assignments": [ - 18789 - ], - "declarations": [ - { - "constant": false, - "id": 18789, - "name": "tokenVesting", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11725:33:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 18788, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "11725:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 18790, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "11761:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 18792, - "indexExpression": { - "argumentTypes": null, - "id": 18791, - "name": "_recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18769, - "src": "11770:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11761:20:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 18794, - "indexExpression": { - "argumentTypes": null, - "id": 18793, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18771, - "src": "11782:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11761:32:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11725:68:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18796, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18778, - "src": "11803:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18797, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11812:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "11812:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11803:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18800, - "nodeType": "ExpressionStatement", - "src": "11803:28:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18801, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18780, - "src": "11841:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18802, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11849:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "11849:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11841:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18805, - "nodeType": "ExpressionStatement", - "src": "11841:26:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18806, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18782, - "src": "11877:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18807, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11885:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "11885:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11877:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18810, - "nodeType": "ExpressionStatement", - "src": "11877:26:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18811, - "name": "vesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18784, - "src": "11913:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18812, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11923:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "11923:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "11913:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 18815, - "nodeType": "ExpressionStatement", - "src": "11913:30:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 18819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 18816, - "name": "revokable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18786, - "src": "11953:9:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 18817, - "name": "tokenVesting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18789, - "src": "11965:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 18818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revokable", - "nodeType": "MemberAccess", - "referencedDeclaration": 18271, - "src": "11965:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11953:34:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18820, - "nodeType": "ExpressionStatement", - "src": "11953:34:22" - } - ] - }, - "documentation": null, - "id": 18822, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 18774, - "name": "_recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18769, - "src": "11524:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18775, - "name": "_vestingId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18771, - "src": "11536:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 18776, - "modifierName": { - "argumentTypes": null, - "id": 18773, - "name": "vestingExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18333, - "src": "11510:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", - "typeString": "modifier (address,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "11510:37:22" - } - ], - "name": "getVesting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18769, - "name": "_recipient", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11421:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11421:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18771, - "name": "_vestingId", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11449:18:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11449:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11411:62:22" - }, - "payable": false, - "returnParameters": { - "id": 18787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18778, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11578:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11578:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18780, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11606:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18779, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11606:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18782, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11632:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18781, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11632:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18784, - "name": "vesting", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11658:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 18783, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "11658:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18786, - "name": "revokable", - "nodeType": "VariableDeclaration", - "scope": 18822, - "src": "11686:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18785, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11686:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11564:146:22" - }, - "scope": 19073, - "src": "11392:602:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18837, - "nodeType": "Block", - "src": "12089:69:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18832, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18824, - "src": "12127:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18833, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24142, - "src": "12136:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 18834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12136:14:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18831, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "12106:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12106:45:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18830, - "id": 18836, - "nodeType": "Return", - "src": "12099:52:22" - } - ] - }, - "documentation": null, - "id": 18838, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 18827, - "modifierName": { - "argumentTypes": null, - "id": 18826, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12057:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12057:13:22" - } - ], - "name": "spendableBalanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18824, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18838, - "src": "12028:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12028:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12027:17:22" - }, - "payable": false, - "returnParameters": { - "id": 18830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18838, - "src": "12080:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12080:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12079:9:22" - }, - "scope": 19073, - "src": "12000:158:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18854, - "nodeType": "Block", - "src": "12269:60:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18850, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18840, - "src": "12307:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18851, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18842, - "src": "12316:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18849, - "name": "_transferableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19072, - "src": "12286:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 18852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12286:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18848, - "id": 18853, - "nodeType": "Return", - "src": "12279:43:22" - } - ] - }, - "documentation": null, - "id": 18855, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": null, - "id": 18845, - "modifierName": { - "argumentTypes": null, - "id": 18844, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "12237:13:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12237:13:22" - } - ], - "name": "transferableBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18840, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12193:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18839, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12193:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18842, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12210:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12210:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12192:32:22" - }, - "payable": false, - "returnParameters": { - "id": 18848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18847, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18855, - "src": "12260:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12260:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12259:9:22" - }, - "scope": 19073, - "src": "12164:165:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 18868, - "nodeType": "Block", - "src": "12556:48:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18862, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18857, - "src": "12573:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18864, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "12591:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - ], - "id": 18863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12583:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12583:14:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12573:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18861, - "id": 18867, - "nodeType": "Return", - "src": "12566:31:22" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch for own token,\n as the it has the concept of issuing tokens without assigning them", - "id": 18869, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18857, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 18869, - "src": "12513:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12513:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12512:16:22" - }, - "payable": false, - "returnParameters": { - "id": 18861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18860, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18869, - "src": "12550:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12550:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12549:6:22" - }, - "scope": 19073, - "src": "12484:120:22", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 18896, - "nodeType": "Block", - "src": "12693:313:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18878, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18871, - "src": "12737:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18879, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18873, - "src": "12748:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18877, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "12711:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12711:45:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18881, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18258, - "src": "12758:34:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18876, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12703:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12703:90:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18883, - "nodeType": "ExpressionStatement", - "src": "12703:90:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18888, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "12935:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12927:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12927:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18890, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18871, - "src": "12942:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18891, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18873, - "src": "12953:7:22", - "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": 18885, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "12908:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16237, - "src": "12908:18:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 18892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12908:53:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18893, - "name": "ERROR_ASSIGN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18261, - "src": "12963:35:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18884, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "12900:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12900:99:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18895, - "nodeType": "ExpressionStatement", - "src": "12900:99:22" - } - ] - }, - "documentation": null, - "id": 18897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_assign", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18871, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18897, - "src": "12648:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18870, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12648:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18873, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18897, - "src": "12667:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12667:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12647:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18875, - "nodeType": "ParameterList", - "parameters": [], - "src": "12693:0:22" - }, - "scope": 19073, - "src": "12631:375:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18919, - "nodeType": "Block", - "src": "13072:204:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18906, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18899, - "src": "13116:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18907, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18901, - "src": "13127:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18905, - "name": "_isBalanceIncreaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18949, - "src": "13090:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 18908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13090:45:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 18909, - "name": "ERROR_BALANCE_INCREASE_NOT_ALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18258, - "src": "13137:34:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 18904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "13082:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 18910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13082:90:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18911, - "nodeType": "ExpressionStatement", - "src": "13082:90:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18915, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18899, - "src": "13203:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 18916, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18901, - "src": "13214:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18912, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "13182:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "generateTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 16712, - "src": "13182:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 18917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13182:40:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18918, - "nodeType": "ExpressionStatement", - "src": "13182:40:22" - } - ] - }, - "documentation": null, - "id": 18920, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18899, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18920, - "src": "13027:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13027:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18901, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 18920, - "src": "13046:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13046:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13026:36:22" - }, - "payable": false, - "returnParameters": { - "id": 18903, - "nodeType": "ParameterList", - "parameters": [], - "src": "13072:0:22" - }, - "scope": 19073, - "src": "13012:264:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18948, - "nodeType": "Block", - "src": "13379:222:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 18933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18929, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18922, - "src": "13458:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "13479:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 18930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13471:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 18932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13471:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13458:26:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18937, - "nodeType": "IfStatement", - "src": "13454:68:22", - "trueBody": { - "id": 18936, - "nodeType": "Block", - "src": "13486:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 18934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13507:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 18928, - "id": 18935, - "nodeType": "Return", - "src": "13500:11:22" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18943, - "name": "_inc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18924, - "src": "13569:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18940, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18922, - "src": "13554:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 18938, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "13538:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 18939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "13538:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 18941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13538:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "13538:30:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13538:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 18945, - "name": "maxAccountTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18276, - "src": "13578:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13538:56:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18928, - "id": 18947, - "nodeType": "Return", - "src": "13531:63:22" - } - ] - }, - "documentation": null, - "id": 18949, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isBalanceIncreaseAllowed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18922, - "name": "_receiver", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13317:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13317:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18924, - "name": "_inc", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13336:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13336:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13316:33:22" - }, - "payable": false, - "returnParameters": { - "id": 18928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18927, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18949, - "src": "13373:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18926, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13373:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13372:6:22" - }, - "scope": 19073, - "src": "13282:319:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 18998, - "nodeType": "Block", - "src": "14685:773:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18964, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "14761:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18965, - "name": "vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "14769:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14761:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18970, - "nodeType": "IfStatement", - "src": "14757:53:22", - "trueBody": { - "id": 18969, - "nodeType": "Block", - "src": "14777:33:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 18967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14798:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 18963, - "id": 18968, - "nodeType": "Return", - "src": "14791:8:22" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 18971, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "14823:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 18972, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18957, - "src": "14830:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14823:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 18977, - "nodeType": "IfStatement", - "src": "14819:56:22", - "trueBody": { - "id": 18976, - "nodeType": "Block", - "src": "14837:38:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 18974, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "14858:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18963, - "id": 18975, - "nodeType": "Return", - "src": "14851:13:22" - } - ] - } - }, - { - "assignments": [ - 18979 - ], - "declarations": [ - { - "constant": false, - "id": 18979, - "name": "vestedTokens", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "15306:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15306:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 18992, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18984, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18955, - "src": "15349:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18982, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18953, - "src": "15340:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15340:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15340:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18980, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "15329:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "15329:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15329:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18989, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18955, - "src": "15370:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18987, - "name": "vested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "15359:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15359:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15329:47:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15306:70:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 18995, - "name": "vestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18979, - "src": "15438:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 18993, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18951, - "src": "15427:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "15427:10:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15427:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 18963, - "id": 18997, - "nodeType": "Return", - "src": "15420:31:22" - } - ] - }, - "documentation": "@dev Calculate amount of non-vested tokens at a specifc time\n@param tokens The total amount of tokens vested\n@param time The time at which to check\n@param start The date vesting started\n@param cliff The cliff period\n@param vested The fully vested date\n@return The amount of non-vested tokens of a specific grant\n transferableTokens\n | _/-------- vestedTokens rect\n | _/\n | _/\n | _/\n | _/\n | /\n | .|\n | . |\n | . |\n | . |\n | . |\n | . |\n +===+===========+---------+----------> time\n Start Cliff Vested", - "id": 18999, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_calculateNonVestedTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 18960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18951, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14513:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14513:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18953, - "name": "time", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14537:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14537:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18955, - "name": "start", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14559:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14559:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18957, - "name": "cliff", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14582:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14582:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18959, - "name": "vested", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14605:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14605:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14503:122:22" - }, - "payable": false, - "returnParameters": { - "id": 18963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 18999, - "src": "14672:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14672:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14671:9:22" - }, - "scope": 19073, - "src": "14469:989:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 19071, - "nodeType": "Block", - "src": "15558:1066:22", - "statements": [ - { - "assignments": [ - 19009 - ], - "declarations": [ - { - "constant": false, - "id": 19009, - "name": "transferable", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15568:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15568:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19014, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19012, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "15607:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 19010, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18274, - "src": "15591:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16364, - "src": "15591:15:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 19013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15568:47:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19015, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16055:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19017, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29889, - "src": "16074:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenManager_$19073", - "typeString": "contract TokenManager" - } - ], - "id": 19016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16066:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16066:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16055:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 19068, - "nodeType": "IfStatement", - "src": "16051:537:22", - "trueBody": { - "id": 19067, - "nodeType": "Block", - "src": "16081:507:22", - "statements": [ - { - "assignments": [ - 19021 - ], - "declarations": [ - { - "constant": false, - "id": 19021, - "name": "vestingsCount", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16095:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16095:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19025, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19022, - "name": "vestingsLengths", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18286, - "src": "16119:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 19024, - "indexExpression": { - "argumentTypes": null, - "id": 19023, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16135:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16119:24:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16095:48:22" - }, - { - "body": { - "id": 19065, - "nodeType": "Block", - "src": "16201:377:22", - "statements": [ - { - "assignments": [ - 19037 - ], - "declarations": [ - { - "constant": false, - "id": 19037, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16219:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - }, - "typeName": { - "contractScope": null, - "id": 19036, - "name": "TokenVesting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 18272, - "src": "16219:12:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19043, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19038, - "name": "vestings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18282, - "src": "16244:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$_$", - "typeString": "mapping(address => mapping(uint256 => struct TokenManager.TokenVesting storage ref))" - } - }, - "id": 19040, - "indexExpression": { - "argumentTypes": null, - "id": 19039, - "name": "_holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19001, - "src": "16253:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16244:17:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenVesting_$18272_storage_$", - "typeString": "mapping(uint256 => struct TokenManager.TokenVesting storage ref)" - } - }, - "id": 19042, - "indexExpression": { - "argumentTypes": null, - "id": 19041, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16262:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16244:20:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage", - "typeString": "struct TokenManager.TokenVesting storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16219:45:22" - }, - { - "assignments": [ - 19045 - ], - "declarations": [ - { - "constant": false, - "id": 19045, - "name": "nonTransferable", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16282:23:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16282:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19057, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19047, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16355:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 18263, - "src": "16355:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19049, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19003, - "src": "16385:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19050, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16412:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "start", - "nodeType": "MemberAccess", - "referencedDeclaration": 18265, - "src": "16412:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19052, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16441:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cliff", - "nodeType": "MemberAccess", - "referencedDeclaration": 18267, - "src": "16441:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19054, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19037, - "src": "16470:1:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenVesting_$18272_storage_ptr", - "typeString": "struct TokenManager.TokenVesting storage pointer" - } - }, - "id": 19055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vesting", - "nodeType": "MemberAccess", - "referencedDeclaration": 18269, - "src": "16470:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19046, - "name": "_calculateNonVestedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18999, - "src": "16308:25:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 19056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16308:189:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16282:215:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 19063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19058, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16515:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19061, - "name": "nonTransferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19045, - "src": "16547:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 19059, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16530:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "16530:16:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 19062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16530:33:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16515:48:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19064, - "nodeType": "ExpressionStatement", - "src": "16515:48:22" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19030, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16177:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19031, - "name": "vestingsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19021, - "src": "16181:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16177:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19066, - "initializationExpression": { - "assignments": [ - 19027 - ], - "declarations": [ - { - "constant": false, - "id": 19027, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "16162:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19026, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16162:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19029, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 19028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16174:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16162:13:22" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 19034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16196:3:22", - "subExpression": { - "argumentTypes": null, - "id": 19033, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19027, - "src": "16196:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19035, - "nodeType": "ExpressionStatement", - "src": "16196:3:22" - }, - "nodeType": "ForStatement", - "src": "16157:421:22" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 19069, - "name": "transferable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19009, - "src": "16605:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19007, - "id": 19070, - "nodeType": "Return", - "src": "16598:19:22" - } - ] - }, - "documentation": null, - "id": 19072, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_transferableBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19004, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19001, - "name": "_holder", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15494:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15494:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19003, - "name": "_time", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15511:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15511:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15493:32:22" - }, - "payable": false, - "returnParameters": { - "id": 19007, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19006, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19072, - "src": "15549:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15549:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15548:9:22" - }, - "scope": 19073, - "src": "15464:1160:22", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 19074, - "src": "410:16216:22" - } - ], - "src": "94:16533:22" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.394Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/TokenMock.json b/templates/multisig/build/contracts/TokenMock.json deleted file mode 100644 index e322a2f..0000000 --- a/templates/multisig/build/contracts/TokenMock.json +++ /dev/null @@ -1,8514 +0,0 @@ -{ - "contractName": "TokenMock", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "initialAccount", - "type": "address" - }, - { - "name": "initialBalance", - "type": "uint256" - }, - { - "name": "_name", - "type": "string" - }, - { - "name": "_symbol", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_allowTransfer", - "type": "bool" - } - ], - "name": "setAllowTransfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526006805460ff1916601217905534801561001d57600080fd5b506040516109ca3803806109ca8339810160409081528151602080840151838501516060860151600160a060020a03851660009081528085529590952082905560028290556003805460ff191660011790558501805193959194909391019161008b916004918501906100a9565b50805161009f9060059060208401906100a9565b5050505050610144565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ea57805160ff1916838001178555610117565b82800160010185558215610117579182015b828111156101175782518255916020019190600101906100fc565b50610123929150610127565b5090565b61014191905b80821115610123576000815560010161012d565b90565b610877806101536000396000f3006080604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b3146101325780630b81e2161461016a57806318160ddd1461018657806323b872dd146101ad578063313ce567146101d757806370a082311461020257806395d89b4114610223578063a9059cbb14610238578063dd62ed3e1461025c575b600080fd5b3480156100b457600080fd5b506100bd610283565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013e57600080fd5b50610156600160a060020a0360043516602435610311565b604080519115158252519081900360200190f35b34801561017657600080fd5b5061018460043515156103a6565b005b34801561019257600080fd5b5061019b6103b9565b60408051918252519081900360200190f35b3480156101b957600080fd5b50610156600160a060020a03600435811690602435166044356103bf565b3480156101e357600080fd5b506101ec610548565b6040805160ff9092168252519081900360200190f35b34801561020e57600080fd5b5061019b600160a060020a0360043516610551565b34801561022f57600080fd5b506100bd61056c565b34801561024457600080fd5b50610156600160a060020a03600435166024356105c7565b34801561026857600080fd5b5061019b600160a060020a03600435811690602435166106ba565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103095780601f106102de57610100808354040283529160200191610309565b820191906000526020600020905b8154815290600101906020018083116102ec57829003601f168201915b505050505081565b336000908152600160209081526040808320600160a060020a03861684529091528120541561033f57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6003805460ff1916911515919091179055565b60025490565b60035460009060ff1615156103d357600080fd5b600160a060020a0384166000908152602081905260409020548211156103f857600080fd5b600160a060020a038416600090815260016020908152604080832033845290915290205482111561042857600080fd5b600160a060020a038316151561043d57600080fd5b600160a060020a038416600090815260208190526040902054610466908363ffffffff6106e516565b600160a060020a03808616600090815260208190526040808220939093559085168152205461049b908363ffffffff6107b516565b600160a060020a038085166000908152602081815260408083209490945591871681526001825282812033825290915220546104dd908363ffffffff6106e516565b600160a060020a03808616600081815260016020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065460ff1681565b600160a060020a031660009081526020819052604090205490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103095780601f106102de57610100808354040283529160200191610309565b60035460009060ff1615156105db57600080fd5b336000908152602081905260409020548211156105f757600080fd5b600160a060020a038316151561060c57600080fd5b3360009081526020819052604090205461062c908363ffffffff6106e516565b3360009081526020819052604080822092909255600160a060020a0385168152205461065e908363ffffffff6107b516565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156107ad5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561077257818101518382015260200161075a565b50505050905090810190601f16801561079f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156108435760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561077257818101518382015260200161075a565b5093925050505600a165627a7a723058204647711ac218b88f13a04a89f42ce61c7c6f34f51ff2610447c48a7b1cb862690029", - "deployedBytecode": "0x6080604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b3146101325780630b81e2161461016a57806318160ddd1461018657806323b872dd146101ad578063313ce567146101d757806370a082311461020257806395d89b4114610223578063a9059cbb14610238578063dd62ed3e1461025c575b600080fd5b3480156100b457600080fd5b506100bd610283565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013e57600080fd5b50610156600160a060020a0360043516602435610311565b604080519115158252519081900360200190f35b34801561017657600080fd5b5061018460043515156103a6565b005b34801561019257600080fd5b5061019b6103b9565b60408051918252519081900360200190f35b3480156101b957600080fd5b50610156600160a060020a03600435811690602435166044356103bf565b3480156101e357600080fd5b506101ec610548565b6040805160ff9092168252519081900360200190f35b34801561020e57600080fd5b5061019b600160a060020a0360043516610551565b34801561022f57600080fd5b506100bd61056c565b34801561024457600080fd5b50610156600160a060020a03600435166024356105c7565b34801561026857600080fd5b5061019b600160a060020a03600435811690602435166106ba565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103095780601f106102de57610100808354040283529160200191610309565b820191906000526020600020905b8154815290600101906020018083116102ec57829003601f168201915b505050505081565b336000908152600160209081526040808320600160a060020a03861684529091528120541561033f57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6003805460ff1916911515919091179055565b60025490565b60035460009060ff1615156103d357600080fd5b600160a060020a0384166000908152602081905260409020548211156103f857600080fd5b600160a060020a038416600090815260016020908152604080832033845290915290205482111561042857600080fd5b600160a060020a038316151561043d57600080fd5b600160a060020a038416600090815260208190526040902054610466908363ffffffff6106e516565b600160a060020a03808616600090815260208190526040808220939093559085168152205461049b908363ffffffff6107b516565b600160a060020a038085166000908152602081815260408083209490945591871681526001825282812033825290915220546104dd908363ffffffff6106e516565b600160a060020a03808616600081815260016020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065460ff1681565b600160a060020a031660009081526020819052604090205490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103095780601f106102de57610100808354040283529160200191610309565b60035460009060ff1615156105db57600080fd5b336000908152602081905260409020548211156105f757600080fd5b600160a060020a038316151561060c57600080fd5b3360009081526020819052604090205461062c908363ffffffff6106e516565b3360009081526020819052604080822092909255600160a060020a0385168152205461065e908363ffffffff6107b516565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156107ad5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561077257818101518382015260200161075a565b50505050905090810190601f16801561079f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156108435760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561077257818101518382015260200161075a565b5093925050505600a165627a7a723058204647711ac218b88f13a04a89f42ce61c7c6f34f51ff2610447c48a7b1cb862690029", - "sourceMap": "238:4224:2:-;;;696:26;;;-1:-1:-1;;696:26:2;720:2;696:26;;;802:273;5:2:-1;;;;30:1;27;20:12;5:2;802:273:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;909:24:2;;:8;:24;;;;;;;;;;:41;;;960:12;:29;;;999:14;:21;;-1:-1:-1;;999:21:2;1016:4;999:21;;;802:273;;1030:12;;802:273;;;;;;;;;1030:12;;:4;;:12;;;;:::i;:::-;-1:-1:-1;1052:16:2;;;;:6;;:16;;;;;:::i;:::-;;802:273;;;;238:4224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;238:4224:2;;;-1:-1:-1;238:4224:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "238:4224:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;646:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;646:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;646:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3349:316:2;-1:-1:-1;;;;;3349:316:2;;;;;;;;;;;;;;;;;;;;;;;;;2071:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2071:102:2;;;;;;;;;1081:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1081:77:2;;;;;;;;;;;;;;;;;;;;3949:511;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3949:511:2;-1:-1:-1;;;;;3949:511:2;;;;;;;;;;;;696:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;696:26:2;;;;;;;;;;;;;;;;;;;;;;;1372:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1372:105:2;-1:-1:-1;;;;;1372:105:2;;;;;670:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;670:20:2;;;;2339:380;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2339:380:2;-1:-1:-1;;;;;2339:380:2;;;;;;;1805:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1805:132:2;-1:-1:-1;;;;;1805:132:2;;;;;;;;;;646:18;;;;;;;;;;;;;;;-1:-1:-1;;646:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3349:316::-;3508:10;3416:4;3500:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3500:29:2;;;;;;;;;;:34;3492:43;;;;;;3554:10;3546:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3546:29:2;;;;;;;;;;;;:38;;;3599;;;;;;;3546:29;;3554:10;3599:38;;;;;;;;;;;-1:-1:-1;3654:4:2;3349:316;;;;:::o;2071:102::-;2135:14;:31;;-1:-1:-1;;2135:31:2;;;;;;;;;;2071:102::o;1081:77::-;1143:12;;1081:77;:::o;3949:511::-;4055:14;;4031:4;;4055:14;;4047:23;;;;;;;;-1:-1:-1;;;;;4098:15:2;;:8;:15;;;;;;;;;;;4088:25;;;4080:34;;;;;;-1:-1:-1;;;;;4142:14:2;;;;;;:7;:14;;;;;;;;4157:10;4142:26;;;;;;;;4132:36;;;4124:45;;;;;;-1:-1:-1;;;;;4187:17:2;;;;4179:26;;;;;;-1:-1:-1;;;;;4234:15:2;;:8;:15;;;;;;;;;;;:27;;4254:6;4234:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4216:15:2;;;:8;:15;;;;;;;;;;;:45;;;;4287:13;;;;;;;:25;;4305:6;4287:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4271:13:2;;;:8;:13;;;;;;;;;;;:41;;;;4351:14;;;;;:7;:14;;;;;4366:10;4351:26;;;;;;;:38;;4382:6;4351:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;4322:14:2;;;;;;;:7;:14;;;;;;;;4337:10;4322:26;;;;;;;;:67;;;;4404:28;;;;;;;;;;;4322:14;;4404:28;;;;;;;;;;;-1:-1:-1;4449:4:2;3949:511;;;;;:::o;696:26::-;;;;;;:::o;1372:105::-;-1:-1:-1;;;;;1454:16:2;1428:7;1454:16;;;;;;;;;;;;1372:105::o;670:20::-;;;;;;;;;;;;;;;-1:-1:-1;;670:20:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2339:380;2426:14;;2402:4;;2426:14;;2418:23;;;;;;;;2478:10;2469:8;:20;;;;;;;;;;;2459:30;;;2451:39;;;;;;-1:-1:-1;;;;;2508:17:2;;;;2500:26;;;;;;2569:10;2560:8;:20;;;;;;;;;;;:32;;2585:6;2560:32;:24;:32;:::i;:::-;2546:10;2537:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;2618:13:2;;;;;;:25;;2636:6;2618:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;2602:13:2;;:8;:13;;;;;;;;;;;;:41;;;;2658:33;;;;;;;2602:13;;2667:10;;2658:33;;;;;;;;;;-1:-1:-1;2708:4:2;2339:380;;;;:::o;1805:132::-;-1:-1:-1;;;;;1905:15:2;;;1879:7;1905:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;1805:132::o;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1824:7:79;;;1685:172::o;1928:170::-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2036:36:79;-1:-1:-1;2090:1:79;1928:170;-1:-1:-1;;;1928:170:79:o", - "source": "// Modified from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/a9f910d34f0ab33a1ae5e714f69f9596a02b4d91/contracts/token/ERC20/StandardToken.sol\n\npragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\n\n\ncontract TokenMock {\n using SafeMath for uint256;\n mapping (address => uint256) private balances;\n mapping (address => mapping (address => uint256)) private allowed;\n uint256 private totalSupply_;\n bool private allowTransfer_;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n string public name;\n string public symbol;\n uint8 public decimals = 18;\n\n // Allow us to set the inital balance for an account on construction\n constructor(address initialAccount, uint256 initialBalance, string _name, string _symbol) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n allowTransfer_ = true;\n name = _name;\n symbol = _symbol;\n }\n\n function totalSupply() public view returns (uint256) { return totalSupply_; }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public view returns (uint256) {\n return balances[_owner];\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address _owner, address _spender) public view returns (uint256) {\n return allowed[_owner][_spender];\n }\n\n /**\n * @dev Set whether the token is transferable or not\n * @param _allowTransfer Should token be transferable\n */\n function setAllowTransfer(bool _allowTransfer) public {\n allowTransfer_ = _allowTransfer;\n }\n\n /**\n * @dev Transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(allowTransfer_);\n require(_value <= balances[msg.sender]);\n require(_to != address(0));\n\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n // Assume we want to protect for the race condition\n require(allowed[msg.sender][_spender] == 0);\n\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(allowTransfer_);\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n require(_to != address(0));\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n emit Transfer(_from, _to, _value);\n return true;\n }\n}", - "sourcePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/mocks/TokenMock.sol", - "ast": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/mocks/TokenMock.sol", - "exportedSymbols": { - "TokenMock": [ - 2571 - ] - }, - "id": 2572, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2256, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "158:23:2" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 2257, - "nodeType": "ImportDirective", - "scope": 2572, - "sourceUnit": 27870, - "src": "183:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2571, - "linearizedBaseContracts": [ - 2571 - ], - "name": "TokenMock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2260, - "libraryName": { - "contractScope": null, - "id": 2258, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "269:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "263:27:2", - "typeName": { - "id": 2259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "282:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2264, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "295:45:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2263, - "keyType": { - "id": 2261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "295:28:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2270, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "346:65:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2269, - "keyType": { - "id": 2265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "355:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "346:49:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2268, - "keyType": { - "id": 2266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "375:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "366:28:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "386:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2272, - "name": "totalSupply_", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "417:28:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "417:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2274, - "name": "allowTransfer_", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "451:27:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2273, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 2282, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2276, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "500:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2275, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2278, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "523:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2280, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "548:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "499:63:2" - }, - "src": "485:78:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 2290, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2284, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "583:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "583:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2286, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "605:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "605:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2288, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "625:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "625:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "582:57:2" - }, - "src": "568:72:2" - }, - { - "constant": false, - "id": 2292, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "646:18:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2291, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "646:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2294, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "670:20:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2293, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "670:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2297, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "696:26:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2295, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "696:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "720:2:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "body": { - "id": 2330, - "nodeType": "Block", - "src": "899:176:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2308, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "909:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2310, - "indexExpression": { - "argumentTypes": null, - "id": 2309, - "name": "initialAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "918:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "909:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2311, - "name": "initialBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "936:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "909:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2313, - "nodeType": "ExpressionStatement", - "src": "909:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2314, - "name": "totalSupply_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "960:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2315, - "name": "initialBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "975:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "960:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2317, - "nodeType": "ExpressionStatement", - "src": "960:29:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2318, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "999:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1016:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "999:21:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2321, - "nodeType": "ExpressionStatement", - "src": "999:21:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2322, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2292, - "src": "1030:4:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2323, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "1037:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1030:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2325, - "nodeType": "ExpressionStatement", - "src": "1030:12:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2326, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2294, - "src": "1052:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2327, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2305, - "src": "1061:7:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1052:16:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2329, - "nodeType": "ExpressionStatement", - "src": "1052:16:2" - } - ] - }, - "documentation": null, - "id": 2331, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2299, - "name": "initialAccount", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "814:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "814:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2301, - "name": "initialBalance", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "838:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2303, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "862:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2302, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "862:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2305, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "876:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2304, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "876:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "813:78:2" - }, - "payable": false, - "returnParameters": { - "id": 2307, - "nodeType": "ParameterList", - "parameters": [], - "src": "899:0:2" - }, - "scope": 2571, - "src": "802:273:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2338, - "nodeType": "Block", - "src": "1134:24:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2336, - "name": "totalSupply_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1143:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2335, - "id": 2337, - "nodeType": "Return", - "src": "1136:19:2" - } - ] - }, - "documentation": null, - "id": 2339, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2332, - "nodeType": "ParameterList", - "parameters": [], - "src": "1101:2:2" - }, - "payable": false, - "returnParameters": { - "id": 2335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2334, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2339, - "src": "1125:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:9:2" - }, - "scope": 2571, - "src": "1081:77:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2350, - "nodeType": "Block", - "src": "1437:40:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2346, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "1454:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2348, - "indexExpression": { - "argumentTypes": null, - "id": 2347, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "1463:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1454:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2345, - "id": 2349, - "nodeType": "Return", - "src": "1447:23:2" - } - ] - }, - "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", - "id": 2351, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2341, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "1391:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1391:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:16:2" - }, - "payable": false, - "returnParameters": { - "id": 2345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2344, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "1428:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1427:9:2" - }, - "scope": 2571, - "src": "1372:105:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2366, - "nodeType": "Block", - "src": "1888:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2360, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "1905:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2362, - "indexExpression": { - "argumentTypes": null, - "id": 2361, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "1913:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1905:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2364, - "indexExpression": { - "argumentTypes": null, - "id": 2363, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2355, - "src": "1921:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1905:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2359, - "id": 2365, - "nodeType": "Return", - "src": "1898:32:2" - } - ] - }, - "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", - "id": 2367, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2353, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1824:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2355, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1840:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1840:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:34:2" - }, - "payable": false, - "returnParameters": { - "id": 2359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1879:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1879:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1878:9:2" - }, - "scope": 2571, - "src": "1805:132:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2376, - "nodeType": "Block", - "src": "2125:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2372, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "2135:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2373, - "name": "_allowTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "2152:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2135:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2375, - "nodeType": "ExpressionStatement", - "src": "2135:31:2" - } - ] - }, - "documentation": "@dev Set whether the token is transferable or not\n@param _allowTransfer Should token be transferable", - "id": 2377, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAllowTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2369, - "name": "_allowTransfer", - "nodeType": "VariableDeclaration", - "scope": 2377, - "src": "2097:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2368, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2097:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2096:21:2" - }, - "payable": false, - "returnParameters": { - "id": 2371, - "nodeType": "ParameterList", - "parameters": [], - "src": "2125:0:2" - }, - "scope": 2571, - "src": "2071:102:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2440, - "nodeType": "Block", - "src": "2408:311:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2387, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "2426:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2386, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2418:23:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2389, - "nodeType": "ExpressionStatement", - "src": "2418:23:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2391, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2459:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2392, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2469:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2395, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2478:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2478:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2469:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2451:39:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2398, - "nodeType": "ExpressionStatement", - "src": "2451:39:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2400, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2508:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2523:1:2", - "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": 2401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2515:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2515:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2508:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2399, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2500:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2406, - "nodeType": "ExpressionStatement", - "src": "2500:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2407, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2537:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2410, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2408, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2546:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2546:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2537:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2416, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2585:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2411, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2560:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2414, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2412, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2569:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2569:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2560:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "2560:24: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": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2560:32:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2537:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2419, - "nodeType": "ExpressionStatement", - "src": "2537:55:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2420, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2602:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2422, - "indexExpression": { - "argumentTypes": null, - "id": 2421, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2611:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2602:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2427, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2636:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2618:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2627:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2618:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "2618:17: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": 2428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2618:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2602:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2430, - "nodeType": "ExpressionStatement", - "src": "2602:41:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2432, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2667:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2667:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2434, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2679:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2435, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2684:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2431, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2290, - "src": "2658:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2658:33:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2437, - "nodeType": "EmitStatement", - "src": "2653:38:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2708:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2385, - "id": 2439, - "nodeType": "Return", - "src": "2701:11:2" - } - ] - }, - "documentation": "@dev Transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", - "id": 2441, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2379, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2357:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2357:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2381, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2370:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2356:29:2" - }, - "payable": false, - "returnParameters": { - "id": 2385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2402:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2402:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2401:6:2" - }, - "scope": 2571, - "src": "2339:380:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2479, - "nodeType": "Block", - "src": "3422:243:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2451, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "3500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2454, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3508:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3508:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3500:19:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2456, - "indexExpression": { - "argumentTypes": null, - "id": 2455, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3520:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3500:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3533:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3500:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2450, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "3492:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2460, - "nodeType": "ExpressionStatement", - "src": "3492:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2461, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "3546:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2462, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3554:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3554:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3546:19:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2466, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3566:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3546:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2467, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "3578:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3546:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2469, - "nodeType": "ExpressionStatement", - "src": "3546:38:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3608:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3608:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2473, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3620:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2474, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "3630:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2470, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2282, - "src": "3599:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3599:38:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "EmitStatement", - "src": "3594:43:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3654:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2449, - "id": 2478, - "nodeType": "Return", - "src": "3647:11:2" - } - ] - }, - "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\nBeware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", - "id": 2480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2443, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3366:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2445, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3384:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3365:34:2" - }, - "payable": false, - "returnParameters": { - "id": 2449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2448, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3416:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2447, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3416:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3415:6:2" - }, - "scope": 2571, - "src": "3349:316:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2569, - "nodeType": "Block", - "src": "4037:423:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2492, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "4055:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4047:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4047:23:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2494, - "nodeType": "ExpressionStatement", - "src": "4047:23:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2496, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4088:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2497, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4098:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2499, - "indexExpression": { - "argumentTypes": null, - "id": 2498, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4107:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4098:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4088:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2495, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4080:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4080:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2502, - "nodeType": "ExpressionStatement", - "src": "4080:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2504, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4132:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2505, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4142:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2507, - "indexExpression": { - "argumentTypes": null, - "id": 2506, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4150:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4142:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2510, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2508, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4157:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4157:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4142:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4132:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4124:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4124:45:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2513, - "nodeType": "ExpressionStatement", - "src": "4124:45:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2515, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4187:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4202:1:2", - "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": 2516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4194:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4194:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4187:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2514, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4179:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4179:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "4179:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4216:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2524, - "indexExpression": { - "argumentTypes": null, - "id": 2523, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4225:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4216:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2529, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4254:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2525, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4234:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2527, - "indexExpression": { - "argumentTypes": null, - "id": 2526, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4243:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4234:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "4234:19: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": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4234:27:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4216:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2532, - "nodeType": "ExpressionStatement", - "src": "4216:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2533, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4271:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2535, - "indexExpression": { - "argumentTypes": null, - "id": 2534, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4280:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4271:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2540, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4305:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2536, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4287:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2538, - "indexExpression": { - "argumentTypes": null, - "id": 2537, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4296:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4287:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "4287:17: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": 2541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4287:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4271:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2543, - "nodeType": "ExpressionStatement", - "src": "4271:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2548, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4330:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4322:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2549, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2546, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4337:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4337:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4322:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2557, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4382:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2550, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4351:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2552, - "indexExpression": { - "argumentTypes": null, - "id": 2551, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4359:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2555, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2553, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4366:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4366:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "4351:30: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": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4351:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4322:67:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2560, - "nodeType": "ExpressionStatement", - "src": "4322:67:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2562, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4413:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2563, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4420:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2564, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4425:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2561, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2290, - "src": "4404:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4404:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2566, - "nodeType": "EmitStatement", - "src": "4399:33:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4449:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2490, - "id": 2568, - "nodeType": "Return", - "src": "4442:11:2" - } - ] - }, - "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", - "id": 2570, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3971:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3971:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3986:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3999:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2485, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3999:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3970:44:2" - }, - "payable": false, - "returnParameters": { - "id": 2490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2489, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "4031:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2488, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4031:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4030:6:2" - }, - "scope": 2571, - "src": "3949:511:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2572, - "src": "238:4224:2" - } - ], - "src": "158:4304:2" - }, - "legacyAST": { - "absolutePath": "/Users/jonybang/workspace/fundraising/templates/multisig/contracts/test/mocks/TokenMock.sol", - "exportedSymbols": { - "TokenMock": [ - 2571 - ] - }, - "id": 2572, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2256, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "158:23:2" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 2257, - "nodeType": "ImportDirective", - "scope": 2572, - "sourceUnit": 27870, - "src": "183:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2571, - "linearizedBaseContracts": [ - 2571 - ], - "name": "TokenMock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2260, - "libraryName": { - "contractScope": null, - "id": 2258, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "269:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "263:27:2", - "typeName": { - "id": 2259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "282:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2264, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "295:45:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2263, - "keyType": { - "id": 2261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "295:28:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2270, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "346:65:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2269, - "keyType": { - "id": 2265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "355:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "346:49:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2268, - "keyType": { - "id": 2266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "375:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "366:28:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "386:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2272, - "name": "totalSupply_", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "417:28:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "417:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2274, - "name": "allowTransfer_", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "451:27:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2273, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 2282, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2276, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "500:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2275, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2278, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "523:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2280, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2282, - "src": "548:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "499:63:2" - }, - "src": "485:78:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 2290, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2284, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "583:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "583:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2286, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "605:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "605:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2288, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "625:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "625:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "582:57:2" - }, - "src": "568:72:2" - }, - { - "constant": false, - "id": 2292, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "646:18:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2291, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "646:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2294, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "670:20:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2293, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "670:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2297, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 2571, - "src": "696:26:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2295, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "696:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "720:2:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "body": { - "id": 2330, - "nodeType": "Block", - "src": "899:176:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2308, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "909:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2310, - "indexExpression": { - "argumentTypes": null, - "id": 2309, - "name": "initialAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "918:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "909:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2311, - "name": "initialBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "936:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "909:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2313, - "nodeType": "ExpressionStatement", - "src": "909:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2314, - "name": "totalSupply_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "960:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2315, - "name": "initialBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "975:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "960:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2317, - "nodeType": "ExpressionStatement", - "src": "960:29:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2318, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "999:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1016:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "999:21:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2321, - "nodeType": "ExpressionStatement", - "src": "999:21:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2322, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2292, - "src": "1030:4:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2323, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "1037:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1030:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2325, - "nodeType": "ExpressionStatement", - "src": "1030:12:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2326, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2294, - "src": "1052:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2327, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2305, - "src": "1061:7:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1052:16:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2329, - "nodeType": "ExpressionStatement", - "src": "1052:16:2" - } - ] - }, - "documentation": null, - "id": 2331, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2299, - "name": "initialAccount", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "814:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "814:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2301, - "name": "initialBalance", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "838:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2303, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "862:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2302, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "862:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2305, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "876:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2304, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "876:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "813:78:2" - }, - "payable": false, - "returnParameters": { - "id": 2307, - "nodeType": "ParameterList", - "parameters": [], - "src": "899:0:2" - }, - "scope": 2571, - "src": "802:273:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2338, - "nodeType": "Block", - "src": "1134:24:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2336, - "name": "totalSupply_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1143:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2335, - "id": 2337, - "nodeType": "Return", - "src": "1136:19:2" - } - ] - }, - "documentation": null, - "id": 2339, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2332, - "nodeType": "ParameterList", - "parameters": [], - "src": "1101:2:2" - }, - "payable": false, - "returnParameters": { - "id": 2335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2334, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2339, - "src": "1125:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:9:2" - }, - "scope": 2571, - "src": "1081:77:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2350, - "nodeType": "Block", - "src": "1437:40:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2346, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "1454:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2348, - "indexExpression": { - "argumentTypes": null, - "id": 2347, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "1463:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1454:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2345, - "id": 2349, - "nodeType": "Return", - "src": "1447:23:2" - } - ] - }, - "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", - "id": 2351, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2341, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "1391:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1391:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:16:2" - }, - "payable": false, - "returnParameters": { - "id": 2345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2344, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "1428:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1427:9:2" - }, - "scope": 2571, - "src": "1372:105:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2366, - "nodeType": "Block", - "src": "1888:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2360, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "1905:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2362, - "indexExpression": { - "argumentTypes": null, - "id": 2361, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "1913:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1905:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2364, - "indexExpression": { - "argumentTypes": null, - "id": 2363, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2355, - "src": "1921:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1905:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2359, - "id": 2365, - "nodeType": "Return", - "src": "1898:32:2" - } - ] - }, - "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", - "id": 2367, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2353, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1824:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2355, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1840:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1840:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:34:2" - }, - "payable": false, - "returnParameters": { - "id": 2359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2367, - "src": "1879:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1879:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1878:9:2" - }, - "scope": 2571, - "src": "1805:132:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2376, - "nodeType": "Block", - "src": "2125:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2372, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "2135:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2373, - "name": "_allowTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "2152:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2135:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2375, - "nodeType": "ExpressionStatement", - "src": "2135:31:2" - } - ] - }, - "documentation": "@dev Set whether the token is transferable or not\n@param _allowTransfer Should token be transferable", - "id": 2377, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAllowTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2369, - "name": "_allowTransfer", - "nodeType": "VariableDeclaration", - "scope": 2377, - "src": "2097:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2368, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2097:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2096:21:2" - }, - "payable": false, - "returnParameters": { - "id": 2371, - "nodeType": "ParameterList", - "parameters": [], - "src": "2125:0:2" - }, - "scope": 2571, - "src": "2071:102:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2440, - "nodeType": "Block", - "src": "2408:311:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2387, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "2426:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2386, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2418:23:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2389, - "nodeType": "ExpressionStatement", - "src": "2418:23:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2391, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2459:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2392, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2469:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2395, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2478:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2478:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2469:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2459:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2451:39:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2398, - "nodeType": "ExpressionStatement", - "src": "2451:39:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2400, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2508:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2523:1:2", - "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": 2401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2515:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2515:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2508:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2399, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "2500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2500:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2406, - "nodeType": "ExpressionStatement", - "src": "2500:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2407, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2537:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2410, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2408, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2546:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2546:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2537:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2416, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2585:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2411, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2560:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2414, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2412, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2569:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2569:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2560:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "2560:24: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": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2560:32:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2537:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2419, - "nodeType": "ExpressionStatement", - "src": "2537:55:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2420, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2602:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2422, - "indexExpression": { - "argumentTypes": null, - "id": 2421, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2611:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2602:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2427, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2636:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "2618:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2627:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2618:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "2618:17: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": 2428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2618:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2602:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2430, - "nodeType": "ExpressionStatement", - "src": "2602:41:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2432, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "2667:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2667:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2434, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2379, - "src": "2679:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2435, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "2684:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2431, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2290, - "src": "2658:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2658:33:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2437, - "nodeType": "EmitStatement", - "src": "2653:38:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2708:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2385, - "id": 2439, - "nodeType": "Return", - "src": "2701:11:2" - } - ] - }, - "documentation": "@dev Transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", - "id": 2441, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2379, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2357:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2357:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2381, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2370:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2356:29:2" - }, - "payable": false, - "returnParameters": { - "id": 2385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2384, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2441, - "src": "2402:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2383, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2402:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2401:6:2" - }, - "scope": 2571, - "src": "2339:380:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2479, - "nodeType": "Block", - "src": "3422:243:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2451, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "3500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2454, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3508:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3508:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3500:19:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2456, - "indexExpression": { - "argumentTypes": null, - "id": 2455, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3520:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3500:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3533:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3500:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2450, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "3492:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2460, - "nodeType": "ExpressionStatement", - "src": "3492:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2461, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "3546:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2462, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3554:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3554:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3546:19:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2466, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3566:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3546:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2467, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "3578:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3546:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2469, - "nodeType": "ExpressionStatement", - "src": "3546:38:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3608:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3608:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2473, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "3620:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2474, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "3630:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2470, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2282, - "src": "3599:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3599:38:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "EmitStatement", - "src": "3594:43:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3654:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2449, - "id": 2478, - "nodeType": "Return", - "src": "3647:11:2" - } - ] - }, - "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\nBeware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", - "id": 2480, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2443, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3366:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2445, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3384:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3365:34:2" - }, - "payable": false, - "returnParameters": { - "id": 2449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2448, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "3416:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2447, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3416:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3415:6:2" - }, - "scope": 2571, - "src": "3349:316:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2569, - "nodeType": "Block", - "src": "4037:423:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2492, - "name": "allowTransfer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "4055:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4047:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4047:23:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2494, - "nodeType": "ExpressionStatement", - "src": "4047:23:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2496, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4088:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2497, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4098:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2499, - "indexExpression": { - "argumentTypes": null, - "id": 2498, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4107:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4098:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4088:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2495, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4080:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4080:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2502, - "nodeType": "ExpressionStatement", - "src": "4080:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2504, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4132:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2505, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4142:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2507, - "indexExpression": { - "argumentTypes": null, - "id": 2506, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4150:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4142:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2510, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2508, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4157:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4157:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4142:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4132:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4124:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4124:45:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2513, - "nodeType": "ExpressionStatement", - "src": "4124:45:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2515, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4187:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4202:1:2", - "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": 2516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4194:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4194:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4187:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2514, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "4179:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4179:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "4179:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4216:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2524, - "indexExpression": { - "argumentTypes": null, - "id": 2523, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4225:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4216:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2529, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4254:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2525, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4234:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2527, - "indexExpression": { - "argumentTypes": null, - "id": 2526, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4243:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4234:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "4234:19: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": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4234:27:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4216:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2532, - "nodeType": "ExpressionStatement", - "src": "4216:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2533, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4271:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2535, - "indexExpression": { - "argumentTypes": null, - "id": 2534, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4280:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4271:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2540, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4305:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2536, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "4287:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2538, - "indexExpression": { - "argumentTypes": null, - "id": 2537, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4296:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4287:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "4287:17: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": 2541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4287:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4271:41:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2543, - "nodeType": "ExpressionStatement", - "src": "4271:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2548, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4330:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4322:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2549, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2546, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4337:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4337:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4322:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2557, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4382:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2550, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "4351:7:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2552, - "indexExpression": { - "argumentTypes": null, - "id": 2551, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4359:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:14:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2555, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2553, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "4366:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4366:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "4351:30: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": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4351:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4322:67:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2560, - "nodeType": "ExpressionStatement", - "src": "4322:67:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2562, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2482, - "src": "4413:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2563, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4420:3:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2564, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2486, - "src": "4425:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2561, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2290, - "src": "4404:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4404:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2566, - "nodeType": "EmitStatement", - "src": "4399:33:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4449:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2490, - "id": 2568, - "nodeType": "Return", - "src": "4442:11:2" - } - ] - }, - "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", - "id": 2570, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3971:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3971:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3986:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "3999:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2485, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3999:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3970:44:2" - }, - "payable": false, - "returnParameters": { - "id": 2490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2489, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "4031:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2488, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4031:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4030:6:2" - }, - "scope": 2571, - "src": "3949:511:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2572, - "src": "238:4224:2" - } - ], - "src": "158:4304:2" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.298Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Uint256Helpers.json b/templates/multisig/build/contracts/Uint256Helpers.json deleted file mode 100644 index 335a7dc..0000000 --- a/templates/multisig/build/contracts/Uint256Helpers.json +++ /dev/null @@ -1,883 +0,0 @@ -{ - "contractName": "Uint256Helpers", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cb1bbe359907471ad74dea682f96a8cc8ec987f03f5b919636e301c59f390ae10029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cb1bbe359907471ad74dea682f96a8cc8ec987f03f5b919636e301c59f390ae10029", - "sourceMap": "27:312:54:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "27:312:54:-;;;;;;;;", - "source": "pragma solidity ^0.4.24;\n\n\nlibrary Uint256Helpers {\n uint256 private constant MAX_UINT64 = uint64(-1);\n\n string private constant ERROR_NUMBER_TOO_BIG = \"UINT64_NUMBER_TOO_BIG\";\n\n function toUint64(uint256 a) internal pure returns (uint64) {\n require(a <= MAX_UINT64, ERROR_NUMBER_TOO_BIG);\n return uint64(a);\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "exportedSymbols": { - "Uint256Helpers": [ - 24185 - ] - }, - "id": 24186, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24156, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:54" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24185, - "linearizedBaseContracts": [ - 24185 - ], - "name": "Uint256Helpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24162, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 24185, - "src": "56:48:54", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "56:7:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "101:2:54", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 24159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "102:1:54", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 24158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "94:6:54", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 24161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "94:10:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24165, - "name": "ERROR_NUMBER_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 24185, - "src": "111:70:54", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24163, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "111:6:54", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "55494e5436345f4e554d4245525f544f4f5f424947", - "id": 24164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "158:23:54", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0097450fa85b09f7141faf60e71f2a076ecfed0c9fa787056beef57ff0d975db", - "typeString": "literal_string \"UINT64_NUMBER_TOO_BIG\"" - }, - "value": "UINT64_NUMBER_TOO_BIG" - }, - "visibility": "private" - }, - { - "body": { - "id": 24183, - "nodeType": "Block", - "src": "248:89:54", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24173, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24167, - "src": "266:1:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 24174, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24162, - "src": "271:10:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "266:15:54", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24176, - "name": "ERROR_NUMBER_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24165, - "src": "283:20:54", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "258:7:54", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:46:54", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24178, - "nodeType": "ExpressionStatement", - "src": "258:46:54" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24180, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24167, - "src": "328:1:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "321:6:54", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 24181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "321:9:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24171, - "id": 24182, - "nodeType": "Return", - "src": "314:16:54" - } - ] - }, - "documentation": null, - "id": 24184, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "toUint64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24167, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 24184, - "src": "206:9:54", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "206:7:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:11:54" - }, - "payable": false, - "returnParameters": { - "id": 24171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24170, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24184, - "src": "240:6:54", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24169, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "240:6:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "239:8:54" - }, - "scope": 24185, - "src": "188:149:54", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24186, - "src": "27:312:54" - } - ], - "src": "0:340:54" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/Uint256Helpers.sol", - "exportedSymbols": { - "Uint256Helpers": [ - 24185 - ] - }, - "id": 24186, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24156, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:54" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24185, - "linearizedBaseContracts": [ - 24185 - ], - "name": "Uint256Helpers", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 24162, - "name": "MAX_UINT64", - "nodeType": "VariableDeclaration", - "scope": 24185, - "src": "56:48:54", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "56:7:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "101:2:54", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 24159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "102:1:54", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_-1_by_1", - "typeString": "int_const -1" - } - ], - "id": 24158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "94:6:54", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 24161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "94:10:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24165, - "name": "ERROR_NUMBER_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 24185, - "src": "111:70:54", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24163, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "111:6:54", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "55494e5436345f4e554d4245525f544f4f5f424947", - "id": 24164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "158:23:54", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0097450fa85b09f7141faf60e71f2a076ecfed0c9fa787056beef57ff0d975db", - "typeString": "literal_string \"UINT64_NUMBER_TOO_BIG\"" - }, - "value": "UINT64_NUMBER_TOO_BIG" - }, - "visibility": "private" - }, - { - "body": { - "id": 24183, - "nodeType": "Block", - "src": "248:89:54", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 24175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24173, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24167, - "src": "266:1:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 24174, - "name": "MAX_UINT64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24162, - "src": "271:10:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "266:15:54", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24176, - "name": "ERROR_NUMBER_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24165, - "src": "283:20:54", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "258:7:54", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:46:54", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24178, - "nodeType": "ExpressionStatement", - "src": "258:46:54" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24180, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24167, - "src": "328:1:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "321:6:54", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 24181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "321:9:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 24171, - "id": 24182, - "nodeType": "Return", - "src": "314:16:54" - } - ] - }, - "documentation": null, - "id": 24184, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "toUint64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24167, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 24184, - "src": "206:9:54", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "206:7:54", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:11:54" - }, - "payable": false, - "returnParameters": { - "id": 24171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24170, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24184, - "src": "240:6:54", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 24169, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "240:6:54", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "239:8:54" - }, - "scope": 24185, - "src": "188:149:54", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24186, - "src": "27:312:54" - } - ], - "src": "0:340:54" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.207Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/UnstructuredStorage.json b/templates/multisig/build/contracts/UnstructuredStorage.json deleted file mode 100644 index e18cb8b..0000000 --- a/templates/multisig/build/contracts/UnstructuredStorage.json +++ /dev/null @@ -1,1931 +0,0 @@ -{ - "contractName": "UnstructuredStorage", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820157506e2864966776b1196543b3ba8e060ea53e410dec772e905770398c56c4f0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820157506e2864966776b1196543b3ba8e060ea53e410dec772e905770398c56c4f0029", - "sourceMap": "71:1078:55:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "71:1078:55:-;;;;;;;;", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\n\nlibrary UnstructuredStorage {\n function getStorageBool(bytes32 position) internal view returns (bool data) {\n assembly { data := sload(position) }\n }\n\n function getStorageAddress(bytes32 position) internal view returns (address data) {\n assembly { data := sload(position) }\n }\n\n function getStorageBytes32(bytes32 position) internal view returns (bytes32 data) {\n assembly { data := sload(position) }\n }\n\n function getStorageUint256(bytes32 position) internal view returns (uint256 data) {\n assembly { data := sload(position) }\n }\n\n function setStorageBool(bytes32 position, bool data) internal {\n assembly { sstore(position, data) }\n }\n\n function setStorageAddress(bytes32 position, address data) internal {\n assembly { sstore(position, data) }\n }\n\n function setStorageBytes32(bytes32 position, bytes32 data) internal {\n assembly { sstore(position, data) }\n }\n\n function setStorageUint256(bytes32 position, uint256 data) internal {\n assembly { sstore(position, data) }\n }\n}\n", - "sourcePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "exportedSymbols": { - "UnstructuredStorage": [ - 24260 - ] - }, - "id": 24261, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24187, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:55" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24260, - "linearizedBaseContracts": [ - 24260 - ], - "name": "UnstructuredStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 24195, - "nodeType": "Block", - "src": "181:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24192, - "isOffset": false, - "isSlot": false, - "src": "202:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24189, - "isOffset": false, - "isSlot": false, - "src": "216:8:55", - "valueSize": 1 - } - } - ], - "id": 24194, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "191:42:55" - } - ] - }, - "documentation": null, - "id": 24196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageBool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24189, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24196, - "src": "129:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24188, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "129:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "128:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24192, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24196, - "src": "170:9:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24191, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:55", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "169:11:55" - }, - "scope": 24260, - "src": "105:128:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24204, - "nodeType": "Block", - "src": "321:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24201, - "isOffset": false, - "isSlot": false, - "src": "342:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24198, - "isOffset": false, - "isSlot": false, - "src": "356:8:55", - "valueSize": 1 - } - } - ], - "id": 24203, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "331:42:55" - } - ] - }, - "documentation": null, - "id": 24205, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24198, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24205, - "src": "266:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24197, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "266:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24201, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24205, - "src": "307:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "307:7:55", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "306:14:55" - }, - "scope": 24260, - "src": "239:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24213, - "nodeType": "Block", - "src": "461:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24210, - "isOffset": false, - "isSlot": false, - "src": "482:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24207, - "isOffset": false, - "isSlot": false, - "src": "496:8:55", - "valueSize": 1 - } - } - ], - "id": 24212, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "471:42:55" - } - ] - }, - "documentation": null, - "id": 24214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageBytes32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24207, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24214, - "src": "406:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24206, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "406:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "405:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24210, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24214, - "src": "447:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "447:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "446:14:55" - }, - "scope": 24260, - "src": "379:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24222, - "nodeType": "Block", - "src": "601:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24219, - "isOffset": false, - "isSlot": false, - "src": "622:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24216, - "isOffset": false, - "isSlot": false, - "src": "636:8:55", - "valueSize": 1 - } - } - ], - "id": 24221, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "611:42:55" - } - ] - }, - "documentation": null, - "id": 24223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageUint256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24216, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24223, - "src": "546:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24215, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "546:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "545:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24219, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24223, - "src": "587:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "587:7:55", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "586:14:55" - }, - "scope": 24260, - "src": "519:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24231, - "nodeType": "Block", - "src": "721:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24225, - "isOffset": false, - "isSlot": false, - "src": "749:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24227, - "isOffset": false, - "isSlot": false, - "src": "759:4:55", - "valueSize": 1 - } - } - ], - "id": 24230, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "731:41:55" - } - ] - }, - "documentation": null, - "id": 24232, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageBool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24225, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24232, - "src": "683:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "683:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24227, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24232, - "src": "701:9:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24226, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "701:4:55", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "682:29:55" - }, - "payable": false, - "returnParameters": { - "id": 24229, - "nodeType": "ParameterList", - "parameters": [], - "src": "721:0:55" - }, - "scope": 24260, - "src": "659:113:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24240, - "nodeType": "Block", - "src": "846:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24234, - "isOffset": false, - "isSlot": false, - "src": "874:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24236, - "isOffset": false, - "isSlot": false, - "src": "884:4:55", - "valueSize": 1 - } - } - ], - "id": 24239, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "856:41:55" - } - ] - }, - "documentation": null, - "id": 24241, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24234, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24241, - "src": "805:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "805:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24236, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24241, - "src": "823:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:55", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24238, - "nodeType": "ParameterList", - "parameters": [], - "src": "846:0:55" - }, - "scope": 24260, - "src": "778:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24249, - "nodeType": "Block", - "src": "971:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24243, - "isOffset": false, - "isSlot": false, - "src": "999:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24245, - "isOffset": false, - "isSlot": false, - "src": "1009:4:55", - "valueSize": 1 - } - } - ], - "id": 24248, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "981:41:55" - } - ] - }, - "documentation": null, - "id": 24250, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageBytes32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24243, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24250, - "src": "930:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "930:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24245, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24250, - "src": "948:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24244, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "948:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "929:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24247, - "nodeType": "ParameterList", - "parameters": [], - "src": "971:0:55" - }, - "scope": 24260, - "src": "903:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24258, - "nodeType": "Block", - "src": "1096:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24252, - "isOffset": false, - "isSlot": false, - "src": "1124:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24254, - "isOffset": false, - "isSlot": false, - "src": "1134:4:55", - "valueSize": 1 - } - } - ], - "id": 24257, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "1106:41:55" - } - ] - }, - "documentation": null, - "id": 24259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageUint256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24252, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24259, - "src": "1055:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24251, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1055:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24254, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24259, - "src": "1073:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1073:7:55", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1054:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24256, - "nodeType": "ParameterList", - "parameters": [], - "src": "1096:0:55" - }, - "scope": 24260, - "src": "1028:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24261, - "src": "71:1078:55" - } - ], - "src": "44:1106:55" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", - "exportedSymbols": { - "UnstructuredStorage": [ - 24260 - ] - }, - "id": 24261, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24187, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:55" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 24260, - "linearizedBaseContracts": [ - 24260 - ], - "name": "UnstructuredStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 24195, - "nodeType": "Block", - "src": "181:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24192, - "isOffset": false, - "isSlot": false, - "src": "202:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24189, - "isOffset": false, - "isSlot": false, - "src": "216:8:55", - "valueSize": 1 - } - } - ], - "id": 24194, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "191:42:55" - } - ] - }, - "documentation": null, - "id": 24196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageBool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24189, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24196, - "src": "129:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24188, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "129:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "128:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24192, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24196, - "src": "170:9:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24191, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:55", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "169:11:55" - }, - "scope": 24260, - "src": "105:128:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24204, - "nodeType": "Block", - "src": "321:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24201, - "isOffset": false, - "isSlot": false, - "src": "342:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24198, - "isOffset": false, - "isSlot": false, - "src": "356:8:55", - "valueSize": 1 - } - } - ], - "id": 24203, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "331:42:55" - } - ] - }, - "documentation": null, - "id": 24205, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24198, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24205, - "src": "266:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24197, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "266:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24201, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24205, - "src": "307:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "307:7:55", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "306:14:55" - }, - "scope": 24260, - "src": "239:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24213, - "nodeType": "Block", - "src": "461:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24210, - "isOffset": false, - "isSlot": false, - "src": "482:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24207, - "isOffset": false, - "isSlot": false, - "src": "496:8:55", - "valueSize": 1 - } - } - ], - "id": 24212, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "471:42:55" - } - ] - }, - "documentation": null, - "id": 24214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageBytes32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24207, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24214, - "src": "406:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24206, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "406:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "405:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24210, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24214, - "src": "447:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "447:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "446:14:55" - }, - "scope": 24260, - "src": "379:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24222, - "nodeType": "Block", - "src": "601:52:55", - "statements": [ - { - "externalReferences": [ - { - "data": { - "declaration": 24219, - "isOffset": false, - "isSlot": false, - "src": "622:4:55", - "valueSize": 1 - } - }, - { - "position": { - "declaration": 24216, - "isOffset": false, - "isSlot": false, - "src": "636:8:55", - "valueSize": 1 - } - } - ], - "id": 24221, - "nodeType": "InlineAssembly", - "operations": "{\n data := sload(position)\n}", - "src": "611:42:55" - } - ] - }, - "documentation": null, - "id": 24223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStorageUint256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24216, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24223, - "src": "546:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24215, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "546:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "545:18:55" - }, - "payable": false, - "returnParameters": { - "id": 24220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24219, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24223, - "src": "587:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "587:7:55", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "586:14:55" - }, - "scope": 24260, - "src": "519:134:55", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24231, - "nodeType": "Block", - "src": "721:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24225, - "isOffset": false, - "isSlot": false, - "src": "749:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24227, - "isOffset": false, - "isSlot": false, - "src": "759:4:55", - "valueSize": 1 - } - } - ], - "id": 24230, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "731:41:55" - } - ] - }, - "documentation": null, - "id": 24232, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageBool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24225, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24232, - "src": "683:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "683:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24227, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24232, - "src": "701:9:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24226, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "701:4:55", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "682:29:55" - }, - "payable": false, - "returnParameters": { - "id": 24229, - "nodeType": "ParameterList", - "parameters": [], - "src": "721:0:55" - }, - "scope": 24260, - "src": "659:113:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24240, - "nodeType": "Block", - "src": "846:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24234, - "isOffset": false, - "isSlot": false, - "src": "874:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24236, - "isOffset": false, - "isSlot": false, - "src": "884:4:55", - "valueSize": 1 - } - } - ], - "id": 24239, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "856:41:55" - } - ] - }, - "documentation": null, - "id": 24241, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24234, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24241, - "src": "805:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "805:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24236, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24241, - "src": "823:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:55", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24238, - "nodeType": "ParameterList", - "parameters": [], - "src": "846:0:55" - }, - "scope": 24260, - "src": "778:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24249, - "nodeType": "Block", - "src": "971:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24243, - "isOffset": false, - "isSlot": false, - "src": "999:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24245, - "isOffset": false, - "isSlot": false, - "src": "1009:4:55", - "valueSize": 1 - } - } - ], - "id": 24248, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "981:41:55" - } - ] - }, - "documentation": null, - "id": 24250, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageBytes32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24243, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24250, - "src": "930:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "930:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24245, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24250, - "src": "948:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24244, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "948:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "929:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24247, - "nodeType": "ParameterList", - "parameters": [], - "src": "971:0:55" - }, - "scope": 24260, - "src": "903:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 24258, - "nodeType": "Block", - "src": "1096:51:55", - "statements": [ - { - "externalReferences": [ - { - "position": { - "declaration": 24252, - "isOffset": false, - "isSlot": false, - "src": "1124:8:55", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 24254, - "isOffset": false, - "isSlot": false, - "src": "1134:4:55", - "valueSize": 1 - } - } - ], - "id": 24257, - "nodeType": "InlineAssembly", - "operations": "{\n sstore(position, data)\n}", - "src": "1106:41:55" - } - ] - }, - "documentation": null, - "id": 24259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setStorageUint256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24252, - "name": "position", - "nodeType": "VariableDeclaration", - "scope": 24259, - "src": "1055:16:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 24251, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1055:7:55", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 24254, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 24259, - "src": "1073:12:55", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1073:7:55", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1054:32:55" - }, - "payable": false, - "returnParameters": { - "id": 24256, - "nodeType": "ParameterList", - "parameters": [], - "src": "1096:0:55" - }, - "scope": 24260, - "src": "1028:119:55", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 24261, - "src": "71:1078:55" - } - ], - "src": "44:1106:55" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.226Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Utils.json b/templates/multisig/build/contracts/Utils.json deleted file mode 100644 index bd25339..0000000 --- a/templates/multisig/build/contracts/Utils.json +++ /dev/null @@ -1,1196 +0,0 @@ -{ - "contractName": "Utils", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820a46f1647cc69a01b8b68a2fefb877817bca8f706758df4ebd470d39cbd6c478d0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820a46f1647cc69a01b8b68a2fefb877817bca8f706758df4ebd470d39cbd6c478d0029", - "sourceMap": "64:587:6:-;;;120:28;8:9:-1;5:2;;;30:1;27;20:12;5:2;120:28:6;64:587;;;;;;", - "deployedSourceMap": "64:587:6:-;;;;;", - "source": "pragma solidity 0.4.24;\n\n/*\n Utilities & Common Modifiers\n*/\ncontract Utils {\n /**\n constructor\n */\n constructor() public {\n }\n\n // verifies that an amount is greater than zero\n modifier greaterThanZero(uint256 _amount) {\n require(_amount > 0);\n _;\n }\n\n // validates an address - currently only checks that it isn't null\n modifier validAddress(address _address) {\n require(_address != address(0));\n _;\n }\n\n // verifies that the address is different than this contract address\n modifier notThis(address _address) {\n require(_address != address(this));\n _;\n }\n\n}", - "sourcePath": "@ablack/fundraising-bancor-formula/contracts/utility/Utils.sol", - "ast": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/utility/Utils.sol", - "exportedSymbols": { - "Utils": [ - 5888 - ] - }, - "id": 5889, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5843, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5888, - "linearizedBaseContracts": [ - 5888 - ], - "name": "Utils", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5846, - "nodeType": "Block", - "src": "141:7:6", - "statements": [] - }, - "documentation": "constructor", - "id": 5847, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5844, - "nodeType": "ParameterList", - "parameters": [], - "src": "131:2:6" - }, - "payable": false, - "returnParameters": { - "id": 5845, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:0:6" - }, - "scope": 5888, - "src": "120:28:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5858, - "nodeType": "Block", - "src": "248:48:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5852, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5849, - "src": "266:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "266:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5851, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "258:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:20:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5856, - "nodeType": "ExpressionStatement", - "src": "258:20:6" - }, - { - "id": 5857, - "nodeType": "PlaceholderStatement", - "src": "288:1:6" - } - ] - }, - "documentation": null, - "id": 5859, - "name": "greaterThanZero", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5849, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 5859, - "src": "231:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:17:6" - }, - "src": "206:90:6", - "visibility": "internal" - }, - { - "body": { - "id": 5872, - "nodeType": "Block", - "src": "413:59:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5864, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "431:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451:1:6", - "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": 5865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "443:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "443:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "431:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5863, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "423:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "423:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5870, - "nodeType": "ExpressionStatement", - "src": "423:31:6" - }, - { - "id": 5871, - "nodeType": "PlaceholderStatement", - "src": "464:1:6" - } - ] - }, - "documentation": null, - "id": 5873, - "name": "validAddress", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5861, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5873, - "src": "395:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "395:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "394:18:6" - }, - "src": "373:99:6", - "visibility": "internal" - }, - { - "body": { - "id": 5886, - "nodeType": "Block", - "src": "586:62:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5878, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5875, - "src": "604:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5880, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29947, - "src": "624:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - ], - "id": 5879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "616:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "604:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5877, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "596:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "596:34:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5884, - "nodeType": "ExpressionStatement", - "src": "596:34:6" - }, - { - "id": 5885, - "nodeType": "PlaceholderStatement", - "src": "640:1:6" - } - ] - }, - "documentation": null, - "id": 5887, - "name": "notThis", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5875, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5887, - "src": "568:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "568:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:18:6" - }, - "src": "551:97:6", - "visibility": "internal" - } - ], - "scope": 5889, - "src": "64:587:6" - } - ], - "src": "0:651:6" - }, - "legacyAST": { - "absolutePath": "@ablack/fundraising-bancor-formula/contracts/utility/Utils.sol", - "exportedSymbols": { - "Utils": [ - 5888 - ] - }, - "id": 5889, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5843, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5888, - "linearizedBaseContracts": [ - 5888 - ], - "name": "Utils", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5846, - "nodeType": "Block", - "src": "141:7:6", - "statements": [] - }, - "documentation": "constructor", - "id": 5847, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5844, - "nodeType": "ParameterList", - "parameters": [], - "src": "131:2:6" - }, - "payable": false, - "returnParameters": { - "id": 5845, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:0:6" - }, - "scope": 5888, - "src": "120:28:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5858, - "nodeType": "Block", - "src": "248:48:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5852, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5849, - "src": "266:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "266:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5851, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "258:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "258:20:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5856, - "nodeType": "ExpressionStatement", - "src": "258:20:6" - }, - { - "id": 5857, - "nodeType": "PlaceholderStatement", - "src": "288:1:6" - } - ] - }, - "documentation": null, - "id": 5859, - "name": "greaterThanZero", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5849, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 5859, - "src": "231:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:17:6" - }, - "src": "206:90:6", - "visibility": "internal" - }, - { - "body": { - "id": 5872, - "nodeType": "Block", - "src": "413:59:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5864, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "431:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451:1:6", - "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": 5865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "443:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "443:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "431:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5863, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "423:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "423:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5870, - "nodeType": "ExpressionStatement", - "src": "423:31:6" - }, - { - "id": 5871, - "nodeType": "PlaceholderStatement", - "src": "464:1:6" - } - ] - }, - "documentation": null, - "id": 5873, - "name": "validAddress", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5861, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5873, - "src": "395:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "395:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "394:18:6" - }, - "src": "373:99:6", - "visibility": "internal" - }, - { - "body": { - "id": 5886, - "nodeType": "Block", - "src": "586:62:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5878, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5875, - "src": "604:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5880, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29947, - "src": "624:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Utils_$5888", - "typeString": "contract Utils" - } - ], - "id": 5879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "616:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "604:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5877, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29787, - "src": "596:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "596:34:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5884, - "nodeType": "ExpressionStatement", - "src": "596:34:6" - }, - { - "id": 5885, - "nodeType": "PlaceholderStatement", - "src": "640:1:6" - } - ] - }, - "documentation": null, - "id": 5887, - "name": "notThis", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5875, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5887, - "src": "568:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "568:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:18:6" - }, - "src": "551:97:6", - "visibility": "internal" - } - ], - "scope": 5889, - "src": "64:587:6" - } - ], - "src": "0:651:6" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.213Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Vault.json b/templates/multisig/build/contracts/Vault.json deleted file mode 100644 index 970c63b..0000000 --- a/templates/multisig/build/contracts/Vault.json +++ /dev/null @@ -1,7529 +0,0 @@ -{ - "contractName": "Vault", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TRANSFER_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isDepositable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "VaultTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": true, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "VaultDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "balance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620019e9833981519152640100000000620013a16200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620019e983398151915282640100000000620016c46200023782021704565b50565b5490565b9055565b61179e806200024b6000396000f3006080604052600436106100d75763ffffffff60e060020a6000350416630803fac08114610235578063206b60f91461025e5780632914b9bd1461028557806332f0a3b5146102fa57806347e7ef241461030f57806348a0c8dd146103265780637e7db6e11461033b57806380afdea81461035c5780638129fc1c146103715780638b3dd749146103865780639d4941d81461039b578063a1658fad146103bc578063a479e50814610423578063beabacc814610438578063d4aae0c414610462578063de4796ed14610477578063e3d670d71461048c575b6100df6104ad565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156101a15760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561016657818101518382015260200161014e565b50505050905090810190601f1680156101935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601381527f5641554c545f444154415f4e4f4e5f5a45524f00000000000000000000000000602082015236156102275760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b506102336000346104d6565b005b34801561024157600080fd5b5061024a6104ad565b604080519115158252519081900360200190f35b34801561026a57600080fd5b50610273610772565b60408051918252519081900360200190f35b34801561029157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102de9436949293602493928401919081908401838280828437509497506107a79650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561030657600080fd5b506102de61088f565b610233600160a060020a0360043516602435610907565b34801561033257600080fd5b5061024a6109a4565b34801561034757600080fd5b5061024a600160a060020a03600435166109d4565b34801561036857600080fd5b506102736109da565b34801561037d57600080fd5b50610233610a05565b34801561039257600080fd5b50610273610aa7565b3480156103a757600080fd5b50610233600160a060020a0360043516610ad2565b3480156103c857600080fd5b50604080516020600460443581810135838102808601850190965280855261024a958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d619650505050505050565b34801561042f57600080fd5b506102de610eb1565b34801561044457600080fd5b50610233600160a060020a0360043581169060243516604435610f98565b34801561046e57600080fd5b506102de6112a6565b34801561048357600080fd5b5061024a6112d1565b34801561049857600080fd5b50610273600160a060020a03600435166112e4565b6000806104b8610aa7565b905080158015906104d05750806104cd61131e565b10155b91505090565b6104de6109a4565b60408051808201909152601581527f5641554c545f4e4f545f4445504f53495441424c45000000000000000000000060208201529015156105645760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5060408051808201909152601881527f5641554c545f4445504f5349545f56414c55455f5a45524f00000000000000006020820152600082116105ec5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a03821615156106895760408051808201909152601481527f5641554c545f56414c55455f4d49534d4154434800000000000000000000000060208201523482146106835760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5061072e565b6106a4600160a060020a03831633308463ffffffff61132216565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f52455645525481525090151561072c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902081565b60006107b1610eb1565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561080f5781810151838201526020016107f7565b50505050905090810190601f16801561083c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d602081101561088557600080fd5b505190505b919050565b60006108996112a6565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108d657600080fd5b505af11580156108ea573d6000803e3d6000fd5b505050506040513d602081101561090057600080fd5b5051905090565b61090f6104ad565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156109955760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b506109a082826104d6565b5050565b60006109cf7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6113a1565b905090565b50600090565b60006109cf7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6113a1565b610a0d610aa7565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610a925760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610a9b6113a5565b610aa5600161146b565b565b60006109cf7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6113a1565b6000806000610ae0846109d4565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610b665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610b6f61088f565b9250610b7a836114a2565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610c005760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a0384161515610c515760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c4b573d6000803e3d6000fd5b50610d10565b5082610c6c600160a060020a0382163063ffffffff6114cf16565b9150610c88600160a060020a038216848463ffffffff6115cf16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610d0e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d6c6104ad565b1515610d7b5760009150610ea9565b610d836112a6565b9050600160a060020a0381161515610d9e5760009150610ea9565b80600160a060020a031663fdef9106863087610db988611645565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610e2b578181015183820152602001610e13565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b505191505b509392505050565b600080610ebc6112a6565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b505050506040513d6020811015610f9057600080fd5b505192915050565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d019020610fd584848461164f565b610fe0338383610d61565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156110665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5060408051808201909152601981527f5641554c545f5452414e534645525f56414c55455f5a45524f000000000000006020820152600084116110ee5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a03851615156111b257604051600160a060020a0385169084156108fc029085906000818181858888f193505050506040805190810160405280601381526020017f5641554c545f53454e445f5245564552544544000000000000000000000000008152509015156111ac5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50611254565b6111cc600160a060020a038616858563ffffffff6115cf16565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156112525760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b60006109cf7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6113a1565b60006000196112de610aa7565b14905090565b6000600160a060020a03821615156112fe5750303161088a565b611317600160a060020a0383163063ffffffff6114cf16565b905061088a565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd000000000000000000000000000000000000000000000000000000001790526000906113978682611676565b9695505050505050565b5490565b6113ad610aa7565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156114325760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610aa561143e61131e565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6116c416565b61149b7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea8263ffffffff6116c416565b50565b5490565b600080600160a060020a03831615156114be57600091506114c9565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061153a86846116c8565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156115c55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061163c8582611676565b95945050505050565b8051602002815290565b606061166e84600160a060020a031684600160a060020a0316846116f9565b949350505050565b6000806040516020818551602087016000895af160008111156116ba573d80156116a757602081146116b0576116b8565b600193506116b8565b600183511493505b505b5090949350505050565b9055565b6000806000806040516020818751602089018a5afa925060008311156116ed57805191505b50909590945092505050565b604080516003808252608082019092526060916020820183803883390190505090508381600081518110151561172b57fe5b60209081029091010152805183908290600190811061174657fe5b60209081029091010152805182908290600290811061176157fe5b6020908102909101015293925050505600a165627a7a72305820299552bdc2a8ee6c2b4a574fc0483b3feff8ef92d99455b58df81c22c712517e0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106100d75763ffffffff60e060020a6000350416630803fac08114610235578063206b60f91461025e5780632914b9bd1461028557806332f0a3b5146102fa57806347e7ef241461030f57806348a0c8dd146103265780637e7db6e11461033b57806380afdea81461035c5780638129fc1c146103715780638b3dd749146103865780639d4941d81461039b578063a1658fad146103bc578063a479e50814610423578063beabacc814610438578063d4aae0c414610462578063de4796ed14610477578063e3d670d71461048c575b6100df6104ad565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156101a15760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561016657818101518382015260200161014e565b50505050905090810190601f1680156101935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601381527f5641554c545f444154415f4e4f4e5f5a45524f00000000000000000000000000602082015236156102275760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b506102336000346104d6565b005b34801561024157600080fd5b5061024a6104ad565b604080519115158252519081900360200190f35b34801561026a57600080fd5b50610273610772565b60408051918252519081900360200190f35b34801561029157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102de9436949293602493928401919081908401838280828437509497506107a79650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561030657600080fd5b506102de61088f565b610233600160a060020a0360043516602435610907565b34801561033257600080fd5b5061024a6109a4565b34801561034757600080fd5b5061024a600160a060020a03600435166109d4565b34801561036857600080fd5b506102736109da565b34801561037d57600080fd5b50610233610a05565b34801561039257600080fd5b50610273610aa7565b3480156103a757600080fd5b50610233600160a060020a0360043516610ad2565b3480156103c857600080fd5b50604080516020600460443581810135838102808601850190965280855261024a958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d619650505050505050565b34801561042f57600080fd5b506102de610eb1565b34801561044457600080fd5b50610233600160a060020a0360043581169060243516604435610f98565b34801561046e57600080fd5b506102de6112a6565b34801561048357600080fd5b5061024a6112d1565b34801561049857600080fd5b50610273600160a060020a03600435166112e4565b6000806104b8610aa7565b905080158015906104d05750806104cd61131e565b10155b91505090565b6104de6109a4565b60408051808201909152601581527f5641554c545f4e4f545f4445504f53495441424c45000000000000000000000060208201529015156105645760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5060408051808201909152601881527f5641554c545f4445504f5349545f56414c55455f5a45524f00000000000000006020820152600082116105ec5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a03821615156106895760408051808201909152601481527f5641554c545f56414c55455f4d49534d4154434800000000000000000000000060208201523482146106835760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5061072e565b6106a4600160a060020a03831633308463ffffffff61132216565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f52455645525481525090151561072c5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d01902081565b60006107b1610eb1565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561080f5781810151838201526020016107f7565b50505050905090810190601f16801561083c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d602081101561088557600080fd5b505190505b919050565b60006108996112a6565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108d657600080fd5b505af11580156108ea573d6000803e3d6000fd5b505050506040513d602081101561090057600080fd5b5051905090565b61090f6104ad565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a454400000000000000000000000060208201529015156109955760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b506109a082826104d6565b5050565b60006109cf7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6113a1565b905090565b50600090565b60006109cf7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6113a1565b610a0d610aa7565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610a925760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610a9b6113a5565b610aa5600161146b565b565b60006109cf7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6113a1565b6000806000610ae0846109d4565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610b665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610b6f61088f565b9250610b7a836114a2565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610c005760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a0384161515610c515760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c4b573d6000803e3d6000fd5b50610d10565b5082610c6c600160a060020a0382163063ffffffff6114cf16565b9150610c88600160a060020a038216848463ffffffff6115cf16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610d0e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d6c6104ad565b1515610d7b5760009150610ea9565b610d836112a6565b9050600160a060020a0381161515610d9e5760009150610ea9565b80600160a060020a031663fdef9106863087610db988611645565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610e2b578181015183820152602001610e13565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b505191505b509392505050565b600080610ebc6112a6565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b505050506040513d6020811015610f9057600080fd5b505192915050565b604080517f5452414e534645525f524f4c45000000000000000000000000000000000000008152905190819003600d019020610fd584848461164f565b610fe0338383610d61565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156110665760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5060408051808201909152601981527f5641554c545f5452414e534645525f56414c55455f5a45524f000000000000006020820152600084116110ee5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50600160a060020a03851615156111b257604051600160a060020a0385169084156108fc029085906000818181858888f193505050506040805190810160405280601381526020017f5641554c545f53454e445f5245564552544544000000000000000000000000008152509015156111ac5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50611254565b6111cc600160a060020a038616858563ffffffff6115cf16565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156112525760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b60006109cf7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6113a1565b60006000196112de610aa7565b14905090565b6000600160a060020a03821615156112fe5750303161088a565b611317600160a060020a0383163063ffffffff6114cf16565b905061088a565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a03167f23b872dd000000000000000000000000000000000000000000000000000000001790526000906113978682611676565b9695505050505050565b5490565b6113ad610aa7565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156114325760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b50610aa561143e61131e565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff6116c416565b61149b7f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea8263ffffffff6116c416565b50565b5490565b600080600160a060020a03831615156114be57600091506114c9565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061153a86846116c8565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156115c55760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016657818101518382015260200161014e565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061163c8582611676565b95945050505050565b8051602002815290565b606061166e84600160a060020a031684600160a060020a0316846116f9565b949350505050565b6000806040516020818551602087016000895af160008111156116ba573d80156116a757602081146116b0576116b8565b600193506116b8565b600183511493505b505b5090949350505050565b9055565b6000806000806040516020818751602089018a5afa925060008311156116ed57805191505b50909590945092505050565b604080516003808252608082019092526060916020820183803883390190505090508381600081518110151561172b57fe5b60209081029091010152805183908290600190811061174657fe5b60209081029091010152805182908290600290811061176157fe5b6020908102909101015293925050505600a165627a7a72305820299552bdc2a8ee6c2b4a574fc0483b3feff8ef92d99455b58df81c22c712517e0029", - "sourceMap": "302:3705:23:-;;;344:9:40;:7;;;;:9;:::i;:::-;302:3705:23;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;302:3705:23:-;;;;;;;", - "deployedSourceMap": "302:3705:23:-;;;;;;;;;-1:-1:-1;;;302:3705:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1557:19:23;;;;;;;;;;;;;;;;;1535:8;:20;1527:50;;;;-1:-1:-1;;;;;1527:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1527:50:23;;1587:24;269:1:45;1601:9:23;1587:8;:24::i;:::-;302:3705;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;408:66:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;408:66:23;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;2064:121:23;;-1:-1:-1;;;;;2064:121:23;;;;;;;323:113:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;323:113:44;;;;3332:94:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:94:23;-1:-1:-1;;;;;3332:94:23;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;1776:100:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1776:100:23;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;2487:462:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2487:462:23;-1:-1:-1;;;;;2487:462:23;;;;;;;;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;2955:233:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2955:233:23;-1:-1:-1;;;;;2955:233:23;;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;3432:573:23:-;3509:15;:13;:15::i;:::-;3526:21;;;;;;;;;;;;;;;;;;3501:47;;;;;;-1:-1:-1;;;;;3501:47:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3501:47:23;-1:-1:-1;3578:24:23;;;;;;;;;;;;;;;;;3575:1;3566:10;;3558:45;;;;-1:-1:-1;;;;;3558:45:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3558:45:23;-1:-1:-1;;;;;;3618:13:23;;;3614:329;;;3724:20;;;;;;;;;;;;;;;;;3703:9;:19;;3695:50;;;;-1:-1:-1;;;;;3695:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3695:50:23;;3614:329;;;3801:65;-1:-1:-1;;;;;3801:30:23;;3832:10;3852:4;3859:6;3801:65;:30;:65;:::i;:::-;3884:34;;;;;;;;;;;;;;;;;;3776:156;;;;;;;-1:-1:-1;;;;;3776:156:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3776:156:23;;3614:329;3958:40;;;;;;;;3979:10;;-1:-1:-1;;;;;3958:40:23;;;;;;;;;;;;3432:573;;:::o;408:66::-;448:26;;;;;;;;;;;;;;;;408:66;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;-1:-1:-1;795:179:60;;;;:::o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;:::o;2064:121:23:-;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;2154:24:23;2163:6;2171;2154:8;:24::i;:::-;2064:121;;:::o;323:113:44:-;369:4;392:37;250:66;392:35;:37::i;:::-;385:44;;323:113;:::o;3332:94:23:-;-1:-1:-1;3391:4:23;;3332:94::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;1776:100:23:-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1826:13:23;:11;:13::i;:::-;1849:20;1864:4;1849:14;:20::i;:::-;1776:100::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;1086:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1086:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1086:69:60;;980:231;-1:-1:-1;;980:231:60:o;2487:462:23:-;448:26;;;;;;;;;;;;;;;;2596:24;2600:6;2608:3;2613:6;2596:3;:24::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;;;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;2656:25:23;;;;;;;;;;;;;;;;;2653:1;2644:10;;2636:46;;;;-1:-1:-1;;;;;2636:46:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2636:46:23;-1:-1:-1;;;;;;2697:13:23;;;2693:200;;;2734:16;;-1:-1:-1;;;;;2734:8:23;;;:16;;;;;2743:6;;2734:16;;;;2743:6;2734:8;:16;;;;;;;2752:19;;;;;;;;;;;;;;;;;;2726:46;;;;;;;-1:-1:-1;;;;;2726:46:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2726:46:23;;2693:200;;;2811:39;-1:-1:-1;;;;;2811:26:23;;2838:3;2843:6;2811:39;:26;:39;:::i;:::-;2852:29;;;;;;;;;;;;;;;;;;2803:79;;;;;;-1:-1:-1;;;;;2803:79:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2803:79:23;;2693:200;2930:3;-1:-1:-1;;;;;2908:34:23;2922:6;-1:-1:-1;;;;;2908:34:23;;2935:6;2908:34;;;;;;;;;;;;;;;;;;2487:462;;;;;:::o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;2955:233:23:-;3009:7;-1:-1:-1;;;;;3032:13:23;;;3028:154;;;-1:-1:-1;3076:4:23;3068:21;3061:28;;3028:154;3127:44;-1:-1:-1;;;;;3127:29:23;;3165:4;3127:44;:29;:44;:::i;:::-;3120:51;;;;347:94:53;422:12;347:94;:::o;3586:361:52:-;3741:131;;;-1:-1:-1;;;;;3741:131:52;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3741:131:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3777:28:52;179:29:-1;160:49;;3689:4:52;;3889:51;3777:6;3741:131;3889:21;:51::i;:::-;3882:58;3586:361;-1:-1:-1;;;;;;3586:361:52:o;105:128:55:-;210:15;;200:27::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;442:118:44:-;504:49;250:66;540:12;504:49;:35;:49;:::i;:::-;442:118;:::o;519:134:55:-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;629:7;617:20;609:28;;662:1;655:4;:8;648:15;;426:244;;;;;:::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;1437:151:29:-;1509:11;1539:42;1551:2;-1:-1:-1;;;;;1543:11:29;1564:2;-1:-1:-1;;;;;1556:11:29;1577:2;1539:3;:42::i;:::-;1532:49;1437:151;-1:-1:-1;;;;1437:151:29:o;800:1342:52:-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;1028:119:55:-;1117:22;;1115:26::o;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;1871:179:29:-;1970:16;;;1984:1;1970:16;;;;;;;;;1943:11;;1970:16;;;1943:11;;105:10:-1;1970:16:29;88:34:-1;136:17;;-1:-1;1970:16:29;1966:20;;2003:2;1996:1;1998;1996:4;;;;;;;;;;;;;;;;;;:9;2015:4;;2022:2;;2015:1;;2017;;2015:4;;;;;;;;;;;;;;:9;2034:4;;2041:2;;2034:1;;2036;;2034:4;;;;;;;;;;;;;;:9;1871:179;;-1:-1:-1;;;1871:179:29:o", - "source": "pragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/DepositableStorage.sol\";\nimport \"@aragon/os/contracts/common/EtherTokenConstant.sol\";\nimport \"@aragon/os/contracts/common/SafeERC20.sol\";\nimport \"@aragon/os/contracts/lib/token/ERC20.sol\";\n\n\ncontract Vault is EtherTokenConstant, AragonApp, DepositableStorage {\n using SafeERC20 for ERC20;\n\n bytes32 public constant TRANSFER_ROLE = keccak256(\"TRANSFER_ROLE\");\n\n string private constant ERROR_DATA_NON_ZERO = \"VAULT_DATA_NON_ZERO\";\n string private constant ERROR_NOT_DEPOSITABLE = \"VAULT_NOT_DEPOSITABLE\";\n string private constant ERROR_DEPOSIT_VALUE_ZERO = \"VAULT_DEPOSIT_VALUE_ZERO\";\n string private constant ERROR_TRANSFER_VALUE_ZERO = \"VAULT_TRANSFER_VALUE_ZERO\";\n string private constant ERROR_SEND_REVERTED = \"VAULT_SEND_REVERTED\";\n string private constant ERROR_VALUE_MISMATCH = \"VAULT_VALUE_MISMATCH\";\n string private constant ERROR_TOKEN_TRANSFER_FROM_REVERTED = \"VAULT_TOKEN_TRANSFER_FROM_REVERT\";\n string private constant ERROR_TOKEN_TRANSFER_REVERTED = \"VAULT_TOKEN_TRANSFER_REVERTED\";\n\n event VaultTransfer(address indexed token, address indexed to, uint256 amount);\n event VaultDeposit(address indexed token, address indexed sender, uint256 amount);\n\n /**\n * @dev On a normal send() or transfer() this fallback is never executed as it will be\n * intercepted by the Proxy (see aragonOS#281)\n */\n function () external payable isInitialized {\n require(msg.data.length == 0, ERROR_DATA_NON_ZERO);\n _deposit(ETH, msg.value);\n }\n\n /**\n * @notice Initialize Vault app\n * @dev As an AragonApp it needs to be initialized in order for roles (`auth` and `authP`) to work\n */\n function initialize() external onlyInit {\n initialized();\n setDepositable(true);\n }\n\n /**\n * @notice Deposit `_value` `_token` to the vault\n * @param _token Address of the token being transferred\n * @param _value Amount of tokens being transferred\n */\n function deposit(address _token, uint256 _value) external payable isInitialized {\n _deposit(_token, _value);\n }\n\n /**\n * @notice Transfer `_value` `_token` from the Vault to `_to`\n * @param _token Address of the token being transferred\n * @param _to Address of the recipient of tokens\n * @param _value Amount of tokens being transferred\n */\n /* solium-disable-next-line function-order */\n function transfer(address _token, address _to, uint256 _value)\n external\n authP(TRANSFER_ROLE, arr(_token, _to, _value))\n {\n require(_value > 0, ERROR_TRANSFER_VALUE_ZERO);\n\n if (_token == ETH) {\n require(_to.send(_value), ERROR_SEND_REVERTED);\n } else {\n require(ERC20(_token).safeTransfer(_to, _value), ERROR_TOKEN_TRANSFER_REVERTED);\n }\n\n emit VaultTransfer(_token, _to, _value);\n }\n\n function balance(address _token) public view returns (uint256) {\n if (_token == ETH) {\n return address(this).balance;\n } else {\n return ERC20(_token).staticBalanceOf(address(this));\n }\n }\n\n /**\n * @dev Disable recovery escape hatch, as it could be used\n * maliciously to transfer funds away from the vault\n */\n function allowRecoverability(address) public view returns (bool) {\n return false;\n }\n\n function _deposit(address _token, uint256 _value) internal {\n require(isDepositable(), ERROR_NOT_DEPOSITABLE);\n require(_value > 0, ERROR_DEPOSIT_VALUE_ZERO);\n\n if (_token == ETH) {\n // Deposit is implicit in this case\n require(msg.value == _value, ERROR_VALUE_MISMATCH);\n } else {\n require(\n ERC20(_token).safeTransferFrom(msg.sender, address(this), _value),\n ERROR_TOKEN_TRANSFER_FROM_REVERTED\n );\n }\n\n emit VaultDeposit(_token, msg.sender, _value);\n }\n}\n", - "sourcePath": "@aragon/apps-vault/contracts/Vault.sol", - "ast": { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "exportedSymbols": { - "Vault": [ - 19335 - ] - }, - "id": 19336, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 19075, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:23" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 19076, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23454, - "src": "25:49:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "file": "@aragon/os/contracts/common/DepositableStorage.sol", - "id": 19077, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23642, - "src": "75:60:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 19078, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23650, - "src": "136:60:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 19079, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 24108, - "src": "197:51:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 19080, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 28100, - "src": "249:50:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19081, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "320:18:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 19082, - "nodeType": "InheritanceSpecifier", - "src": "320:18:23" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19083, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "340:9:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 19084, - "nodeType": "InheritanceSpecifier", - "src": "340:9:23" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19085, - "name": "DepositableStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23641, - "src": "351:18:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableStorage_$23641", - "typeString": "contract DepositableStorage" - } - }, - "id": 19086, - "nodeType": "InheritanceSpecifier", - "src": "351:18:23" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23641, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 19335, - "linearizedBaseContracts": [ - 19335, - 23641, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Vault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 19089, - "libraryName": { - "contractScope": null, - "id": 19087, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "382:9:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "376:26:23", - "typeName": { - "contractScope": null, - "id": 19088, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "396:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 19094, - "name": "TRANSFER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "408:66:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19090, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "408:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5452414e534645525f524f4c45", - "id": 19092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "458:15:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c", - "typeString": "literal_string \"TRANSFER_ROLE\"" - }, - "value": "TRANSFER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c", - "typeString": "literal_string \"TRANSFER_ROLE\"" - } - ], - "id": 19091, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "448:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "448:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19097, - "name": "ERROR_DATA_NON_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "481:67:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "481:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f444154415f4e4f4e5f5a45524f", - "id": 19096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "527:21:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0829386c2694bdafbc0f9911e06f1a82161dfa07f00e5f4ffc445f7ffa36e297", - "typeString": "literal_string \"VAULT_DATA_NON_ZERO\"" - }, - "value": "VAULT_DATA_NON_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19100, - "name": "ERROR_NOT_DEPOSITABLE", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "554:71:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "554:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f4e4f545f4445504f53495441424c45", - "id": 19099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "602:23:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9409f425c42754390c734673a9e3b0d583c18311f62345ab50786af4bb8b8452", - "typeString": "literal_string \"VAULT_NOT_DEPOSITABLE\"" - }, - "value": "VAULT_NOT_DEPOSITABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19103, - "name": "ERROR_DEPOSIT_VALUE_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "631:77:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19101, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "631:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f4445504f5349545f56414c55455f5a45524f", - "id": 19102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "682:26:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c5ebb74edc6e384ac3afcd3b0135b9d7255f2b98ccac9da5f2853a3fe2606ad", - "typeString": "literal_string \"VAULT_DEPOSIT_VALUE_ZERO\"" - }, - "value": "VAULT_DEPOSIT_VALUE_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19106, - "name": "ERROR_TRANSFER_VALUE_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "714:79:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "714:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f5452414e534645525f56414c55455f5a45524f", - "id": 19105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "766:27:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_decc76396ec53bc6011e3d66d985ed0887f7e92d400db2ee0ccef257d87be30e", - "typeString": "literal_string \"VAULT_TRANSFER_VALUE_ZERO\"" - }, - "value": "VAULT_TRANSFER_VALUE_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19109, - "name": "ERROR_SEND_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "799:67:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19107, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "799:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f53454e445f5245564552544544", - "id": 19108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "845:21:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08b8a3f19622a534b7d452966291145b76c01528da2625cbd77a2566ec4a33e3", - "typeString": "literal_string \"VAULT_SEND_REVERTED\"" - }, - "value": "VAULT_SEND_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19112, - "name": "ERROR_VALUE_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "872:69:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "872:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f56414c55455f4d49534d41544348", - "id": 19111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "919:22:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3cb638818660075c33e198a5cd1c0aa78c5314dcb74b7de31f7a31cae2c0c6d5", - "typeString": "literal_string \"VAULT_VALUE_MISMATCH\"" - }, - "value": "VAULT_VALUE_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19115, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "947:95:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19113, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "947:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f544f4b454e5f5452414e534645525f46524f4d5f524556455254", - "id": 19114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1008:34:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9c92a890e9db91a5068bac2a44bb5e2dbc0c358bea307f440284ba46c9762b46", - "typeString": "literal_string \"VAULT_TOKEN_TRANSFER_FROM_REVERT\"" - }, - "value": "VAULT_TOKEN_TRANSFER_FROM_REVERT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19118, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "1048:87:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19116, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1048:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f544f4b454e5f5452414e534645525f5245564552544544", - "id": 19117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1104:31:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_82fb9fc43cf1d51e6d7370d61e175091f36d6426a592459724662e4e87ab02ef", - "typeString": "literal_string \"VAULT_TOKEN_TRANSFER_REVERTED\"" - }, - "value": "VAULT_TOKEN_TRANSFER_REVERTED" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 19126, - "name": "VaultTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 19125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19120, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1162:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1162:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19122, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1185:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19121, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19124, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1205:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1205:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1161:59:23" - }, - "src": "1142:79:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 19134, - "name": "VaultDeposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 19133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19128, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1245:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1245:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19130, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1268:22:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1268:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19132, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1292:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1292:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1244:63:23" - }, - "src": "1226:82:23" - }, - { - "body": { - "id": 19154, - "nodeType": "Block", - "src": "1517:101:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19140, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1535:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1535:8:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 19142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1535:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1554:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1535:20:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19145, - "name": "ERROR_DATA_NON_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19097, - "src": "1557:19:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1527:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1527:50:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19147, - "nodeType": "ExpressionStatement", - "src": "1527:50:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19149, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "1596:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19150, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1601:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1601:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19148, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19334, - "src": "1587:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 19152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:24:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19153, - "nodeType": "ExpressionStatement", - "src": "1587:24:23" - } - ] - }, - "documentation": "@dev On a normal send() or transfer() this fallback is never executed as it will be\n intercepted by the Proxy (see aragonOS#281)", - "id": 19155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19137, - "modifierName": { - "argumentTypes": null, - "id": 19136, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1503:13:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1503:13:23" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19135, - "nodeType": "ParameterList", - "parameters": [], - "src": "1483:2:23" - }, - "payable": true, - "returnParameters": { - "id": 19138, - "nodeType": "ParameterList", - "parameters": [], - "src": "1517:0:23" - }, - "scope": 19335, - "src": "1474:144:23", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19167, - "nodeType": "Block", - "src": "1816:60:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19160, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1826:11:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 19161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1826:13:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19162, - "nodeType": "ExpressionStatement", - "src": "1826:13:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1864:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19163, - "name": "setDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23640, - "src": "1849:14:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 19165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1849:20:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19166, - "nodeType": "ExpressionStatement", - "src": "1849:20:23" - } - ] - }, - "documentation": "@notice Initialize Vault app\n@dev As an AragonApp it needs to be initialized in order for roles (`auth` and `authP`) to work", - "id": 19168, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19158, - "modifierName": { - "argumentTypes": null, - "id": 19157, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1807:8:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1807:8:23" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19156, - "nodeType": "ParameterList", - "parameters": [], - "src": "1795:2:23" - }, - "payable": false, - "returnParameters": { - "id": 19159, - "nodeType": "ParameterList", - "parameters": [], - "src": "1816:0:23" - }, - "scope": 19335, - "src": "1776:100:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19182, - "nodeType": "Block", - "src": "2144:41:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19178, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19170, - "src": "2163:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19179, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19172, - "src": "2171:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19177, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19334, - "src": "2154:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 19180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:24:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19181, - "nodeType": "ExpressionStatement", - "src": "2154:24:23" - } - ] - }, - "documentation": "@notice Deposit `_value` `_token` to the vault\n@param _token Address of the token being transferred\n@param _value Amount of tokens being transferred", - "id": 19183, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19175, - "modifierName": { - "argumentTypes": null, - "id": 19174, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "2130:13:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2130:13:23" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19170, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19183, - "src": "2081:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2081:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19172, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19183, - "src": "2097:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2097:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2080:32:23" - }, - "payable": true, - "returnParameters": { - "id": 19176, - "nodeType": "ParameterList", - "parameters": [], - "src": "2144:0:23" - }, - "scope": 19335, - "src": "2064:121:23", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19238, - "nodeType": "Block", - "src": "2626:323:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19201, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2644:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2653:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2644:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19204, - "name": "ERROR_TRANSFER_VALUE_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19106, - "src": "2656:25:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19200, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2636:46:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19206, - "nodeType": "ExpressionStatement", - "src": "2636:46:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19207, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2697:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19208, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "2707:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2697:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19230, - "nodeType": "Block", - "src": "2789:104:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19224, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2838:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19225, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2843:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19221, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2817:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19220, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "2811:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2811:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "2811:26:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 19226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2811:39:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19227, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19118, - "src": "2852:29:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19219, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2803:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2803:79:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19229, - "nodeType": "ExpressionStatement", - "src": "2803:79:23" - } - ] - }, - "id": 19231, - "nodeType": "IfStatement", - "src": "2693:200:23", - "trueBody": { - "id": 19218, - "nodeType": "Block", - "src": "2712:71:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19213, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2743:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 19211, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2734:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 19212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2734:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 19214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2734:16:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19215, - "name": "ERROR_SEND_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19109, - "src": "2752:19:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19210, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2726:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2726:46:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19217, - "nodeType": "ExpressionStatement", - "src": "2726:46:23" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19233, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2922:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19234, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2930:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19235, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2935:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19232, - "name": "VaultTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19126, - "src": "2908:13:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 19236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:34:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19237, - "nodeType": "EmitStatement", - "src": "2903:39:23" - } - ] - }, - "documentation": "@notice Transfer `_value` `_token` from the Vault to `_to`\n@param _token Address of the token being transferred\n@param _to Address of the recipient of tokens\n@param _value Amount of tokens being transferred", - "id": 19239, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19192, - "name": "TRANSFER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19094, - "src": "2581:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19194, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2600:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19195, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2608:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19196, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2613:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19193, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22040, - "src": "2596:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2596:24:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19198, - "modifierName": { - "argumentTypes": null, - "id": 19191, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "2575:5:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2575:46:23" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19185, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2505:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2505:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19187, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2521:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2521:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19189, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2534:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2504:45:23" - }, - "payable": false, - "returnParameters": { - "id": 19199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2626:0:23" - }, - "scope": 19335, - "src": "2487:462:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19266, - "nodeType": "Block", - "src": "3018:170:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19246, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19241, - "src": "3032:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19247, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "3042:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3032:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19264, - "nodeType": "Block", - "src": "3106:76:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19260, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3165:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3157:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3157:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19256, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19241, - "src": "3133:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19255, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "3127:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3127:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "3127:29:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 19262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3127:44:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19245, - "id": 19263, - "nodeType": "Return", - "src": "3120:51:23" - } - ] - }, - "id": 19265, - "nodeType": "IfStatement", - "src": "3028:154:23", - "trueBody": { - "id": 19254, - "nodeType": "Block", - "src": "3047:53:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19250, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3076:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3068:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3068:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 19252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3068:21:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19245, - "id": 19253, - "nodeType": "Return", - "src": "3061:28:23" - } - ] - } - } - ] - }, - "documentation": null, - "id": 19267, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19241, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19267, - "src": "2972:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2971:16:23" - }, - "payable": false, - "returnParameters": { - "id": 19245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19267, - "src": "3009:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3009:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3008:9:23" - }, - "scope": 19335, - "src": "2955:233:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19276, - "nodeType": "Block", - "src": "3397:29:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 19274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3414:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 19273, - "id": 19275, - "nodeType": "Return", - "src": "3407:12:23" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch, as it could be used\n maliciously to transfer funds away from the vault", - "id": 19277, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19277, - "src": "3361:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3361:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3360:9:23" - }, - "payable": false, - "returnParameters": { - "id": 19273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19272, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19277, - "src": "3391:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19271, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3391:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3390:6:23" - }, - "scope": 19335, - "src": "3332:94:23", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 19333, - "nodeType": "Block", - "src": "3491:514:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19285, - "name": "isDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23628, - "src": "3509:13:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 19286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3509:15:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19287, - "name": "ERROR_NOT_DEPOSITABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19100, - "src": "3526:21:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19284, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3501:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3501:47:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19289, - "nodeType": "ExpressionStatement", - "src": "3501:47:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19291, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3566:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3575:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3566:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19294, - "name": "ERROR_DEPOSIT_VALUE_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19103, - "src": "3578:24:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3558:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3558:45:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19296, - "nodeType": "ExpressionStatement", - "src": "3558:45:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19297, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3618:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19298, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "3628:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3618:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19324, - "nodeType": "Block", - "src": "3762:181:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19314, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3832:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3832:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3852:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3844:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3844:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19319, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3859:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19311, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3807:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19310, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "3801:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "3801:30:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 19320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:65:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19321, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19115, - "src": "3884:34:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3776:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3776:156:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19323, - "nodeType": "ExpressionStatement", - "src": "3776:156:23" - } - ] - }, - "id": 19325, - "nodeType": "IfStatement", - "src": "3614:329:23", - "trueBody": { - "id": 19308, - "nodeType": "Block", - "src": "3633:123:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19301, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3703:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3703:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19303, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3716:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3703:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19305, - "name": "ERROR_VALUE_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19112, - "src": "3724:20:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3695:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3695:50:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19307, - "nodeType": "ExpressionStatement", - "src": "3695:50:23" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19327, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3971:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19328, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3979:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3979:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19330, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3991:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19326, - "name": "VaultDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19134, - "src": "3958:12:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 19331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3958:40:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19332, - "nodeType": "EmitStatement", - "src": "3953:45:23" - } - ] - }, - "documentation": null, - "id": 19334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19279, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19334, - "src": "3450:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19281, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19334, - "src": "3466:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3466:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3449:32:23" - }, - "payable": false, - "returnParameters": { - "id": 19283, - "nodeType": "ParameterList", - "parameters": [], - "src": "3491:0:23" - }, - "scope": 19335, - "src": "3432:573:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 19336, - "src": "302:3705:23" - } - ], - "src": "0:4008:23" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-vault/contracts/Vault.sol", - "exportedSymbols": { - "Vault": [ - 19335 - ] - }, - "id": 19336, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 19075, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:23" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 19076, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23454, - "src": "25:49:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/DepositableStorage.sol", - "file": "@aragon/os/contracts/common/DepositableStorage.sol", - "id": 19077, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23642, - "src": "75:60:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "id": 19078, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 23650, - "src": "136:60:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "@aragon/os/contracts/common/SafeERC20.sol", - "id": 19079, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 24108, - "src": "197:51:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "@aragon/os/contracts/lib/token/ERC20.sol", - "id": 19080, - "nodeType": "ImportDirective", - "scope": 19336, - "sourceUnit": 28100, - "src": "249:50:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19081, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "320:18:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 19082, - "nodeType": "InheritanceSpecifier", - "src": "320:18:23" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19083, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "340:9:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 19084, - "nodeType": "InheritanceSpecifier", - "src": "340:9:23" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19085, - "name": "DepositableStorage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23641, - "src": "351:18:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositableStorage_$23641", - "typeString": "contract DepositableStorage" - } - }, - "id": 19086, - "nodeType": "InheritanceSpecifier", - "src": "351:18:23" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23641, - 23649, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 19335, - "linearizedBaseContracts": [ - 19335, - 23641, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329 - ], - "name": "Vault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 19089, - "libraryName": { - "contractScope": null, - "id": 19087, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "382:9:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "376:26:23", - "typeName": { - "contractScope": null, - "id": 19088, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "396:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 19094, - "name": "TRANSFER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "408:66:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19090, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "408:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5452414e534645525f524f4c45", - "id": 19092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "458:15:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c", - "typeString": "literal_string \"TRANSFER_ROLE\"" - }, - "value": "TRANSFER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c", - "typeString": "literal_string \"TRANSFER_ROLE\"" - } - ], - "id": 19091, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "448:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "448:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19097, - "name": "ERROR_DATA_NON_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "481:67:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "481:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f444154415f4e4f4e5f5a45524f", - "id": 19096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "527:21:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0829386c2694bdafbc0f9911e06f1a82161dfa07f00e5f4ffc445f7ffa36e297", - "typeString": "literal_string \"VAULT_DATA_NON_ZERO\"" - }, - "value": "VAULT_DATA_NON_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19100, - "name": "ERROR_NOT_DEPOSITABLE", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "554:71:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "554:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f4e4f545f4445504f53495441424c45", - "id": 19099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "602:23:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9409f425c42754390c734673a9e3b0d583c18311f62345ab50786af4bb8b8452", - "typeString": "literal_string \"VAULT_NOT_DEPOSITABLE\"" - }, - "value": "VAULT_NOT_DEPOSITABLE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19103, - "name": "ERROR_DEPOSIT_VALUE_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "631:77:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19101, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "631:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f4445504f5349545f56414c55455f5a45524f", - "id": 19102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "682:26:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c5ebb74edc6e384ac3afcd3b0135b9d7255f2b98ccac9da5f2853a3fe2606ad", - "typeString": "literal_string \"VAULT_DEPOSIT_VALUE_ZERO\"" - }, - "value": "VAULT_DEPOSIT_VALUE_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19106, - "name": "ERROR_TRANSFER_VALUE_ZERO", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "714:79:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "714:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f5452414e534645525f56414c55455f5a45524f", - "id": 19105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "766:27:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_decc76396ec53bc6011e3d66d985ed0887f7e92d400db2ee0ccef257d87be30e", - "typeString": "literal_string \"VAULT_TRANSFER_VALUE_ZERO\"" - }, - "value": "VAULT_TRANSFER_VALUE_ZERO" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19109, - "name": "ERROR_SEND_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "799:67:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19107, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "799:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f53454e445f5245564552544544", - "id": 19108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "845:21:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08b8a3f19622a534b7d452966291145b76c01528da2625cbd77a2566ec4a33e3", - "typeString": "literal_string \"VAULT_SEND_REVERTED\"" - }, - "value": "VAULT_SEND_REVERTED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19112, - "name": "ERROR_VALUE_MISMATCH", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "872:69:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "872:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f56414c55455f4d49534d41544348", - "id": 19111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "919:22:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3cb638818660075c33e198a5cd1c0aa78c5314dcb74b7de31f7a31cae2c0c6d5", - "typeString": "literal_string \"VAULT_VALUE_MISMATCH\"" - }, - "value": "VAULT_VALUE_MISMATCH" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19115, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "947:95:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19113, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "947:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f544f4b454e5f5452414e534645525f46524f4d5f524556455254", - "id": 19114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1008:34:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9c92a890e9db91a5068bac2a44bb5e2dbc0c358bea307f440284ba46c9762b46", - "typeString": "literal_string \"VAULT_TOKEN_TRANSFER_FROM_REVERT\"" - }, - "value": "VAULT_TOKEN_TRANSFER_FROM_REVERT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19118, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "VariableDeclaration", - "scope": 19335, - "src": "1048:87:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19116, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1048:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5641554c545f544f4b454e5f5452414e534645525f5245564552544544", - "id": 19117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1104:31:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_82fb9fc43cf1d51e6d7370d61e175091f36d6426a592459724662e4e87ab02ef", - "typeString": "literal_string \"VAULT_TOKEN_TRANSFER_REVERTED\"" - }, - "value": "VAULT_TOKEN_TRANSFER_REVERTED" - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 19126, - "name": "VaultTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 19125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19120, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1162:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1162:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19122, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1185:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19121, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19124, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 19126, - "src": "1205:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1205:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1161:59:23" - }, - "src": "1142:79:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 19134, - "name": "VaultDeposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 19133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19128, - "indexed": true, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1245:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1245:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19130, - "indexed": true, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1268:22:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1268:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19132, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 19134, - "src": "1292:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1292:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1244:63:23" - }, - "src": "1226:82:23" - }, - { - "body": { - "id": 19154, - "nodeType": "Block", - "src": "1517:101:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19140, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1535:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1535:8:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 19142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1535:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1554:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1535:20:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19145, - "name": "ERROR_DATA_NON_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19097, - "src": "1557:19:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1527:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1527:50:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19147, - "nodeType": "ExpressionStatement", - "src": "1527:50:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19149, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "1596:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19150, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "1601:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1601:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19148, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19334, - "src": "1587:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 19152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:24:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19153, - "nodeType": "ExpressionStatement", - "src": "1587:24:23" - } - ] - }, - "documentation": "@dev On a normal send() or transfer() this fallback is never executed as it will be\n intercepted by the Proxy (see aragonOS#281)", - "id": 19155, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19137, - "modifierName": { - "argumentTypes": null, - "id": 19136, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "1503:13:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1503:13:23" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19135, - "nodeType": "ParameterList", - "parameters": [], - "src": "1483:2:23" - }, - "payable": true, - "returnParameters": { - "id": 19138, - "nodeType": "ParameterList", - "parameters": [], - "src": "1517:0:23" - }, - "scope": 19335, - "src": "1474:144:23", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19167, - "nodeType": "Block", - "src": "1816:60:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19160, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "1826:11:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 19161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1826:13:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19162, - "nodeType": "ExpressionStatement", - "src": "1826:13:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1864:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19163, - "name": "setDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23640, - "src": "1849:14:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 19165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1849:20:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19166, - "nodeType": "ExpressionStatement", - "src": "1849:20:23" - } - ] - }, - "documentation": "@notice Initialize Vault app\n@dev As an AragonApp it needs to be initialized in order for roles (`auth` and `authP`) to work", - "id": 19168, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19158, - "modifierName": { - "argumentTypes": null, - "id": 19157, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "1807:8:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1807:8:23" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19156, - "nodeType": "ParameterList", - "parameters": [], - "src": "1795:2:23" - }, - "payable": false, - "returnParameters": { - "id": 19159, - "nodeType": "ParameterList", - "parameters": [], - "src": "1816:0:23" - }, - "scope": 19335, - "src": "1776:100:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19182, - "nodeType": "Block", - "src": "2144:41:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19178, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19170, - "src": "2163:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19179, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19172, - "src": "2171:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19177, - "name": "_deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19334, - "src": "2154:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 19180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:24:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19181, - "nodeType": "ExpressionStatement", - "src": "2154:24:23" - } - ] - }, - "documentation": "@notice Deposit `_value` `_token` to the vault\n@param _token Address of the token being transferred\n@param _value Amount of tokens being transferred", - "id": 19183, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19175, - "modifierName": { - "argumentTypes": null, - "id": 19174, - "name": "isInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23739, - "src": "2130:13:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2130:13:23" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19170, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19183, - "src": "2081:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2081:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19172, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19183, - "src": "2097:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2097:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2080:32:23" - }, - "payable": true, - "returnParameters": { - "id": 19176, - "nodeType": "ParameterList", - "parameters": [], - "src": "2144:0:23" - }, - "scope": 19335, - "src": "2064:121:23", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19238, - "nodeType": "Block", - "src": "2626:323:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19201, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2644:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2653:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2644:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19204, - "name": "ERROR_TRANSFER_VALUE_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19106, - "src": "2656:25:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19200, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2636:46:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19206, - "nodeType": "ExpressionStatement", - "src": "2636:46:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19207, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2697:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19208, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "2707:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2697:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19230, - "nodeType": "Block", - "src": "2789:104:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19224, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2838:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19225, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2843:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19221, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2817:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19220, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "2811:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2811:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "2811:26:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 19226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2811:39:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19227, - "name": "ERROR_TOKEN_TRANSFER_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19118, - "src": "2852:29:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19219, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2803:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2803:79:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19229, - "nodeType": "ExpressionStatement", - "src": "2803:79:23" - } - ] - }, - "id": 19231, - "nodeType": "IfStatement", - "src": "2693:200:23", - "trueBody": { - "id": 19218, - "nodeType": "Block", - "src": "2712:71:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19213, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2743:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 19211, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2734:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 19212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2734:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 19214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2734:16:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19215, - "name": "ERROR_SEND_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19109, - "src": "2752:19:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19210, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2726:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2726:46:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19217, - "nodeType": "ExpressionStatement", - "src": "2726:46:23" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19233, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2922:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19234, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2930:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19235, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2935:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19232, - "name": "VaultTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19126, - "src": "2908:13:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 19236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:34:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19237, - "nodeType": "EmitStatement", - "src": "2903:39:23" - } - ] - }, - "documentation": "@notice Transfer `_value` `_token` from the Vault to `_to`\n@param _token Address of the token being transferred\n@param _to Address of the recipient of tokens\n@param _value Amount of tokens being transferred", - "id": 19239, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19192, - "name": "TRANSFER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19094, - "src": "2581:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19194, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19185, - "src": "2600:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19195, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19187, - "src": "2608:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19196, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19189, - "src": "2613:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19193, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22040, - "src": "2596:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (address,address,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2596:24:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19198, - "modifierName": { - "argumentTypes": null, - "id": 19191, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "2575:5:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2575:46:23" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19185, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2505:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2505:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19187, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2521:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2521:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19189, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19239, - "src": "2534:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2504:45:23" - }, - "payable": false, - "returnParameters": { - "id": 19199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2626:0:23" - }, - "scope": 19335, - "src": "2487:462:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19266, - "nodeType": "Block", - "src": "3018:170:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19246, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19241, - "src": "3032:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19247, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "3042:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3032:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19264, - "nodeType": "Block", - "src": "3106:76:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19260, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3165:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3157:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3157:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19256, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19241, - "src": "3133:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19255, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "3127:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3127:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "3127:29:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 19262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3127:44:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19245, - "id": 19263, - "nodeType": "Return", - "src": "3120:51:23" - } - ] - }, - "id": 19265, - "nodeType": "IfStatement", - "src": "3028:154:23", - "trueBody": { - "id": 19254, - "nodeType": "Block", - "src": "3047:53:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19250, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3076:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3068:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3068:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 19252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3068:21:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19245, - "id": 19253, - "nodeType": "Return", - "src": "3061:28:23" - } - ] - } - } - ] - }, - "documentation": null, - "id": 19267, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19241, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19267, - "src": "2972:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2971:16:23" - }, - "payable": false, - "returnParameters": { - "id": 19245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19267, - "src": "3009:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3009:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3008:9:23" - }, - "scope": 19335, - "src": "2955:233:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19276, - "nodeType": "Block", - "src": "3397:29:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 19274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3414:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 19273, - "id": 19275, - "nodeType": "Return", - "src": "3407:12:23" - } - ] - }, - "documentation": "@dev Disable recovery escape hatch, as it could be used\n maliciously to transfer funds away from the vault", - "id": 19277, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19277, - "src": "3361:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3361:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3360:9:23" - }, - "payable": false, - "returnParameters": { - "id": 19273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19272, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19277, - "src": "3391:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19271, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3391:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3390:6:23" - }, - "scope": 19335, - "src": "3332:94:23", - "stateMutability": "view", - "superFunction": 24370, - "visibility": "public" - }, - { - "body": { - "id": 19333, - "nodeType": "Block", - "src": "3491:514:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19285, - "name": "isDepositable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23628, - "src": "3509:13:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 19286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3509:15:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19287, - "name": "ERROR_NOT_DEPOSITABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19100, - "src": "3526:21:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19284, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3501:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3501:47:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19289, - "nodeType": "ExpressionStatement", - "src": "3501:47:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19291, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3566:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3575:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3566:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19294, - "name": "ERROR_DEPOSIT_VALUE_ZERO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19103, - "src": "3578:24:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3558:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3558:45:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19296, - "nodeType": "ExpressionStatement", - "src": "3558:45:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19297, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3618:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19298, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "3628:3:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3618:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 19324, - "nodeType": "Block", - "src": "3762:181:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19314, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3832:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3832:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29861, - "src": "3852:4:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Vault_$19335", - "typeString": "contract Vault" - } - ], - "id": 19316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3844:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 19318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3844:13:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19319, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3859:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19311, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3807:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19310, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "3801:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 19312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:13:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 19313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24003, - "src": "3801:30:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,address,uint256) returns (bool)" - } - }, - "id": 19320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:65:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19321, - "name": "ERROR_TOKEN_TRANSFER_FROM_REVERTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19115, - "src": "3884:34:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3776:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3776:156:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19323, - "nodeType": "ExpressionStatement", - "src": "3776:156:23" - } - ] - }, - "id": 19325, - "nodeType": "IfStatement", - "src": "3614:329:23", - "trueBody": { - "id": 19308, - "nodeType": "Block", - "src": "3633:123:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19301, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3703:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3703:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 19303, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3716:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3703:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19305, - "name": "ERROR_VALUE_MISMATCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19112, - "src": "3724:20:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3695:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3695:50:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19307, - "nodeType": "ExpressionStatement", - "src": "3695:50:23" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19327, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19279, - "src": "3971:6:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19328, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "3979:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3979:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19330, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19281, - "src": "3991:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19326, - "name": "VaultDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19134, - "src": "3958:12:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 19331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3958:40:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19332, - "nodeType": "EmitStatement", - "src": "3953:45:23" - } - ] - }, - "documentation": null, - "id": 19334, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19279, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19334, - "src": "3450:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19281, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 19334, - "src": "3466:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3466:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3449:32:23" - }, - "payable": false, - "returnParameters": { - "id": 19283, - "nodeType": "ParameterList", - "parameters": [], - "src": "3491:0:23" - }, - "scope": 19335, - "src": "3432:573:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 19336, - "src": "302:3705:23" - } - ], - "src": "0:4008:23" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.294Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/VaultRecoverable.json b/templates/multisig/build/contracts/VaultRecoverable.json deleted file mode 100644 index 4c3548e..0000000 --- a/templates/multisig/build/contracts/VaultRecoverable.json +++ /dev/null @@ -1,3123 +0,0 @@ -{ - "contractName": "VaultRecoverable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../lib/token/ERC20.sol\";\nimport \"./EtherTokenConstant.sol\";\nimport \"./IsContract.sol\";\nimport \"./IVaultRecoverable.sol\";\nimport \"./SafeERC20.sol\";\n\n\ncontract VaultRecoverable is IVaultRecoverable, EtherTokenConstant, IsContract {\n using SafeERC20 for ERC20;\n\n string private constant ERROR_DISALLOWED = \"RECOVER_DISALLOWED\";\n string private constant ERROR_VAULT_NOT_CONTRACT = \"RECOVER_VAULT_NOT_CONTRACT\";\n string private constant ERROR_TOKEN_TRANSFER_FAILED = \"RECOVER_TOKEN_TRANSFER_FAILED\";\n\n /**\n * @notice Send funds to recovery Vault. This contract should never receive funds,\n * but in case it does, this function allows one to recover them.\n * @param _token Token balance to be sent to recovery vault.\n */\n function transferToVault(address _token) external {\n require(allowRecoverability(_token), ERROR_DISALLOWED);\n address vault = getRecoveryVault();\n require(isContract(vault), ERROR_VAULT_NOT_CONTRACT);\n\n uint256 balance;\n if (_token == ETH) {\n balance = address(this).balance;\n vault.transfer(balance);\n } else {\n ERC20 token = ERC20(_token);\n balance = token.staticBalanceOf(this);\n require(token.safeTransfer(vault, balance), ERROR_TOKEN_TRANSFER_FAILED);\n }\n\n emit RecoverToVault(vault, _token, balance);\n }\n\n /**\n * @dev By default deriving from AragonApp makes it recoverable\n * @param token Token address that would be recovered\n * @return bool whether the app allows the recovery\n */\n function allowRecoverability(address token) public view returns (bool) {\n return true;\n }\n\n // Cast non-implemented interface to be public so we can use it internally\n function getRecoveryVault() public view returns (address);\n}\n", - "sourcePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "ast": { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "exportedSymbols": { - "VaultRecoverable": [ - 24376 - ] - }, - "id": 24377, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24262, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:56" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "../lib/token/ERC20.sol", - "id": 24263, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 28100, - "src": "70:32:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "./EtherTokenConstant.sol", - "id": 24264, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23650, - "src": "103:34:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "./IsContract.sol", - "id": 24265, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23826, - "src": "138:26:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "./IVaultRecoverable.sol", - "id": 24266, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23700, - "src": "165:33:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "./SafeERC20.sol", - "id": 24267, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 24108, - "src": "199:25:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24268, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "256:17:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 24269, - "nodeType": "InheritanceSpecifier", - "src": "256:17:56" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24270, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "275:18:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 24271, - "nodeType": "InheritanceSpecifier", - "src": "275:18:56" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24272, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "295:10:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 24273, - "nodeType": "InheritanceSpecifier", - "src": "295:10:56" - } - ], - "contractDependencies": [ - 23649, - 23699, - 23825 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 24376, - "linearizedBaseContracts": [ - 24376, - 23825, - 23649, - 23699 - ], - "name": "VaultRecoverable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24276, - "libraryName": { - "contractScope": null, - "id": 24274, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "318:9:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "312:26:56", - "typeName": { - "contractScope": null, - "id": 24275, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "332:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 24279, - "name": "ERROR_DISALLOWED", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "344:63:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24277, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "344:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f444953414c4c4f574544", - "id": 24278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "387:20:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47aa147597a7b552a4e71045691780a16af5fd5e8d5d273726c17abe45b2d846", - "typeString": "literal_string \"RECOVER_DISALLOWED\"" - }, - "value": "RECOVER_DISALLOWED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24282, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "413:79:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24280, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "413:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f5641554c545f4e4f545f434f4e5452414354", - "id": 24281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "464:28:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_75ee4922bd8110ebf690d2268404281e15c05946c72e21f392a98d678433c1b8", - "typeString": "literal_string \"RECOVER_VAULT_NOT_CONTRACT\"" - }, - "value": "RECOVER_VAULT_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24285, - "name": "ERROR_TOKEN_TRANSFER_FAILED", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "498:85:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24283, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544", - "id": 24284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:31:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50ced607ee32fa6b84ba381cb0e7349b0ffb77cff346ccdcab72221c40403f1a", - "typeString": "literal_string \"RECOVER_TOKEN_TRANSFER_FAILED\"" - }, - "value": "RECOVER_TOKEN_TRANSFER_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 24359, - "nodeType": "Block", - "src": "886:573:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24292, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "924:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24291, - "name": "allowRecoverability", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24370, - "src": "904:19:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 24293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "904:27:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24294, - "name": "ERROR_DISALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24279, - "src": "933:16:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "896:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "896:54:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24296, - "nodeType": "ExpressionStatement", - "src": "896:54:56" - }, - { - "assignments": [ - 24298 - ], - "declarations": [ - { - "constant": false, - "id": 24298, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "960:13:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "960:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24301, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24299, - "name": "getRecoveryVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24375, - "src": "976:16:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 24300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "976:18:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:34:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24304, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1023:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24303, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "1012:10:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 24305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1012:17:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24306, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24282, - "src": "1031:24:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1004:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1004:52:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24308, - "nodeType": "ExpressionStatement", - "src": "1004:52:56" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 24310, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "1067:15:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1067:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24311, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1067:15:56" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24312, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1096:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 24313, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "1106:3:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1096:13:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 24351, - "nodeType": "Block", - "src": "1210:189:56", - "statements": [ - { - "assignments": [ - 24330 - ], - "declarations": [ - { - "constant": false, - "id": 24330, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "1224:11:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24329, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "1224:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24334, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24332, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1244:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24331, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "1238:5:56", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 24333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1238:13:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1224:27:56" - }, - { - "expression": { - "argumentTypes": null, - "id": 24340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24335, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1265:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24338, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29843, - "src": "1297:4:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - ], - "expression": { - "argumentTypes": null, - "id": 24336, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24330, - "src": "1275:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "1275:21:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 24339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1275:27:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1265:37:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24341, - "nodeType": "ExpressionStatement", - "src": "1265:37:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24345, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1343:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24346, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1350:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24343, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24330, - "src": "1324:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "1324:18:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 24347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1324:34:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24348, - "name": "ERROR_TOKEN_TRANSFER_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24285, - "src": "1360:27:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1316:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1316:72:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24350, - "nodeType": "ExpressionStatement", - "src": "1316:72:56" - } - ] - }, - "id": 24352, - "nodeType": "IfStatement", - "src": "1092:307:56", - "trueBody": { - "id": 24328, - "nodeType": "Block", - "src": "1111:93:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24315, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1125:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29843, - "src": "1143:4:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - ], - "id": 24316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1135:7:56", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:13:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 24319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1135:21:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1125:31:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24321, - "nodeType": "ExpressionStatement", - "src": "1125:31:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24325, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1185:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24322, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1170:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 24324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1170:14:56", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 24326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1170:23:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24327, - "nodeType": "ExpressionStatement", - "src": "1170:23:56" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24354, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1429:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24355, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1436:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24356, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1444:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24353, - "name": "RecoverToVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23681, - "src": "1414:14:56", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 24357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1414:38:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24358, - "nodeType": "EmitStatement", - "src": "1409:43:56" - } - ] - }, - "documentation": "@notice Send funds to recovery Vault. This contract should never receive funds,\n but in case it does, this function allows one to recover them.\n@param _token Token balance to be sent to recovery vault.", - "id": 24360, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24287, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "861:14:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "861:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:16:56" - }, - "payable": false, - "returnParameters": { - "id": 24289, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:0:56" - }, - "scope": 24376, - "src": "836:623:56", - "stateMutability": "nonpayable", - "superFunction": 23686, - "visibility": "external" - }, - { - "body": { - "id": 24369, - "nodeType": "Block", - "src": "1730:28:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1747:4:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 24366, - "id": 24368, - "nodeType": "Return", - "src": "1740:11:56" - } - ] - }, - "documentation": "@dev By default deriving from AragonApp makes it recoverable\n@param token Token address that would be recovered\n@return bool whether the app allows the recovery", - "id": 24370, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24363, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24362, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 24370, - "src": "1688:13:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1688:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1687:15:56" - }, - "payable": false, - "returnParameters": { - "id": 24366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24365, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24370, - "src": "1724:4:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24364, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1724:4:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1723:6:56" - }, - "scope": 24376, - "src": "1659:99:56", - "stateMutability": "view", - "superFunction": 23693, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 24375, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24371, - "nodeType": "ParameterList", - "parameters": [], - "src": "1868:2:56" - }, - "payable": false, - "returnParameters": { - "id": 24374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24373, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24375, - "src": "1892:7:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24372, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1892:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1891:9:56" - }, - "scope": 24376, - "src": "1843:58:56", - "stateMutability": "view", - "superFunction": 23698, - "visibility": "public" - } - ], - "scope": 24377, - "src": "227:1676:56" - } - ], - "src": "44:1860:56" - }, - "legacyAST": { - "absolutePath": "@aragon/os/contracts/common/VaultRecoverable.sol", - "exportedSymbols": { - "VaultRecoverable": [ - 24376 - ] - }, - "id": 24377, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 24262, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "44:24:56" - }, - { - "absolutePath": "@aragon/os/contracts/lib/token/ERC20.sol", - "file": "../lib/token/ERC20.sol", - "id": 24263, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 28100, - "src": "70:32:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/EtherTokenConstant.sol", - "file": "./EtherTokenConstant.sol", - "id": 24264, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23650, - "src": "103:34:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IsContract.sol", - "file": "./IsContract.sol", - "id": 24265, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23826, - "src": "138:26:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IVaultRecoverable.sol", - "file": "./IVaultRecoverable.sol", - "id": 24266, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 23700, - "src": "165:33:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/SafeERC20.sol", - "file": "./SafeERC20.sol", - "id": 24267, - "nodeType": "ImportDirective", - "scope": 24377, - "sourceUnit": 24108, - "src": "199:25:56", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24268, - "name": "IVaultRecoverable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23699, - "src": "256:17:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVaultRecoverable_$23699", - "typeString": "contract IVaultRecoverable" - } - }, - "id": 24269, - "nodeType": "InheritanceSpecifier", - "src": "256:17:56" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24270, - "name": "EtherTokenConstant", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23649, - "src": "275:18:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EtherTokenConstant_$23649", - "typeString": "contract EtherTokenConstant" - } - }, - "id": 24271, - "nodeType": "InheritanceSpecifier", - "src": "275:18:56" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 24272, - "name": "IsContract", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23825, - "src": "295:10:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IsContract_$23825", - "typeString": "contract IsContract" - } - }, - "id": 24273, - "nodeType": "InheritanceSpecifier", - "src": "295:10:56" - } - ], - "contractDependencies": [ - 23649, - 23699, - 23825 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 24376, - "linearizedBaseContracts": [ - 24376, - 23825, - 23649, - 23699 - ], - "name": "VaultRecoverable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 24276, - "libraryName": { - "contractScope": null, - "id": 24274, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 24107, - "src": "318:9:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$24107", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "312:26:56", - "typeName": { - "contractScope": null, - "id": 24275, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "332:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - } - }, - { - "constant": true, - "id": 24279, - "name": "ERROR_DISALLOWED", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "344:63:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24277, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "344:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f444953414c4c4f574544", - "id": 24278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "387:20:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47aa147597a7b552a4e71045691780a16af5fd5e8d5d273726c17abe45b2d846", - "typeString": "literal_string \"RECOVER_DISALLOWED\"" - }, - "value": "RECOVER_DISALLOWED" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24282, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "413:79:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24280, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "413:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f5641554c545f4e4f545f434f4e5452414354", - "id": 24281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "464:28:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_75ee4922bd8110ebf690d2268404281e15c05946c72e21f392a98d678433c1b8", - "typeString": "literal_string \"RECOVER_VAULT_NOT_CONTRACT\"" - }, - "value": "RECOVER_VAULT_NOT_CONTRACT" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 24285, - "name": "ERROR_TOKEN_TRANSFER_FAILED", - "nodeType": "VariableDeclaration", - "scope": 24376, - "src": "498:85:56", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 24283, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:56", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "5245434f5645525f544f4b454e5f5452414e534645525f4641494c4544", - "id": 24284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "552:31:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50ced607ee32fa6b84ba381cb0e7349b0ffb77cff346ccdcab72221c40403f1a", - "typeString": "literal_string \"RECOVER_TOKEN_TRANSFER_FAILED\"" - }, - "value": "RECOVER_TOKEN_TRANSFER_FAILED" - }, - "visibility": "private" - }, - { - "body": { - "id": 24359, - "nodeType": "Block", - "src": "886:573:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24292, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "924:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24291, - "name": "allowRecoverability", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24370, - "src": "904:19:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 24293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "904:27:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24294, - "name": "ERROR_DISALLOWED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24279, - "src": "933:16:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "896:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "896:54:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24296, - "nodeType": "ExpressionStatement", - "src": "896:54:56" - }, - { - "assignments": [ - 24298 - ], - "declarations": [ - { - "constant": false, - "id": 24298, - "name": "vault", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "960:13:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "960:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24301, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 24299, - "name": "getRecoveryVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24375, - "src": "976:16:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 24300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "976:18:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:34:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24304, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1023:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24303, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23824, - "src": "1012:10:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 24305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1012:17:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24306, - "name": "ERROR_VAULT_NOT_CONTRACT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24282, - "src": "1031:24:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1004:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1004:52:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24308, - "nodeType": "ExpressionStatement", - "src": "1004:52:56" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 24310, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "1067:15:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1067:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24311, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1067:15:56" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 24314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 24312, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1096:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 24313, - "name": "ETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23648, - "src": "1106:3:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1096:13:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 24351, - "nodeType": "Block", - "src": "1210:189:56", - "statements": [ - { - "assignments": [ - 24330 - ], - "declarations": [ - { - "constant": false, - "id": 24330, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "1224:11:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 24329, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28099, - "src": "1224:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 24334, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24332, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1244:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 24331, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28099, - "src": "1238:5:56", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$28099_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 24333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1238:13:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1224:27:56" - }, - { - "expression": { - "argumentTypes": null, - "id": 24340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24335, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1265:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24338, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29843, - "src": "1297:4:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - ], - "expression": { - "argumentTypes": null, - "id": 24336, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24330, - "src": "1275:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticBalanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24067, - "src": "1275:21:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20_$28099_$_t_address_$returns$_t_uint256_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address) view returns (uint256)" - } - }, - "id": 24339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1275:27:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1265:37:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24341, - "nodeType": "ExpressionStatement", - "src": "1265:37:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24345, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1343:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24346, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1350:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24343, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24330, - "src": "1324:5:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$28099", - "typeString": "contract ERC20" - } - }, - "id": 24344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 23972, - "src": "1324:18:56", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$28099_$_t_address_$_t_uint256_$returns$_t_bool_$bound_to$_t_contract$_ERC20_$28099_$", - "typeString": "function (contract ERC20,address,uint256) returns (bool)" - } - }, - "id": 24347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1324:34:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 24348, - "name": "ERROR_TOKEN_TRANSFER_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24285, - "src": "1360:27:56", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 24342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "1316:7:56", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 24349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1316:72:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24350, - "nodeType": "ExpressionStatement", - "src": "1316:72:56" - } - ] - }, - "id": 24352, - "nodeType": "IfStatement", - "src": "1092:307:56", - "trueBody": { - "id": 24328, - "nodeType": "Block", - "src": "1111:93:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 24320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 24315, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1125:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29843, - "src": "1143:4:56", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_VaultRecoverable_$24376", - "typeString": "contract VaultRecoverable" - } - ], - "id": 24316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1135:7:56", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 24318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1135:13:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 24319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1135:21:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1125:31:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 24321, - "nodeType": "ExpressionStatement", - "src": "1125:31:56" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24325, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1185:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 24322, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1170:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 24324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1170:14:56", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 24326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1170:23:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24327, - "nodeType": "ExpressionStatement", - "src": "1170:23:56" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 24354, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24298, - "src": "1429:5:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24355, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24287, - "src": "1436:6:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 24356, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24310, - "src": "1444:7:56", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24353, - "name": "RecoverToVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23681, - "src": "1414:14:56", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 24357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1414:38:56", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24358, - "nodeType": "EmitStatement", - "src": "1409:43:56" - } - ] - }, - "documentation": "@notice Send funds to recovery Vault. This contract should never receive funds,\n but in case it does, this function allows one to recover them.\n@param _token Token balance to be sent to recovery vault.", - "id": 24360, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferToVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24287, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 24360, - "src": "861:14:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "861:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:16:56" - }, - "payable": false, - "returnParameters": { - "id": 24289, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:0:56" - }, - "scope": 24376, - "src": "836:623:56", - "stateMutability": "nonpayable", - "superFunction": 23686, - "visibility": "external" - }, - { - "body": { - "id": 24369, - "nodeType": "Block", - "src": "1730:28:56", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 24367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1747:4:56", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 24366, - "id": 24368, - "nodeType": "Return", - "src": "1740:11:56" - } - ] - }, - "documentation": "@dev By default deriving from AragonApp makes it recoverable\n@param token Token address that would be recovered\n@return bool whether the app allows the recovery", - "id": 24370, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowRecoverability", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24363, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24362, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 24370, - "src": "1688:13:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1688:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1687:15:56" - }, - "payable": false, - "returnParameters": { - "id": 24366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24365, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24370, - "src": "1724:4:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 24364, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1724:4:56", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1723:6:56" - }, - "scope": 24376, - "src": "1659:99:56", - "stateMutability": "view", - "superFunction": 23693, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 24375, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getRecoveryVault", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 24371, - "nodeType": "ParameterList", - "parameters": [], - "src": "1868:2:56" - }, - "payable": false, - "returnParameters": { - "id": 24374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24373, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 24375, - "src": "1892:7:56", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24372, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1892:7:56", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1891:9:56" - }, - "scope": 24376, - "src": "1843:58:56", - "stateMutability": "view", - "superFunction": 23698, - "visibility": "public" - } - ], - "scope": 24377, - "src": "227:1676:56" - } - ], - "src": "44:1860:56" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.249Z" -} \ No newline at end of file diff --git a/templates/multisig/build/contracts/Voting.json b/templates/multisig/build/contracts/Voting.json deleted file mode 100644 index e63f0ae..0000000 --- a/templates/multisig/build/contracts/Voting.json +++ /dev/null @@ -1,26510 +0,0 @@ -{ - "contractName": "Voting", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "hasInitialized", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_script", - "type": "bytes" - } - ], - "name": "getEVMScriptExecutor", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRecoveryVault", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MODIFY_QUORUM_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MODIFY_SUPPORT_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "token", - "type": "address" - } - ], - "name": "allowRecoverability", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appId", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getInitializationBlock", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "transferToVault", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "_role", - "type": "bytes32" - }, - { - "name": "_params", - "type": "uint256[]" - } - ], - "name": "canPerform", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getEVMScriptRegistry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "voteTime", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CREATE_VOTES_ROLE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "kernel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minAcceptQuorumPct", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPetrified", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "votesLength", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "supportRequiredPct", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PCT_BASE", - "outputs": [ - { - "name": "", - "type": "uint64" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "voteId", - "type": "uint256" - }, - { - "indexed": true, - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "name": "metadata", - "type": "string" - } - ], - "name": "StartVote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "voteId", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "name": "supports", - "type": "bool" - }, - { - "indexed": false, - "name": "stake", - "type": "uint256" - } - ], - "name": "CastVote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "voteId", - "type": "uint256" - } - ], - "name": "ExecuteVote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "supportRequiredPct", - "type": "uint64" - } - ], - "name": "ChangeSupportRequired", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minAcceptQuorumPct", - "type": "uint64" - } - ], - "name": "ChangeMinQuorum", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "executor", - "type": "address" - }, - { - "indexed": false, - "name": "script", - "type": "bytes" - }, - { - "indexed": false, - "name": "input", - "type": "bytes" - }, - { - "indexed": false, - "name": "returnData", - "type": "bytes" - } - ], - "name": "ScriptResult", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "vault", - "type": "address" - }, - { - "indexed": true, - "name": "token", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "RecoverToVault", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - }, - { - "name": "_supportRequiredPct", - "type": "uint64" - }, - { - "name": "_minAcceptQuorumPct", - "type": "uint64" - }, - { - "name": "_voteTime", - "type": "uint64" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_supportRequiredPct", - "type": "uint64" - } - ], - "name": "changeSupportRequiredPct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_minAcceptQuorumPct", - "type": "uint64" - } - ], - "name": "changeMinAcceptQuorumPct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_executionScript", - "type": "bytes" - }, - { - "name": "_metadata", - "type": "string" - } - ], - "name": "newVote", - "outputs": [ - { - "name": "voteId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_executionScript", - "type": "bytes" - }, - { - "name": "_metadata", - "type": "string" - }, - { - "name": "_castVote", - "type": "bool" - }, - { - "name": "_executesIfDecided", - "type": "bool" - } - ], - "name": "newVote", - "outputs": [ - { - "name": "voteId", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - }, - { - "name": "_supports", - "type": "bool" - }, - { - "name": "_executesIfDecided", - "type": "bool" - } - ], - "name": "vote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - } - ], - "name": "executeVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isForwarder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_evmScript", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_sender", - "type": "address" - }, - { - "name": "", - "type": "bytes" - } - ], - "name": "canForward", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - } - ], - "name": "canExecute", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "canVote", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "name": "open", - "type": "bool" - }, - { - "name": "executed", - "type": "bool" - }, - { - "name": "startDate", - "type": "uint64" - }, - { - "name": "snapshotBlock", - "type": "uint64" - }, - { - "name": "supportRequired", - "type": "uint64" - }, - { - "name": "minAcceptQuorum", - "type": "uint64" - }, - { - "name": "yea", - "type": "uint256" - }, - { - "name": "nay", - "type": "uint256" - }, - { - "name": "votingPower", - "type": "uint256" - }, - { - "name": "script", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voteId", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "getVoterState", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620037ea83398151915264010000000062001fb16200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620037ea8339815191528264010000000062002d356200023782021704565b50565b5490565b9055565b61359f806200024b6000396000f3006080604052600436106101925763ffffffff60e060020a6000350416630803fac081146101975780632914b9bd146101c057806332f0a3b5146102355780633c624c751461024a5780634b12311c146102715780635a55c1f0146102b95780635eb24332146103d857806362de7e5a146103fb5780637c1d0b87146104105780637e7db6e11461043157806380afdea8146104525780638b3dd749146104675780639d4941d81461047c578063a1658fad1461049d578063a479e50814610504578063bcf93dd614610519578063be2c64d41461054a578063c0774df31461055f578063cc63604a146105c6578063cdb2867b146105de578063d4aae0c414610602578063d5db2c8014610617578063d948d46814610643578063dc474b1a1461069c578063de4796ed146106b1578063de4f6347146106c6578063df133bca146106db578063df3d3305146106fd578063f4b0051314610736578063f98a4eca1461076c578063fad167ab14610784578063fc0c546a14610799578063fc157cb4146107ae578063fd64eccb146107c3575b600080fd5b3480156101a357600080fd5b506101ac6107d8565b604080519115158252519081900360200190f35b3480156101cc57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102199436949293602493928401919081908401838280828437509497506108029650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561024157600080fd5b506102196108e8565b34801561025657600080fd5b5061025f610961565b60408051918252519081900360200190f35b34801561027d57600080fd5b50610295600435600160a060020a0360243516610996565b604051808260028111156102a557fe5b60ff16815260200191505060405180910390f35b3480156102c557600080fd5b506102d1600435610a82565b604051808b1515151581526020018a151515158152602001896001604060020a03166001604060020a03168152602001886001604060020a03166001604060020a03168152602001876001604060020a03166001604060020a03168152602001866001604060020a03166001604060020a0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561039457818101518382015260200161037c565b50505050905090810190601f1680156103c15780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156103e457600080fd5b506103f96001604060020a0360043516610c6b565b005b34801561040757600080fd5b5061025f610e2c565b34801561041c57600080fd5b506103f96001604060020a0360043516610e61565b34801561043d57600080fd5b506101ac600160a060020a03600435166110d6565b34801561045e57600080fd5b5061025f6110dc565b34801561047357600080fd5b5061025f61110c565b34801561048857600080fd5b506103f9600160a060020a0360043516611137565b3480156104a957600080fd5b5060408051602060046044358181013583810280860185019096528085526101ac958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506113c69650505050505050565b34801561051057600080fd5b50610219611516565b34801561052557600080fd5b5061052e6115cb565b604080516001604060020a039092168252519081900360200190f35b34801561055657600080fd5b5061025f6115e6565b34801561056b57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101ac958335600160a060020a03169536956044949193909101919081908401838280828437509497506116099650505050505050565b3480156105d257600080fd5b506101ac600435611647565b3480156105ea57600080fd5b506101ac600435600160a060020a03602435166116d6565b34801561060e57600080fd5b50610219611765565b34801561062357600080fd5b5061025f6024600480358281019290820135918135918201910135611790565b34801561064f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103f99436949293602493928401919081908401838280828437509497506118b89650505050505050565b3480156106a857600080fd5b5061052e61196a565b3480156106bd57600080fd5b506101ac611979565b3480156106d257600080fd5b5061025f61198c565b3480156106e757600080fd5b506103f960043560243515156044351515611992565b34801561070957600080fd5b506103f9600160a060020a03600435166001604060020a0360243581169060443581169060643516611aae565b34801561074257600080fd5b5061025f602460048035828101929082013591813591820191013560443515156064351515611d0f565b34801561077857600080fd5b506103f9600435611e36565b34801561079057600080fd5b5061052e611eb8565b3480156107a557600080fd5b50610219611ece565b3480156107ba57600080fd5b5061052e611edd565b3480156107cf57600080fd5b506101ac611ee9565b6000806107e361110c565b905080158015906107fb5750806107f8611eee565b10155b91505b5090565b600061080c611516565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086a578181015183820152602001610852565b50505050905090810190601f1680156108975780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050506040513d60208110156108e057600080fd5b505192915050565b60006108f2611765565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d602081101561095957600080fd5b505190505b90565b604080517f4d4f444946595f51554f52554d5f524f4c4500000000000000000000000000008152905190819003601201902081565b60035460408051808201909152600e815260008051602061353483398151915260208201526000918491908210610a4e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a135781810151838201526020016109fb565b50505050905090810190601f168015610a405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000848152600260209081526040808320600160a060020a038716845260060190915290205460ff1691505b5092915050565b6000806000806000806000806000606060008b60035481106040805190810160405280600e8152602001600080516020613534833981519152815250901515610b105760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060008d81526002602052604090209150610b2a82611ef2565b9b508160000160009054906101000a900460ff169a508160000160019054906101000a90046001604060020a031699508160000160099054906101000a90046001604060020a031698508160000160119054906101000a90046001604060020a031697508160010160009054906101000a90046001604060020a03169650816002015495508160030154945081600401549350816005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050925050509193959799509193959799565b604080517f4d4f444946595f51554f52554d5f524f4c45000000000000000000000000000081529051908190036012019020600154610cb6906001604060020a038085169116611f56565b610cc13383836113c6565b60408051808201909152600f81526000805160206135148339815191526020820152901515610d355760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060005460408051808201909152601981527f564f54494e475f4348414e47455f51554f52554d5f50435453000000000000006020820152906001604060020a0360a060020a90910481169085161115610dd45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600180546001604060020a03851667ffffffffffffffff19909116811790915560408051918252517f3172f2e9273c729c2a47cc8bf7e7f18506e3e3035126d562602bd2155bc78a509181900360200190a1505050565b604080517f4d4f444946595f535550504f52545f524f4c45000000000000000000000000008152905190819003601301902081565b604080517f4d4f444946595f535550504f52545f524f4c450000000000000000000000000081529051908190036013019020600054610eb3906001604060020a038085169160a060020a900416611f56565b610ebe3383836113c6565b60408051808201909152600f81526000805160206135148339815191526020820152901515610f325760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060015460408051808201909152601a81527f564f54494e475f4348414e47455f535550504f52545f504354530000000000006020820152906001604060020a0380861691161115610fc95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060408051808201909152601a81527f564f54494e475f4348414e47455f535550505f544f4f5f4249470000000000006020820152670de0b6b3a76400006001604060020a038516106110615760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600080546001604060020a03851660a060020a81027bffffffffffffffff0000000000000000000000000000000000000000199092169190911790915560408051918252517f903b617f7f36eb047a29b89d1bf7885fdae31d250c3320fccf11d045c11b396e9181900360200190a1505050565b50600190565b60006111077fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611fb1565b905090565b60006111077febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611fb1565b6000806000611145846110d6565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156111cb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506111d46108e8565b92506111df83611fb9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156112655760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600160a060020a03841615156112b65760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156112b0573d6000803e3d6000fd5b50611375565b50826112d1600160a060020a0382163063ffffffff611fdf16565b91506112ed600160a060020a038216848463ffffffff6120df16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156113735760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806113d16107d8565b15156113e0576000915061150e565b6113e8611765565b9050600160a060020a0381161515611403576000915061150e565b80600160a060020a031663fdef910686308761141e88612155565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611490578181015183820152602001611478565b50505050905090810190601f1680156114bd5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156114df57600080fd5b505af11580156114f3573d6000803e3d6000fd5b505050506040513d602081101561150957600080fd5b505191505b509392505050565b600080611521611765565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156108b657600080fd5b6001546801000000000000000090046001604060020a031681565b604080516000805160206135548339815191528152905190819003601101902081565b60006116408360405180806000805160206135548339815191528152506011019050604051809103902061163b61215f565b6113c6565b9392505050565b60035460408051808201909152600e8152600080516020613534833981519152602082015260009183919082106116c35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506116cd83612171565b91505b50919050565b60035460408051808201909152600e8152600080516020613534833981519152602082015260009184919082106117525760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061175d848461226b565b949350505050565b60006111077f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611fb1565b6040805160008051602061355483398151915281528151908190036011018120600080835260208301909352906117cd9033908390855b506113c6565b60408051808201909152600f815260008051602061351483398151915260208201529015156118415760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506118ae86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8c018190048102820181019092528a815294508a9350899250829150840183828082843782019150505050505060018061232e565b9695505050505050565b6118c23382611609565b60408051808201909152601681527f564f54494e475f43414e5f4e4f545f464f52574152440000000000000000000060208201529015156119485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061196681602060405190810160405280600081525060018061232e565b5050565b6001546001604060020a031681565b600060001961198661110c565b14905090565b60035481565b60035460408051808201909152600e8152600080516020613534833981519152602082015284918210611a0a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611a15843361226b565b60408051808201909152601381527f564f54494e475f43414e5f4e4f545f564f5445000000000000000000000000006020820152901515611a9b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611aa884843385612614565b50505050565b611ab661110c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611b3b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611b44612839565b60408051808201909152601081527f564f54494e475f494e49545f504354530000000000000000000000000000000060208201526001604060020a038085169084161115611bd75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060408051808201909152601b81527f564f54494e475f494e49545f535550504f52545f544f4f5f42494700000000006020820152670de0b6b3a76400006001604060020a03851610611c6f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0395909516949094177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a6001604060020a0394851602179093556001805467ffffffffffffffff1916918316919091176fffffffffffffffff00000000000000001916680100000000000000009390921692909202179055565b604080516000805160206135548339815191528152815190819003601101812060008083526020830190935290611d4a9033908390856117c7565b60408051808201909152600f81526000805160206135148339815191526020820152901515611dbe5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611e2a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8e018190048102820181019092528c815294508c93508b92508291508401838280828437820191505050505050868661232e565b98975050505050505050565b60035460408051808201909152600e8152600080516020613534833981519152602082015282918210611eae5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061196682612901565b60005460a060020a90046001604060020a031681565b600054600160a060020a031681565b670de0b6b3a764000081565b600190565b4390565b6001548154600091611f279161010090046001604060020a03908116916801000000000000000090041663ffffffff61299d16565b6001604060020a0316611f38612a37565b6001604060020a0316108015611f505750815460ff16155b92915050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515611f8657fe5b602090810290910101528051829082906001908110611fa157fe5b6020908102909101015292915050565b5490565b5490565b600080600160a060020a0383161515611fd557600091506116d0565b50506000903b1190565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061204a8684612a49565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156120d55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061214c8582612a7a565b95945050505050565b8051602002815290565b60408051600081526020810190915290565b60008181526002602052604081208054829060ff16156121945760009250612264565b6002820154600483015483546121bb929190608860020a90046001604060020a0316612ac8565b156121c95760019250612264565b6121d282611ef2565b156121e05760009250612264565b600382015460028301546121f99163ffffffff612b0a16565b6002830154835491925061221e918390608860020a90046001604060020a0316612ac8565b151561222d5760009250612264565b6002820154600483015460018401546122509291906001604060020a0316612ac8565b151561225f5760009250612264565b600192505b5050919050565b600082815260026020526040812061228281611ef2565b801561175d57506000805482546040805160e160020a63277166bf028152600160a060020a03888116600483015269010000000000000000009093046001604060020a0316602482015290519190921691634ee2cd7e91604480830192602092919082900301818787803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050506040513d602081101561232357600080fd5b505111949350505050565b600080600080600161233e612b98565b60008054604080517f981b24d0000000000000000000000000000000000000000000000000000000008152949093036001604060020a03811660048601529251929650600160a060020a03169263981b24d09260248083019360209383900390910190829087803b1580156123b257600080fd5b505af11580156123c6573d6000803e3d6000fd5b505050506040513d60208110156123dc57600080fd5b505160408051808201909152601681527f564f54494e475f4e4f5f564f54494e475f504f574552000000000000000000006020820152909250600083116124685760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50506003805460018101909155600081815260026020526040902090935061248e612a37565b815468ffffffffffffffff0019166101006001604060020a03928316021770ffffffffffffffff00000000000000000019166901000000000000000000858316021780835560005478ffffffffffffffff00000000000000000000000000000000001990911660a060020a9091048216608860020a021782556001805490830180549190921667ffffffffffffffff1990911617905560048101829055875161254090600583019060208b0190613485565b5033600160a060020a0316847f4d72fe0577a3a3f7da968d7b892779dde102519c25527b29cf7054f245c791b9896040518080602001828103825283818151815260200191508051906020019080838360005b838110156125ab578181015183820152602001612593565b50505050905090810190601f1680156125d85780820380516001836020036101000a031916815260200191505b509250505060405180910390a38580156125f757506125f7843361226b565b15612609576126098460013388612614565b505050949350505050565b600084815260026020908152604080832083548154835160e160020a63277166bf028152600160a060020a03898116600483015269010000000000000000009092046001604060020a03166024820152935192959485949190921692634ee2cd7e9260448084019391929182900301818787803b15801561269457600080fd5b505af11580156126a8573d6000803e3d6000fd5b505050506040513d60208110156126be57600080fd5b5051600160a060020a038616600090815260068501602052604090205490925060ff16905060018160028111156126f157fe5b141561271657600283015461270c908363ffffffff612ba516565b6002840155612745565b600281600281111561272457fe5b141561274557600383015461273f908363ffffffff612ba516565b60038401555b851561276a576002830154612760908363ffffffff612b0a16565b6002840155612785565b600383015461277f908363ffffffff612b0a16565b60038401555b85612791576002612794565b60015b600160a060020a03861660009081526006850160205260409020805460ff191660018360028111156127c257fe5b0217905550604080518715158152602081018490528151600160a060020a038816928a927fb34ee265e3d4f5ec4e8b52d59b2a9be8fceca2f274ebc080d8fba797fea9391f929081900390910190a3838015612822575061282287612171565b156128305761283087612c39565b50505050505050565b61284161110c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156128c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506128ff6128d2611eee565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612d3516565b565b61290a81612171565b60408051808201909152601681527f564f54494e475f43414e5f4e4f545f455845435554450000000000000000000060208201529015156129905760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061299a81612c39565b50565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f57000000000000000000000000006020820152600090838301906001604060020a03808616908316101561150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6000611107612a44612d39565b612d3d565b6000806000806040516020818751602089018a5afa92506000831115612a6e57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612abe573d8015612aab5760208114612ab457612abc565b60019350612abc565b600183511493505b505b5090949350505050565b600080831515612adb576000915061150e565b83612af486670de0b6b3a764000063ffffffff612dd516565b811515612afd57fe5b0492909211949350505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6000611107612a44611eee565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612c315760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505050900390565b6000818152600260208181526040808420805460ff191660019081178255825195865260058201805491821615610100026000190190911694909404601f81018490048402860183018352928501838152909493612d04939192909190850182828015612ce75780601f10612cbc57610100808354040283529160200191612ce7565b820191906000526020600020905b815481529060010190602001808311612cca57829003601f168201915b50506040805160008152602081019091528693509150612e809050565b5060405183907fbf8e2b108bb7c980e08903a8a46527699d5e84905a082d56dacb4150725c8cab90600090a2505050565b9055565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f424947000000000000000000000060208201526000906001604060020a03831115612dce5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5090919050565b600080831515612de85760009150610a7b565b50828202828482811515612df857fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f570000000000000000000000000000006020820152929190041461150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6060600080606080612e906107d8565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515612f165760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600080612f22611765565b9150612f2c6110dc565b9050612f378a610802565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a0387161515612fc95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561303f578181015183820152602001613027565b50505050905090810190601f16801561306c5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b8381101561309f578181015183820152602001613087565b50505050905090810190601f1680156130cc5780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b838110156131015781810151838201526020016130e9565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af460405193508080156131c557603f3d11801561317a5760203d03806020883e86016040526131bf565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b506131ce565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561324357818101518382015260200161322b565b50505050905090810190601f1680156132705780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156132a357818101518382015260200161328b565b50505050905090810190601f1680156132d05780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b838110156133035781810151838201526020016132eb565b50505050905090810190601f1680156133305780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613356611765565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156133e85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50806133f26110dc565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400602082015291146134775760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505050505050509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106134c657805160ff19168380011785556134f3565b828001600101855582156134f3579182015b828111156134f35782518255916020019190600101906134d8565b506107fe9261095e9250905b808211156107fe57600081556001016134ff56004150505f415554485f4641494c45440000000000000000000000000000000000564f54494e475f4e4f5f564f54450000000000000000000000000000000000004352454154455f564f5445535f524f4c45000000000000000000000000000000a165627a7a72305820feb519cbc52136d5c7027b053789252053e7053cc06b647eb1b17fc3409bc95f0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e", - "deployedBytecode": "0x6080604052600436106101925763ffffffff60e060020a6000350416630803fac081146101975780632914b9bd146101c057806332f0a3b5146102355780633c624c751461024a5780634b12311c146102715780635a55c1f0146102b95780635eb24332146103d857806362de7e5a146103fb5780637c1d0b87146104105780637e7db6e11461043157806380afdea8146104525780638b3dd749146104675780639d4941d81461047c578063a1658fad1461049d578063a479e50814610504578063bcf93dd614610519578063be2c64d41461054a578063c0774df31461055f578063cc63604a146105c6578063cdb2867b146105de578063d4aae0c414610602578063d5db2c8014610617578063d948d46814610643578063dc474b1a1461069c578063de4796ed146106b1578063de4f6347146106c6578063df133bca146106db578063df3d3305146106fd578063f4b0051314610736578063f98a4eca1461076c578063fad167ab14610784578063fc0c546a14610799578063fc157cb4146107ae578063fd64eccb146107c3575b600080fd5b3480156101a357600080fd5b506101ac6107d8565b604080519115158252519081900360200190f35b3480156101cc57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102199436949293602493928401919081908401838280828437509497506108029650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561024157600080fd5b506102196108e8565b34801561025657600080fd5b5061025f610961565b60408051918252519081900360200190f35b34801561027d57600080fd5b50610295600435600160a060020a0360243516610996565b604051808260028111156102a557fe5b60ff16815260200191505060405180910390f35b3480156102c557600080fd5b506102d1600435610a82565b604051808b1515151581526020018a151515158152602001896001604060020a03166001604060020a03168152602001886001604060020a03166001604060020a03168152602001876001604060020a03166001604060020a03168152602001866001604060020a03166001604060020a0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561039457818101518382015260200161037c565b50505050905090810190601f1680156103c15780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156103e457600080fd5b506103f96001604060020a0360043516610c6b565b005b34801561040757600080fd5b5061025f610e2c565b34801561041c57600080fd5b506103f96001604060020a0360043516610e61565b34801561043d57600080fd5b506101ac600160a060020a03600435166110d6565b34801561045e57600080fd5b5061025f6110dc565b34801561047357600080fd5b5061025f61110c565b34801561048857600080fd5b506103f9600160a060020a0360043516611137565b3480156104a957600080fd5b5060408051602060046044358181013583810280860185019096528085526101ac958335600160a060020a03169560248035963696956064959394920192918291850190849080828437509497506113c69650505050505050565b34801561051057600080fd5b50610219611516565b34801561052557600080fd5b5061052e6115cb565b604080516001604060020a039092168252519081900360200190f35b34801561055657600080fd5b5061025f6115e6565b34801561056b57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101ac958335600160a060020a03169536956044949193909101919081908401838280828437509497506116099650505050505050565b3480156105d257600080fd5b506101ac600435611647565b3480156105ea57600080fd5b506101ac600435600160a060020a03602435166116d6565b34801561060e57600080fd5b50610219611765565b34801561062357600080fd5b5061025f6024600480358281019290820135918135918201910135611790565b34801561064f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103f99436949293602493928401919081908401838280828437509497506118b89650505050505050565b3480156106a857600080fd5b5061052e61196a565b3480156106bd57600080fd5b506101ac611979565b3480156106d257600080fd5b5061025f61198c565b3480156106e757600080fd5b506103f960043560243515156044351515611992565b34801561070957600080fd5b506103f9600160a060020a03600435166001604060020a0360243581169060443581169060643516611aae565b34801561074257600080fd5b5061025f602460048035828101929082013591813591820191013560443515156064351515611d0f565b34801561077857600080fd5b506103f9600435611e36565b34801561079057600080fd5b5061052e611eb8565b3480156107a557600080fd5b50610219611ece565b3480156107ba57600080fd5b5061052e611edd565b3480156107cf57600080fd5b506101ac611ee9565b6000806107e361110c565b905080158015906107fb5750806107f8611eee565b10155b91505b5090565b600061080c611516565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086a578181015183820152602001610852565b50505050905090810190601f1680156108975780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050506040513d60208110156108e057600080fd5b505192915050565b60006108f2611765565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d602081101561095957600080fd5b505190505b90565b604080517f4d4f444946595f51554f52554d5f524f4c4500000000000000000000000000008152905190819003601201902081565b60035460408051808201909152600e815260008051602061353483398151915260208201526000918491908210610a4e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a135781810151838201526020016109fb565b50505050905090810190601f168015610a405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000848152600260209081526040808320600160a060020a038716845260060190915290205460ff1691505b5092915050565b6000806000806000806000806000606060008b60035481106040805190810160405280600e8152602001600080516020613534833981519152815250901515610b105760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060008d81526002602052604090209150610b2a82611ef2565b9b508160000160009054906101000a900460ff169a508160000160019054906101000a90046001604060020a031699508160000160099054906101000a90046001604060020a031698508160000160119054906101000a90046001604060020a031697508160010160009054906101000a90046001604060020a03169650816002015495508160030154945081600401549350816005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050925050509193959799509193959799565b604080517f4d4f444946595f51554f52554d5f524f4c45000000000000000000000000000081529051908190036012019020600154610cb6906001604060020a038085169116611f56565b610cc13383836113c6565b60408051808201909152600f81526000805160206135148339815191526020820152901515610d355760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060005460408051808201909152601981527f564f54494e475f4348414e47455f51554f52554d5f50435453000000000000006020820152906001604060020a0360a060020a90910481169085161115610dd45760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600180546001604060020a03851667ffffffffffffffff19909116811790915560408051918252517f3172f2e9273c729c2a47cc8bf7e7f18506e3e3035126d562602bd2155bc78a509181900360200190a1505050565b604080517f4d4f444946595f535550504f52545f524f4c45000000000000000000000000008152905190819003601301902081565b604080517f4d4f444946595f535550504f52545f524f4c450000000000000000000000000081529051908190036013019020600054610eb3906001604060020a038085169160a060020a900416611f56565b610ebe3383836113c6565b60408051808201909152600f81526000805160206135148339815191526020820152901515610f325760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060015460408051808201909152601a81527f564f54494e475f4348414e47455f535550504f52545f504354530000000000006020820152906001604060020a0380861691161115610fc95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060408051808201909152601a81527f564f54494e475f4348414e47455f535550505f544f4f5f4249470000000000006020820152670de0b6b3a76400006001604060020a038516106110615760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600080546001604060020a03851660a060020a81027bffffffffffffffff0000000000000000000000000000000000000000199092169190911790915560408051918252517f903b617f7f36eb047a29b89d1bf7885fdae31d250c3320fccf11d045c11b396e9181900360200190a1505050565b50600190565b60006111077fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611fb1565b905090565b60006111077febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e611fb1565b6000806000611145846110d6565b60408051808201909152601281527f5245434f5645525f444953414c4c4f574544000000000000000000000000000060208201529015156111cb5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506111d46108e8565b92506111df83611fb9565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156112655760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600160a060020a03841615156112b65760405130319250600160a060020a0384169083156108fc029084906000818181858888f193505050501580156112b0573d6000803e3d6000fd5b50611375565b50826112d1600160a060020a0382163063ffffffff611fdf16565b91506112ed600160a060020a038216848463ffffffff6120df16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c454400000060208201529015156113735760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806113d16107d8565b15156113e0576000915061150e565b6113e8611765565b9050600160a060020a0381161515611403576000915061150e565b80600160a060020a031663fdef910686308761141e88612155565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015611490578181015183820152602001611478565b50505050905090810190601f1680156114bd5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156114df57600080fd5b505af11580156114f3573d6000803e3d6000fd5b505050506040513d602081101561150957600080fd5b505191505b509392505050565b600080611521611765565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b1580156108b657600080fd5b6001546801000000000000000090046001604060020a031681565b604080516000805160206135548339815191528152905190819003601101902081565b60006116408360405180806000805160206135548339815191528152506011019050604051809103902061163b61215f565b6113c6565b9392505050565b60035460408051808201909152600e8152600080516020613534833981519152602082015260009183919082106116c35760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506116cd83612171565b91505b50919050565b60035460408051808201909152600e8152600080516020613534833981519152602082015260009184919082106117525760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061175d848461226b565b949350505050565b60006111077f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611fb1565b6040805160008051602061355483398151915281528151908190036011018120600080835260208301909352906117cd9033908390855b506113c6565b60408051808201909152600f815260008051602061351483398151915260208201529015156118415760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506118ae86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8c018190048102820181019092528a815294508a9350899250829150840183828082843782019150505050505060018061232e565b9695505050505050565b6118c23382611609565b60408051808201909152601681527f564f54494e475f43414e5f4e4f545f464f52574152440000000000000000000060208201529015156119485760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061196681602060405190810160405280600081525060018061232e565b5050565b6001546001604060020a031681565b600060001961198661110c565b14905090565b60035481565b60035460408051808201909152600e8152600080516020613534833981519152602082015284918210611a0a5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611a15843361226b565b60408051808201909152601381527f564f54494e475f43414e5f4e4f545f564f5445000000000000000000000000006020820152901515611a9b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611aa884843385612614565b50505050565b611ab661110c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611b3b5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611b44612839565b60408051808201909152601081527f564f54494e475f494e49545f504354530000000000000000000000000000000060208201526001604060020a038085169084161115611bd75760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5060408051808201909152601b81527f564f54494e475f494e49545f535550504f52545f544f4f5f42494700000000006020820152670de0b6b3a76400006001604060020a03851610611c6f5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0395909516949094177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a6001604060020a0394851602179093556001805467ffffffffffffffff1916918316919091176fffffffffffffffff00000000000000001916680100000000000000009390921692909202179055565b604080516000805160206135548339815191528152815190819003601101812060008083526020830190935290611d4a9033908390856117c7565b60408051808201909152600f81526000805160206135148339815191526020820152901515611dbe5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50611e2a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8e018190048102820181019092528c815294508c93508b92508291508401838280828437820191505050505050868661232e565b98975050505050505050565b60035460408051808201909152600e8152600080516020613534833981519152602082015282918210611eae5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061196682612901565b60005460a060020a90046001604060020a031681565b600054600160a060020a031681565b670de0b6b3a764000081565b600190565b4390565b6001548154600091611f279161010090046001604060020a03908116916801000000000000000090041663ffffffff61299d16565b6001604060020a0316611f38612a37565b6001604060020a0316108015611f505750815460ff16155b92915050565b604080516002808252606080830184529260208301908038833901905050905082816000815181101515611f8657fe5b602090810290910101528051829082906001908110611fa157fe5b6020908102909101015292915050565b5490565b5490565b600080600160a060020a0383161515611fd557600091506116d0565b50506000903b1190565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a03167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061204a8684612a49565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156120d55760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905260009061214c8582612a7a565b95945050505050565b8051602002815290565b60408051600081526020810190915290565b60008181526002602052604081208054829060ff16156121945760009250612264565b6002820154600483015483546121bb929190608860020a90046001604060020a0316612ac8565b156121c95760019250612264565b6121d282611ef2565b156121e05760009250612264565b600382015460028301546121f99163ffffffff612b0a16565b6002830154835491925061221e918390608860020a90046001604060020a0316612ac8565b151561222d5760009250612264565b6002820154600483015460018401546122509291906001604060020a0316612ac8565b151561225f5760009250612264565b600192505b5050919050565b600082815260026020526040812061228281611ef2565b801561175d57506000805482546040805160e160020a63277166bf028152600160a060020a03888116600483015269010000000000000000009093046001604060020a0316602482015290519190921691634ee2cd7e91604480830192602092919082900301818787803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050506040513d602081101561232357600080fd5b505111949350505050565b600080600080600161233e612b98565b60008054604080517f981b24d0000000000000000000000000000000000000000000000000000000008152949093036001604060020a03811660048601529251929650600160a060020a03169263981b24d09260248083019360209383900390910190829087803b1580156123b257600080fd5b505af11580156123c6573d6000803e3d6000fd5b505050506040513d60208110156123dc57600080fd5b505160408051808201909152601681527f564f54494e475f4e4f5f564f54494e475f504f574552000000000000000000006020820152909250600083116124685760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50506003805460018101909155600081815260026020526040902090935061248e612a37565b815468ffffffffffffffff0019166101006001604060020a03928316021770ffffffffffffffff00000000000000000019166901000000000000000000858316021780835560005478ffffffffffffffff00000000000000000000000000000000001990911660a060020a9091048216608860020a021782556001805490830180549190921667ffffffffffffffff1990911617905560048101829055875161254090600583019060208b0190613485565b5033600160a060020a0316847f4d72fe0577a3a3f7da968d7b892779dde102519c25527b29cf7054f245c791b9896040518080602001828103825283818151815260200191508051906020019080838360005b838110156125ab578181015183820152602001612593565b50505050905090810190601f1680156125d85780820380516001836020036101000a031916815260200191505b509250505060405180910390a38580156125f757506125f7843361226b565b15612609576126098460013388612614565b505050949350505050565b600084815260026020908152604080832083548154835160e160020a63277166bf028152600160a060020a03898116600483015269010000000000000000009092046001604060020a03166024820152935192959485949190921692634ee2cd7e9260448084019391929182900301818787803b15801561269457600080fd5b505af11580156126a8573d6000803e3d6000fd5b505050506040513d60208110156126be57600080fd5b5051600160a060020a038616600090815260068501602052604090205490925060ff16905060018160028111156126f157fe5b141561271657600283015461270c908363ffffffff612ba516565b6002840155612745565b600281600281111561272457fe5b141561274557600383015461273f908363ffffffff612ba516565b60038401555b851561276a576002830154612760908363ffffffff612b0a16565b6002840155612785565b600383015461277f908363ffffffff612b0a16565b60038401555b85612791576002612794565b60015b600160a060020a03861660009081526006850160205260409020805460ff191660018360028111156127c257fe5b0217905550604080518715158152602081018490528151600160a060020a038816928a927fb34ee265e3d4f5ec4e8b52d59b2a9be8fceca2f274ebc080d8fba797fea9391f929081900390910190a3838015612822575061282287612171565b156128305761283087612c39565b50505050505050565b61284161110c565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156128c65760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506128ff6128d2611eee565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612d3516565b565b61290a81612171565b60408051808201909152601681527f564f54494e475f43414e5f4e4f545f455845435554450000000000000000000060208201529015156129905760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5061299a81612c39565b50565b60408051808201909152601381527f4d41544836345f4144445f4f564552464c4f57000000000000000000000000006020820152600090838301906001604060020a03808616908316101561150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6000611107612a44612d39565b612d3d565b6000806000806040516020818751602089018a5afa92506000831115612a6e57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612abe573d8015612aab5760208114612ab457612abc565b60019350612abc565b600183511493505b505b5090949350505050565b600080831515612adb576000915061150e565b83612af486670de0b6b3a764000063ffffffff612dd516565b811515612afd57fe5b0492909211949350505050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6000611107612a44611eee565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f5700000000000000000000000000006020820152600090819084841115612c315760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505050900390565b6000818152600260208181526040808420805460ff191660019081178255825195865260058201805491821615610100026000190190911694909404601f81018490048402860183018352928501838152909493612d04939192909190850182828015612ce75780601f10612cbc57610100808354040283529160200191612ce7565b820191906000526020600020905b815481529060010190602001808311612cca57829003601f168201915b50506040805160008152602081019091528693509150612e809050565b5060405183907fbf8e2b108bb7c980e08903a8a46527699d5e84905a082d56dacb4150725c8cab90600090a2505050565b9055565b4290565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f424947000000000000000000000060208201526000906001604060020a03831115612dce5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b5090919050565b600080831515612de85760009150610a7b565b50828202828482811515612df857fe5b60408051808201909152601181527f4d4154485f4d554c5f4f564552464c4f570000000000000000000000000000006020820152929190041461150e5760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b6060600080606080612e906107d8565b60408051808201909152601481527f494e49545f4e4f545f494e495449414c495a45440000000000000000000000006020820152901515612f165760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50600080612f22611765565b9150612f2c6110dc565b9050612f378a610802565b60408051808201909152601b81527f45564d52554e5f4558454355544f525f554e415641494c41424c4500000000006020820152909650600160a060020a0387161515612fc95760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b506040516060602482019081528b5160848301528b517f279cea3500000000000000000000000000000000000000000000000000000000975087928d928d928d9282916044820191606481019160a490910190602089019080838360005b8381101561303f578181015183820152602001613027565b50505050905090810190601f16801561306c5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b8381101561309f578181015183820152602001613087565b50505050905090810190601f1680156130cc5780820380516001836020036101000a031916815260200191505b508481038252855181528551602091820191808801910280838360005b838110156131015781810151838201526020016130e9565b50505050905001965050505050505060405160208183030381529060405290600160e060020a031916602082018051600160e060020a0383818316178352505050509350600080855160208701895af460405193508080156131c557603f3d11801561317a5760203d03806020883e86016040526131bf565b60e560020a62461bcd02865260206004870152601e60248701527f45564d52554e5f4558454355544f525f494e56414c49445f52455455524e00006044870152606486fd5b506131ce565b3d6000863e3d85fd5b505085600160a060020a03167f5229a5dba83a54ae8cb5b51bdd6de9474cacbe9dd332f5185f3a4f4f2e3f4ad98b8b8660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561324357818101518382015260200161322b565b50505050905090810190601f1680156132705780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156132a357818101518382015260200161328b565b50505050905090810190601f1680156132d05780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b838110156133035781810151838201526020016132eb565b50505050905090810190601f1680156133305780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a282965081600160a060020a0316613356611765565b600160a060020a0316146040805190810160405280601f81526020017f45564d52554e5f50524f5445435445445f53544154455f4d4f444946494544008152509015156133e85760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b50806133f26110dc565b60408051808201909152601f81527f45564d52554e5f50524f5445435445445f53544154455f4d4f44494649454400602082015291146134775760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610a135781810151838201526020016109fb565b505050505050509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106134c657805160ff19168380011785556134f3565b828001600101855582156134f3579182015b828111156134f35782518255916020019190600101906134d8565b506107fe9261095e9250905b808211156107fe57600081556001016134ff56004150505f415554485f4641494c45440000000000000000000000000000000000564f54494e475f4e4f5f564f54450000000000000000000000000000000000004352454154455f564f5445535f524f4c45000000000000000000000000000000a165627a7a72305820feb519cbc52136d5c7027b053789252053e7053cc06b647eb1b17fc3409bc95f0029", - "sourceMap": "360:13716:24:-;;;344:9:40;:7;;;;:9;:::i;:::-;360:13716:24;;590:84:50;615:24:48;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:30:50;-1:-1:-1;;637:13:50;;;;:30;:::i;:::-;590:84::o;881:137:48:-;936:7;962:49;-1:-1:-1;;;;;;;;;;;962:47:48;;;;;;:49;:::i;:::-;955:56;;881:137;:::o;1751:141::-;615:24;:22;;;;:24;:::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;-1:-1:-1;1824:61:48;-1:-1:-1;;;;;;;;;;;1872:12:48;1824:47;;;;;;:61;:::i;:::-;1751:141;:::o;519:134:55:-;630:15;;620:27::o;1028:119::-;1117:22;;1115:26::o;360:13716:24:-;;;;;;;", - "deployedSourceMap": "360:13716:24:-;;;;;;;;;-1:-1:-1;;;360:13716:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:48;;;;;;;;;;;;;;;;;;;;;;795:179:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;795:179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;795:179:60;;-1:-1:-1;795:179:60;;-1:-1:-1;;;;;;;795:179:60;;;;;-1:-1:-1;;;;;795:179:60;;;;;;;;;;;;;;2253:229:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2253:229:39;;;;637:76:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;637:76:24;;;;;;;;;;;;;;;;;;;;9593:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9593:162:24;;;-1:-1:-1;;;;;9593:162:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8731:856;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8731:856:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8731:856:24;-1:-1:-1;;;;;8731:856:24;;;;;;-1:-1:-1;;;;;8731:856:24;-1:-1:-1;;;;;8731:856:24;;;;;;-1:-1:-1;;;;;8731:856:24;-1:-1:-1;;;;;8731:856:24;;;;;;-1:-1:-1;;;;;8731:856:24;-1:-1:-1;;;;;8731:856:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8731:856:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4850:376;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4850:376:24;-1:-1:-1;;;;;4850:376:24;;;;;;;553:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;553:78:24;;;;4226:463;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4226:463:24;-1:-1:-1;;;;;4226:463:24;;;;;1659:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1659:99:56;-1:-1:-1;;;;;1659:99:56;;;;;796:106:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:38;;;;881:137:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:48;;;;836:623:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;836:623:56;-1:-1:-1;;;;;836:623:56;;;;;1641:496:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1641:496:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1641:496:39;;-1:-1:-1;1641:496:39;;-1:-1:-1;;;;;;;1641:496:39;980:231:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:231:60;;;;2059:22:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2059:22:24;;;;;;;;-1:-1:-1;;;;;2059:22:24;;;;;;;;;;;;;;473:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;473:74:24;;;;7839:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7839:223:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7839:223:24;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7839:223:24;;-1:-1:-1;7839:223:24;;-1:-1:-1;;;;;;;7839:223:24;8266:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8266:128:24;;;;;8579:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8579:146:24;;;-1:-1:-1;;;;;8579:146:24;;;;;674:116:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:38;;;;5451:190:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5451:190:24;;;;;;;;;;;;;;;;;;;;;;;;7662:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7662:171:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7662:171:24;;-1:-1:-1;7662:171:24;;-1:-1:-1;;;;;;;7662:171:24;2021:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2021:32:24;;;;287:117:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:50;;;;2226:26:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2226:26:24;;;;6740:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6740:243:24;;;;;;;;;;;;;3544:531;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3544:531:24;-1:-1:-1;;;;;3544:531:24;;;-1:-1:-1;;;;;3544:531:24;;;;;;;;;;;;;;;6027:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6027:278:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7239:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7239:105:24;;;;;1983:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1983:32:24;;;;1953:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1953:24:24;;;;720:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;720:42:24;;;;7373:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7373:80:24;;;;1128:208:48;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:48;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;;:::o;795:179:60:-;861:18;917:22;:20;:22::i;:::-;-1:-1:-1;;;;;917:40:60;;958:7;917:49;;;;;-1:-1:-1;;;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;917:49:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:49:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;917:49:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;917:49:60;;795:179;-1:-1:-1;;795:179:60:o;2253:229:39:-;2302:7;2408:8;:6;:8::i;:::-;-1:-1:-1;;;;;2408:25:39;;:27;;;;;-1:-1:-1;;;2408:27:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:27:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:27:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2408:27:39;;-1:-1:-1;2253:229:39;;:::o;637:76:24:-;682:31;;;;;;;;;;;;;;;;637:76;:::o;9593:162::-;2670:11;;2683:13;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;;9690:10;;9672:7;;2683:13;2660:21;;2652:45;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9719:14:24;;;;:5;:14;;;;;;;;-1:-1:-1;;;;;9719:29:24;;;;:21;;:29;;;;;;;;;-1:-1:-1;2707:1:24;9593:162;;;;;:::o;8731:856::-;8851:9;8874:13;8901:16;8931:20;8965:22;9001;9037:11;9062;9087:19;9120:12;9157:18;8812:7;2670:11;;2660:7;:21;2683:13;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;2652:45;;;;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2652:45:24;-1:-1:-1;9178:14:24;;;;:5;:14;;;;;;-1:-1:-1;9210:18:24;9178:14;9210:11;:18::i;:::-;9203:25;;9249:5;:14;;;;;;;;;;;;9238:25;;9285:5;:15;;;;;;;;;;-1:-1:-1;;;;;9285:15:24;9273:27;;9326:5;:19;;;;;;;;;;-1:-1:-1;;;;;9326:19:24;9310:35;;9373:5;:24;;;;;;;;;;-1:-1:-1;;;;;9373:24:24;9355:42;;9425:5;:24;;;;;;;;;;-1:-1:-1;;;;;9425:24:24;9407:42;;9465:5;:9;;;9459:15;;9490:5;:9;;;9484:15;;9523:5;:17;;;9509:31;;9559:5;:21;;9550:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8731:856;;;;;;;;;;;;;:::o;4850:376::-;682:31;;;;;;;;;;;;;;;;5005:18;;4963:62;;-1:-1:-1;;;;;4967:28:24;;;;5005:18;4963:3;:62::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;5072:18:24;;5092:24;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;5072:18:24;;;;;5049:41;;;;;5041:76;;;;-1:-1:-1;;;;;5041:76:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5041:76:24;-1:-1:-1;5127:18:24;:40;;-1:-1:-1;;;;;5127:40:24;;-1:-1:-1;;5127:40:24;;;;;;;;5183:36;;;;;;;;;;;;;;;;4850:376;;;:::o;553:78::-;599:32;;;;;;;;;;;;;;;;553:78;:::o;4226:463::-;599:32;;;;;;;;;;;;;;;;4382:18;;4340:62;;-1:-1:-1;;;;;4344:28:24;;;;-1:-1:-1;;;4382:18:24;;;4340:3;:62::i;:::-;1148:38:39;1159:10;1171:5;1178:7;1148:10;:38::i;:::-;1188:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1188:17:39;;;;;1140:66;;;;;;-1:-1:-1;;;;;1140:66:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1140:66:39;-1:-1:-1;4426:18:24;;4469:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4426:41:24;;;:18;;:41;;4418:77;;;;-1:-1:-1;;;;;4418:77:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4418:77:24;-1:-1:-1;4545:28:24;;;;;;;;;;;;;;;;;754:8;-1:-1:-1;;;;;4513:30:24;;;4505:69;;;;-1:-1:-1;;;;;4505:69:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4505:69:24;-1:-1:-1;4584:18:24;:40;;-1:-1:-1;;;;;4584:40:24;;-1:-1:-1;;;4584:40:24;;-1:-1:-1;;4584:40:24;;;;;;;;;;4640:42;;;;;;;;;;;;;;;;4226:463;;;:::o;1659:99:56:-;-1:-1:-1;1747:4:56;;1659:99::o;796:106:38:-;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;881:137:48:-;936:7;962:49;345:66;962:47;:49::i;836:623:56:-;960:13;1067:15;1224:11;904:27;924:6;904:19;:27::i;:::-;933:16;;;;;;;;;;;;;;;;;;896:54;;;;;;-1:-1:-1;;;;;896:54:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;896:54:56;;976:18;:16;:18::i;:::-;960:34;;1012:17;1023:5;1012:10;:17::i;:::-;1031:24;;;;;;;;;;;;;;;;;;1004:52;;;;;;-1:-1:-1;;;;;1004:52:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1004:52:56;-1:-1:-1;;;;;;1096:13:56;;;1092:307;;;1170:23;;1143:4;1135:21;;-1:-1:-1;;;;;;1170:14:56;;;:23;;;;;1135:21;;1170:23;;;;1135:21;1170:14;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:23:56;1092:307;;;-1:-1:-1;1244:6:56;1275:27;-1:-1:-1;;;;;1275:21:56;;1297:4;1275:27;:21;:27;:::i;:::-;1265:37;-1:-1:-1;1324:34:56;-1:-1:-1;;;;;1324:18:56;;1343:5;1265:37;1324:34;:18;:34;:::i;:::-;1360:27;;;;;;;;;;;;;;;;;;1316:72;;;;;;-1:-1:-1;;;;;1316:72:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1316:72:56;;1092:307;1436:6;-1:-1:-1;;;;;1414:38:56;1429:5;-1:-1:-1;;;;;1414:38:56;;1444:7;1414:38;;;;;;;;;;;;;;;;;;836:623;;;;:::o;1641:496:39:-;1733:4;1819:20;1754:16;:14;:16::i;:::-;1753:17;1749:60;;;1793:5;1786:12;;;;1749:60;1842:8;:6;:8::i;:::-;1819:31;-1:-1:-1;;;;;;1864:35:39;;;1860:78;;;1922:5;1915:12;;;;1860:78;1955:12;-1:-1:-1;;;;;1955:26:39;;1995:7;2024:4;2043:5;2062:58;2112:7;2062:49;:58::i;:::-;1955:175;;-1:-1:-1;;;1955:175:39;;;;;;-1:-1:-1;;;;;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1955:175:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:175:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1955:175:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1955:175:39;;-1:-1:-1;1641:496:39;;;;;;;:::o;980:231:60:-;1033:18;1063:20;1086:8;:6;:8::i;:::-;:69;;;;;;1368:66:73;1086:69:60;;;;330:66:62;1086:69:60;;;;;;-1:-1:-1;;;;;1086:15:60;;;;;;;:69;;;;;;;;;;;;;;;;:15;:69;;;5:2:-1;;;;30:1;27;20:12;2059:22:24;;;;;;-1:-1:-1;;;;;2059:22:24;;:::o;473:74::-;517:30;;;-1:-1:-1;;;;;;;;;;;517:30:24;;;;;;;;;;;;473:74;:::o;7839:223::-;7904:4;8010:45;8021:7;517:30;;;;-1:-1:-1;;;;;;;;;;;517:30:24;;;;;;;;;;;;;;8049:5;:3;:5::i;:::-;8010:10;:45::i;:::-;8003:52;7839:223;-1:-1:-1;;;7839:223:24:o;8266:128::-;2670:11;;2683:13;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;;8344:4;;8326:7;;2683:13;2660:21;;2652:45;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2652:45:24;;8367:20;8379:7;8367:11;:20::i;:::-;8360:27;;2707:1;8266:128;;;;:::o;8579:146::-;2670:11;;2683:13;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;;8670:4;;8652:7;;2683:13;2660:21;;2652:45;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2652:45:24;;8693:25;8702:7;8711:6;8693:8;:25::i;:::-;8686:32;8579:146;-1:-1:-1;;;;8579:146:24:o;674:116:38:-;713:7;747:35;485:66;747:33;:35::i;5451:190:24:-;517:30;;;-1:-1:-1;;;;;;;;;;;517:30:24;;;;;;;;;;;;5552:14;1020:16:39;;;;;;;;;517:30:24;990:47:39;;1001:10;;517:30:24;;5552:14;1020:16:39;;990:10;:47::i;:::-;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;5585:49:24;5594:16;;5585:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5585:49:24;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5612:9:24;;-1:-1:-1;5612:9:24;;-1:-1:-1;5612:9:24;;-1:-1:-1;5585:49:24;;5612:9;;;;5585:49;;;;;;;;;;;5623:4;5629;5585:8;:49::i;:::-;5578:56;5451:190;-1:-1:-1;;;;;;5451:190:24:o;7662:171::-;7722:34;7733:10;7745;7722;:34::i;:::-;7758:21;;;;;;;;;;;;;;;;;;7714:66;;;;;;-1:-1:-1;;;;;7714:66:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7714:66:24;;7790:36;7799:10;7790:36;;;;;;;;;;;;;7815:4;7821;7790:8;:36::i;:::-;;7662:171;:::o;2021:32::-;;;-1:-1:-1;;;;;2021:32:24;;:::o;287:117:50:-;331:4;-1:-1:-1;;354:24:50;:22;:24::i;:::-;:43;347:50;;287:117;:::o;2226:26:24:-;;;;:::o;6740:243::-;2670:11;;2683:13;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;;6832:7;;2660:21;;2652:45;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2652:45:24;;6859:29;6868:7;6877:10;6859:8;:29::i;:::-;6890:18;;;;;;;;;;;;;;;;;;6851:58;;;;;;-1:-1:-1;;;;;6851:58:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6851:58:24;;6919:57;6925:7;6934:9;6945:10;6957:18;6919:5;:57::i;:::-;6740:243;;;;:::o;3544:531::-;615:24:48;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;3744:13:24;:11;:13::i;:::-;3820:15;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3776:42:24;;;;;;;;3768:68;;;;-1:-1:-1;;;;;3768:68:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3768:68:24;-1:-1:-1;3886:26:24;;;;;;;;;;;;;;;;;754:8;-1:-1:-1;;;;;3854:30:24;;;3846:67;;;;-1:-1:-1;;;;;3846:67:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3846:67:24;-1:-1:-1;3924:5:24;:14;;-1:-1:-1;;3924:14:24;-1:-1:-1;;;;;3924:14:24;;;;;;;;-1:-1:-1;;3948:40:24;-1:-1:-1;;;;;;;;3948:40:24;;;;;;;;-1:-1:-1;3998:40:24;;-1:-1:-1;;3998:40:24;;;;;;;;-1:-1:-1;;4048:20:24;;;;;;;;;;;;;3544:531::o;6027:278::-;517:30;;;-1:-1:-1;;;;;;;;;;;517:30:24;;;;;;;;;;;;6193:14;1020:16:39;;;;;;;;;517:30:24;990:47:39;;1001:10;;517:30:24;;6193:14;1020:16:39;;990:47;1039:17;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1039:17:39;;;;;982:75;;;;;;-1:-1:-1;;;;;982:75:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;982:75:39;;6230:68:24;6239:16;;6230:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6230:68:24;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6257:9:24;;-1:-1:-1;6257:9:24;;-1:-1:-1;6257:9:24;;-1:-1:-1;6230:68:24;;6257:9;;;;6230:68;;;;;;;;;;;6268:9;6279:18;6230:8;:68::i;:::-;6223:75;6027:278;-1:-1:-1;;;;;;;;6027:278:24:o;7239:105::-;2670:11;;2683:13;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:13:24;;;;7297:7;;2660:21;;2652:45;;;;-1:-1:-1;;;;;2652:45:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2652:45:24;;7316:21;7329:7;7316:12;:21::i;1983:32::-;;;-1:-1:-1;;;1983:32:24;;-1:-1:-1;;;;;1983:32:24;;:::o;1953:24::-;;;-1:-1:-1;;;;;1953:24:24;;:::o;720:42::-;754:8;720:42;:::o;7373:80::-;7442:4;7373:80;:::o;347:94:53:-;422:12;347:94;:::o;13545:161:24:-;13671:8;;13651:15;;13609:4;;13651:29;;13671:8;13651:15;;-1:-1:-1;;;;;13651:15:24;;;;13671:8;;;;13651:29;:19;:29;:::i;:::-;-1:-1:-1;;;;;13632:48:24;:16;:14;:16::i;:::-;-1:-1:-1;;;;;13632:48:24;;:67;;;;-1:-1:-1;13685:14:24;;;;13684:15;13632:67;13625:74;13545:161;-1:-1:-1;;13545:161:24:o;1717:148:29:-;1804:16;;;1818:1;1804:16;;;1777:11;1804:16;;;;;1777:11;1804:16;;;;;105:10:-1;1804:16:29;88:34:-1;136:17;;-1:-1;1804:16:29;1800:20;;1837:2;1830:1;1832;1830:4;;;;;;;;;;;;;;;;;;:9;1849:4;;1856:2;;1849:1;;1851;;1849:4;;;;;;;;;;;;;;:9;1717:148;;-1:-1:-1;;1717:148:29:o;379:134:55:-;490:15;;480:27::o;519:134::-;630:15;;620:27::o;426:244:49:-;486:4;;-1:-1:-1;;;;;506:21:49;;;502:64;;;550:5;543:12;;;;502:64;-1:-1:-1;;662:1:49;617:20;;655:8;;426:244::o;4578:403:52:-;4708:91;;;-1:-1:-1;;;;;4708:91:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4708:91:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;4744:25:52;179:29:-1;160:49;;4656:7:52;;;;4849:39;4744:6;4708:91;4849:12;:39::i;:::-;4915:28;;;;;;;;;;;;;;;;;4810:78;;-1:-1:-1;4810:78:52;-1:-1:-1;4898:46:52;;;;;;;-1:-1:-1;;;;;4898:46:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4898:46:52;-1:-1:-1;4962:12:52;4578:403;-1:-1:-1;;;;;4578:403:52:o;3100:304::-;3232:101;;;-1:-1:-1;;;;;3232:101:52;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3232:101:52;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;3268:17:52;179:29:-1;160:49;;3184:4:52;;3350:47;3372:6;3232:101;3350:21;:47::i;:::-;3343:54;3100:304;-1:-1:-1;;;;;3100:304:52:o;142:539:41:-;559:13;;575:2;559:18;639:26;;559:6;596:79::o;101:89:29:-;167:16;;;181:1;167:16;;;;;;;;;101:89::o;12507:804:24:-;12568:4;12605:14;;;:5;:14;;;;;12634;;12568:4;;12634:14;;12630:57;;;12671:5;12664:12;;;;12630:57;12750:9;;;;12761:17;;;;12780:24;;12738:67;;12750:9;12761:17;-1:-1:-1;;;12780:24:24;;-1:-1:-1;;;;;12780:24:24;12738:11;:67::i;:::-;12734:109;;;12828:4;12821:11;;;;12734:109;12880:18;12892:5;12880:11;:18::i;:::-;12876:61;;;12921:5;12914:12;;;;12876:61;13012:9;;;;12998;;;;:24;;;:13;:24;:::i;:::-;13049:9;;;;13072:24;;12977:45;;-1:-1:-1;13037:60:24;;12977:45;;-1:-1:-1;;;13072:24:24;;-1:-1:-1;;;;;13072:24:24;13037:11;:60::i;:::-;13036:61;13032:104;;;13120:5;13113:12;;;;13032:104;13189:9;;;;13200:17;;;;13219:24;;;;13177:67;;13189:9;13200:17;-1:-1:-1;;;;;13219:24:24;13177:11;:67::i;:::-;13176:68;13172:111;;;13267:5;13260:12;;;;13172:111;13300:4;13293:11;;12507:804;;;;;;:::o;13317:222::-;13391:4;13428:14;;;:5;:14;;;;;13460:18;13428:14;13460:11;:18::i;:::-;:72;;;;-1:-1:-1;13531:1:24;13482:5;;13508:19;;13482:46;;;-1:-1:-1;;;;;13482:46:24;;-1:-1:-1;;;;;13482:46:24;;;;;;;13508:19;;;;-1:-1:-1;;;;;13508:19:24;13482:46;;;;;;:5;;;;;:17;;:46;;;;;;;;;;;;;;13531:1;13482:5;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;13482:46:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13482:46:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13482:46:24;:50;;13317:222;-1:-1:-1;;;;13317:222:24:o;9782:939::-;9917:14;9947:20;10044:19;10201:18;9991:1;9970:18;:16;:18::i;:::-;10066:5;;;:34;;;;;;9970:22;;;;-1:-1:-1;;;;;10066:34:24;;;;;;;;9970:22;;-1:-1:-1;;;;;;10066:5:24;;:19;;:34;;;;;;;;;;;;;;;;:5;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;10066:34:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10066:34:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10066:34:24;10135:21;;;;;;;;;;;;;10066:34;10135:21;;;10066:34;;-1:-1:-1;10132:1:24;10118:15;;10110:47;;;;-1:-1:-1;;;;;10110:47:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10110:47:24;-1:-1:-1;;10177:11:24;:13;;;;;;;;:11;10222:13;;;:5;:13;;;;;10177;;-1:-1:-1;10263:16:24;:14;:16::i;:::-;10245:34;;-1:-1:-1;;10245:34:24;;-1:-1:-1;;;;;10245:34:24;;;;;-1:-1:-1;;10289:35:24;;;;;;;;;;-1:-1:-1;10361:18:24;-1:-1:-1;;10334:45:24;;;-1:-1:-1;;;10361:18:24;;;;;-1:-1:-1;;;10334:45:24;;;;-1:-1:-1;10416:18:24;;10389:24;;;:45;;10416:18;;;;-1:-1:-1;;10389:45:24;;;;;;10444:17;;;:31;;;10485:40;;;;:21;;;;:40;;;;;:::i;:::-;;10559:10;-1:-1:-1;;;;;10541:40:24;10551:6;10541:40;10571:9;10541:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10541:40:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10596:9;:41;;;;;10609:28;10618:6;10626:10;10609:8;:28::i;:::-;10592:123;;;10653:51;10659:6;10667:4;10673:10;10685:18;10653:5;:51::i;:::-;9782:939;;;;;;;;;:::o;10727:1157::-;10877:18;10898:14;;;:5;:14;;;;;;;;11035:5;;11061:19;;11035:46;;-1:-1:-1;;;;;11035:46:24;;-1:-1:-1;;;;;11035:46:24;;;;;;;11061:19;;;;-1:-1:-1;;;;;11061:19:24;11035:46;;;;;;10898:14;;10877:18;;;11035:5;;;;;:17;;:46;;;;;10898:14;;11035:46;;;;;;10877:18;11035:5;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;11035:46:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11035:46:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11035:46:24;-1:-1:-1;;;;;11110:20:24;;;;;;:12;;;11035:46;11110:20;;;;;11035:46;;-1:-1:-1;11110:20:24;;;-1:-1:-1;11110:20:24;11202:5;:23;;;;;;;;;11198:188;;;11253:9;;;;:25;;11267:10;11253:25;:13;:25;:::i;:::-;11241:9;;;:37;11198:188;;;11308:14;11299:5;:23;;;;;;;;;11295:91;;;11350:9;;;;:25;;11364:10;11350:25;:13;:25;:::i;:::-;11338:9;;;:37;11295:91;11400:9;11396:145;;;11437:9;;;;:25;;11451:10;11437:25;:13;:25;:::i;:::-;11425:9;;;:37;11396:145;;;11505:9;;;;:25;;11519:10;11505:25;:13;:25;:::i;:::-;11493:9;;;:37;11396:145;11574:9;:43;;11603:14;11574:43;;;11586:14;11574:43;-1:-1:-1;;;;;11551:20:24;;;;;;:12;;;:20;;;;;:66;;-1:-1:-1;;11551:66:24;;;;;;;;;;;;;;;-1:-1:-1;11633:48:24;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11633:48:24;;;11642:7;;11633:48;;;;;;;;;;;11696:18;:42;;;;;11718:20;11730:7;11718:11;:20::i;:::-;11692:186;;;11840:27;11859:7;11840:18;:27::i;:::-;10727:1157;;;;;;;:::o;1447:123:48:-;615:24;:22;:24::i;:::-;646:25;;;;;;;;;;;;;;;;;;615:29;607:65;;;;-1:-1:-1;;;;;607:65:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;607:65:48;;1498;1546:16;:14;:16::i;:::-;345:66;;1498:65;:47;:65;:::i;:::-;1447:123::o;11890:154:24:-;11956:20;11968:7;11956:11;:20::i;:::-;11978:21;;;;;;;;;;;;;;;;;;11948:52;;;;;;-1:-1:-1;;;;;11948:52:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11948:52:24;;12010:27;12029:7;12010:18;:27::i;:::-;11890:154;:::o;1835:166:80:-;1956:18;;;;;;;;;;;;;;;;;1893:6;;1922:7;;;;-1:-1:-1;;;;;1947:7:80;;;;;;;;1939:36;;;;-1:-1:-1;;;;;1939:36:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1261:106:53;1310:6;1335:25;:14;:12;:14::i;:::-;:23;:25::i;2148:774:52:-;2255:4;2261:7;2284:12;2306:11;2367:4;2361:11;2741:4;2670:3;2619:9;2613:16;2572:4;2561:9;2557:20;2508:5;2451:3;2423:371;2412:382;;2823:1;2814:7;2811:14;2808:2;;;2857:3;2851:10;2844:17;;2808:2;-1:-1:-1;2902:7:52;;2911:3;;-1:-1:-1;2148:774:52;-1:-1:-1;;;2148:774:52:o;800:1342::-;903:4;923:8;981:4;975:11;1403:4;1332:3;1281:9;1275:16;1234:4;1223:9;1219:20;1169:1;1120:5;1063:3;1041:415;1485:1;1476:7;1473:14;1470:2;;;1587:14;1672:55;;;;1806:4;1801:193;;;;1580:512;;1672:55;1708:1;1701:8;;1672:55;;1801:193;1974:1;1968:3;1962:10;1959:17;1952:24;;1580:512;;1470:2;-1:-1:-1;2132:3:52;;800:1342;-1:-1:-1;;;;800:1342:52:o;13811:263:24:-;13901:4;;13921:11;;13917:54;;;13955:5;13948:12;;;;13917:54;14026:6;14003:20;:6;754:8;14003:20;:10;:20;:::i;:::-;:29;;;;;;;;14049:18;;;;;13811:263;-1:-1:-1;;;;13811:263:24:o;1928:170:79:-;2053:18;;;;;;;;;;;;;;;;;1988:7;;2019;;;;2044;;;;2036:36;;;;-1:-1:-1;;;;;2036:36:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;646:110:53;697:6;722:27;:16;:14;:16::i;1685:172:79:-;1782:19;;;;;;;;;;;;;;;;;1745:7;;;;1772:8;;;;1764:38;;;;-1:-1:-1;;;;;1764:38:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1764:38:79;-1:-1:-1;;;1824:7:79;;;1685:172::o;12173:328:24:-;12237:18;12258:14;;;:5;:14;;;;;;;;12283:21;;-1:-1:-1;;12283:21:24;12300:4;12283:21;;;;;12336:12;;;;;12411:21;;;12401:57;;;;;;;;-1:-1:-1;;12401:57:24;;;;;;;;;;;;;;;;;;;;;;12336:12;;;12401:57;;;12258:14;;12336:12;12401:57;;12336:12;;12411:21;;12401:57;;;12411:21;12401:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12441:16:24;;;12455:1;12441:16;;;;;;;;12434:5;;-1:-1:-1;12441:16:24;-1:-1:-1;12401:9:24;;-1:-1:-1;12401:57:24:i;:::-;-1:-1:-1;12474:20:24;;12486:7;;12474:20;;;;;12173:328;;;:::o;1028:119:55:-;1117:22;;1115:26::o;926:144:53:-;999:15;926:144;:::o;188:149:54:-;283:20;;;;;;;;;;;;;;;;;240:6;;-1:-1:-1;;;;;266:15:54;;;258:46;;;;-1:-1:-1;;;;;258:46:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;258:46:54;-1:-1:-1;328:1:54;;188:149;-1:-1:-1;188:149:54:o;685:448:79:-;745:7;;985;;981:46;;;1015:1;1008:8;;;;981:46;-1:-1:-1;1049:7:79;;;1054:2;1049;:7;1074:6;;;;;;;1088:18;;;;;;;;;;;;;;;;;;1074:6;;;:12;1066:41;;;;-1:-1:-1;;;;;1066:41:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1217:3212:60;1364:5;1385:27;1533:10;1584:17;1671:19;737:16:48;:14;:16::i;:::-;755:21;;;;;;;;;;;;;;;;;;729:48;;;;;;-1:-1:-1;;;;;729:48:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;729:48:48;;4467:17:60;4514:16;4495:8;:6;:8::i;:::-;4467:37;;4533:7;:5;:7::i;:::-;4514:26;;1415:29;1436:7;1415:20;:29::i;:::-;1495:26;;;;;;;;;;;;;;;;;1385:59;;-1:-1:-1;;;;;;1462:31:60;;;;1454:68;;;;-1:-1:-1;;;;;1454:68:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1454:68:60;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;1546:28;;-1:-1:-1;1546:28:60;;1632:7;;1641:6;;1649:10;;1604:56;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1604:56:60;;;;;;;;;;;;;;;;;;;;;;;;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;1604:56:60;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1604:56:60;;;;-1:-1:-1;;;;;1604:56:60;;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;;;1604:56:60;1584:76;;2067:1;1979;1930:4;1924:11;1880:4;1874;1870:15;1823:8;1768:3;1738:384;2152:4;2146:11;;-1:-1:-1;2198:7:60;2218:195;;;;2478:4;2462:14;2459:24;2500:970;;;;4144:4;4128:14;4124:25;4199:8;4193:4;4185:6;4170:38;4243:21;;4237:4;4230:35;2452:1851;;2500:970;-1:-1:-1;;;;;2845:6:60;2838:82;2995:66;2988:4;2980:6;2976:17;2969:93;3128:66;3121:4;3113:6;3109:17;3102:93;3259:66;3252:4;3244:6;3240:17;3233:93;3373:3;3365:6;3358:19;2452:1851;;2191:2126;;2218:195;2337:14;2334:1;2326:6;2311:41;2384:14;2376:6;2369:30;2191:2126;;1709:2618;4363:8;-1:-1:-1;;;;;4342:56:60;;4374:7;4383:6;4391;4342:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4342:56:60;;;;;;;;;;;;;;;;;;;;;;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;4342:56:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:6;4409:13;;4598:9;-1:-1:-1;;;;;4577:30:60;4585:8;:6;:8::i;:::-;-1:-1:-1;;;;;4577:30:60;;4609;;;;;;;;;;;;;;;;;;4569:71;;;;;;;-1:-1:-1;;;;;4569:71:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4569:71:60;-1:-1:-1;4669:8:60;4658:7;:5;:7::i;:::-;4679:30;;;;;;;;;;;;;;;;;;4658:19;4650:60;;;;-1:-1:-1;;;;;4650:60:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4650:60:60;;787:1:48;;1217:3212:60;;;;;;;;;:::o;360:13716:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;360:13716:24;;;;-1:-1:-1;360:13716:24;;;;;;;;;;;;;;", - "source": "/*\n * SPDX-License-Identitifer: GPL-3.0-or-later\n */\n\npragma solidity 0.4.24;\n\nimport \"@aragon/os/contracts/apps/AragonApp.sol\";\nimport \"@aragon/os/contracts/common/IForwarder.sol\";\n\nimport \"@aragon/os/contracts/lib/math/SafeMath.sol\";\nimport \"@aragon/os/contracts/lib/math/SafeMath64.sol\";\n\nimport \"@aragon/apps-shared-minime/contracts/MiniMeToken.sol\";\n\n\ncontract Voting is IForwarder, AragonApp {\n using SafeMath for uint256;\n using SafeMath64 for uint64;\n\n bytes32 public constant CREATE_VOTES_ROLE = keccak256(\"CREATE_VOTES_ROLE\");\n bytes32 public constant MODIFY_SUPPORT_ROLE = keccak256(\"MODIFY_SUPPORT_ROLE\");\n bytes32 public constant MODIFY_QUORUM_ROLE = keccak256(\"MODIFY_QUORUM_ROLE\");\n\n uint64 public constant PCT_BASE = 10 ** 18; // 0% = 0; 1% = 10^16; 100% = 10^18\n\n string private constant ERROR_NO_VOTE = \"VOTING_NO_VOTE\";\n string private constant ERROR_INIT_PCTS = \"VOTING_INIT_PCTS\";\n string private constant ERROR_CHANGE_SUPPORT_PCTS = \"VOTING_CHANGE_SUPPORT_PCTS\";\n string private constant ERROR_CHANGE_QUORUM_PCTS = \"VOTING_CHANGE_QUORUM_PCTS\";\n string private constant ERROR_INIT_SUPPORT_TOO_BIG = \"VOTING_INIT_SUPPORT_TOO_BIG\";\n string private constant ERROR_CHANGE_SUPPORT_TOO_BIG = \"VOTING_CHANGE_SUPP_TOO_BIG\";\n string private constant ERROR_CAN_NOT_VOTE = \"VOTING_CAN_NOT_VOTE\";\n string private constant ERROR_CAN_NOT_EXECUTE = \"VOTING_CAN_NOT_EXECUTE\";\n string private constant ERROR_CAN_NOT_FORWARD = \"VOTING_CAN_NOT_FORWARD\";\n string private constant ERROR_NO_VOTING_POWER = \"VOTING_NO_VOTING_POWER\";\n\n enum VoterState { Absent, Yea, Nay }\n\n struct Vote {\n bool executed;\n uint64 startDate;\n uint64 snapshotBlock;\n uint64 supportRequiredPct;\n uint64 minAcceptQuorumPct;\n uint256 yea;\n uint256 nay;\n uint256 votingPower;\n bytes executionScript;\n mapping (address => VoterState) voters;\n }\n\n MiniMeToken public token;\n uint64 public supportRequiredPct;\n uint64 public minAcceptQuorumPct;\n uint64 public voteTime;\n\n // We are mimicing an array, we use a mapping instead to make app upgrade more graceful\n mapping (uint256 => Vote) internal votes;\n uint256 public votesLength;\n\n event StartVote(uint256 indexed voteId, address indexed creator, string metadata);\n event CastVote(uint256 indexed voteId, address indexed voter, bool supports, uint256 stake);\n event ExecuteVote(uint256 indexed voteId);\n event ChangeSupportRequired(uint64 supportRequiredPct);\n event ChangeMinQuorum(uint64 minAcceptQuorumPct);\n\n modifier voteExists(uint256 _voteId) {\n require(_voteId < votesLength, ERROR_NO_VOTE);\n _;\n }\n\n /**\n * @notice Initialize Voting app with `_token.symbol(): string` for governance, minimum support of `@formatPct(_supportRequiredPct)`%, minimum acceptance quorum of `@formatPct(_minAcceptQuorumPct)`%, and a voting duration of `@transformTime(_voteTime)`\n * @param _token MiniMeToken Address that will be used as governance token\n * @param _supportRequiredPct Percentage of yeas in casted votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n * @param _minAcceptQuorumPct Percentage of yeas in total possible votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n * @param _voteTime Seconds that a vote will be open for token holders to vote (unless enough yeas or nays have been cast to make an early decision)\n */\n function initialize(\n MiniMeToken _token,\n uint64 _supportRequiredPct,\n uint64 _minAcceptQuorumPct,\n uint64 _voteTime\n )\n external\n onlyInit\n {\n initialized();\n\n require(_minAcceptQuorumPct <= _supportRequiredPct, ERROR_INIT_PCTS);\n require(_supportRequiredPct < PCT_BASE, ERROR_INIT_SUPPORT_TOO_BIG);\n\n token = _token;\n supportRequiredPct = _supportRequiredPct;\n minAcceptQuorumPct = _minAcceptQuorumPct;\n voteTime = _voteTime;\n }\n\n /**\n * @notice Change required support to `@formatPct(_supportRequiredPct)`%\n * @param _supportRequiredPct New required support\n */\n function changeSupportRequiredPct(uint64 _supportRequiredPct)\n external\n authP(MODIFY_SUPPORT_ROLE, arr(uint256(_supportRequiredPct), uint256(supportRequiredPct)))\n {\n require(minAcceptQuorumPct <= _supportRequiredPct, ERROR_CHANGE_SUPPORT_PCTS);\n require(_supportRequiredPct < PCT_BASE, ERROR_CHANGE_SUPPORT_TOO_BIG);\n supportRequiredPct = _supportRequiredPct;\n\n emit ChangeSupportRequired(_supportRequiredPct);\n }\n\n /**\n * @notice Change minimum acceptance quorum to `@formatPct(_minAcceptQuorumPct)`%\n * @param _minAcceptQuorumPct New acceptance quorum\n */\n function changeMinAcceptQuorumPct(uint64 _minAcceptQuorumPct)\n external\n authP(MODIFY_QUORUM_ROLE, arr(uint256(_minAcceptQuorumPct), uint256(minAcceptQuorumPct)))\n {\n require(_minAcceptQuorumPct <= supportRequiredPct, ERROR_CHANGE_QUORUM_PCTS);\n minAcceptQuorumPct = _minAcceptQuorumPct;\n\n emit ChangeMinQuorum(_minAcceptQuorumPct);\n }\n\n /**\n * @notice Create a new vote about \"`_metadata`\"\n * @param _executionScript EVM script to be executed on approval\n * @param _metadata Vote metadata\n * @return voteId Id for newly created vote\n */\n function newVote(bytes _executionScript, string _metadata) external auth(CREATE_VOTES_ROLE) returns (uint256 voteId) {\n return _newVote(_executionScript, _metadata, true, true);\n }\n\n /**\n * @notice Create a new vote about \"`_metadata`\"\n * @param _executionScript EVM script to be executed on approval\n * @param _metadata Vote metadata\n * @param _castVote Whether to also cast newly created vote\n * @param _executesIfDecided Whether to also immediately execute newly created vote if decided\n * @return voteId id for newly created vote\n */\n function newVote(bytes _executionScript, string _metadata, bool _castVote, bool _executesIfDecided)\n external\n auth(CREATE_VOTES_ROLE)\n returns (uint256 voteId)\n {\n return _newVote(_executionScript, _metadata, _castVote, _executesIfDecided);\n }\n\n /**\n * @notice Vote `_supports ? 'yes' : 'no'` in vote #`_voteId`\n * @dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n * created via `newVote(),` which requires initialization\n * @param _voteId Id for vote\n * @param _supports Whether voter supports the vote\n * @param _executesIfDecided Whether the vote should execute its action if it becomes decided\n */\n function vote(uint256 _voteId, bool _supports, bool _executesIfDecided) external voteExists(_voteId) {\n require(_canVote(_voteId, msg.sender), ERROR_CAN_NOT_VOTE);\n _vote(_voteId, _supports, msg.sender, _executesIfDecided);\n }\n\n /**\n * @notice Execute vote #`_voteId`\n * @dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n * created via `newVote(),` which requires initialization\n * @param _voteId Id for vote\n */\n function executeVote(uint256 _voteId) external voteExists(_voteId) {\n _executeVote(_voteId);\n }\n\n // Forwarding fns\n\n function isForwarder() external pure returns (bool) {\n return true;\n }\n\n /**\n * @notice Creates a vote to execute the desired action, and casts a support vote if possible\n * @dev IForwarder interface conformance\n * @param _evmScript Start vote with script\n */\n function forward(bytes _evmScript) public {\n require(canForward(msg.sender, _evmScript), ERROR_CAN_NOT_FORWARD);\n _newVote(_evmScript, \"\", true, true);\n }\n\n function canForward(address _sender, bytes) public view returns (bool) {\n // Note that `canPerform()` implicitly does an initialization check itself\n return canPerform(_sender, CREATE_VOTES_ROLE, arr());\n }\n\n // Getter fns\n\n /**\n * @dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n * created via `newVote(),` which requires initialization\n */\n function canExecute(uint256 _voteId) public view voteExists(_voteId) returns (bool) {\n return _canExecute(_voteId);\n }\n\n /**\n * @dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n * created via `newVote(),` which requires initialization\n */\n function canVote(uint256 _voteId, address _voter) public view voteExists(_voteId) returns (bool) {\n return _canVote(_voteId, _voter);\n }\n\n function getVote(uint256 _voteId)\n public\n view\n voteExists(_voteId)\n returns (\n bool open,\n bool executed,\n uint64 startDate,\n uint64 snapshotBlock,\n uint64 supportRequired,\n uint64 minAcceptQuorum,\n uint256 yea,\n uint256 nay,\n uint256 votingPower,\n bytes script\n )\n {\n Vote storage vote_ = votes[_voteId];\n\n open = _isVoteOpen(vote_);\n executed = vote_.executed;\n startDate = vote_.startDate;\n snapshotBlock = vote_.snapshotBlock;\n supportRequired = vote_.supportRequiredPct;\n minAcceptQuorum = vote_.minAcceptQuorumPct;\n yea = vote_.yea;\n nay = vote_.nay;\n votingPower = vote_.votingPower;\n script = vote_.executionScript;\n }\n\n function getVoterState(uint256 _voteId, address _voter) public view voteExists(_voteId) returns (VoterState) {\n return votes[_voteId].voters[_voter];\n }\n\n // Internal fns\n\n function _newVote(bytes _executionScript, string _metadata, bool _castVote, bool _executesIfDecided)\n internal\n returns (uint256 voteId)\n {\n uint64 snapshotBlock = getBlockNumber64() - 1; // avoid double voting in this very block\n uint256 votingPower = token.totalSupplyAt(snapshotBlock);\n require(votingPower > 0, ERROR_NO_VOTING_POWER);\n\n voteId = votesLength++;\n\n Vote storage vote_ = votes[voteId];\n vote_.startDate = getTimestamp64();\n vote_.snapshotBlock = snapshotBlock;\n vote_.supportRequiredPct = supportRequiredPct;\n vote_.minAcceptQuorumPct = minAcceptQuorumPct;\n vote_.votingPower = votingPower;\n vote_.executionScript = _executionScript;\n\n emit StartVote(voteId, msg.sender, _metadata);\n\n if (_castVote && _canVote(voteId, msg.sender)) {\n _vote(voteId, true, msg.sender, _executesIfDecided);\n }\n }\n\n function _vote(\n uint256 _voteId,\n bool _supports,\n address _voter,\n bool _executesIfDecided\n ) internal\n {\n Vote storage vote_ = votes[_voteId];\n\n // This could re-enter, though we can assume the governance token is not malicious\n uint256 voterStake = token.balanceOfAt(_voter, vote_.snapshotBlock);\n VoterState state = vote_.voters[_voter];\n\n // If voter had previously voted, decrease count\n if (state == VoterState.Yea) {\n vote_.yea = vote_.yea.sub(voterStake);\n } else if (state == VoterState.Nay) {\n vote_.nay = vote_.nay.sub(voterStake);\n }\n\n if (_supports) {\n vote_.yea = vote_.yea.add(voterStake);\n } else {\n vote_.nay = vote_.nay.add(voterStake);\n }\n\n vote_.voters[_voter] = _supports ? VoterState.Yea : VoterState.Nay;\n\n emit CastVote(_voteId, _voter, _supports, voterStake);\n\n if (_executesIfDecided && _canExecute(_voteId)) {\n // We've already checked if the vote can be executed with `_canExecute()`\n _unsafeExecuteVote(_voteId);\n }\n }\n\n function _executeVote(uint256 _voteId) internal {\n require(_canExecute(_voteId), ERROR_CAN_NOT_EXECUTE);\n _unsafeExecuteVote(_voteId);\n }\n\n /**\n * @dev Unsafe version of _executeVote that assumes you have already checked if the vote can be executed\n */\n function _unsafeExecuteVote(uint256 _voteId) internal {\n Vote storage vote_ = votes[_voteId];\n\n vote_.executed = true;\n\n bytes memory input = new bytes(0); // TODO: Consider input for voting scripts\n runScript(vote_.executionScript, input, new address[](0));\n\n emit ExecuteVote(_voteId);\n }\n\n function _canExecute(uint256 _voteId) internal view returns (bool) {\n Vote storage vote_ = votes[_voteId];\n\n if (vote_.executed) {\n return false;\n }\n\n // Voting is already decided\n if (_isValuePct(vote_.yea, vote_.votingPower, vote_.supportRequiredPct)) {\n return true;\n }\n\n // Vote ended?\n if (_isVoteOpen(vote_)) {\n return false;\n }\n // Has enough support?\n uint256 totalVotes = vote_.yea.add(vote_.nay);\n if (!_isValuePct(vote_.yea, totalVotes, vote_.supportRequiredPct)) {\n return false;\n }\n // Has min quorum?\n if (!_isValuePct(vote_.yea, vote_.votingPower, vote_.minAcceptQuorumPct)) {\n return false;\n }\n\n return true;\n }\n\n function _canVote(uint256 _voteId, address _voter) internal view returns (bool) {\n Vote storage vote_ = votes[_voteId];\n\n return _isVoteOpen(vote_) && token.balanceOfAt(_voter, vote_.snapshotBlock) > 0;\n }\n\n function _isVoteOpen(Vote storage vote_) internal view returns (bool) {\n return getTimestamp64() < vote_.startDate.add(voteTime) && !vote_.executed;\n }\n\n /**\n * @dev Calculates whether `_value` is more than a percentage `_pct` of `_total`\n */\n function _isValuePct(uint256 _value, uint256 _total, uint256 _pct) internal pure returns (bool) {\n if (_total == 0) {\n return false;\n }\n\n uint256 computedPct = _value.mul(PCT_BASE) / _total;\n return computedPct > _pct;\n }\n}\n", - "sourcePath": "@aragon/apps-voting/contracts/Voting.sol", - "ast": { - "absolutePath": "@aragon/apps-voting/contracts/Voting.sol", - "exportedSymbols": { - "Voting": [ - 20320 - ] - }, - "id": 20321, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 19337, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:24" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 19338, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 23454, - "src": "82:49:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 19339, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 23672, - "src": "132:52:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 19340, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 27870, - "src": "186:52:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 19341, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 28012, - "src": "239:54:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 19342, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 17135, - "src": "295:62:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19343, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "379:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 19344, - "nodeType": "InheritanceSpecifier", - "src": "379:10:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19345, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "391:9:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 19346, - "nodeType": "InheritanceSpecifier", - "src": "391:9:24" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 20320, - "linearizedBaseContracts": [ - 20320, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671 - ], - "name": "Voting", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 19349, - "libraryName": { - "contractScope": null, - "id": 19347, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "413:8:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "407:27:24", - "typeName": { - "id": 19348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 19352, - "libraryName": { - "contractScope": null, - "id": 19350, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "445:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "439:28:24", - "typeName": { - "id": 19351, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "460:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 19357, - "name": "CREATE_VOTES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "473:74:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19353, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "473:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f564f5445535f524f4c45", - "id": 19355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "527:19:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e7dcd7275292e064d090fbc5f3bd7995be23b502c1fed5cd94cfddbbdcd32bbc", - "typeString": "literal_string \"CREATE_VOTES_ROLE\"" - }, - "value": "CREATE_VOTES_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e7dcd7275292e064d090fbc5f3bd7995be23b502c1fed5cd94cfddbbdcd32bbc", - "typeString": "literal_string \"CREATE_VOTES_ROLE\"" - } - ], - "id": 19354, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "517:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19362, - "name": "MODIFY_SUPPORT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "553:78:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "553:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f535550504f52545f524f4c45", - "id": 19360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:21:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da3972983e62bdf826c4b807c4c9c2b8a941e1f83dfa76d53d6aeac11e1be650", - "typeString": "literal_string \"MODIFY_SUPPORT_ROLE\"" - }, - "value": "MODIFY_SUPPORT_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da3972983e62bdf826c4b807c4c9c2b8a941e1f83dfa76d53d6aeac11e1be650", - "typeString": "literal_string \"MODIFY_SUPPORT_ROLE\"" - } - ], - "id": 19359, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "599:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "599:32:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19367, - "name": "MODIFY_QUORUM_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "637:76:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19363, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "637:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f51554f52554d5f524f4c45", - "id": 19365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "692:20:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ad15e7261800b4bb73f1b69d3864565ffb1fd00cb93cf14fe48da8f1f2149f39", - "typeString": "literal_string \"MODIFY_QUORUM_ROLE\"" - }, - "value": "MODIFY_QUORUM_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ad15e7261800b4bb73f1b69d3864565ffb1fd00cb93cf14fe48da8f1f2149f39", - "typeString": "literal_string \"MODIFY_QUORUM_ROLE\"" - } - ], - "id": 19364, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "682:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "682:31:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19372, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "720:42:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19368, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "720:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 19371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 19369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "754:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 19370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "760:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "754:8:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19375, - "name": "ERROR_NO_VOTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "805:56:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19373, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "805:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4e4f5f564f5445", - "id": 19374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "845:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4e7a378565f7e8724f3afe49b49b5b53d55c8b85ecc478c539d5f3066c466ca", - "typeString": "literal_string \"VOTING_NO_VOTE\"" - }, - "value": "VOTING_NO_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19378, - "name": "ERROR_INIT_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "867:60:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "867:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f494e49545f50435453", - "id": 19377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "909:18:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6fe3353225d510c9f38bcc5cb3371a9eabd299213c6c415b56b641a75492373f", - "typeString": "literal_string \"VOTING_INIT_PCTS\"" - }, - "value": "VOTING_INIT_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19381, - "name": "ERROR_CHANGE_SUPPORT_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "933:80:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19379, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "933:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f535550504f52545f50435453", - "id": 19380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "985:28:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bbce4f9de9ad252169867334bbc95c973030be8d4534544eaa1c1893e434472b", - "typeString": "literal_string \"VOTING_CHANGE_SUPPORT_PCTS\"" - }, - "value": "VOTING_CHANGE_SUPPORT_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19384, - "name": "ERROR_CHANGE_QUORUM_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1019:78:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19382, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1019:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f51554f52554d5f50435453", - "id": 19383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1070:27:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5779a0804ef26050aed8e7ea88d8cfab54776e2b6d5815a5484e86fbdf3b4ec6", - "typeString": "literal_string \"VOTING_CHANGE_QUORUM_PCTS\"" - }, - "value": "VOTING_CHANGE_QUORUM_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19387, - "name": "ERROR_INIT_SUPPORT_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1103:82:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1103:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f494e49545f535550504f52545f544f4f5f424947", - "id": 19386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1156:29:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9d8ceb2f2cc9646add9d9405c6f276fc989687a807d2879d7d034c0d4141b54", - "typeString": "literal_string \"VOTING_INIT_SUPPORT_TOO_BIG\"" - }, - "value": "VOTING_INIT_SUPPORT_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19390, - "name": "ERROR_CHANGE_SUPPORT_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1191:83:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19388, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1191:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f535550505f544f4f5f424947", - "id": 19389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1246:28:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a988aaf15f02d48924f860af070bbe949ae7d371d3f97038169697e9a200fc4d", - "typeString": "literal_string \"VOTING_CHANGE_SUPP_TOO_BIG\"" - }, - "value": "VOTING_CHANGE_SUPP_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19393, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1280:66:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19391, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1280:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f564f5445", - "id": 19392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:21:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d15ecba3c2de6be04ae931794f9dbe722fd5f34858b1288ba9910becaae808d3", - "typeString": "literal_string \"VOTING_CAN_NOT_VOTE\"" - }, - "value": "VOTING_CAN_NOT_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19396, - "name": "ERROR_CAN_NOT_EXECUTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1352:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19394, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1352:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f45584543555445", - "id": 19395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1400:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a71d666a1ee845f244a2074cc2a52f257c6da2ad8ed26b4f88ad787af060b34c", - "typeString": "literal_string \"VOTING_CAN_NOT_EXECUTE\"" - }, - "value": "VOTING_CAN_NOT_EXECUTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19399, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1430:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19397, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1430:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f464f5257415244", - "id": 19398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1478:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_43bc53280d1b3f609b6645415cebcf10834d13c5f6dbdfe2aa9d66ed459b806a", - "typeString": "literal_string \"VOTING_CAN_NOT_FORWARD\"" - }, - "value": "VOTING_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19402, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1508:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19400, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1508:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4e4f5f564f54494e475f504f574552", - "id": 19401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1556:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57804431f2c60d894b28e15e405d13c19f770b55e55030aa1c36d64decde578f", - "typeString": "literal_string \"VOTING_NO_VOTING_POWER\"" - }, - "value": "VOTING_NO_VOTING_POWER" - }, - "visibility": "private" - }, - { - "canonicalName": "Voting.VoterState", - "id": 19406, - "members": [ - { - "id": 19403, - "name": "Absent", - "nodeType": "EnumValue", - "src": "1605:6:24" - }, - { - "id": 19404, - "name": "Yea", - "nodeType": "EnumValue", - "src": "1613:3:24" - }, - { - "id": 19405, - "name": "Nay", - "nodeType": "EnumValue", - "src": "1618:3:24" - } - ], - "name": "VoterState", - "nodeType": "EnumDefinition", - "src": "1587:36:24" - }, - { - "canonicalName": "Voting.Vote", - "id": 19429, - "members": [ - { - "constant": false, - "id": 19408, - "name": "executed", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1651:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19407, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1651:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19410, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1674:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19409, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1674:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19412, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1700:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19411, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1700:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19414, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1730:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19413, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1730:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19416, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1765:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19415, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1765:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19418, - "name": "yea", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1800:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1800:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19420, - "name": "nay", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1821:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1821:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19422, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1842:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1842:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19424, - "name": "executionScript", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1871:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19423, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1871:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19428, - "name": "voters", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1902:38:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - }, - "typeName": { - "id": 19427, - "keyType": { - "id": 19425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1911:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1902:31:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - }, - "valueType": { - "contractScope": null, - "id": 19426, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "1922:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Vote", - "nodeType": "StructDefinition", - "scope": 20320, - "src": "1629:318:24", - "visibility": "public" - }, - { - "constant": false, - "id": 19431, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1953:24:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 19430, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "1953:11:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19433, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1983:32:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19432, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1983:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19435, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2021:32:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19434, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2021:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19437, - "name": "voteTime", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2059:22:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19436, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2059:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19441, - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2180:40:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote)" - }, - "typeName": { - "id": 19440, - "keyType": { - "id": 19438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2189:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2180:25:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote)" - }, - "valueType": { - "contractScope": null, - "id": 19439, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "2200:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19443, - "name": "votesLength", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2226:26:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2226:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 19451, - "name": "StartVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19445, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2275:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19447, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2299:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2299:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19449, - "indexed": false, - "name": "metadata", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2324:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19448, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2324:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2274:66:24" - }, - "src": "2259:82:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19461, - "name": "CastVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19453, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2361:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19455, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2385:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19454, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19457, - "indexed": false, - "name": "supports", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2408:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2408:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19459, - "indexed": false, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2423:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2423:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:77:24" - }, - "src": "2346:92:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19465, - "name": "ExecuteVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19463, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19465, - "src": "2461:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2461:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2460:24:24" - }, - "src": "2443:42:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19469, - "name": "ChangeSupportRequired", - "nodeType": "EventDefinition", - "parameters": { - "id": 19468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19467, - "indexed": false, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19469, - "src": "2518:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19466, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2518:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2517:27:24" - }, - "src": "2490:55:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19473, - "name": "ChangeMinQuorum", - "nodeType": "EventDefinition", - "parameters": { - "id": 19472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19471, - "indexed": false, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19473, - "src": "2572:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19470, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2572:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2571:27:24" - }, - "src": "2550:49:24" - }, - { - "body": { - "id": 19485, - "nodeType": "Block", - "src": "2642:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19478, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19475, - "src": "2660:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19479, - "name": "votesLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19443, - "src": "2670:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2660:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19481, - "name": "ERROR_NO_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19375, - "src": "2683:13:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2652:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:45:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19483, - "nodeType": "ExpressionStatement", - "src": "2652:45:24" - }, - { - "id": 19484, - "nodeType": "PlaceholderStatement", - "src": "2707:1:24" - } - ] - }, - "documentation": null, - "id": 19486, - "name": "voteExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 19476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19475, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19486, - "src": "2625:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2625:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2624:17:24" - }, - "src": "2605:110:24", - "visibility": "internal" - }, - { - "body": { - "id": 19532, - "nodeType": "Block", - "src": "3734:341:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19499, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3744:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 19500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3744:13:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19501, - "nodeType": "ExpressionStatement", - "src": "3744:13:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19503, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19492, - "src": "3776:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19504, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3799:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3776:42:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19506, - "name": "ERROR_INIT_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19378, - "src": "3820:15:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19502, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3768:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:68:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19508, - "nodeType": "ExpressionStatement", - "src": "3768:68:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19510, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3854:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19511, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "3876:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3854:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19513, - "name": "ERROR_INIT_SUPPORT_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19387, - "src": "3886:26:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19509, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3846:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3846:67:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19515, - "nodeType": "ExpressionStatement", - "src": "3846:67:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19516, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "3924:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19517, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19488, - "src": "3932:6:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "3924:14:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19519, - "nodeType": "ExpressionStatement", - "src": "3924:14:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19520, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "3948:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19521, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3969:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3948:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19523, - "nodeType": "ExpressionStatement", - "src": "3948:40:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19524, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "3998:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19525, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19492, - "src": "4019:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3998:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19527, - "nodeType": "ExpressionStatement", - "src": "3998:40:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19528, - "name": "voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19437, - "src": "4048:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19529, - "name": "_voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19494, - "src": "4059:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4048:20:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19531, - "nodeType": "ExpressionStatement", - "src": "4048:20:24" - } - ] - }, - "documentation": "@notice Initialize Voting app with `_token.symbol(): string` for governance, minimum support of `@formatPct(_supportRequiredPct)`%, minimum acceptance quorum of `@formatPct(_minAcceptQuorumPct)`%, and a voting duration of `@transformTime(_voteTime)`\n@param _token MiniMeToken Address that will be used as governance token\n@param _supportRequiredPct Percentage of yeas in casted votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n@param _minAcceptQuorumPct Percentage of yeas in total possible votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n@param _voteTime Seconds that a vote will be open for token holders to vote (unless enough yeas or nays have been cast to make an early decision)", - "id": 19533, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19497, - "modifierName": { - "argumentTypes": null, - "id": 19496, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3721:8:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:8:24" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19488, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3573:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 19487, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3573:11:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19490, - "name": "_supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3601:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19489, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3601:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19492, - "name": "_minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3637:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19491, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3637:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19494, - "name": "_voteTime", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3673:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19493, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3673:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3563:132:24" - }, - "payable": false, - "returnParameters": { - "id": 19498, - "nodeType": "ParameterList", - "parameters": [], - "src": "3734:0:24" - }, - "scope": 20320, - "src": "3544:531:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19571, - "nodeType": "Block", - "src": "4408:281:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19550, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "4426:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19551, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4448:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4426:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19553, - "name": "ERROR_CHANGE_SUPPORT_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19381, - "src": "4469:25:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4418:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4418:77:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19555, - "nodeType": "ExpressionStatement", - "src": "4418:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19557, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4513:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19558, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "4535:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4513:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19560, - "name": "ERROR_CHANGE_SUPPORT_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19390, - "src": "4545:28:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19556, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4505:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:69:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19562, - "nodeType": "ExpressionStatement", - "src": "4505:69:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19563, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "4584:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19564, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4605:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4584:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19566, - "nodeType": "ExpressionStatement", - "src": "4584:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19568, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4662:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19567, - "name": "ChangeSupportRequired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19469, - "src": "4640:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 19569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4640:42:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19570, - "nodeType": "EmitStatement", - "src": "4635:47:24" - } - ] - }, - "documentation": "@notice Change required support to `@formatPct(_supportRequiredPct)`%\n@param _supportRequiredPct New required support", - "id": 19572, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19538, - "name": "MODIFY_SUPPORT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19362, - "src": "4319:19:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19541, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4352:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4344:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4344:28:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19544, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "4382:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4374:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4374:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19539, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4340:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4340:62:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19547, - "modifierName": { - "argumentTypes": null, - "id": 19537, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4313:5:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4313:90:24" - } - ], - "name": "changeSupportRequiredPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19535, - "name": "_supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19572, - "src": "4260:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19534, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4260:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4259:28:24" - }, - "payable": false, - "returnParameters": { - "id": 19548, - "nodeType": "ParameterList", - "parameters": [], - "src": "4408:0:24" - }, - "scope": 20320, - "src": "4226:463:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19603, - "nodeType": "Block", - "src": "5031:195:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19589, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5049:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19590, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "5072:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5049:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19592, - "name": "ERROR_CHANGE_QUORUM_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19384, - "src": "5092:24:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19588, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5041:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5041:76:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19594, - "nodeType": "ExpressionStatement", - "src": "5041:76:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19595, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "5127:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19596, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5148:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5127:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19598, - "nodeType": "ExpressionStatement", - "src": "5127:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19600, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5199:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19599, - "name": "ChangeMinQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19473, - "src": "5183:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 19601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5183:36:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19602, - "nodeType": "EmitStatement", - "src": "5178:41:24" - } - ] - }, - "documentation": "@notice Change minimum acceptance quorum to `@formatPct(_minAcceptQuorumPct)`%\n@param _minAcceptQuorumPct New acceptance quorum", - "id": 19604, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19577, - "name": "MODIFY_QUORUM_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19367, - "src": "4943:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19580, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "4975:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4967:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4967:28:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19583, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "5005:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4997:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4997:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19578, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4963:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4963:62:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19586, - "modifierName": { - "argumentTypes": null, - "id": 19576, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4937:5:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4937:89:24" - } - ], - "name": "changeMinAcceptQuorumPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19574, - "name": "_minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19604, - "src": "4884:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19573, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4884:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4883:28:24" - }, - "payable": false, - "returnParameters": { - "id": 19587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5031:0:24" - }, - "scope": 20320, - "src": "4850:376:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19623, - "nodeType": "Block", - "src": "5568:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19617, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19606, - "src": "5594:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "id": 19618, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19608, - "src": "5612:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5623:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5629:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19616, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "5585:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5585:49:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19615, - "id": 19622, - "nodeType": "Return", - "src": "5578:56:24" - } - ] - }, - "documentation": "@notice Create a new vote about \"`_metadata`\"\n@param _executionScript EVM script to be executed on approval\n@param _metadata Vote metadata\n@return voteId Id for newly created vote", - "id": 19624, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19611, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "5524:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 19612, - "modifierName": { - "argumentTypes": null, - "id": 19610, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "5519:4:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5519:23:24" - } - ], - "name": "newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19606, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5468:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19605, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5468:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19608, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5492:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19607, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5492:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5467:42:24" - }, - "payable": false, - "returnParameters": { - "id": 19615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19614, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5552:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5552:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5551:16:24" - }, - "scope": 20320, - "src": "5451:190:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19647, - "nodeType": "Block", - "src": "6213:92:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19641, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19626, - "src": "6239:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "id": 19642, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19628, - "src": "6257:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 19643, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19630, - "src": "6268:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19644, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19632, - "src": "6279:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19640, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "6230:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6230:68:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19639, - "id": 19646, - "nodeType": "Return", - "src": "6223:75:24" - } - ] - }, - "documentation": "@notice Create a new vote about \"`_metadata`\"\n@param _executionScript EVM script to be executed on approval\n@param _metadata Vote metadata\n@param _castVote Whether to also cast newly created vote\n@param _executesIfDecided Whether to also immediately execute newly created vote if decided\n@return voteId id for newly created vote", - "id": 19648, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19635, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "6157:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 19636, - "modifierName": { - "argumentTypes": null, - "id": 19634, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "6152:4:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6152:23:24" - } - ], - "name": "newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19626, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6044:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19625, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6044:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19628, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6068:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19627, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6068:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19630, - "name": "_castVote", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6086:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19629, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6086:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19632, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6102:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19631, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6102:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6043:83:24" - }, - "payable": false, - "returnParameters": { - "id": 19639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19638, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6193:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6193:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6192:16:24" - }, - "scope": 20320, - "src": "6027:278:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19677, - "nodeType": "Block", - "src": "6841:142:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19662, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6868:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19663, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6877:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6877:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19661, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "6859:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6859:29:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19666, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19393, - "src": "6890:18:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19660, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6851:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6851:58:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19668, - "nodeType": "ExpressionStatement", - "src": "6851:58:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19670, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6925:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19671, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19652, - "src": "6934:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19672, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6945:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6945:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19674, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19654, - "src": "6957:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19669, - "name": "_vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20105, - "src": "6919:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool,address,bool)" - } - }, - "id": 19675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6919:57:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19676, - "nodeType": "ExpressionStatement", - "src": "6919:57:24" - } - ] - }, - "documentation": "@notice Vote `_supports ? 'yes' : 'no'` in vote #`_voteId`\n@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization\n@param _voteId Id for vote\n@param _supports Whether voter supports the vote\n@param _executesIfDecided Whether the vote should execute its action if it becomes decided", - "id": 19678, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19657, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6832:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19658, - "modifierName": { - "argumentTypes": null, - "id": 19656, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "6821:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6821:19:24" - } - ], - "name": "vote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19650, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6754:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19652, - "name": "_supports", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6771:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19651, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6771:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19654, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6787:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19653, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6753:58:24" - }, - "payable": false, - "returnParameters": { - "id": 19659, - "nodeType": "ParameterList", - "parameters": [], - "src": "6841:0:24" - }, - "scope": 20320, - "src": "6740:243:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19690, - "nodeType": "Block", - "src": "7306:38:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19687, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19680, - "src": "7329:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19686, - "name": "_executeVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20122, - "src": "7316:12:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 19688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7316:21:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19689, - "nodeType": "ExpressionStatement", - "src": "7316:21:24" - } - ] - }, - "documentation": "@notice Execute vote #`_voteId`\n@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization\n@param _voteId Id for vote", - "id": 19691, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19683, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19680, - "src": "7297:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19684, - "modifierName": { - "argumentTypes": null, - "id": 19682, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "7286:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7286:19:24" - } - ], - "name": "executeVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19680, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19691, - "src": "7260:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7260:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7259:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19685, - "nodeType": "ParameterList", - "parameters": [], - "src": "7306:0:24" - }, - "scope": 20320, - "src": "7239:105:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19698, - "nodeType": "Block", - "src": "7425:28:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7442:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 19695, - "id": 19697, - "nodeType": "Return", - "src": "7435:11:24" - } - ] - }, - "documentation": null, - "id": 19699, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19692, - "nodeType": "ParameterList", - "parameters": [], - "src": "7393:2:24" - }, - "payable": false, - "returnParameters": { - "id": 19695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19694, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19699, - "src": "7419:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19693, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7419:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7418:6:24" - }, - "scope": 20320, - "src": "7373:80:24", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 19720, - "nodeType": "Block", - "src": "7704:129:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19706, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7733:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7733:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19708, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19701, - "src": "7745:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 19705, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 19738 - ], - "referencedDeclaration": 19738, - "src": "7722:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 19709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7722:34:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19710, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19399, - "src": "7758:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19704, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7714:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7714:66:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19712, - "nodeType": "ExpressionStatement", - "src": "7714:66:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19714, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19701, - "src": "7799:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 19715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7821:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19713, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "7790:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:36:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19719, - "nodeType": "ExpressionStatement", - "src": "7790:36:24" - } - ] - }, - "documentation": "@notice Creates a vote to execute the desired action, and casts a support vote if possible\n@dev IForwarder interface conformance\n@param _evmScript Start vote with script", - "id": 19721, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19701, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 19721, - "src": "7679:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19700, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7679:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7678:18:24" - }, - "payable": false, - "returnParameters": { - "id": 19703, - "nodeType": "ParameterList", - "parameters": [], - "src": "7704:0:24" - }, - "scope": 20320, - "src": "7662:171:24", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 19737, - "nodeType": "Block", - "src": "7910:152:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19731, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19723, - "src": "8021:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19732, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "8030:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19733, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21826, - "src": "8049:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function () pure returns (uint256[] memory)" - } - }, - "id": 19734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8049:5:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 19730, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "8010:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 19735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8010:45:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19729, - "id": 19736, - "nodeType": "Return", - "src": "8003:52:24" - } - ] - }, - "documentation": null, - "id": 19738, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19723, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7859:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7859:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19725, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7876:5:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19724, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7876:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7858:24:24" - }, - "payable": false, - "returnParameters": { - "id": 19729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19728, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7904:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19727, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7904:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7903:6:24" - }, - "scope": 20320, - "src": "7839:223:24", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 19752, - "nodeType": "Block", - "src": "8350:44:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19749, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19740, - "src": "8379:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19748, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "8367:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 19750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8367:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19747, - "id": 19751, - "nodeType": "Return", - "src": "8360:27:24" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization", - "id": 19753, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19743, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19740, - "src": "8326:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19744, - "modifierName": { - "argumentTypes": null, - "id": 19742, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8315:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8315:19:24" - } - ], - "name": "canExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19740, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19753, - "src": "8286:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8286:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8285:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19747, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19746, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19753, - "src": "8344:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19745, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8344:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8343:6:24" - }, - "scope": 20320, - "src": "8266:128:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19770, - "nodeType": "Block", - "src": "8676:49:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19766, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19755, - "src": "8702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19767, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19757, - "src": "8711:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19765, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "8693:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8693:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19764, - "id": 19769, - "nodeType": "Return", - "src": "8686:32:24" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization", - "id": 19771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19760, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19755, - "src": "8652:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19761, - "modifierName": { - "argumentTypes": null, - "id": 19759, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8641:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8641:19:24" - } - ], - "name": "canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19755, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8596:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8596:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19757, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8613:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19756, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8613:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8595:33:24" - }, - "payable": false, - "returnParameters": { - "id": 19764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19763, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8670:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19762, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8670:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8669:6:24" - }, - "scope": 20320, - "src": "8579:146:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19856, - "nodeType": "Block", - "src": "9147:440:24", - "statements": [ - { - "assignments": [ - 19800 - ], - "declarations": [ - { - "constant": false, - "id": 19800, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9157:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19799, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "9157:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19801, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "9178:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19803, - "indexExpression": { - "argumentTypes": null, - "id": 19802, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19773, - "src": "9184:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9178:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9157:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19805, - "name": "open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19779, - "src": "9203:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19807, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9222:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 19806, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "9210:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 19808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9210:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9203:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19810, - "nodeType": "ExpressionStatement", - "src": "9203:25:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19811, - "name": "executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19781, - "src": "9238:8:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19812, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9249:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "9249:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9238:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19815, - "nodeType": "ExpressionStatement", - "src": "9238:25:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19816, - "name": "startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19783, - "src": "9273:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19817, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9285:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "9285:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9273:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19820, - "nodeType": "ExpressionStatement", - "src": "9273:27:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19821, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19785, - "src": "9310:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19822, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9326:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "9326:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9310:35:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19825, - "nodeType": "ExpressionStatement", - "src": "9310:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19826, - "name": "supportRequired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19787, - "src": "9355:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19827, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9373:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "9373:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9355:42:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19830, - "nodeType": "ExpressionStatement", - "src": "9355:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19831, - "name": "minAcceptQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19789, - "src": "9407:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19832, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9425:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "9425:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9407:42:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19835, - "nodeType": "ExpressionStatement", - "src": "9407:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19836, - "name": "yea", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19791, - "src": "9459:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19837, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9465:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "9465:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9459:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19840, - "nodeType": "ExpressionStatement", - "src": "9459:15:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19841, - "name": "nay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19793, - "src": "9484:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19842, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9490:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "9490:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9484:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19845, - "nodeType": "ExpressionStatement", - "src": "9484:15:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19846, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19795, - "src": "9509:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19847, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9523:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "9523:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9509:31:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19850, - "nodeType": "ExpressionStatement", - "src": "9509:31:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19851, - "name": "script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19797, - "src": "9550:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19852, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9559:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "9559:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "src": "9550:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 19855, - "nodeType": "ExpressionStatement", - "src": "9550:30:24" - } - ] - }, - "documentation": null, - "id": 19857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19776, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19773, - "src": "8812:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19777, - "modifierName": { - "argumentTypes": null, - "id": 19775, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8801:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8801:19:24" - } - ], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19773, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8748:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8748:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8747:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19779, - "name": "open", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8851:9:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19778, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8851:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19781, - "name": "executed", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8874:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19780, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8874:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19783, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8901:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19782, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8901:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19785, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8931:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19784, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8931:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19787, - "name": "supportRequired", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8965:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19786, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8965:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19789, - "name": "minAcceptQuorum", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9001:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19788, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9001:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19791, - "name": "yea", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9037:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9037:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19793, - "name": "nay", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9062:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9062:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19795, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9087:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9087:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19797, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9120:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19796, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9120:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8837:305:24" - }, - "scope": 20320, - "src": "8731:856:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19876, - "nodeType": "Block", - "src": "9702:53:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19869, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "9719:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19871, - "indexExpression": { - "argumentTypes": null, - "id": 19870, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19859, - "src": "9725:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9719:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "id": 19872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "9719:21:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 19874, - "indexExpression": { - "argumentTypes": null, - "id": 19873, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19861, - "src": "9741:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9719:29:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "functionReturnParameters": 19868, - "id": 19875, - "nodeType": "Return", - "src": "9712:36:24" - } - ] - }, - "documentation": null, - "id": 19877, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19864, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19859, - "src": "9672:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19865, - "modifierName": { - "argumentTypes": null, - "id": 19863, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "9661:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9661:19:24" - } - ], - "name": "getVoterState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19859, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9616:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9616:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19861, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9633:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9633:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9615:33:24" - }, - "payable": false, - "returnParameters": { - "id": 19868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9690:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "typeName": { - "contractScope": null, - "id": 19866, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "9690:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9689:12:24" - }, - "scope": 20320, - "src": "9593:162:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19983, - "nodeType": "Block", - "src": "9937:784:24", - "statements": [ - { - "assignments": [ - 19891 - ], - "declarations": [ - { - "constant": false, - "id": 19891, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9947:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19890, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9947:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19896, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19892, - "name": "getBlockNumber64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24133, - "src": "9970:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 19893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 19894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9970:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9947:45:24" - }, - { - "assignments": [ - 19898 - ], - "declarations": [ - { - "constant": false, - "id": 19898, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "10044:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10044:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19903, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19901, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19891, - "src": "10086:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 19899, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "10066:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "10066:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 19902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10066:34:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10044:56:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19905, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19898, - "src": "10118:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10132:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10118:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19908, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19402, - "src": "10135:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10110:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10110:47:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19910, - "nodeType": "ExpressionStatement", - "src": "10110:47:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19911, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10168:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10177:13:24", - "subExpression": { - "argumentTypes": null, - "id": 19912, - "name": "votesLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19443, - "src": "10177:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10168:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19915, - "nodeType": "ExpressionStatement", - "src": "10168:22:24" - }, - { - "assignments": [ - 19917 - ], - "declarations": [ - { - "constant": false, - "id": 19917, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "10201:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19916, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "10201:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19921, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19918, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "10222:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19920, - "indexExpression": { - "argumentTypes": null, - "id": 19919, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10228:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10222:13:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10201:34:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19922, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10245:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "10245:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19925, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "10263:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 19926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10245:34:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19928, - "nodeType": "ExpressionStatement", - "src": "10245:34:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19929, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10289:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "10289:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19932, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19891, - "src": "10311:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10289:35:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19934, - "nodeType": "ExpressionStatement", - "src": "10289:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19935, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10334:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "10334:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19938, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "10361:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10334:45:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19940, - "nodeType": "ExpressionStatement", - "src": "10334:45:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19941, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10389:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "10389:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19944, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "10416:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10389:45:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19946, - "nodeType": "ExpressionStatement", - "src": "10389:45:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19947, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10444:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "10444:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19950, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19898, - "src": "10464:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10444:31:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19952, - "nodeType": "ExpressionStatement", - "src": "10444:31:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19953, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10485:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "10485:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19956, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19879, - "src": "10509:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "10485:40:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 19958, - "nodeType": "ExpressionStatement", - "src": "10485:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19960, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10551:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19961, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10559:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10559:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19963, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19881, - "src": "10571:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 19959, - "name": "StartVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19451, - "src": "10541:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,string memory)" - } - }, - "id": 19964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10541:40:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19965, - "nodeType": "EmitStatement", - "src": "10536:45:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 19972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19966, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19883, - "src": "10596:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19968, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10618:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10626:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10626:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19967, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "10609:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10609:28:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10596:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 19982, - "nodeType": "IfStatement", - "src": "10592:123:24", - "trueBody": { - "id": 19981, - "nodeType": "Block", - "src": "10639:76:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19974, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10659:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10667:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19976, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10673:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10673:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19978, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19885, - "src": "10685:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19973, - "name": "_vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20105, - "src": "10653:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool,address,bool)" - } - }, - "id": 19979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10653:51:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19980, - "nodeType": "ExpressionStatement", - "src": "10653:51:24" - } - ] - } - } - ] - }, - "documentation": null, - "id": 19984, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19879, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9800:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19878, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9800:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19881, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9824:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19880, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9824:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19883, - "name": "_castVote", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9842:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9842:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19885, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9858:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9858:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9799:83:24" - }, - "payable": false, - "returnParameters": { - "id": 19889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19888, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9917:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9917:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9916:16:24" - }, - "scope": 20320, - "src": "9782:939:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20104, - "nodeType": "Block", - "src": "10867:1017:24", - "statements": [ - { - "assignments": [ - 19996 - ], - "declarations": [ - { - "constant": false, - "id": 19996, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10877:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19995, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "10877:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20000, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19997, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "10898:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19999, - "indexExpression": { - "argumentTypes": null, - "id": 19998, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "10904:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10898:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10877:35:24" - }, - { - "assignments": [ - 20002 - ], - "declarations": [ - { - "constant": false, - "id": 20002, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "11014:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11014:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20009, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20005, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11053:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20006, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11061:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "11061:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20003, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "11035:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 20004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "11035:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 20008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11035:46:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11014:67:24" - }, - { - "assignments": [ - 20011 - ], - "declarations": [ - { - "constant": false, - "id": 20011, - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "11091:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "typeName": { - "contractScope": null, - "id": 20010, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "11091:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20016, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20012, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11110:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "11110:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 20015, - "indexExpression": { - "argumentTypes": null, - "id": 20014, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11123:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11110:20:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11091:39:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "id": 20020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20017, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20011, - "src": "11202:5:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20018, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11211:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Yea", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11211:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11202:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "id": 20035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20032, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20011, - "src": "11299:5:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20033, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11308:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Nay", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11299:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20047, - "nodeType": "IfStatement", - "src": "11295:91:24", - "trueBody": { - "id": 20046, - "nodeType": "Block", - "src": "11324:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20036, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11338:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11338:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20042, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11364:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20039, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11350:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11350:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11350:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11350:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11338:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20045, - "nodeType": "ExpressionStatement", - "src": "11338:37:24" - } - ] - } - }, - "id": 20048, - "nodeType": "IfStatement", - "src": "11198:188:24", - "trueBody": { - "id": 20031, - "nodeType": "Block", - "src": "11227:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20021, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11241:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20023, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11241:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20027, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11267:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20024, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11253:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11253:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11253:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11253:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11241:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20030, - "nodeType": "ExpressionStatement", - "src": "11241:37:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 20049, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11400:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 20071, - "nodeType": "Block", - "src": "11479:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20061, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11493:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11493:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20067, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11519:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20064, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11505:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11505:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "11505:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11505:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11493:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20070, - "nodeType": "ExpressionStatement", - "src": "11493:37:24" - } - ] - }, - "id": 20072, - "nodeType": "IfStatement", - "src": "11396:145:24", - "trueBody": { - "id": 20060, - "nodeType": "Block", - "src": "11411:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20050, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11425:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11425:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20056, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11451:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20053, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11437:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11437:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "11437:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11437:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11425:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20059, - "nodeType": "ExpressionStatement", - "src": "11425:37:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 20084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20073, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11551:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "11551:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 20077, - "indexExpression": { - "argumentTypes": null, - "id": 20075, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11564:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11551:20:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 20078, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11574:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20081, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11603:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Nay", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11603:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "id": 20083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "11574:43:24", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20079, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11586:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Yea", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11586:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11551:66:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "id": 20085, - "nodeType": "ExpressionStatement", - "src": "11551:66:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20087, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11642:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 20088, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11651:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20089, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11659:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20090, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11670:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20086, - "name": "CastVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19461, - "src": "11633:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,bool,uint256)" - } - }, - "id": 20091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11633:48:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20092, - "nodeType": "EmitStatement", - "src": "11628:53:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20093, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19992, - "src": "11696:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20095, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11730:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20094, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "11718:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 20096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11718:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11696:42:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20103, - "nodeType": "IfStatement", - "src": "11692:186:24", - "trueBody": { - "id": 20102, - "nodeType": "Block", - "src": "11740:138:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20099, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11859:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20098, - "name": "_unsafeExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20162, - "src": "11840:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11840:27:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20101, - "nodeType": "ExpressionStatement", - "src": "11840:27:24" - } - ] - } - } - ] - }, - "documentation": null, - "id": 20105, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_vote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19986, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10751:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10751:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19988, - "name": "_supports", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10776:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19987, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10776:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19990, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10800:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10800:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19992, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10824:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19991, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10824:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10741:112:24" - }, - "payable": false, - "returnParameters": { - "id": 19994, - "nodeType": "ParameterList", - "parameters": [], - "src": "10867:0:24" - }, - "scope": 20320, - "src": "10727:1157:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20121, - "nodeType": "Block", - "src": "11938:106:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20112, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20107, - "src": "11968:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20111, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "11956:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 20113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11956:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20114, - "name": "ERROR_CAN_NOT_EXECUTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19396, - "src": "11978:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20110, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11948:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11948:52:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20116, - "nodeType": "ExpressionStatement", - "src": "11948:52:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20118, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20107, - "src": "12029:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20117, - "name": "_unsafeExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20162, - "src": "12010:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12010:27:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20120, - "nodeType": "ExpressionStatement", - "src": "12010:27:24" - } - ] - }, - "documentation": null, - "id": 20122, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executeVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20107, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20122, - "src": "11912:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11912:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11911:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20109, - "nodeType": "ParameterList", - "parameters": [], - "src": "11938:0:24" - }, - "scope": 20320, - "src": "11890:154:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20161, - "nodeType": "Block", - "src": "12227:274:24", - "statements": [ - { - "assignments": [ - 20128 - ], - "declarations": [ - { - "constant": false, - "id": 20128, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12237:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20127, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "12237:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20132, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20129, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "12258:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20131, - "indexExpression": { - "argumentTypes": null, - "id": 20130, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20124, - "src": "12264:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12258:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12237:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 20137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20133, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20128, - "src": "12283:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "12283:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12300:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "12283:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 20138, - "nodeType": "ExpressionStatement", - "src": "12283:21:24" - }, - { - "assignments": [ - 20140 - ], - "declarations": [ - { - "constant": false, - "id": 20140, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12315:18:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20139, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12315:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20145, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12346:1:24", - "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": 20142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12336:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 20141, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12340:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 20144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12336:12:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12315:33:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20147, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20128, - "src": "12411:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "12411:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - { - "argumentTypes": null, - "id": 20149, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20140, - "src": "12434:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12455:1:24", - "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": 20152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12441:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 20150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12445:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 20151, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12445:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 20154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12441:16:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 20146, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "12401:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 20155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12401:57:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 20156, - "nodeType": "ExpressionStatement", - "src": "12401:57:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20158, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20124, - "src": "12486:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20157, - "name": "ExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19465, - "src": "12474:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12474:20:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20160, - "nodeType": "EmitStatement", - "src": "12469:25:24" - } - ] - }, - "documentation": "@dev Unsafe version of _executeVote that assumes you have already checked if the vote can be executed", - "id": 20162, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_unsafeExecuteVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20124, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12201:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12201:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12200:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20126, - "nodeType": "ParameterList", - "parameters": [], - "src": "12227:0:24" - }, - "scope": 20320, - "src": "12173:328:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20236, - "nodeType": "Block", - "src": "12574:737:24", - "statements": [ - { - "assignments": [ - 20170 - ], - "declarations": [ - { - "constant": false, - "id": 20170, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12584:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20169, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "12584:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20174, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20171, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "12605:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20173, - "indexExpression": { - "argumentTypes": null, - "id": 20172, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20164, - "src": "12611:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12605:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12584:35:24" - }, - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20175, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12634:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "12634:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20180, - "nodeType": "IfStatement", - "src": "12630:57:24", - "trueBody": { - "id": 20179, - "nodeType": "Block", - "src": "12650:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12671:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20178, - "nodeType": "Return", - "src": "12664:12:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20182, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12750:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "12750:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20184, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12761:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "12761:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20186, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12780:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "12780:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20181, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "12738:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12738:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20192, - "nodeType": "IfStatement", - "src": "12734:109:24", - "trueBody": { - "id": 20191, - "nodeType": "Block", - "src": "12807:36:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12828:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 20168, - "id": 20190, - "nodeType": "Return", - "src": "12821:11:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20194, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12892:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 20193, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "12880:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 20195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12880:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20199, - "nodeType": "IfStatement", - "src": "12876:61:24", - "trueBody": { - "id": 20198, - "nodeType": "Block", - "src": "12900:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12921:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20197, - "nodeType": "Return", - "src": "12914:12:24" - } - ] - } - }, - { - "assignments": [ - 20201 - ], - "declarations": [ - { - "constant": false, - "id": 20201, - "name": "totalVotes", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12977:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12977:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20208, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20205, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13012:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "13012:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20202, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12998:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "12998:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12998:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12998:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12977:45:24" - }, - { - "condition": { - "argumentTypes": null, - "id": 20216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13036:61:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20210, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13049:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "13049:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 20212, - "name": "totalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20201, - "src": "13060:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20213, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13072:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "13072:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20209, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "13037:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13037:60:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20220, - "nodeType": "IfStatement", - "src": "13032:104:24", - "trueBody": { - "id": 20219, - "nodeType": "Block", - "src": "13099:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13120:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20218, - "nodeType": "Return", - "src": "13113:12:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 20229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13176:68:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20222, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13189:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20223, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "13189:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20224, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13200:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "13200:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20226, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13219:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "13219:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20221, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "13177:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13177:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20233, - "nodeType": "IfStatement", - "src": "13172:111:24", - "trueBody": { - "id": 20232, - "nodeType": "Block", - "src": "13246:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13267:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20231, - "nodeType": "Return", - "src": "13260:12:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13300:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 20168, - "id": 20235, - "nodeType": "Return", - "src": "13293:11:24" - } - ] - }, - "documentation": null, - "id": 20237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20164, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12528:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12528:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12527:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20167, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12568:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20166, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12568:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:6:24" - }, - "scope": 20320, - "src": "12507:804:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20265, - "nodeType": "Block", - "src": "13397:142:24", - "statements": [ - { - "assignments": [ - 20247 - ], - "declarations": [ - { - "constant": false, - "id": 20247, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13407:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20246, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "13407:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20251, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20248, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "13428:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20250, - "indexExpression": { - "argumentTypes": null, - "id": 20249, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20239, - "src": "13434:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13407:35:24" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20253, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20247, - "src": "13472:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 20252, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "13460:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 20254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13460:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20257, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20241, - "src": "13500:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20258, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20247, - "src": "13508:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "13508:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20255, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "13482:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 20256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13482:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 20260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13482:46:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13531:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13482:50:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13460:72:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20245, - "id": 20264, - "nodeType": "Return", - "src": "13453:79:24" - } - ] - }, - "documentation": null, - "id": 20266, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20239, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13335:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13335:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20241, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13352:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13352:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13334:33:24" - }, - "payable": false, - "returnParameters": { - "id": 20245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13391:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20243, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13391:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13390:6:24" - }, - "scope": 20320, - "src": "13317:222:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20286, - "nodeType": "Block", - "src": "13615:91:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 20280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20273, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "13632:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 20274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13632:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20278, - "name": "voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19437, - "src": "13671:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20275, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20268, - "src": "13651:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20276, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "13651:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 20277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "13651:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 20279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13651:29:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13632:48:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 20283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13684:15:24", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20281, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20268, - "src": "13685:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "13685:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13632:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20272, - "id": 20285, - "nodeType": "Return", - "src": "13625:74:24" - } - ] - }, - "documentation": null, - "id": 20287, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isVoteOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20268, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20287, - "src": "13566:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20267, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "13566:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13565:20:24" - }, - "payable": false, - "returnParameters": { - "id": 20272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20271, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20287, - "src": "13609:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13609:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13608:6:24" - }, - "scope": 20320, - "src": "13545:161:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20318, - "nodeType": "Block", - "src": "13907:167:24", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20298, - "name": "_total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20291, - "src": "13921:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13921:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20304, - "nodeType": "IfStatement", - "src": "13917:54:24", - "trueBody": { - "id": 20303, - "nodeType": "Block", - "src": "13934:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13955:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20297, - "id": 20302, - "nodeType": "Return", - "src": "13948:12:24" - } - ] - } - }, - { - "assignments": [ - 20306 - ], - "declarations": [ - { - "constant": false, - "id": 20306, - "name": "computedPct", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13981:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13981:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20313, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20309, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "14014:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20307, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20289, - "src": "14003:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14003:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14003:20:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 20311, - "name": "_total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20291, - "src": "14026:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14003:29:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13981:51:24" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20314, - "name": "computedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20306, - "src": "14049:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 20315, - "name": "_pct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20293, - "src": "14063:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14049:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20297, - "id": 20317, - "nodeType": "Return", - "src": "14042:25:24" - } - ] - }, - "documentation": "@dev Calculates whether `_value` is more than a percentage `_pct` of `_total`", - "id": 20319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isValuePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20289, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13832:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13832:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20291, - "name": "_total", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13848:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20293, - "name": "_pct", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13864:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13864:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13831:46:24" - }, - "payable": false, - "returnParameters": { - "id": 20297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20296, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13901:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20295, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13901:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13900:6:24" - }, - "scope": 20320, - "src": "13811:263:24", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 20321, - "src": "360:13716:24" - } - ], - "src": "57:14020:24" - }, - "legacyAST": { - "absolutePath": "@aragon/apps-voting/contracts/Voting.sol", - "exportedSymbols": { - "Voting": [ - 20320 - ] - }, - "id": 20321, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 19337, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "57:23:24" - }, - { - "absolutePath": "@aragon/os/contracts/apps/AragonApp.sol", - "file": "@aragon/os/contracts/apps/AragonApp.sol", - "id": 19338, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 23454, - "src": "82:49:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/common/IForwarder.sol", - "file": "@aragon/os/contracts/common/IForwarder.sol", - "id": 19339, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 23672, - "src": "132:52:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath.sol", - "id": 19340, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 27870, - "src": "186:52:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "file": "@aragon/os/contracts/lib/math/SafeMath64.sol", - "id": 19341, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 28012, - "src": "239:54:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol", - "id": 19342, - "nodeType": "ImportDirective", - "scope": 20321, - "sourceUnit": 17135, - "src": "295:62:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19343, - "name": "IForwarder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23671, - "src": "379:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IForwarder_$23671", - "typeString": "contract IForwarder" - } - }, - "id": 19344, - "nodeType": "InheritanceSpecifier", - "src": "379:10:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 19345, - "name": "AragonApp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 23453, - "src": "391:9:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AragonApp_$23453", - "typeString": "contract AragonApp" - } - }, - "id": 19346, - "nodeType": "InheritanceSpecifier", - "src": "391:9:24" - } - ], - "contractDependencies": [ - 22236, - 23329, - 23453, - 23466, - 23649, - 23671, - 23699, - 23797, - 23825, - 23858, - 23895, - 24154, - 24376, - 25111, - 25138, - 26919 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 20320, - "linearizedBaseContracts": [ - 20320, - 23453, - 22236, - 25111, - 26919, - 25138, - 23895, - 24376, - 23825, - 23649, - 23699, - 23466, - 23858, - 23797, - 24154, - 23329, - 23671 - ], - "name": "Voting", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 19349, - "libraryName": { - "contractScope": null, - "id": 19347, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27869, - "src": "413:8:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$27869", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "407:27:24", - "typeName": { - "id": 19348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 19352, - "libraryName": { - "contractScope": null, - "id": 19350, - "name": "SafeMath64", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 28011, - "src": "445:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath64_$28011", - "typeString": "library SafeMath64" - } - }, - "nodeType": "UsingForDirective", - "src": "439:28:24", - "typeName": { - "id": 19351, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "460:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - }, - { - "constant": true, - "id": 19357, - "name": "CREATE_VOTES_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "473:74:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19353, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "473:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4352454154455f564f5445535f524f4c45", - "id": 19355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "527:19:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e7dcd7275292e064d090fbc5f3bd7995be23b502c1fed5cd94cfddbbdcd32bbc", - "typeString": "literal_string \"CREATE_VOTES_ROLE\"" - }, - "value": "CREATE_VOTES_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e7dcd7275292e064d090fbc5f3bd7995be23b502c1fed5cd94cfddbbdcd32bbc", - "typeString": "literal_string \"CREATE_VOTES_ROLE\"" - } - ], - "id": 19354, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "517:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "517:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19362, - "name": "MODIFY_SUPPORT_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "553:78:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19358, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "553:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f535550504f52545f524f4c45", - "id": 19360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:21:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da3972983e62bdf826c4b807c4c9c2b8a941e1f83dfa76d53d6aeac11e1be650", - "typeString": "literal_string \"MODIFY_SUPPORT_ROLE\"" - }, - "value": "MODIFY_SUPPORT_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da3972983e62bdf826c4b807c4c9c2b8a941e1f83dfa76d53d6aeac11e1be650", - "typeString": "literal_string \"MODIFY_SUPPORT_ROLE\"" - } - ], - "id": 19359, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "599:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "599:32:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19367, - "name": "MODIFY_QUORUM_ROLE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "637:76:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19363, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "637:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d4f444946595f51554f52554d5f524f4c45", - "id": 19365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "692:20:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ad15e7261800b4bb73f1b69d3864565ffb1fd00cb93cf14fe48da8f1f2149f39", - "typeString": "literal_string \"MODIFY_QUORUM_ROLE\"" - }, - "value": "MODIFY_QUORUM_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ad15e7261800b4bb73f1b69d3864565ffb1fd00cb93cf14fe48da8f1f2149f39", - "typeString": "literal_string \"MODIFY_QUORUM_ROLE\"" - } - ], - "id": 19364, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29778, - "src": "682:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 19366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "682:31:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19372, - "name": "PCT_BASE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "720:42:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19368, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "720:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 19371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 19369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "754:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 19370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "760:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "754:8:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 19375, - "name": "ERROR_NO_VOTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "805:56:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19373, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "805:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4e4f5f564f5445", - "id": 19374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "845:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4e7a378565f7e8724f3afe49b49b5b53d55c8b85ecc478c539d5f3066c466ca", - "typeString": "literal_string \"VOTING_NO_VOTE\"" - }, - "value": "VOTING_NO_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19378, - "name": "ERROR_INIT_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "867:60:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "867:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f494e49545f50435453", - "id": 19377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "909:18:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6fe3353225d510c9f38bcc5cb3371a9eabd299213c6c415b56b641a75492373f", - "typeString": "literal_string \"VOTING_INIT_PCTS\"" - }, - "value": "VOTING_INIT_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19381, - "name": "ERROR_CHANGE_SUPPORT_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "933:80:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19379, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "933:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f535550504f52545f50435453", - "id": 19380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "985:28:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bbce4f9de9ad252169867334bbc95c973030be8d4534544eaa1c1893e434472b", - "typeString": "literal_string \"VOTING_CHANGE_SUPPORT_PCTS\"" - }, - "value": "VOTING_CHANGE_SUPPORT_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19384, - "name": "ERROR_CHANGE_QUORUM_PCTS", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1019:78:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19382, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1019:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f51554f52554d5f50435453", - "id": 19383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1070:27:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5779a0804ef26050aed8e7ea88d8cfab54776e2b6d5815a5484e86fbdf3b4ec6", - "typeString": "literal_string \"VOTING_CHANGE_QUORUM_PCTS\"" - }, - "value": "VOTING_CHANGE_QUORUM_PCTS" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19387, - "name": "ERROR_INIT_SUPPORT_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1103:82:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1103:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f494e49545f535550504f52545f544f4f5f424947", - "id": 19386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1156:29:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9d8ceb2f2cc9646add9d9405c6f276fc989687a807d2879d7d034c0d4141b54", - "typeString": "literal_string \"VOTING_INIT_SUPPORT_TOO_BIG\"" - }, - "value": "VOTING_INIT_SUPPORT_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19390, - "name": "ERROR_CHANGE_SUPPORT_TOO_BIG", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1191:83:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19388, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1191:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4348414e47455f535550505f544f4f5f424947", - "id": 19389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1246:28:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a988aaf15f02d48924f860af070bbe949ae7d371d3f97038169697e9a200fc4d", - "typeString": "literal_string \"VOTING_CHANGE_SUPP_TOO_BIG\"" - }, - "value": "VOTING_CHANGE_SUPP_TOO_BIG" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19393, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1280:66:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19391, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1280:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f564f5445", - "id": 19392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:21:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d15ecba3c2de6be04ae931794f9dbe722fd5f34858b1288ba9910becaae808d3", - "typeString": "literal_string \"VOTING_CAN_NOT_VOTE\"" - }, - "value": "VOTING_CAN_NOT_VOTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19396, - "name": "ERROR_CAN_NOT_EXECUTE", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1352:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19394, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1352:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f45584543555445", - "id": 19395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1400:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a71d666a1ee845f244a2074cc2a52f257c6da2ad8ed26b4f88ad787af060b34c", - "typeString": "literal_string \"VOTING_CAN_NOT_EXECUTE\"" - }, - "value": "VOTING_CAN_NOT_EXECUTE" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19399, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1430:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19397, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1430:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f43414e5f4e4f545f464f5257415244", - "id": 19398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1478:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_43bc53280d1b3f609b6645415cebcf10834d13c5f6dbdfe2aa9d66ed459b806a", - "typeString": "literal_string \"VOTING_CAN_NOT_FORWARD\"" - }, - "value": "VOTING_CAN_NOT_FORWARD" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 19402, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1508:72:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string" - }, - "typeName": { - "id": 19400, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1508:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "564f54494e475f4e4f5f564f54494e475f504f574552", - "id": 19401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1556:24:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57804431f2c60d894b28e15e405d13c19f770b55e55030aa1c36d64decde578f", - "typeString": "literal_string \"VOTING_NO_VOTING_POWER\"" - }, - "value": "VOTING_NO_VOTING_POWER" - }, - "visibility": "private" - }, - { - "canonicalName": "Voting.VoterState", - "id": 19406, - "members": [ - { - "id": 19403, - "name": "Absent", - "nodeType": "EnumValue", - "src": "1605:6:24" - }, - { - "id": 19404, - "name": "Yea", - "nodeType": "EnumValue", - "src": "1613:3:24" - }, - { - "id": 19405, - "name": "Nay", - "nodeType": "EnumValue", - "src": "1618:3:24" - } - ], - "name": "VoterState", - "nodeType": "EnumDefinition", - "src": "1587:36:24" - }, - { - "canonicalName": "Voting.Vote", - "id": 19429, - "members": [ - { - "constant": false, - "id": 19408, - "name": "executed", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1651:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19407, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1651:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19410, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1674:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19409, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1674:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19412, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1700:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19411, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1700:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19414, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1730:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19413, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1730:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19416, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1765:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19415, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1765:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19418, - "name": "yea", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1800:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1800:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19420, - "name": "nay", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1821:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1821:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19422, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1842:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1842:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19424, - "name": "executionScript", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1871:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19423, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1871:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19428, - "name": "voters", - "nodeType": "VariableDeclaration", - "scope": 19429, - "src": "1902:38:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - }, - "typeName": { - "id": 19427, - "keyType": { - "id": 19425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1911:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1902:31:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - }, - "valueType": { - "contractScope": null, - "id": 19426, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "1922:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Vote", - "nodeType": "StructDefinition", - "scope": 20320, - "src": "1629:318:24", - "visibility": "public" - }, - { - "constant": false, - "id": 19431, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1953:24:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 19430, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "1953:11:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19433, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "1983:32:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19432, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1983:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19435, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2021:32:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19434, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2021:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19437, - "name": "voteTime", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2059:22:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19436, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2059:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 19441, - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2180:40:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote)" - }, - "typeName": { - "id": 19440, - "keyType": { - "id": 19438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2189:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2180:25:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote)" - }, - "valueType": { - "contractScope": null, - "id": 19439, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "2200:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19443, - "name": "votesLength", - "nodeType": "VariableDeclaration", - "scope": 20320, - "src": "2226:26:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2226:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 19451, - "name": "StartVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19445, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2275:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19447, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2299:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2299:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19449, - "indexed": false, - "name": "metadata", - "nodeType": "VariableDeclaration", - "scope": 19451, - "src": "2324:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19448, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2324:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2274:66:24" - }, - "src": "2259:82:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19461, - "name": "CastVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19453, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2361:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19455, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2385:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19454, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2385:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19457, - "indexed": false, - "name": "supports", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2408:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19456, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2408:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19459, - "indexed": false, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 19461, - "src": "2423:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2423:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:77:24" - }, - "src": "2346:92:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19465, - "name": "ExecuteVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 19464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19463, - "indexed": true, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19465, - "src": "2461:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2461:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2460:24:24" - }, - "src": "2443:42:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19469, - "name": "ChangeSupportRequired", - "nodeType": "EventDefinition", - "parameters": { - "id": 19468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19467, - "indexed": false, - "name": "supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19469, - "src": "2518:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19466, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2518:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2517:27:24" - }, - "src": "2490:55:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 19473, - "name": "ChangeMinQuorum", - "nodeType": "EventDefinition", - "parameters": { - "id": 19472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19471, - "indexed": false, - "name": "minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19473, - "src": "2572:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19470, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2572:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2571:27:24" - }, - "src": "2550:49:24" - }, - { - "body": { - "id": 19485, - "nodeType": "Block", - "src": "2642:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19478, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19475, - "src": "2660:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19479, - "name": "votesLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19443, - "src": "2670:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2660:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19481, - "name": "ERROR_NO_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19375, - "src": "2683:13:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "2652:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:45:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19483, - "nodeType": "ExpressionStatement", - "src": "2652:45:24" - }, - { - "id": 19484, - "nodeType": "PlaceholderStatement", - "src": "2707:1:24" - } - ] - }, - "documentation": null, - "id": 19486, - "name": "voteExists", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 19476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19475, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19486, - "src": "2625:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2625:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2624:17:24" - }, - "src": "2605:110:24", - "visibility": "internal" - }, - { - "body": { - "id": 19532, - "nodeType": "Block", - "src": "3734:341:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19499, - "name": "initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23782, - "src": "3744:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 19500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3744:13:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19501, - "nodeType": "ExpressionStatement", - "src": "3744:13:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19503, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19492, - "src": "3776:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19504, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3799:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3776:42:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19506, - "name": "ERROR_INIT_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19378, - "src": "3820:15:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19502, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3768:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:68:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19508, - "nodeType": "ExpressionStatement", - "src": "3768:68:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19510, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3854:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19511, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "3876:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3854:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19513, - "name": "ERROR_INIT_SUPPORT_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19387, - "src": "3886:26:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19509, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "3846:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3846:67:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19515, - "nodeType": "ExpressionStatement", - "src": "3846:67:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19516, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "3924:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19517, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19488, - "src": "3932:6:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "src": "3924:14:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19519, - "nodeType": "ExpressionStatement", - "src": "3924:14:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19520, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "3948:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19521, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19490, - "src": "3969:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3948:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19523, - "nodeType": "ExpressionStatement", - "src": "3948:40:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19524, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "3998:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19525, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19492, - "src": "4019:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "3998:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19527, - "nodeType": "ExpressionStatement", - "src": "3998:40:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19528, - "name": "voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19437, - "src": "4048:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19529, - "name": "_voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19494, - "src": "4059:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4048:20:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19531, - "nodeType": "ExpressionStatement", - "src": "4048:20:24" - } - ] - }, - "documentation": "@notice Initialize Voting app with `_token.symbol(): string` for governance, minimum support of `@formatPct(_supportRequiredPct)`%, minimum acceptance quorum of `@formatPct(_minAcceptQuorumPct)`%, and a voting duration of `@transformTime(_voteTime)`\n@param _token MiniMeToken Address that will be used as governance token\n@param _supportRequiredPct Percentage of yeas in casted votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n@param _minAcceptQuorumPct Percentage of yeas in total possible votes for a vote to succeed (expressed as a percentage of 10^18; eg. 10^16 = 1%, 10^18 = 100%)\n@param _voteTime Seconds that a vote will be open for token holders to vote (unless enough yeas or nays have been cast to make an early decision)", - "id": 19533, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 19497, - "modifierName": { - "argumentTypes": null, - "id": 19496, - "name": "onlyInit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23729, - "src": "3721:8:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:8:24" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19488, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3573:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - }, - "typeName": { - "contractScope": null, - "id": 19487, - "name": "MiniMeToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17093, - "src": "3573:11:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19490, - "name": "_supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3601:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19489, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3601:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19492, - "name": "_minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3637:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19491, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3637:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19494, - "name": "_voteTime", - "nodeType": "VariableDeclaration", - "scope": 19533, - "src": "3673:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19493, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3673:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3563:132:24" - }, - "payable": false, - "returnParameters": { - "id": 19498, - "nodeType": "ParameterList", - "parameters": [], - "src": "3734:0:24" - }, - "scope": 20320, - "src": "3544:531:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19571, - "nodeType": "Block", - "src": "4408:281:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19550, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "4426:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19551, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4448:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4426:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19553, - "name": "ERROR_CHANGE_SUPPORT_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19381, - "src": "4469:25:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4418:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4418:77:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19555, - "nodeType": "ExpressionStatement", - "src": "4418:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19557, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4513:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 19558, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "4535:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4513:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19560, - "name": "ERROR_CHANGE_SUPPORT_TOO_BIG", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19390, - "src": "4545:28:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19556, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "4505:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:69:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19562, - "nodeType": "ExpressionStatement", - "src": "4505:69:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19563, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "4584:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19564, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4605:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "4584:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19566, - "nodeType": "ExpressionStatement", - "src": "4584:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19568, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4662:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19567, - "name": "ChangeSupportRequired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19469, - "src": "4640:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 19569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4640:42:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19570, - "nodeType": "EmitStatement", - "src": "4635:47:24" - } - ] - }, - "documentation": "@notice Change required support to `@formatPct(_supportRequiredPct)`%\n@param _supportRequiredPct New required support", - "id": 19572, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19538, - "name": "MODIFY_SUPPORT_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19362, - "src": "4319:19:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19541, - "name": "_supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19535, - "src": "4352:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4344:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4344:28:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19544, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "4382:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4374:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4374:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19539, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4340:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4340:62:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19547, - "modifierName": { - "argumentTypes": null, - "id": 19537, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4313:5:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4313:90:24" - } - ], - "name": "changeSupportRequiredPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19535, - "name": "_supportRequiredPct", - "nodeType": "VariableDeclaration", - "scope": 19572, - "src": "4260:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19534, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4260:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4259:28:24" - }, - "payable": false, - "returnParameters": { - "id": 19548, - "nodeType": "ParameterList", - "parameters": [], - "src": "4408:0:24" - }, - "scope": 20320, - "src": "4226:463:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19603, - "nodeType": "Block", - "src": "5031:195:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19589, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5049:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 19590, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "5072:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5049:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19592, - "name": "ERROR_CHANGE_QUORUM_PCTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19384, - "src": "5092:24:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19588, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "5041:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5041:76:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19594, - "nodeType": "ExpressionStatement", - "src": "5041:76:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19595, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "5127:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19596, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5148:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "5127:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19598, - "nodeType": "ExpressionStatement", - "src": "5127:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19600, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "5199:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19599, - "name": "ChangeMinQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19473, - "src": "5183:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", - "typeString": "function (uint64)" - } - }, - "id": 19601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5183:36:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19602, - "nodeType": "EmitStatement", - "src": "5178:41:24" - } - ] - }, - "documentation": "@notice Change minimum acceptance quorum to `@formatPct(_minAcceptQuorumPct)`%\n@param _minAcceptQuorumPct New acceptance quorum", - "id": 19604, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19577, - "name": "MODIFY_QUORUM_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19367, - "src": "4943:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19580, - "name": "_minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19574, - "src": "4975:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4967:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4967:28:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19583, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "5005:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 19582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4997:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 19584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4997:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19578, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 22094, - "src": "4963:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 19585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4963:62:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 19586, - "modifierName": { - "argumentTypes": null, - "id": 19576, - "name": "authP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23392, - "src": "4937:5:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "modifier (bytes32,uint256[] memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4937:89:24" - } - ], - "name": "changeMinAcceptQuorumPct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19574, - "name": "_minAcceptQuorumPct", - "nodeType": "VariableDeclaration", - "scope": 19604, - "src": "4884:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19573, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "4884:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4883:28:24" - }, - "payable": false, - "returnParameters": { - "id": 19587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5031:0:24" - }, - "scope": 20320, - "src": "4850:376:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19623, - "nodeType": "Block", - "src": "5568:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19617, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19606, - "src": "5594:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "id": 19618, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19608, - "src": "5612:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5623:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5629:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19616, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "5585:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5585:49:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19615, - "id": 19622, - "nodeType": "Return", - "src": "5578:56:24" - } - ] - }, - "documentation": "@notice Create a new vote about \"`_metadata`\"\n@param _executionScript EVM script to be executed on approval\n@param _metadata Vote metadata\n@return voteId Id for newly created vote", - "id": 19624, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19611, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "5524:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 19612, - "modifierName": { - "argumentTypes": null, - "id": 19610, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "5519:4:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5519:23:24" - } - ], - "name": "newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19606, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5468:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19605, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5468:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19608, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5492:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19607, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5492:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5467:42:24" - }, - "payable": false, - "returnParameters": { - "id": 19615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19614, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19624, - "src": "5552:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5552:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5551:16:24" - }, - "scope": 20320, - "src": "5451:190:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19647, - "nodeType": "Block", - "src": "6213:92:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19641, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19626, - "src": "6239:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "id": 19642, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19628, - "src": "6257:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 19643, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19630, - "src": "6268:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19644, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19632, - "src": "6279:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19640, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "6230:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6230:68:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 19639, - "id": 19646, - "nodeType": "Return", - "src": "6223:75:24" - } - ] - }, - "documentation": "@notice Create a new vote about \"`_metadata`\"\n@param _executionScript EVM script to be executed on approval\n@param _metadata Vote metadata\n@param _castVote Whether to also cast newly created vote\n@param _executesIfDecided Whether to also immediately execute newly created vote if decided\n@return voteId id for newly created vote", - "id": 19648, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19635, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "6157:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 19636, - "modifierName": { - "argumentTypes": null, - "id": 19634, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23373, - "src": "6152:4:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6152:23:24" - } - ], - "name": "newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19626, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6044:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19625, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6044:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19628, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6068:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19627, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6068:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19630, - "name": "_castVote", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6086:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19629, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6086:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19632, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6102:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19631, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6102:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6043:83:24" - }, - "payable": false, - "returnParameters": { - "id": 19639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19638, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19648, - "src": "6193:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6193:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6192:16:24" - }, - "scope": 20320, - "src": "6027:278:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19677, - "nodeType": "Block", - "src": "6841:142:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19662, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6868:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19663, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6877:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6877:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19661, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "6859:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6859:29:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19666, - "name": "ERROR_CAN_NOT_VOTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19393, - "src": "6890:18:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19660, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "6851:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6851:58:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19668, - "nodeType": "ExpressionStatement", - "src": "6851:58:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19670, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6925:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19671, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19652, - "src": "6934:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19672, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "6945:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6945:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19674, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19654, - "src": "6957:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19669, - "name": "_vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20105, - "src": "6919:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool,address,bool)" - } - }, - "id": 19675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6919:57:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19676, - "nodeType": "ExpressionStatement", - "src": "6919:57:24" - } - ] - }, - "documentation": "@notice Vote `_supports ? 'yes' : 'no'` in vote #`_voteId`\n@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization\n@param _voteId Id for vote\n@param _supports Whether voter supports the vote\n@param _executesIfDecided Whether the vote should execute its action if it becomes decided", - "id": 19678, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19657, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19650, - "src": "6832:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19658, - "modifierName": { - "argumentTypes": null, - "id": 19656, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "6821:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6821:19:24" - } - ], - "name": "vote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19650, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6754:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19652, - "name": "_supports", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6771:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19651, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6771:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19654, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19678, - "src": "6787:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19653, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6753:58:24" - }, - "payable": false, - "returnParameters": { - "id": 19659, - "nodeType": "ParameterList", - "parameters": [], - "src": "6841:0:24" - }, - "scope": 20320, - "src": "6740:243:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19690, - "nodeType": "Block", - "src": "7306:38:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19687, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19680, - "src": "7329:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19686, - "name": "_executeVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20122, - "src": "7316:12:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 19688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7316:21:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19689, - "nodeType": "ExpressionStatement", - "src": "7316:21:24" - } - ] - }, - "documentation": "@notice Execute vote #`_voteId`\n@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization\n@param _voteId Id for vote", - "id": 19691, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19683, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19680, - "src": "7297:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19684, - "modifierName": { - "argumentTypes": null, - "id": 19682, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "7286:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7286:19:24" - } - ], - "name": "executeVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19680, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19691, - "src": "7260:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7260:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7259:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19685, - "nodeType": "ParameterList", - "parameters": [], - "src": "7306:0:24" - }, - "scope": 20320, - "src": "7239:105:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 19698, - "nodeType": "Block", - "src": "7425:28:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7442:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 19695, - "id": 19697, - "nodeType": "Return", - "src": "7435:11:24" - } - ] - }, - "documentation": null, - "id": 19699, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isForwarder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19692, - "nodeType": "ParameterList", - "parameters": [], - "src": "7393:2:24" - }, - "payable": false, - "returnParameters": { - "id": 19695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19694, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19699, - "src": "7419:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19693, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7419:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7418:6:24" - }, - "scope": 20320, - "src": "7373:80:24", - "stateMutability": "pure", - "superFunction": 23656, - "visibility": "external" - }, - { - "body": { - "id": 19720, - "nodeType": "Block", - "src": "7704:129:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19706, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "7733:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7733:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19708, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19701, - "src": "7745:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 19705, - "name": "canForward", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 19738 - ], - "referencedDeclaration": 19738, - "src": "7722:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) view returns (bool)" - } - }, - "id": 19709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7722:34:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19710, - "name": "ERROR_CAN_NOT_FORWARD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19399, - "src": "7758:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19704, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "7714:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7714:66:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19712, - "nodeType": "ExpressionStatement", - "src": "7714:66:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19714, - "name": "_evmScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19701, - "src": "7799:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 19715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:2:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7821:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19713, - "name": "_newVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19984, - "src": "7790:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_bool_$returns$_t_uint256_$", - "typeString": "function (bytes memory,string memory,bool,bool) returns (uint256)" - } - }, - "id": 19718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:36:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19719, - "nodeType": "ExpressionStatement", - "src": "7790:36:24" - } - ] - }, - "documentation": "@notice Creates a vote to execute the desired action, and casts a support vote if possible\n@dev IForwarder interface conformance\n@param _evmScript Start vote with script", - "id": 19721, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "forward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19701, - "name": "_evmScript", - "nodeType": "VariableDeclaration", - "scope": 19721, - "src": "7679:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19700, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7679:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7678:18:24" - }, - "payable": false, - "returnParameters": { - "id": 19703, - "nodeType": "ParameterList", - "parameters": [], - "src": "7704:0:24" - }, - "scope": 20320, - "src": "7662:171:24", - "stateMutability": "nonpayable", - "superFunction": 23670, - "visibility": "public" - }, - { - "body": { - "id": 19737, - "nodeType": "Block", - "src": "7910:152:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19731, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19723, - "src": "8021:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19732, - "name": "CREATE_VOTES_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19357, - "src": "8030:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19733, - "name": "arr", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 21826, - 21841, - 21861, - 21876, - 21896, - 21917, - 21941, - 21961, - 21990, - 22015, - 22040, - 22063, - 22094, - 22133, - 22180, - 22235 - ], - "referencedDeclaration": 21826, - "src": "8049:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function () pure returns (uint256[] memory)" - } - }, - "id": 19734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8049:5:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 19730, - "name": "canPerform", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23441, - "src": "8010:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256[] memory) view returns (bool)" - } - }, - "id": 19735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8010:45:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19729, - "id": 19736, - "nodeType": "Return", - "src": "8003:52:24" - } - ] - }, - "documentation": null, - "id": 19738, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canForward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19723, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7859:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7859:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19725, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7876:5:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19724, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7876:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7858:24:24" - }, - "payable": false, - "returnParameters": { - "id": 19729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19728, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19738, - "src": "7904:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19727, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7904:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7903:6:24" - }, - "scope": 20320, - "src": "7839:223:24", - "stateMutability": "view", - "superFunction": 23665, - "visibility": "public" - }, - { - "body": { - "id": 19752, - "nodeType": "Block", - "src": "8350:44:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19749, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19740, - "src": "8379:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 19748, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "8367:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 19750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8367:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19747, - "id": 19751, - "nodeType": "Return", - "src": "8360:27:24" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization", - "id": 19753, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19743, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19740, - "src": "8326:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19744, - "modifierName": { - "argumentTypes": null, - "id": 19742, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8315:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8315:19:24" - } - ], - "name": "canExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19740, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19753, - "src": "8286:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8286:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8285:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19747, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19746, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19753, - "src": "8344:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19745, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8344:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8343:6:24" - }, - "scope": 20320, - "src": "8266:128:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19770, - "nodeType": "Block", - "src": "8676:49:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19766, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19755, - "src": "8702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 19767, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19757, - "src": "8711:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19765, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "8693:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8693:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 19764, - "id": 19769, - "nodeType": "Return", - "src": "8686:32:24" - } - ] - }, - "documentation": "@dev Initialization check is implicitly provided by `voteExists()` as new votes can only be\n created via `newVote(),` which requires initialization", - "id": 19771, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19760, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19755, - "src": "8652:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19761, - "modifierName": { - "argumentTypes": null, - "id": 19759, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8641:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8641:19:24" - } - ], - "name": "canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19755, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8596:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8596:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19757, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8613:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19756, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8613:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8595:33:24" - }, - "payable": false, - "returnParameters": { - "id": 19764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19763, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19771, - "src": "8670:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19762, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8670:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8669:6:24" - }, - "scope": 20320, - "src": "8579:146:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19856, - "nodeType": "Block", - "src": "9147:440:24", - "statements": [ - { - "assignments": [ - 19800 - ], - "declarations": [ - { - "constant": false, - "id": 19800, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9157:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19799, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "9157:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19801, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "9178:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19803, - "indexExpression": { - "argumentTypes": null, - "id": 19802, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19773, - "src": "9184:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9178:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9157:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19805, - "name": "open", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19779, - "src": "9203:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19807, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9222:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 19806, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "9210:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 19808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9210:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9203:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19810, - "nodeType": "ExpressionStatement", - "src": "9203:25:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19811, - "name": "executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19781, - "src": "9238:8:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19812, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9249:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "9249:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9238:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 19815, - "nodeType": "ExpressionStatement", - "src": "9238:25:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19816, - "name": "startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19783, - "src": "9273:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19817, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9285:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "9285:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9273:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19820, - "nodeType": "ExpressionStatement", - "src": "9273:27:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19821, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19785, - "src": "9310:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19822, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9326:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "9326:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9310:35:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19825, - "nodeType": "ExpressionStatement", - "src": "9310:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19826, - "name": "supportRequired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19787, - "src": "9355:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19827, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9373:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "9373:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9355:42:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19830, - "nodeType": "ExpressionStatement", - "src": "9355:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19831, - "name": "minAcceptQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19789, - "src": "9407:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19832, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9425:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "9425:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "9407:42:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19835, - "nodeType": "ExpressionStatement", - "src": "9407:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19836, - "name": "yea", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19791, - "src": "9459:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19837, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9465:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "9465:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9459:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19840, - "nodeType": "ExpressionStatement", - "src": "9459:15:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19841, - "name": "nay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19793, - "src": "9484:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19842, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9490:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "9490:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9484:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19845, - "nodeType": "ExpressionStatement", - "src": "9484:15:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19846, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19795, - "src": "9509:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19847, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9523:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "9523:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9509:31:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19850, - "nodeType": "ExpressionStatement", - "src": "9509:31:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19851, - "name": "script", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19797, - "src": "9550:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19852, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19800, - "src": "9559:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "9559:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "src": "9550:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 19855, - "nodeType": "ExpressionStatement", - "src": "9550:30:24" - } - ] - }, - "documentation": null, - "id": 19857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19776, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19773, - "src": "8812:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19777, - "modifierName": { - "argumentTypes": null, - "id": 19775, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "8801:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8801:19:24" - } - ], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19773, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8748:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8748:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8747:17:24" - }, - "payable": false, - "returnParameters": { - "id": 19798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19779, - "name": "open", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8851:9:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19778, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8851:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19781, - "name": "executed", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8874:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19780, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8874:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19783, - "name": "startDate", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8901:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19782, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8901:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19785, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8931:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19784, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8931:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19787, - "name": "supportRequired", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "8965:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19786, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "8965:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19789, - "name": "minAcceptQuorum", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9001:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19788, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9001:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19791, - "name": "yea", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9037:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9037:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19793, - "name": "nay", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9062:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9062:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19795, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9087:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9087:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19797, - "name": "script", - "nodeType": "VariableDeclaration", - "scope": 19857, - "src": "9120:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19796, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9120:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8837:305:24" - }, - "scope": 20320, - "src": "8731:856:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19876, - "nodeType": "Block", - "src": "9702:53:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19869, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "9719:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19871, - "indexExpression": { - "argumentTypes": null, - "id": 19870, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19859, - "src": "9725:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9719:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "id": 19872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "9719:21:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 19874, - "indexExpression": { - "argumentTypes": null, - "id": 19873, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19861, - "src": "9741:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9719:29:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "functionReturnParameters": 19868, - "id": 19875, - "nodeType": "Return", - "src": "9712:36:24" - } - ] - }, - "documentation": null, - "id": 19877, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 19864, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19859, - "src": "9672:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 19865, - "modifierName": { - "argumentTypes": null, - "id": 19863, - "name": "voteExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19486, - "src": "9661:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "9661:19:24" - } - ], - "name": "getVoterState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19859, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9616:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9616:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19861, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9633:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9633:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9615:33:24" - }, - "payable": false, - "returnParameters": { - "id": 19868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19867, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 19877, - "src": "9690:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "typeName": { - "contractScope": null, - "id": 19866, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "9690:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9689:12:24" - }, - "scope": 20320, - "src": "9593:162:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 19983, - "nodeType": "Block", - "src": "9937:784:24", - "statements": [ - { - "assignments": [ - 19891 - ], - "declarations": [ - { - "constant": false, - "id": 19891, - "name": "snapshotBlock", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9947:20:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 19890, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "9947:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19896, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 19895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19892, - "name": "getBlockNumber64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24133, - "src": "9970:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 19893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 19894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9970:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9947:45:24" - }, - { - "assignments": [ - 19898 - ], - "declarations": [ - { - "constant": false, - "id": 19898, - "name": "votingPower", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "10044:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10044:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19903, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19901, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19891, - "src": "10086:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 19899, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "10066:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 19900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupplyAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16593, - "src": "10066:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 19902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10066:34:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10044:56:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19905, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19898, - "src": "10118:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 19906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10132:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10118:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 19908, - "name": "ERROR_NO_VOTING_POWER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19402, - "src": "10135:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 19904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "10110:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 19909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10110:47:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19910, - "nodeType": "ExpressionStatement", - "src": "10110:47:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 19911, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10168:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10177:13:24", - "subExpression": { - "argumentTypes": null, - "id": 19912, - "name": "votesLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19443, - "src": "10177:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10168:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19915, - "nodeType": "ExpressionStatement", - "src": "10168:22:24" - }, - { - "assignments": [ - 19917 - ], - "declarations": [ - { - "constant": false, - "id": 19917, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "10201:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19916, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "10201:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 19921, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19918, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "10222:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19920, - "indexExpression": { - "argumentTypes": null, - "id": 19919, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10228:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10222:13:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10201:34:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19922, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10245:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "10245:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 19925, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "10263:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 19926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10245:34:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19928, - "nodeType": "ExpressionStatement", - "src": "10245:34:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19929, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10289:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "10289:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19932, - "name": "snapshotBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19891, - "src": "10311:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10289:35:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19934, - "nodeType": "ExpressionStatement", - "src": "10289:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19935, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10334:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "10334:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19938, - "name": "supportRequiredPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19433, - "src": "10361:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10334:45:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19940, - "nodeType": "ExpressionStatement", - "src": "10334:45:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19941, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10389:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "10389:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19944, - "name": "minAcceptQuorumPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19435, - "src": "10416:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10389:45:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 19946, - "nodeType": "ExpressionStatement", - "src": "10389:45:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19947, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10444:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19949, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "10444:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19950, - "name": "votingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19898, - "src": "10464:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10444:31:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 19952, - "nodeType": "ExpressionStatement", - "src": "10444:31:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 19957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19953, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19917, - "src": "10485:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 19955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "10485:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 19956, - "name": "_executionScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19879, - "src": "10509:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "10485:40:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 19958, - "nodeType": "ExpressionStatement", - "src": "10485:40:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19960, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10551:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19961, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10559:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10559:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19963, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19881, - "src": "10571:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 19959, - "name": "StartVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19451, - "src": "10541:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,string memory)" - } - }, - "id": 19964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10541:40:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19965, - "nodeType": "EmitStatement", - "src": "10536:45:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 19972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 19966, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19883, - "src": "10596:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19968, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10618:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10626:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10626:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 19967, - "name": "_canVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20266, - "src": "10609:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 19971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10609:28:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10596:41:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 19982, - "nodeType": "IfStatement", - "src": "10592:123:24", - "trueBody": { - "id": 19981, - "nodeType": "Block", - "src": "10639:76:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 19974, - "name": "voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19888, - "src": "10659:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 19975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10667:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 19976, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29784, - "src": "10673:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 19977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10673:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 19978, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19885, - "src": "10685:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 19973, - "name": "_vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20105, - "src": "10653:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool,address,bool)" - } - }, - "id": 19979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10653:51:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 19980, - "nodeType": "ExpressionStatement", - "src": "10653:51:24" - } - ] - } - } - ] - }, - "documentation": null, - "id": 19984, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_newVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19879, - "name": "_executionScript", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9800:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 19878, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9800:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19881, - "name": "_metadata", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9824:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19880, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9824:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19883, - "name": "_castVote", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9842:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9842:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19885, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9858:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9858:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9799:83:24" - }, - "payable": false, - "returnParameters": { - "id": 19889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19888, - "name": "voteId", - "nodeType": "VariableDeclaration", - "scope": 19984, - "src": "9917:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9917:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9916:16:24" - }, - "scope": 20320, - "src": "9782:939:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20104, - "nodeType": "Block", - "src": "10867:1017:24", - "statements": [ - { - "assignments": [ - 19996 - ], - "declarations": [ - { - "constant": false, - "id": 19996, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10877:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 19995, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "10877:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20000, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 19997, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "10898:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 19999, - "indexExpression": { - "argumentTypes": null, - "id": 19998, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "10904:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10898:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10877:35:24" - }, - { - "assignments": [ - 20002 - ], - "declarations": [ - { - "constant": false, - "id": 20002, - "name": "voterStake", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "11014:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11014:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20009, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20005, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11053:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20006, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11061:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "11061:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20003, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "11035:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 20004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "11035:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 20008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11035:46:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11014:67:24" - }, - { - "assignments": [ - 20011 - ], - "declarations": [ - { - "constant": false, - "id": 20011, - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "11091:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "typeName": { - "contractScope": null, - "id": 20010, - "name": "VoterState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19406, - "src": "11091:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20016, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20012, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11110:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "11110:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 20015, - "indexExpression": { - "argumentTypes": null, - "id": 20014, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11123:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11110:20:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11091:39:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "id": 20020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20017, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20011, - "src": "11202:5:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20018, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11211:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Yea", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11211:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11202:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - }, - "id": 20035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20032, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20011, - "src": "11299:5:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20033, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11308:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Nay", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11299:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20047, - "nodeType": "IfStatement", - "src": "11295:91:24", - "trueBody": { - "id": 20046, - "nodeType": "Block", - "src": "11324:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20036, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11338:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11338:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20042, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11364:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20039, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11350:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11350:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11350:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11350:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11338:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20045, - "nodeType": "ExpressionStatement", - "src": "11338:37:24" - } - ] - } - }, - "id": 20048, - "nodeType": "IfStatement", - "src": "11198:188:24", - "trueBody": { - "id": 20031, - "nodeType": "Block", - "src": "11227:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20021, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11241:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20023, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11241:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20027, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11267:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20024, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11253:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11253:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 27822, - "src": "11253:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11253:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11241:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20030, - "nodeType": "ExpressionStatement", - "src": "11241:37:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 20049, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11400:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 20071, - "nodeType": "Block", - "src": "11479:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20061, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11493:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11493:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20067, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11519:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20064, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11505:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "11505:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "11505:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11505:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11493:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20070, - "nodeType": "ExpressionStatement", - "src": "11493:37:24" - } - ] - }, - "id": 20072, - "nodeType": "IfStatement", - "src": "11396:145:24", - "trueBody": { - "id": 20060, - "nodeType": "Block", - "src": "11411:62:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 20058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20050, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11425:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11425:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20056, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11451:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20053, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11437:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "11437:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "11437:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11437:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11425:37:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20059, - "nodeType": "ExpressionStatement", - "src": "11425:37:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 20084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20073, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19996, - "src": "11551:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 19428, - "src": "11551:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_enum$_VoterState_$19406_$", - "typeString": "mapping(address => enum Voting.VoterState)" - } - }, - "id": 20077, - "indexExpression": { - "argumentTypes": null, - "id": 20075, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11564:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11551:20:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "id": 20078, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11574:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20081, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11603:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Nay", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11603:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "id": 20083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "11574:43:24", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20079, - "name": "VoterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19406, - "src": "11586:10:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoterState_$19406_$", - "typeString": "type(enum Voting.VoterState)" - } - }, - "id": 20080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Yea", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11586:14:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "src": "11551:66:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoterState_$19406", - "typeString": "enum Voting.VoterState" - } - }, - "id": 20085, - "nodeType": "ExpressionStatement", - "src": "11551:66:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20087, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11642:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 20088, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19990, - "src": "11651:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 20089, - "name": "_supports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19988, - "src": "11659:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20090, - "name": "voterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20002, - "src": "11670:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20086, - "name": "CastVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19461, - "src": "11633:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,bool,uint256)" - } - }, - "id": 20091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11633:48:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20092, - "nodeType": "EmitStatement", - "src": "11628:53:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20093, - "name": "_executesIfDecided", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19992, - "src": "11696:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20095, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11730:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20094, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "11718:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 20096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11718:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11696:42:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20103, - "nodeType": "IfStatement", - "src": "11692:186:24", - "trueBody": { - "id": 20102, - "nodeType": "Block", - "src": "11740:138:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20099, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19986, - "src": "11859:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20098, - "name": "_unsafeExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20162, - "src": "11840:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11840:27:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20101, - "nodeType": "ExpressionStatement", - "src": "11840:27:24" - } - ] - } - } - ] - }, - "documentation": null, - "id": 20105, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_vote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 19986, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10751:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10751:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19988, - "name": "_supports", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10776:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19987, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10776:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19990, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10800:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10800:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19992, - "name": "_executesIfDecided", - "nodeType": "VariableDeclaration", - "scope": 20105, - "src": "10824:23:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 19991, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10824:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10741:112:24" - }, - "payable": false, - "returnParameters": { - "id": 19994, - "nodeType": "ParameterList", - "parameters": [], - "src": "10867:0:24" - }, - "scope": 20320, - "src": "10727:1157:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20121, - "nodeType": "Block", - "src": "11938:106:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20112, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20107, - "src": "11968:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20111, - "name": "_canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20237, - "src": "11956:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 20113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11956:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 20114, - "name": "ERROR_CAN_NOT_EXECUTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19396, - "src": "11978:21:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - ], - "id": 20110, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 29787, - 29788 - ], - "referencedDeclaration": 29788, - "src": "11948:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 20115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11948:52:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20116, - "nodeType": "ExpressionStatement", - "src": "11948:52:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20118, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20107, - "src": "12029:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20117, - "name": "_unsafeExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20162, - "src": "12010:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12010:27:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20120, - "nodeType": "ExpressionStatement", - "src": "12010:27:24" - } - ] - }, - "documentation": null, - "id": 20122, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_executeVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20107, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20122, - "src": "11912:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11912:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11911:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20109, - "nodeType": "ParameterList", - "parameters": [], - "src": "11938:0:24" - }, - "scope": 20320, - "src": "11890:154:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20161, - "nodeType": "Block", - "src": "12227:274:24", - "statements": [ - { - "assignments": [ - 20128 - ], - "declarations": [ - { - "constant": false, - "id": 20128, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12237:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20127, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "12237:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20132, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20129, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "12258:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20131, - "indexExpression": { - "argumentTypes": null, - "id": 20130, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20124, - "src": "12264:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12258:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12237:35:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 20137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20133, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20128, - "src": "12283:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "12283:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12300:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "12283:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 20138, - "nodeType": "ExpressionStatement", - "src": "12283:21:24" - }, - { - "assignments": [ - 20140 - ], - "declarations": [ - { - "constant": false, - "id": 20140, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12315:18:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20139, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12315:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20145, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12346:1:24", - "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": 20142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12336:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 20141, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12340:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 20144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12336:12:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12315:33:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20147, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20128, - "src": "12411:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executionScript", - "nodeType": "MemberAccess", - "referencedDeclaration": 19424, - "src": "12411:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - { - "argumentTypes": null, - "id": 20149, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20140, - "src": "12434:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 20153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12455:1:24", - "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": 20152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "12441:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 20150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12445:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 20151, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12445:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 20154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12441:16:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 20146, - "name": "runScript", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25076, - "src": "12401:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory,address[] memory) returns (bytes memory)" - } - }, - "id": 20155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12401:57:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 20156, - "nodeType": "ExpressionStatement", - "src": "12401:57:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20158, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20124, - "src": "12486:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 20157, - "name": "ExecuteVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19465, - "src": "12474:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 20159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12474:20:24", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 20160, - "nodeType": "EmitStatement", - "src": "12469:25:24" - } - ] - }, - "documentation": "@dev Unsafe version of _executeVote that assumes you have already checked if the vote can be executed", - "id": 20162, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "_unsafeExecuteVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20124, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20162, - "src": "12201:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12201:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12200:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20126, - "nodeType": "ParameterList", - "parameters": [], - "src": "12227:0:24" - }, - "scope": 20320, - "src": "12173:328:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20236, - "nodeType": "Block", - "src": "12574:737:24", - "statements": [ - { - "assignments": [ - 20170 - ], - "declarations": [ - { - "constant": false, - "id": 20170, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12584:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20169, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "12584:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20174, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20171, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "12605:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20173, - "indexExpression": { - "argumentTypes": null, - "id": 20172, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20164, - "src": "12611:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12605:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12584:35:24" - }, - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20175, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12634:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "12634:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20180, - "nodeType": "IfStatement", - "src": "12630:57:24", - "trueBody": { - "id": 20179, - "nodeType": "Block", - "src": "12650:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12671:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20178, - "nodeType": "Return", - "src": "12664:12:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20182, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12750:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "12750:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20184, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12761:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "12761:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20186, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12780:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "12780:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20181, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "12738:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12738:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20192, - "nodeType": "IfStatement", - "src": "12734:109:24", - "trueBody": { - "id": 20191, - "nodeType": "Block", - "src": "12807:36:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12828:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 20168, - "id": 20190, - "nodeType": "Return", - "src": "12821:11:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20194, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12892:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 20193, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "12880:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 20195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12880:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20199, - "nodeType": "IfStatement", - "src": "12876:61:24", - "trueBody": { - "id": 20198, - "nodeType": "Block", - "src": "12900:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12921:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20197, - "nodeType": "Return", - "src": "12914:12:24" - } - ] - } - }, - { - "assignments": [ - 20201 - ], - "declarations": [ - { - "constant": false, - "id": 20201, - "name": "totalVotes", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12977:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12977:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20208, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20205, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13012:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nay", - "nodeType": "MemberAccess", - "referencedDeclaration": 19420, - "src": "13012:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20202, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "12998:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "12998:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27847, - "src": "12998:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12998:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12977:45:24" - }, - { - "condition": { - "argumentTypes": null, - "id": 20216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13036:61:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20210, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13049:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "13049:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 20212, - "name": "totalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20201, - "src": "13060:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20213, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13072:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "supportRequiredPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19414, - "src": "13072:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20209, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "13037:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13037:60:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20220, - "nodeType": "IfStatement", - "src": "13032:104:24", - "trueBody": { - "id": 20219, - "nodeType": "Block", - "src": "13099:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13120:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20218, - "nodeType": "Return", - "src": "13113:12:24" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 20229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13176:68:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20222, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13189:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20223, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "yea", - "nodeType": "MemberAccess", - "referencedDeclaration": 19418, - "src": "13189:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20224, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13200:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votingPower", - "nodeType": "MemberAccess", - "referencedDeclaration": 19422, - "src": "13200:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20226, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20170, - "src": "13219:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "minAcceptQuorumPct", - "nodeType": "MemberAccess", - "referencedDeclaration": 19416, - "src": "13219:24:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "id": 20221, - "name": "_isValuePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20319, - "src": "13177:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 20228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13177:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20233, - "nodeType": "IfStatement", - "src": "13172:111:24", - "trueBody": { - "id": 20232, - "nodeType": "Block", - "src": "13246:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13267:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20168, - "id": 20231, - "nodeType": "Return", - "src": "13260:12:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 20234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13300:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 20168, - "id": 20235, - "nodeType": "Return", - "src": "13293:11:24" - } - ] - }, - "documentation": null, - "id": 20237, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canExecute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20164, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12528:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12528:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12527:17:24" - }, - "payable": false, - "returnParameters": { - "id": 20168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20167, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20237, - "src": "12568:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20166, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12568:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:6:24" - }, - "scope": 20320, - "src": "12507:804:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20265, - "nodeType": "Block", - "src": "13397:142:24", - "statements": [ - { - "assignments": [ - 20247 - ], - "declarations": [ - { - "constant": false, - "id": 20247, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13407:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20246, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "13407:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20251, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 20248, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19441, - "src": "13428:5:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$19429_storage_$", - "typeString": "mapping(uint256 => struct Voting.Vote storage ref)" - } - }, - "id": 20250, - "indexExpression": { - "argumentTypes": null, - "id": 20249, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20239, - "src": "13434:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage", - "typeString": "struct Voting.Vote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13407:35:24" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20253, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20247, - "src": "13472:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - ], - "id": 20252, - "name": "_isVoteOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20287, - "src": "13460:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Vote_$19429_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct Voting.Vote storage pointer) view returns (bool)" - } - }, - "id": 20254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13460:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20257, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20241, - "src": "13500:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20258, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20247, - "src": "13508:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "snapshotBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 19412, - "src": "13508:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20255, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19431, - "src": "13482:5:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MiniMeToken_$17093", - "typeString": "contract MiniMeToken" - } - }, - "id": 20256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOfAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 16546, - "src": "13482:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 20260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13482:46:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13531:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13482:50:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13460:72:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20245, - "id": 20264, - "nodeType": "Return", - "src": "13453:79:24" - } - ] - }, - "documentation": null, - "id": 20266, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_canVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20239, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13335:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13335:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20241, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13352:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13352:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13334:33:24" - }, - "payable": false, - "returnParameters": { - "id": 20245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20266, - "src": "13391:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20243, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13391:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13390:6:24" - }, - "scope": 20320, - "src": "13317:222:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20286, - "nodeType": "Block", - "src": "13615:91:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 20284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 20280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 20273, - "name": "getTimestamp64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24153, - "src": "13632:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint64_$", - "typeString": "function () view returns (uint64)" - } - }, - "id": 20274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13632:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20278, - "name": "voteTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19437, - "src": "13671:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20275, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20268, - "src": "13651:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20276, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 19410, - "src": "13651:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 20277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 27989, - "src": "13651:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$bound_to$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 20279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13651:29:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13632:48:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 20283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13684:15:24", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 20281, - "name": "vote_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20268, - "src": "13685:5:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote storage pointer" - } - }, - "id": 20282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 19408, - "src": "13685:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13632:67:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20272, - "id": 20285, - "nodeType": "Return", - "src": "13625:74:24" - } - ] - }, - "documentation": null, - "id": 20287, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isVoteOpen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20268, - "name": "vote_", - "nodeType": "VariableDeclaration", - "scope": 20287, - "src": "13566:18:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - }, - "typeName": { - "contractScope": null, - "id": 20267, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 19429, - "src": "13566:4:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$19429_storage_ptr", - "typeString": "struct Voting.Vote" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13565:20:24" - }, - "payable": false, - "returnParameters": { - "id": 20272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20271, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20287, - "src": "13609:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13609:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13608:6:24" - }, - "scope": 20320, - "src": "13545:161:24", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 20318, - "nodeType": "Block", - "src": "13907:167:24", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20298, - "name": "_total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20291, - "src": "13921:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 20299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13921:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 20304, - "nodeType": "IfStatement", - "src": "13917:54:24", - "trueBody": { - "id": 20303, - "nodeType": "Block", - "src": "13934:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 20301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13955:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 20297, - "id": 20302, - "nodeType": "Return", - "src": "13948:12:24" - } - ] - } - }, - { - "assignments": [ - 20306 - ], - "declarations": [ - { - "constant": false, - "id": 20306, - "name": "computedPct", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13981:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13981:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 20313, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 20309, - "name": "PCT_BASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19372, - "src": "14014:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 20307, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20289, - "src": "14003:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27772, - "src": "14003:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 20310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14003:20:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 20311, - "name": "_total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20291, - "src": "14026:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14003:29:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13981:51:24" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 20316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 20314, - "name": "computedPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20306, - "src": "14049:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 20315, - "name": "_pct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 20293, - "src": "14063:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14049:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 20297, - "id": 20317, - "nodeType": "Return", - "src": "14042:25:24" - } - ] - }, - "documentation": "@dev Calculates whether `_value` is more than a percentage `_pct` of `_total`", - "id": 20319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "_isValuePct", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 20294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20289, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13832:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13832:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20291, - "name": "_total", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13848:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20293, - "name": "_pct", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13864:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 20292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13864:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13831:46:24" - }, - "payable": false, - "returnParameters": { - "id": 20297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20296, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20319, - "src": "13901:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 20295, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13901:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13900:6:24" - }, - "scope": 20320, - "src": "13811:263:24", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 20321, - "src": "360:13716:24" - } - ], - "src": "57:14020:24" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2020-02-09T15:22:16.410Z" -} \ No newline at end of file diff --git a/templates/multisig/contracts/.npmignore b/templates/multisig/contracts/.npmignore deleted file mode 100644 index 32bcdf1..0000000 --- a/templates/multisig/contracts/.npmignore +++ /dev/null @@ -1 +0,0 @@ -/test \ No newline at end of file diff --git a/templates/multisig/contracts/FundraisingMultisigTemplate.sol b/templates/multisig/contracts/FundraisingMultisigTemplate.sol deleted file mode 100644 index ab0d986..0000000 --- a/templates/multisig/contracts/FundraisingMultisigTemplate.sol +++ /dev/null @@ -1,638 +0,0 @@ -pragma solidity 0.4.24; - -import "@aragon/os/contracts/common/EtherTokenConstant.sol"; -import "@aragon/templates-shared/contracts/BaseTemplate.sol"; -import "@aragon/apps-agent/contracts/Agent.sol"; -import "@ablack/fundraising-bancor-formula/contracts/BancorFormula.sol"; -import {AragonFundraisingController as Controller} from "@ablack/fundraising-aragon-fundraising/contracts/AragonFundraisingController.sol"; -import {BatchedBancorMarketMaker as MarketMaker} from "@ablack/fundraising-batched-bancor-market-maker/contracts/BatchedBancorMarketMaker.sol"; -import "@ablack/fundraising-presale/contracts/Presale.sol"; -import "@ablack/fundraising-tap/contracts/Tap.sol"; - - -contract FundraisingMultisigTemplate is EtherTokenConstant, BaseTemplate { - string private constant ERROR_BAD_SETTINGS = "FM_BAD_SETTINGS"; - string private constant ERROR_MISSING_CACHE = "FM_MISSING_CACHE"; - - bool private constant BOARD_TRANSFERABLE = false; - uint8 private constant BOARD_TOKEN_DECIMALS = uint8(0); - uint256 private constant BOARD_MAX_PER_ACCOUNT = uint256(1); - - bool private constant SHARE_TRANSFERABLE = true; - uint8 private constant SHARE_TOKEN_DECIMALS = uint8(18); - uint256 private constant SHARE_MAX_PER_ACCOUNT = uint256(0); - - uint64 private constant DEFAULT_FINANCE_PERIOD = uint64(30 days); - - uint256 private constant BUY_FEE_PCT = 0; - uint256 private constant SELL_FEE_PCT = 0; - - uint32 private constant DAI_RESERVE_RATIO = 100000; // 10% - uint32 private constant ANT_RESERVE_RATIO = 10000; // 1% - - bytes32 private constant BANCOR_FORMULA_ID = 0xd71dde5e4bea1928026c1779bde7ed27bd7ef3d0ce9802e4117631eb6fa4ed7d; - bytes32 private constant PRESALE_ID = 0x5de9bbdeaf6584c220c7b7f1922383bcd8bbcd4b48832080afd9d5ebf9a04df5; - bytes32 private constant MARKET_MAKER_ID = 0xc2bb88ab974c474221f15f691ed9da38be2f5d37364180cec05403c656981bf0; - // eth-ens-namehash(config.fundraisingName) - bytes32 private constant ARAGON_FUNDRAISING_ID = 0x5fc8fca88a696fa79cf16460ed65d5ab1181e24a79c34c66848b71051ed65ea6; - bytes32 private constant TAP_ID = 0x82967efab7144b764bc9bca2f31a721269b6618c0ff4e50545737700a5e9c9dc; - - struct Cache { - address dao; - address boardTokenManager; - address boardVoting; - address vault; - address finance; - address shareVoting; - address shareTokenManager; - address reserve; - address presale; - address marketMaker; - address tap; - address controller; - } - - address[] public collaterals; - mapping (address => Cache) private cache; - - constructor( - DAOFactory _daoFactory, - ENS _ens, - MiniMeTokenFactory _miniMeFactory, - IFIFSResolvingRegistrar _aragonID, - address _dai, - address _ant - ) - BaseTemplate(_daoFactory, _ens, _miniMeFactory, _aragonID) - public - { - _ensureAragonIdIsValid(_aragonID); - _ensureMiniMeFactoryIsValid(_miniMeFactory); - require(isContract(_dai), ERROR_BAD_SETTINGS); - require(isContract(_ant), ERROR_BAD_SETTINGS); - require(_dai != _ant, ERROR_BAD_SETTINGS); - - collaterals.push(_dai); - collaterals.push(_ant); - } - - /***** external functions *****/ - - function prepareInstance( - string _boardTokenName, - string _boardTokenSymbol, - address[] _boardMembers, - uint64[3] _boardVotingSettings, - uint64 _financePeriod - ) - external - { - require(_boardMembers.length > 0, ERROR_BAD_SETTINGS); - require(_boardVotingSettings.length == 3, ERROR_BAD_SETTINGS); - - // deploy DAO - (Kernel dao, ACL acl) = _createDAO(); - // deploy board token - MiniMeToken boardToken = _createToken(_boardTokenName, _boardTokenSymbol, BOARD_TOKEN_DECIMALS); - // install board apps - TokenManager tm = _installBoardApps(dao, boardToken, _boardVotingSettings, _financePeriod); - // mint board tokens - _mintTokens(acl, tm, _boardMembers, 1); - // cache DAO - _cacheDao(dao); - } - - function installShareApps( - string _shareTokenName, - string _shareTokenSymbol, - uint64[3] _shareVotingSettings - ) - external - { - require(_shareVotingSettings.length == 3, ERROR_BAD_SETTINGS); - _ensureBoardAppsCache(); - - Kernel dao = _daoCache(); - // deploy share token - MiniMeToken shareToken = _createToken(_shareTokenName, _shareTokenSymbol, SHARE_TOKEN_DECIMALS); - // install share apps - _installShareApps(dao, shareToken, _shareVotingSettings); - // setup board apps permissions [now that share apps have been installed] - _setupBoardPermissions(dao); - } - - function installFundraisingApps( - uint256 _goal, - uint64 _period, - uint256 _exchangeRate, - uint64 _vestingCliffPeriod, - uint64 _vestingCompletePeriod, - uint256 _supplyOfferedPct, - uint256 _fundingForBeneficiaryPct, - uint64 _openDate, - uint256 _batchBlocks, - uint256 _maxTapRateIncreasePct, - uint256 _maxTapFloorDecreasePct - ) - external - { - _ensureShareAppsCache(); - - Kernel dao = _daoCache(); - // install fundraising apps - _installFundraisingApps( - dao, - _goal, - _period, - _exchangeRate, - _vestingCliffPeriod, - _vestingCompletePeriod, - _supplyOfferedPct, - _fundingForBeneficiaryPct, - _openDate, - _batchBlocks, - _maxTapRateIncreasePct, - _maxTapFloorDecreasePct - ); - // setup share apps permissions [now that fundraising apps have been installed] - _setupSharePermissions(dao); - } - - function setupFundraisingPermissions() external { - _ensureFundraisingAppsCache(); - - // setup fundraising apps permissions - Kernel _dao = _daoCache(); - ACL acl = ACL(_dao.acl()); - - (, Voting boardVoting,,) = _boardAppsCache(); - (, Voting shareVoting) = _shareAppsCache(); - (Agent reserve, Presale presale, MarketMaker marketMaker, Tap tap, Controller controller) = _fundraisingAppsCache(); - - // reserve - address[] memory grantees = new address[](2); - grantees[0] = address(tap); - grantees[1] = address(marketMaker); - acl.createPermission(shareVoting, reserve, reserve.SAFE_EXECUTE_ROLE(), shareVoting); - acl.createPermission(controller, reserve, reserve.ADD_PROTECTED_TOKEN_ROLE(), shareVoting); - _createPermissions(acl, grantees, reserve, reserve.TRANSFER_ROLE(), shareVoting); - // presale - acl.createPermission(controller, presale, presale.OPEN_ROLE(), shareVoting); - acl.createPermission(controller, presale, presale.CONTRIBUTE_ROLE(), shareVoting); - // market maker - acl.createPermission(controller, marketMaker, marketMaker.OPEN_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.UPDATE_BENEFICIARY_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.UPDATE_FEES_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.REMOVE_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.UPDATE_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.OPEN_BUY_ORDER_ROLE(), shareVoting); - acl.createPermission(controller, marketMaker, marketMaker.OPEN_SELL_ORDER_ROLE(), shareVoting); - // tap - acl.createPermission(controller, tap, tap.UPDATE_BENEFICIARY_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.ADD_TAPPED_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.UPDATE_TAPPED_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.RESET_TAPPED_TOKEN_ROLE(), shareVoting); - acl.createPermission(controller, tap, tap.WITHDRAW_ROLE(), shareVoting); - // controller - // ADD_COLLATERAL_TOKEN_ROLE is handled later [after collaterals have been added] - acl.createPermission(shareVoting, controller, controller.UPDATE_BENEFICIARY_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.UPDATE_FEES_ROLE(), shareVoting); - // acl.createPermission(shareVoting, controller, controller.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.REMOVE_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.UPDATE_COLLATERAL_TOKEN_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.ADD_TOKEN_TAP_ROLE(), shareVoting); - acl.createPermission(shareVoting, controller, controller.UPDATE_TOKEN_TAP_ROLE(), shareVoting); - acl.createPermission(boardVoting, controller, controller.OPEN_PRESALE_ROLE(), shareVoting); - acl.createPermission(presale, controller, controller.OPEN_TRADING_ROLE(), shareVoting); - acl.createPermission(address(-1), controller, controller.CONTRIBUTE_ROLE(), shareVoting); - acl.createPermission(address(-1), controller, controller.OPEN_BUY_ORDER_ROLE(), shareVoting); - acl.createPermission(address(-1), controller, controller.OPEN_SELL_ORDER_ROLE(), shareVoting); - acl.createPermission(address(-1), controller, controller.WITHDRAW_ROLE(), shareVoting); - } - - function finalizeInstance( - string _id, - uint256[2] _virtualSupplies, - uint256[2] _virtualBalances, - uint256[2] _slippages, - uint256 _rateDAI, - uint256 _floorDAI - ) - external - { - require(bytes(_id).length > 0, ERROR_BAD_SETTINGS); - require(_virtualSupplies.length == 2, ERROR_BAD_SETTINGS); - require(_virtualBalances.length == 2, ERROR_BAD_SETTINGS); - require(_slippages.length == 2, ERROR_BAD_SETTINGS); - _ensureFundraisingAppsCache(); - - Kernel dao = _daoCache(); - ACL acl = ACL(dao.acl()); - (, Voting shareVoting) = _shareAppsCache(); - - // setup collaterals - _setupCollaterals(dao, _virtualSupplies, _virtualBalances, _slippages, _rateDAI, _floorDAI); - // setup EVM script registry permissions - _createEvmScriptsRegistryPermissions(acl, shareVoting, shareVoting); - // clear DAO permissions - _transferRootPermissionsFromTemplateAndFinalizeDAO(dao, shareVoting, shareVoting); - // register id - _registerID(_id, address(dao)); - // clear cache - _clearCache(); - } - - /***** internal apps installation functions *****/ - - function _installBoardApps(Kernel _dao, MiniMeToken _token, uint64[3] _votingSettings, uint64 _financePeriod) - internal - returns (TokenManager) - { - TokenManager tm = _installTokenManagerApp(_dao, _token, BOARD_TRANSFERABLE, BOARD_MAX_PER_ACCOUNT); - Voting voting = _installVotingApp(_dao, _token, _votingSettings); - Vault vault = _installVaultApp(_dao); - Finance finance = _installFinanceApp(_dao, vault, _financePeriod == 0 ? DEFAULT_FINANCE_PERIOD : _financePeriod); - - _cacheBoardApps(tm, voting, vault, finance); - - return tm; - } - - function _installShareApps(Kernel _dao, MiniMeToken _shareToken, uint64[3] _shareVotingSettings) - internal - { - TokenManager tm = _installTokenManagerApp(_dao, _shareToken, SHARE_TRANSFERABLE, SHARE_MAX_PER_ACCOUNT); - Voting voting = _installVotingApp(_dao, _shareToken, _shareVotingSettings); - - _cacheShareApps(tm, voting); - } - - function _installFundraisingApps( - Kernel _dao, - uint256 _goal, - uint64 _period, - uint256 _exchangeRate, - uint64 _vestingCliffPeriod, - uint64 _vestingCompletePeriod, - uint256 _supplyOfferedPct, - uint256 _fundingForBeneficiaryPct, - uint64 _openDate, - uint256 _batchBlocks, - uint256 _maxTapRateIncreasePct, - uint256 _maxTapFloorDecreasePct - ) - internal - { - _proxifyFundraisingApps(_dao); - - _initializePresale( - _goal, - _period, - _exchangeRate, - _vestingCliffPeriod, - _vestingCompletePeriod, - _supplyOfferedPct, - _fundingForBeneficiaryPct, - _openDate - ); - _initializeMarketMaker(_batchBlocks); - _initializeTap(_batchBlocks, _maxTapRateIncreasePct, _maxTapFloorDecreasePct); - _initializeController(); - } - - function _proxifyFundraisingApps(Kernel _dao) internal { - Agent reserve = _installNonDefaultAgentApp(_dao); - Presale presale = Presale(_registerApp(_dao, PRESALE_ID)); - MarketMaker marketMaker = MarketMaker(_registerApp(_dao, MARKET_MAKER_ID)); - Tap tap = Tap(_registerApp(_dao, TAP_ID)); - Controller controller = Controller(_registerApp(_dao, ARAGON_FUNDRAISING_ID)); - - _cacheFundraisingApps(reserve, presale, marketMaker, tap, controller); - } - - /***** internal apps initialization functions *****/ - - function _initializePresale( - uint256 _goal, - uint64 _period, - uint256 _exchangeRate, - uint64 _vestingCliffPeriod, - uint64 _vestingCompletePeriod, - uint256 _supplyOfferedPct, - uint256 _fundingForBeneficiaryPct, - uint64 _openDate - ) - internal - { - _presaleCache().initialize( - _controllerCache(), - _shareTMCache(), - _reserveCache(), - _vaultCache(), - collaterals[0], - _goal, - _period, - _exchangeRate, - _vestingCliffPeriod, - _vestingCompletePeriod, - _supplyOfferedPct, - _fundingForBeneficiaryPct, - _openDate - ); - } - - function _initializeMarketMaker(uint256 _batchBlocks) internal { - IBancorFormula bancorFormula = IBancorFormula(_latestVersionAppBase(BANCOR_FORMULA_ID)); - - (,, Vault beneficiary,) = _boardAppsCache(); - (TokenManager shareTM,) = _shareAppsCache(); - (Agent reserve,, MarketMaker marketMaker,, Controller controller) = _fundraisingAppsCache(); - - marketMaker.initialize(controller, shareTM, bancorFormula, reserve, beneficiary, _batchBlocks, BUY_FEE_PCT, SELL_FEE_PCT); - } - - function _initializeTap(uint256 _batchBlocks, uint256 _maxTapRateIncreasePct, uint256 _maxTapFloorDecreasePct) internal { - (,, Vault beneficiary,) = _boardAppsCache(); - (Agent reserve,,, Tap tap, Controller controller) = _fundraisingAppsCache(); - - tap.initialize(controller, reserve, beneficiary, _batchBlocks, _maxTapRateIncreasePct, _maxTapFloorDecreasePct); - } - - function _initializeController() internal { - (Agent reserve, Presale presale, MarketMaker marketMaker, Tap tap, Controller controller) = _fundraisingAppsCache(); - address[] memory toReset = new address[](1); - toReset[0] = collaterals[0]; - controller.initialize(presale, marketMaker, reserve, tap, toReset); - } - - /***** internal setup functions *****/ - - function _setupCollaterals( - Kernel _dao, - uint256[2] _virtualSupplies, - uint256[2] _virtualBalances, - uint256[2] _slippages, - uint256 _rateDAI, - uint256 _floorDAI - ) - internal - { - ACL acl = ACL(_dao.acl()); - (, Voting shareVoting) = _shareAppsCache(); - (,,,, Controller controller) = _fundraisingAppsCache(); - - // create and grant ADD_COLLATERAL_TOKEN_ROLE to this template - _createPermissionForTemplate(acl, address(controller), controller.ADD_COLLATERAL_TOKEN_ROLE()); - // add DAI both as a protected collateral and a tapped token - controller.addCollateralToken( - collaterals[0], - _virtualSupplies[0], - _virtualBalances[0], - DAI_RESERVE_RATIO, - _slippages[0], - _rateDAI, - _floorDAI - ); - // add ANT as a protected collateral [but not as a tapped token] - controller.addCollateralToken( - collaterals[1], - _virtualSupplies[1], - _virtualBalances[1], - ANT_RESERVE_RATIO, - _slippages[1], - 0, - 0 - ); - // transfer ADD_COLLATERAL_TOKEN_ROLE - _transferPermissionFromTemplate(acl, controller, shareVoting, controller.ADD_COLLATERAL_TOKEN_ROLE(), shareVoting); - } - - /***** internal permissions functions *****/ - - function _setupBoardPermissions(Kernel _dao) internal { - ACL acl = ACL(_dao.acl()); - - (TokenManager boardTM, Voting boardVoting, Vault vault, Finance finance) = _boardAppsCache(); - (, Voting shareVoting) = _shareAppsCache(); - - // token manager - _createTokenManagerPermissions(acl, boardTM, boardVoting, shareVoting); - // voting - _createVotingPermissions(acl, boardVoting, boardVoting, boardTM, shareVoting); - // vault - _createVaultPermissions(acl, vault, finance, shareVoting); - // finance - _createFinancePermissions(acl, finance, boardVoting, shareVoting); - _createFinanceCreatePaymentsPermission(acl, finance, boardVoting, shareVoting); - } - - function _setupSharePermissions(Kernel _dao) internal { - ACL acl = ACL(_dao.acl()); - - (TokenManager boardTM,,,) = _boardAppsCache(); - (TokenManager shareTM, Voting shareVoting) = _shareAppsCache(); - (, Presale presale, MarketMaker marketMaker,,) = _fundraisingAppsCache(); - - // token manager - address[] memory grantees = new address[](2); - grantees[0] = address(marketMaker); - grantees[1] = address(presale); - acl.createPermission(marketMaker, shareTM, shareTM.MINT_ROLE(),address(1)); - acl.createPermission(presale, shareTM, shareTM.ISSUE_ROLE(),shareVoting); - acl.createPermission(presale, shareTM, shareTM.ASSIGN_ROLE(),shareVoting); - acl.createPermission(presale, shareTM, shareTM.REVOKE_VESTINGS_ROLE(), shareVoting); - _createPermissions(acl, grantees, shareTM, shareTM.BURN_ROLE(), address(1)); - // voting - _createShareVotingPermissions(acl, shareVoting, shareVoting, boardTM, shareVoting); - } - - function _createShareVotingPermissions( - ACL _acl, - Voting _voting, - address _settingsGrantee, - address _createVotesGrantee, - address _manager - ) - internal - { - _acl.createPermission(_settingsGrantee, _voting, _voting.MODIFY_QUORUM_ROLE(), _manager); - _acl.createPermission(address(1), _voting, _voting.MODIFY_SUPPORT_ROLE(), address(1)); - _acl.createPermission(_createVotesGrantee, _voting, _voting.CREATE_VOTES_ROLE(), _manager); - } - - /***** internal cache functions *****/ - - function _cacheDao(Kernel _dao) internal { - Cache storage c = cache[msg.sender]; - - c.dao = address(_dao); - } - - function _cacheBoardApps(TokenManager _boardTM, Voting _boardVoting, Vault _vault, Finance _finance) internal { - Cache storage c = cache[msg.sender]; - - c.boardTokenManager = address(_boardTM); - c.boardVoting = address(_boardVoting); - c.vault = address(_vault); - c.finance = address(_finance); - } - - function _cacheShareApps(TokenManager _shareTM, Voting _shareVoting) internal { - Cache storage c = cache[msg.sender]; - - c.shareTokenManager = address(_shareTM); - c.shareVoting = address(_shareVoting); - } - - function _cacheFundraisingApps(Agent _reserve, Presale _presale, MarketMaker _marketMaker, Tap _tap, Controller _controller) internal { - Cache storage c = cache[msg.sender]; - - c.reserve = address(_reserve); - c.presale = address(_presale); - c.marketMaker = address(_marketMaker); - c.tap = address(_tap); - c.controller = address(_controller); - } - - function _daoCache() internal view returns (Kernel dao) { - Cache storage c = cache[msg.sender]; - - dao = Kernel(c.dao); - } - - function _boardAppsCache() internal view returns (TokenManager boardTM, Voting boardVoting, Vault vault, Finance finance) { - Cache storage c = cache[msg.sender]; - - boardTM = TokenManager(c.boardTokenManager); - boardVoting = Voting(c.boardVoting); - vault = Vault(c.vault); - finance = Finance(c.finance); - } - - function _shareAppsCache() internal view returns (TokenManager shareTM, Voting shareVoting) { - Cache storage c = cache[msg.sender]; - - shareTM = TokenManager(c.shareTokenManager); - shareVoting = Voting(c.shareVoting); - } - - function _fundraisingAppsCache() internal view returns ( - Agent reserve, - Presale presale, - MarketMaker marketMaker, - Tap tap, - Controller controller - ) - { - Cache storage c = cache[msg.sender]; - - reserve = Agent(c.reserve); - presale = Presale(c.presale); - marketMaker = MarketMaker(c.marketMaker); - tap = Tap(c.tap); - controller = Controller(c.controller); - } - - function _clearCache() internal { - Cache storage c = cache[msg.sender]; - - delete c.dao; - delete c.boardTokenManager; - delete c.boardVoting; - delete c.vault; - delete c.finance; - delete c.shareVoting; - delete c.shareTokenManager; - delete c.reserve; - delete c.presale; - delete c.marketMaker; - delete c.tap; - delete c.controller; - } - - /** - * NOTE - * the following functions are only needed for the presale - * initialization function [which we can't compile otherwise - * because of a `stack too deep` error] - */ - - function _vaultCache() internal view returns (Vault vault) { - Cache storage c = cache[msg.sender]; - - vault = Vault(c.vault); - } - - function _shareTMCache() internal view returns (TokenManager shareTM) { - Cache storage c = cache[msg.sender]; - - shareTM = TokenManager(c.shareTokenManager); - } - - function _reserveCache() internal view returns (Agent reserve) { - Cache storage c = cache[msg.sender]; - - reserve = Agent(c.reserve); - } - - function _presaleCache() internal view returns (Presale presale) { - Cache storage c = cache[msg.sender]; - - presale = Presale(c.presale); - } - - function _controllerCache() internal view returns (Controller controller) { - Cache storage c = cache[msg.sender]; - - controller = Controller(c.controller); - } - - /***** internal check functions *****/ - - function _ensureBoardAppsCache() internal view { - Cache storage c = cache[msg.sender]; - require( - c.boardTokenManager != address(0) && - c.boardVoting != address(0) && - c.vault != address(0) && - c.finance != address(0), - ERROR_MISSING_CACHE - ); - } - - function _ensureShareAppsCache() internal view { - Cache storage c = cache[msg.sender]; - require( - c.shareTokenManager != address(0) && - c.shareVoting != address(0), - ERROR_MISSING_CACHE - ); - } - - function _ensureFundraisingAppsCache() internal view { - Cache storage c = cache[msg.sender]; - require( - c.reserve != address(0) && - c.presale != address(0) && - c.marketMaker != address(0) && - c.tap != address(0) && - c.controller != address(0), - ERROR_MISSING_CACHE - ); - } - - /***** internal utils functions *****/ - - function _registerApp(Kernel _dao, bytes32 _appId) internal returns (address) { - address proxy = _dao.newAppInstance(_appId, _latestVersionAppBase(_appId)); - - emit InstalledApp(proxy, _appId); - - return proxy; - } -} diff --git a/templates/multisig/contracts/test/TestImports.sol b/templates/multisig/contracts/test/TestImports.sol deleted file mode 100644 index 1a18243..0000000 --- a/templates/multisig/contracts/test/TestImports.sol +++ /dev/null @@ -1,15 +0,0 @@ -pragma solidity 0.4.24; - -import "@aragon/id/contracts/FIFSResolvingRegistrar.sol"; -import "@aragon/os/contracts/factory/ENSFactory.sol"; -import "@aragon/os/contracts/factory/APMRegistryFactory.sol"; -import "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol"; -import "@aragon/templates-shared/contracts/Migrations.sol"; - - -// HACK to workaround truffle artifact loading on dependencies -contract TestImports { - constructor() public { - // solium-disable-previous-line no-empty-blocks - } -} \ No newline at end of file diff --git a/templates/multisig/contracts/test/mocks/TokenMock.sol b/templates/multisig/contracts/test/mocks/TokenMock.sol deleted file mode 100644 index d6e67dd..0000000 --- a/templates/multisig/contracts/test/mocks/TokenMock.sol +++ /dev/null @@ -1,112 +0,0 @@ -// Modified from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/a9f910d34f0ab33a1ae5e714f69f9596a02b4d91/contracts/token/ERC20/StandardToken.sol - -pragma solidity 0.4.24; - -import "@aragon/os/contracts/lib/math/SafeMath.sol"; - - -contract TokenMock { - using SafeMath for uint256; - mapping (address => uint256) private balances; - mapping (address => mapping (address => uint256)) private allowed; - uint256 private totalSupply_; - bool private allowTransfer_; - - event Approval(address indexed owner, address indexed spender, uint256 value); - event Transfer(address indexed from, address indexed to, uint256 value); - - string public name; - string public symbol; - uint8 public decimals = 18; - - // Allow us to set the inital balance for an account on construction - constructor(address initialAccount, uint256 initialBalance, string _name, string _symbol) public { - balances[initialAccount] = initialBalance; - totalSupply_ = initialBalance; - allowTransfer_ = true; - name = _name; - symbol = _symbol; - } - - function totalSupply() public view returns (uint256) { return totalSupply_; } - - /** - * @dev Gets the balance of the specified address. - * @param _owner The address to query the the balance of. - * @return An uint256 representing the amount owned by the passed address. - */ - function balanceOf(address _owner) public view returns (uint256) { - return balances[_owner]; - } - - /** - * @dev Function to check the amount of tokens that an owner allowed to a spender. - * @param _owner address The address which owns the funds. - * @param _spender address The address which will spend the funds. - * @return A uint256 specifying the amount of tokens still available for the spender. - */ - function allowance(address _owner, address _spender) public view returns (uint256) { - return allowed[_owner][_spender]; - } - - /** - * @dev Set whether the token is transferable or not - * @param _allowTransfer Should token be transferable - */ - function setAllowTransfer(bool _allowTransfer) public { - allowTransfer_ = _allowTransfer; - } - - /** - * @dev Transfer token for a specified address - * @param _to The address to transfer to. - * @param _value The amount to be transferred. - */ - function transfer(address _to, uint256 _value) public returns (bool) { - require(allowTransfer_); - require(_value <= balances[msg.sender]); - require(_to != address(0)); - - balances[msg.sender] = balances[msg.sender].sub(_value); - balances[_to] = balances[_to].add(_value); - emit Transfer(msg.sender, _to, _value); - return true; - } - - /** - * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. - * 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 - * @param _spender The address which will spend the funds. - * @param _value The amount of tokens to be spent. - */ - function approve(address _spender, uint256 _value) public returns (bool) { - // Assume we want to protect for the race condition - require(allowed[msg.sender][_spender] == 0); - - allowed[msg.sender][_spender] = _value; - emit Approval(msg.sender, _spender, _value); - return true; - } - - /** - * @dev Transfer tokens from one address to another - * @param _from address The address which you want to send tokens from - * @param _to address The address which you want to transfer to - * @param _value uint256 the amount of tokens to be transferred - */ - function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { - require(allowTransfer_); - require(_value <= balances[_from]); - require(_value <= allowed[_from][msg.sender]); - require(_to != address(0)); - - balances[_from] = balances[_from].sub(_value); - balances[_to] = balances[_to].add(_value); - allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); - emit Transfer(_from, _to, _value); - return true; - } -} \ No newline at end of file diff --git a/templates/multisig/lib/TemplatesDeployer.js b/templates/multisig/lib/TemplatesDeployer.js deleted file mode 100644 index aa3b55b..0000000 --- a/templates/multisig/lib/TemplatesDeployer.js +++ /dev/null @@ -1,226 +0,0 @@ -const { hash: namehash } = require('eth-ens-namehash') - -const logDeploy = require('@aragon/os/scripts/helpers/deploy-logger') -const deployAPM = require('@aragon/os/scripts/deploy-apm') -const deployENS = require('@aragon/os/scripts/deploy-test-ens') -const deployAragonID = require('@aragon/id/scripts/deploy-beta-aragonid') -const deployDAOFactory = require('@aragon/os/scripts/deploy-daofactory') - -const { defaultTokenSymbol } = require('../../../config'); - -module.exports = class TemplateDeployer { - constructor(web3, artifacts, owner, options = { verbose: false }) { - this.web3 = web3 - this.artifacts = artifacts - this.owner = owner - this.options = { ...options } - } - - async deploy(templateName, contractName) { - await this.fetchOrDeployDependencies() - const template = await this.deployTemplate(contractName) - await this.registerDeploy(templateName, template) - return template - } - - async deployTemplate(contractName) { - const TokenMock = this.artifacts.require('TokenMock') - const DAI = await TokenMock.new('0xb4124cEB3451635DAcedd11767f004d8a28c6eE7', 1000000000000000000, defaultTokenSymbol, defaultTokenSymbol) - this.log(`Test DAI deployed at ${DAI.address}`) - const ANT = await TokenMock.new('0xb4124cEB3451635DAcedd11767f004d8a28c6eE7', 1000000000000000000, 'ANT', 'ANT') - this.log(`Test ANT deployed at ${ANT.address}`) - const Template = this.artifacts.require(contractName) - const template = await Template.new(this.daoFactory.address, this.ens.address, this.miniMeFactory.address, this.aragonID.address, DAI.address, ANT.address) - let receipt = await this.web3.eth.getTransactionReceipt(template.transactionHash) - this.log(`Gas used to deploy template: + ${receipt.gasUsed}`) - await logDeploy(template) - return template - } - - async fetchOrDeployDependencies() { - await this._fetchOrDeployENS() - await this._fetchOrDeployAPM() - await this._fetchOrDeployAragonID() - await this._fetchOrDeployDAOFactory() - await this._fetchOrDeployMiniMeFactory() - await this._checkAppsDeployment() - } - - async registerDeploy(templateName, template) { - if ((await this.isLocal()) && !(await this._isPackageRegistered(templateName))) { - await this._registerPackage(templateName, template) - } - await this._writeArappFile(templateName, template) - } - - async _checkAppsDeployment() { - for (const { name, contractName } of this.options.apps) { - if (await this._isPackageRegistered(name)) { - this.log(`Using registered ${name} app`) - } else if (await this.isLocal()) { - await this._registerApp(name, contractName) - } else { - this.log(`No ${name} app registered`) - } - } - } - - async _fetchOrDeployENS() { - const ENS = this.artifacts.require('ENS') - if (this.options.ens) { - this.log(`Using provided ENS: ${this.options.ens}`) - this.ens = ENS.at(this.options.ens) - } else if (await this.arappENS()) { - const ensAddress = await this.arappENS() - this.log(`Using ENS from arapp json file: ${ensAddress}`) - this.ens = ENS.at(ensAddress) - } else if (await this.isLocal()) { - const { ens } = await deployENS(null, { web3: this.web3, artifacts: this.artifacts, owner: this.owner, verbose: this.verbose }) - this.log('Deployed ENS:', ens.address) - this.ens = ens - } else { - this.error('Please provide an ENS instance, aborting.') - } - } - - async _fetchOrDeployAPM() { - const APM = this.artifacts.require('APMRegistry') - if (this.options.apm) { - this.log(`Using provided APM: ${this.options.apm}`) - this.apm = APM.at(this.options.apm) - } else { - if (await this._isAPMRegistered()) { - const apmAddress = await this._fetchRegisteredAPM() - this.log(`Using APM registered at aragonpm.eth: ${apmAddress}`) - this.apm = APM.at(apmAddress) - } else if (await this.isLocal()) { - await deployAPM(null, { artifacts: this.artifacts, web3: this.web3, owner: this.owner, ensAddress: this.ens.address, verbose: this.verbose }) - const apmAddress = await this._fetchRegisteredAPM() - if (!apmAddress) this.error('Local APM deployment failed, aborting.') - this.log('Deployed APM:', apmAddress) - this.apm = APM.at(apmAddress) - } else { - this.error('Please provide an APM instance or make sure there is one registered under "aragonpm.eth", aborting.') - } - } - } - - async _fetchOrDeployAragonID() { - const FIFSResolvingRegistrar = this.artifacts.require('FIFSResolvingRegistrar') - if (this.options.aragonID) { - this.log(`Using provided aragonID: ${this.options.aragonID}`) - this.aragonID = FIFSResolvingRegistrar.at(this.options.aragonID) - } else { - if (await this._isAragonIdRegistered()) { - const aragonIDAddress = await this._fetchRegisteredAragonID() - this.log(`Using aragonID registered at aragonid.eth: ${aragonIDAddress}`) - this.aragonID = FIFSResolvingRegistrar.at(aragonIDAddress) - } else if (await this.isLocal()) { - await deployAragonID(null, { artifacts: this.artifacts, web3: this.web3, owner: this.owner, ensAddress: this.ens.address, verbose: this.verbose }) - const aragonIDAddress = await this._fetchRegisteredAragonID() - if (!aragonIDAddress) this.error('Local aragon ID deployment failed, aborting.') - this.log('Deployed aragonID:', aragonIDAddress) - this.aragonID = FIFSResolvingRegistrar.at(aragonIDAddress) - } else { - this.error('Please provide an aragon ID instance or make sure there is one registered under "aragonid.eth", aborting.') - } - } - } - - async _fetchOrDeployDAOFactory() { - const DAOFactory = this.artifacts.require('DAOFactory') - if (this.options.daoFactory) { - this.log(`Using provided DAOFactory: ${this.options.daoFactory}`) - this.daoFactory = DAOFactory.at(this.options.daoFactory) - } else { - const { daoFactory } = await deployDAOFactory(null, { artifacts: this.artifacts, owner: this.owner, verbose: this.verbose }) - this.log('Deployed DAOFactory:', daoFactory.address) - this.daoFactory = daoFactory - } - } - - async _fetchOrDeployMiniMeFactory() { - const MiniMeTokenFactory = this.artifacts.require('MiniMeTokenFactory') - if (this.options.miniMeFactory) { - this.log(`Using provided MiniMeTokenFactory: ${this.options.miniMeFactory}`) - this.miniMeFactory = MiniMeTokenFactory.at(this.options.miniMeFactory) - } else { - this.miniMeFactory = await MiniMeTokenFactory.new() - this.log('Deployed MiniMeTokenFactory:', this.miniMeFactory.address) - } - } - - async _fetchRegisteredAPM() { - const aragonPMHash = namehash('aragonpm.eth') - const PublicResolver = this.artifacts.require('PublicResolver') - const resolver = PublicResolver.at(await this.ens.resolver(aragonPMHash)) - return resolver.addr(aragonPMHash) - } - - async _fetchRegisteredAragonID() { - const aragonIDHash = namehash('aragonid.eth') - return this.ens.owner(aragonIDHash) - } - - async _registerApp(name, contractName) { - const app = await this.artifacts.require(contractName).new() - return this._registerPackage(name, app) - } - - async _registerPackage(name, instance) { - this.log(`Registering package for ${instance.constructor.contractName} as "${name}.aragonpm.eth"`) - return this.apm.newRepoWithVersion(name, this.owner, [1, 0, 0], instance.address, '') - } - - async _isAPMRegistered() { - return this._isRepoRegistered(namehash('aragonpm.eth')) - } - - async _isAragonIdRegistered() { - return this._isRepoRegistered(namehash('aragonid.eth')) - } - - async _isPackageRegistered(name) { - return this._isRepoRegistered(namehash(`${name}.aragonpm.eth`)) - } - - async _isRepoRegistered(hash) { - const owner = await this.ens.owner(hash) - return owner !== '0x0000000000000000000000000000000000000000' && owner !== '0x' - } - - async _writeArappFile(templateName, template) { - const { - address, - constructor: { contractName }, - } = template - await this.arapp.write(templateName, address, contractName, this.ens.address) - this.log(`Template addresses saved to ${await this.arapp.filePath()}`) - } - - async arappENS() { - const environment = await this.arapp.deployedAddresses() - return environment.registry - } - - async isLocal() { - const { isLocalNetwork } = require('./network')(this.web3) - return isLocalNetwork() - } - - get arapp() { - return require('./arapp-file')(this.web3) - } - - get verbose() { - return this.options.verbose - } - - log(...args) { - console.log(...args) - } - - error(message) { - throw new Error(message) - } -} diff --git a/templates/multisig/lib/arapp-file.js b/templates/multisig/lib/arapp-file.js deleted file mode 100644 index 5b2c113..0000000 --- a/templates/multisig/lib/arapp-file.js +++ /dev/null @@ -1,48 +0,0 @@ -const fs = require('fs') -const path = require('path') - -const FILE_NAME = 'arapp.json' -const LOCAL_FILE_NAME = 'arapp_local.json' -const DEFAULT_ARAPP_FILE = { environments: {} } - -module.exports = web3 => { - const { isLocalNetwork, getNetworkName } = require('./network')(web3) - - async function arappFileName() { - return (await isLocalNetwork()) ? LOCAL_FILE_NAME : FILE_NAME - } - - async function arappFilePath() { - return path.resolve(await arappFileName()) - } - - async function read() { - const filePath = await arappFilePath() - const file = fs.existsSync(filePath) ? require(filePath) : DEFAULT_ARAPP_FILE - if (!file.environments) file.environments = {} - return file - } - - async function deployedAddresses() { - const network = await getNetworkName() - const file = await read() - return file.environments[network] || {} - } - - async function write(appName, address, contractName, registry) { - const network = await getNetworkName() - const data = await read() - data.path = `contracts/${contractName}.sol` - if (data.environments === undefined) data.environments = {} - data.environments[network] = { appName: `${appName}.aragonpm.eth`, address, network, registry } - fs.writeFileSync(await arappFilePath(), JSON.stringify(data, null, 2)) - } - - return { - read, - write, - deployedAddresses, - fileName: arappFileName, - filePath: arappFilePath, - } -} diff --git a/templates/multisig/lib/deploy-template.js b/templates/multisig/lib/deploy-template.js deleted file mode 100644 index c011591..0000000 --- a/templates/multisig/lib/deploy-template.js +++ /dev/null @@ -1,30 +0,0 @@ -const { APPS } = require('@aragon/templates-shared/helpers/apps') -const getAccounts = require('@aragon/os/scripts/helpers/get-accounts') -const TemplatesDeployer = require('./TemplatesDeployer') - -const errorOut = message => { - console.error(message) - throw new Error(message) -} - -module.exports = async function deployTemplate(web3, artifacts, templateName, contractName, apps = APPS) { - let { ens, owner, verbose, daoFactory, miniMeFactory } = require('yargs') - .option('e', { alias: 'ens', describe: 'ENS address', type: 'string' }) - .option('o', { alias: 'owner', describe: 'Sender address. Will use first address if no one is given.', type: 'string' }) - .option('v', { alias: 'verbose', describe: 'Verbose mode', type: 'boolean', default: false }) - .option('df', { alias: 'dao-factory', describe: 'DAO Factory address. Will deploy new instance if not given.', type: 'string' }) - .option('mf', { alias: 'mini-me-factory', describe: 'MiniMe Factory address. Will deploy new instance if not given.', type: 'string' }) - .help('help') - .parse() - - if (!web3) errorOut('Missing "web3" object. This script must be run with a "web3" object globally defined, for example through "truffle exec".') - if (!artifacts) - errorOut('Missing "artifacts" object. This script must be run with an "artifacts" object globally defined, for example through "truffle exec".') - if (!owner) owner = (await getAccounts(web3))[0] - if (!owner) errorOut('Missing sender address. Please specify one using "--owner" or make sure your web3 instance has one loaded.') - if (!templateName) errorOut('Missing template id.') - if (!contractName) errorOut('Missing template contract name.') - - const deployer = new TemplatesDeployer(web3, artifacts, owner, { apps, ens, verbose, daoFactory, miniMeFactory }) - return deployer.deploy(templateName, contractName) -} diff --git a/templates/multisig/lib/network.js b/templates/multisig/lib/network.js deleted file mode 100644 index 18df9e8..0000000 --- a/templates/multisig/lib/network.js +++ /dev/null @@ -1,26 +0,0 @@ -const DEFAULT_NETWORK = 'devnet' -const LOCAL_NETWORKS = ['devnet', 'rpc'] - -module.exports = web3 => { - async function getNetworkId() { - return new Promise((resolve, reject) => web3.version.getNetwork((error, result) => (error ? reject(error) : resolve(result)))) - } - - async function getNetworkName() { - const id = await getNetworkId() - const { networks } = require('@aragon/os/truffle-config') - const networkName = Object.keys(networks).find(name => networks[name].network_id == id) - return networkName || DEFAULT_NETWORK - } - - async function isLocalNetwork() { - const networkName = await getNetworkName() - return LOCAL_NETWORKS.includes(networkName) - } - - return { - getNetworkId, - getNetworkName, - isLocalNetwork, - } -} diff --git a/templates/multisig/manifest.json b/templates/multisig/manifest.json deleted file mode 100644 index a69b9cf..0000000 --- a/templates/multisig/manifest.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "Fundraising with Multisig Template" -} diff --git a/templates/multisig/migrations/.keep b/templates/multisig/migrations/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/templates/multisig/package.json b/templates/multisig/package.json deleted file mode 100755 index 6486620..0000000 --- a/templates/multisig/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "@ablack/fundraising-templates-multisig", - "version": "1.0.0", - "author": "Aragon Assocation ", - "contributors": [ - "Olivier Sarrouy " - ], - "license": "(GPL-3.0-or-later OR AGPL-3.0-or-later)", - "homepage": "https://github.com/AragonBlack/fundraising", - "scripts": { - "lint": "solium --dir ./contracts --config ../../.soliumrc.json", - "compile": "truffle compile --all", - "test": "npm run test:ganache", - "test:ganache": "./node_modules/@aragon/templates-shared/scripts/test-ganache.sh", - "test:geth": "npm run docker:run && npm run docker:wait-gas && npm run deploy:devnet && truffle test --network devnet && npm run docker:stop", - "docker:run": "cd ./node_modules/@aragon/templates-shared/; docker-compose -f docker-compose.yml up -d; RESULT=$?; cd -; $(exit $RESULT)", - "docker:stop": "cd ./node_modules/@aragon/templates-shared/; docker-compose down; cd -", - "docker:wait-gas": "truffle exec ./node_modules/@aragon/templates-shared/scripts/sleep-until-gaslimit.js --network devnet 6900000", - "prepublishOnly": "npm run compile && npm run abi:extract -- --no-compile", - "abi:extract": "truffle-extract --output abi/ --keys abi", - "deploy:arachain": "npm run compile && truffle exec scripts/deploy_raw.js rpc --network rpc", - "deploy:rpc": "npm run compile && truffle exec ./scripts/deploy.js --network rpc", - "deploy:devnet": "npm run compile && truffle exec ./scripts/deploy.js --network devnet", - "deploy:staging": "npm run compile && truffle exec ./scripts/deploy.js --network rinkeby --ens 0xfe03625ea880a8cba336f9b5ad6e15b0a3b5a939", - "deploy:rinkeby": "npm run compile && truffle exec scripts/deploy_raw.js rinkeby --network rinkeby", - "deploy:mainnet": "npm run compile && truffle exec ./scripts/deploy_raw.js mainnet --network mainnet", - "publish:arachain": "aragon apm publish major $(npm run deploy:arachain | tail -n 1) --environment default --skip-confirmation true --propagate-content false", - "publish:rpc": "aragon apm publish major $(npm run deploy:rpc | tail -n 1) --environment default", - "publish:devnet": "aragon apm publish major $(npm run deploy:devnet | tail -n 1) --environment default", - "publish:staging": "aragon apm publish major $(npm run deploy:rinkeby | tail -n 1) --environment rinkeby --use-frame", - "publish:hatch": "aragon apm publish major $(npm run deploy:hatch | tail -n 1) --environment hatch --use-frame", - "publish:rinkeby": "aragon apm publish major $(npm run deploy:rinkeby | tail -n 1) --environment rinkeby", - "publish:mainnet": "aragon apm publish major $(npm run deploy:mainnet | tail -n 1) --environment mainnet --use-frame", - "deploy:dao:rpc": "truffle exec scripts/deploy_dao.js --network rpc 0x58d44cc71c52a9968425a420be69c31eb313486f", - "deploy:dao:rinkeby": "truffle exec scripts/deploy_dao.js --network rinkeby $(aragon apm versions --env rinkeby | tail -n 1 | cut -d ' ' -f 3)", - "deploy:dao:mainnet": "truffle exec scripts/deploy_dao.js --network frame $(aragon apm versions --env mainnet | tail -n 1 | cut -d ' ' -f 3)", - "publish": "npm run publish:arachain" - }, - "files": [ - "/abi", - "/arapp.json", - "/build", - "/contracts", - "/lib", - "/scripts", - "/test" - ], - "dependencies": { - "@ablack/fundraising-aragon-fundraising": "^1.0.0", - "@ablack/fundraising-bancor-formula": "^1.0.0", - "@ablack/fundraising-batched-bancor-market-maker": "^1.0.0", - "@ablack/fundraising-presale": "^1.0.0", - "@ablack/fundraising-tap": "^1.0.0", - "@aragon/apps-agent": "^2.0.0-rc.1", - "@aragon/apps-finance": "^3.0.0", - "@aragon/apps-shared-minime": "^1.0.0", - "@aragon/apps-token-manager": "^2.1.0", - "@aragon/apps-vault": "^4.1.0", - "@aragon/apps-voting": "^2.1.0", - "@aragon/id": "2.0.3", - "@aragon/os": "4.2.1", - "@aragon/templates-shared": "1.0.0" - }, - "devDependencies": { - "@ablack/fundraising-shared-interfaces": "^1.0.0", - "@ablack/fundraising-shared-test-helpers": "^1.0.0", - "@aragon/apps-payroll": "^1.0.0-rc.1", - "@aragon/apps-survey": "^1.0.0", - "@aragon/cli": "^7.0.3", - "@aragon/ppf-contracts": "^1.2.0", - "@aragon/test-helpers": "^2.0.0", - "eth-gas-reporter": "^0.2.0", - "ethereumjs-testrpc-sc": "^6.5.1-sc.0", - "ganache-cli": "^6.4.3", - "solium": "^1.2.3", - "truffle": "4.1.14", - "truffle-extract": "^1.2.1", - "web3-eth-abi": "1.2.4" - } -} diff --git a/templates/multisig/scripts/deploy.js b/templates/multisig/scripts/deploy.js deleted file mode 100755 index 0d62f28..0000000 --- a/templates/multisig/scripts/deploy.js +++ /dev/null @@ -1,26 +0,0 @@ -const deployTemplate = require('../lib/deploy-template') - -const TEMPLATE_NAME = 'fundraising-multisig-template' -const CONTRACT_NAME = 'FundraisingMultisigTemplate' - -const APPS = [ - { name: 'agent', contractName: 'Agent' }, - { name: 'token-manager', contractName: 'TokenManager' }, - { name: 'voting', contractName: 'Voting' }, - { name: 'vault', contractName: 'Vault' }, - { name: 'finance', contractName: 'Finance' }, - { name: 'bancor-formula', contractName: 'BancorFormula' }, - { name: 'batched-bancor-market-maker', contractName: 'BatchedBancorMarketMaker' }, - { name: 'tap', contractName: 'Tap' }, - { name: 'aragon-fundraising', contractName: 'AragonFundraisingController' }, - { name: 'presale', contractName: 'Presale' }, -] - -module.exports = callback => { - deployTemplate(web3, artifacts, TEMPLATE_NAME, CONTRACT_NAME, APPS) - .then(template => { - console.log(template.address) - callback() - }) - .catch(callback) -} diff --git a/templates/multisig/scripts/deploy_dao.js b/templates/multisig/scripts/deploy_dao.js deleted file mode 100644 index 4d104e3..0000000 --- a/templates/multisig/scripts/deploy_dao.js +++ /dev/null @@ -1,79 +0,0 @@ -const Template = artifacts.require('FundraisingMultisigTemplate') - -const { getEventArgument } = require('@aragon/test-helpers/events') - -const HOURS = 3600 -const DAYS = 24 * 3600 -const WEEKS = 7 * DAYS -const PPM = 1e6 - -const { orgName, orgBoardMembers, orgBoardTokenName, orgBoardTokenSymbol, orgShareTokenName, orgShareTokenSymbol } = require('../../../config'); - -const BOARD_VOTE_DURATION = WEEKS -const BOARD_SUPPORT_REQUIRED = 50e16 -const BOARD_MIN_ACCEPTANCE_QUORUM = 40e16 -const BOARD_VOTING_SETTINGS = [BOARD_SUPPORT_REQUIRED, BOARD_MIN_ACCEPTANCE_QUORUM, BOARD_VOTE_DURATION] - -const SHARE_VOTE_DURATION = WEEKS -const SHARE_SUPPORT_REQUIRED = 50e16 -const SHARE_MIN_ACCEPTANCE_QUORUM = 5e16 -const SHARE_VOTING_SETTINGS = [SHARE_SUPPORT_REQUIRED, SHARE_MIN_ACCEPTANCE_QUORUM, SHARE_VOTE_DURATION] - -const PRESALE_GOAL = 100e18 -const PRESALE_EXCHANGE_RATE = 2 * PPM -// const PRESALE_PERIOD = 14 * DAYS -const PRESALE_PERIOD = 0.17 * HOURS -// const VESTING_CLIFF_PERIOD = 90 * DAYS -const VESTING_CLIFF_PERIOD = 0.18 * HOURS -// const VESTING_COMPLETE_PERIOD = 360 * DAYS -const VESTING_COMPLETE_PERIOD = 0.19 * HOURS -const PERCENT_SUPPLY_OFFERED = 0.9 * PPM // 90% -const PERCENT_FUNDING_FOR_BENEFICIARY = 0.25 * PPM // 25% - -const MAXIMUM_TAP_RATE_INCREASE_PCT = 5 * Math.pow(10, 17) -const MAXIMUM_TAP_FLOOR_DECREASE_PCT = 5 * Math.pow(10, 17) - -const VIRTUAL_SUPPLIES = [Math.pow(10, 23), Math.pow(10, 23)] -const VIRTUAL_BALANCES = [Math.pow(10, 22), Math.pow(10, 22)] -const RESERVE_RATIOS = [100000, 10000] -const RATE = 5 * Math.pow(10, 15) -const FLOOR = Math.pow(10, 21) -const SLIPPAGES = [2 * Math.pow(10, 17), Math.pow(10, 18)] -const BATCH_BLOCKS = 1 - -module.exports = async callback => { - try { - const template = await Template.at(process.argv[6]) - - console.log('prepareInstance'); - const receipt = await template.prepareInstance(orgBoardTokenName, orgBoardTokenSymbol, orgBoardMembers, BOARD_VOTING_SETTINGS, 0, { gasPrice: 1000000001 }) - console.log('installShareApps'); - await template.installShareApps(orgShareTokenName, orgShareTokenSymbol, SHARE_VOTING_SETTINGS, { gasPrice: 1000000001 }) - console.log('installFundraisingApps'); - await template.installFundraisingApps( - PRESALE_GOAL, - PRESALE_PERIOD, - PRESALE_EXCHANGE_RATE, - VESTING_CLIFF_PERIOD, - VESTING_COMPLETE_PERIOD, - PERCENT_SUPPLY_OFFERED, - PERCENT_FUNDING_FOR_BENEFICIARY, - 0, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, - { gasPrice: 1000000001 } - ); - - console.log('setupFundraisingPermissions'); - await template.setupFundraisingPermissions(); - console.log('finalizeInstance'); - await template.finalizeInstance(orgName, VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, SLIPPAGES, RATE, FLOOR, { gasPrice: 1000000001, gas: 9500000 }) - const dao = getEventArgument(receipt, 'DeployDao', 'dao') - console.log('DAO deployed at ' + dao, orgName) - } catch (err) { - console.log(err) - } - - callback() -} diff --git a/templates/multisig/scripts/deploy_raw.js b/templates/multisig/scripts/deploy_raw.js deleted file mode 100644 index d0a81ca..0000000 --- a/templates/multisig/scripts/deploy_raw.js +++ /dev/null @@ -1,58 +0,0 @@ -const { hash: namehash } = require('eth-ens-namehash') -const deployDAOFactory = require('@aragon/os/scripts/deploy-daofactory') -const ENS = artifacts.require('ENS') -const MiniMeTokenFactory = artifacts.require('MiniMeTokenFactory') -const TokenMock = artifacts.require('TokenMock') -const FundraisingMultisigTemplate = artifacts.require('FundraisingMultisigTemplate') - -const aragonIDHash = namehash('aragonid.eth') - -const { defaultTokenSymbol, defaultTokenName, mainnet, rinkeby, deployer } = require('../../../config'); - -module.exports = async callback => { - try { - if (process.argv[4] === 'rpc') { - const dai = await TokenMock.new('0xb4124cEB3451635DAcedd11767f004d8a28c6eE7', 100000e18, defaultTokenSymbol, defaultTokenName); - const ant = await TokenMock.new('0xb4124cEB3451635DAcedd11767f004d8a28c6eE7', 100000e18, 'ANT', 'ANT') - const ens = '0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1' - const owner = '0xb4124ceb3451635dacedd11767f004d8a28c6ee7' - const ensRegistry = await ENS.at(ens) - const aragonId = await ensRegistry.owner(aragonIDHash) - const { daoFactory } = await deployDAOFactory(null, { artifacts: artifacts, owner, verbose: false }) - const miniMeFactory = await MiniMeTokenFactory.new() - const template = await FundraisingMultisigTemplate.new(daoFactory.address, ens, miniMeFactory.address, aragonId, dai.address, ant.address) - console.log(template.address) - } else if (process.argv[4] === 'rinkeby') { - const owner = deployer - const ens = '0x98Df287B6C145399Aaa709692c8D308357bC085D' - const daoFactory = '0xfdef49fbfe37704af55636bdd4b6bc8cd19143f6' - const miniMeFactory = '0x6ffeb4038f7f077c4d20eaf1706980caec31e2bf' - const aragonId = '0x3665e7bfd4d3254ae7796779800f5b603c43c60d' - if(!rinkeby.defaultTokenAddress) { - const newDefaultToken = await TokenMock.new(owner, 100000e18, defaultTokenSymbol, defaultTokenName) - rinkeby.defaultTokenAddress = newDefaultToken.address; - console.log('new defaultTokenAddress', rinkeby.defaultTokenAddress); - } - // ANT rinkeby faucet https://faucet.aragon.black/ - const ANT = '0x0d5263b7969144a852d58505602f630f9b20239d' // OK - const template = await FundraisingMultisigTemplate.new(daoFactory, ens, miniMeFactory, aragonId, rinkeby.defaultTokenAddress, ANT, { from: owner }) - console.log(template.address) - } else if (process.argv[4] === 'mainnet') { - const owner = '0x17d38262cEb5317aF645a246B0Ce6FC4cC3088f6' // OK - const ens = '0x314159265dd8dbb310642f98f50c066173c1259b' // OK - const daoFactory = '0xb9da44c051c6cc9e04b7e0f95e95d69c6a6d8031' // OK - const miniMeFactory = '0x909d05f384d0663ed4be59863815ab43b4f347ec' // OK - const aragonId = '0x546aa2eae2514494eeadb7bbb35243348983c59d' // OK - const ANT = '0x960b236A07cf122663c4303350609A66A7B288C0' // OK - const DAI = '0x6b175474e89094c44da98b954eedeac495271d0f' // OK - const template = await FundraisingMultisigTemplate.new(daoFactory, ens, miniMeFactory, aragonId, mainnet.defaultTokenAddress, ANT, { from: owner }) - console.log(template.address) - } else { - throw new Error('Unknown network: pick rpc or rinkeby') - } - } catch (err) { - console.log(err) - } - - callback() -} diff --git a/templates/multisig/test/fundraising-multisig.js b/templates/multisig/test/fundraising-multisig.js deleted file mode 100755 index 96a29d1..0000000 --- a/templates/multisig/test/fundraising-multisig.js +++ /dev/null @@ -1,559 +0,0 @@ -const { hash: namehash } = require('eth-ens-namehash') -const { randomId } = require('@aragon/templates-shared/helpers/aragonId') -const assertRevert = require('@aragon/templates-shared/helpers/assertRevert')(web3) -const { assertRole, assertMissingRole } = require('@aragon/templates-shared/helpers/assertRole')(web3) -const { deployedAddresses } = require('@aragon/templates-shared/lib/arapp-file')(web3) -const { getEventArgument } = require('@aragon/test-helpers/events') - -const ACL = artifacts.require('ACL') -const Agent = artifacts.require('Agent') -const Controller = artifacts.require('AragonFundraisingController') -const ENS = artifacts.require('ENS') -const EVMScriptRegistry = artifacts.require('EVMScriptRegistry') -const Finance = artifacts.require('Finance') -const Kernel = artifacts.require('Kernel') -const MarketMaker = artifacts.require('BatchedBancorMarketMaker') -const MiniMeToken = artifacts.require('MiniMeToken') -const Presale = artifacts.require('Presale') -const PublicResolver = artifacts.require('PublicResolver') -const Tap = artifacts.require('Tap') -const Template = artifacts.require('FundraisingMultisigTemplate') -const TokenManager = artifacts.require('TokenManager') -const TokenMock = artifacts.require('TokenMock') -const Vault = artifacts.require('Vault') -const Voting = artifacts.require('Voting') - -const { APP_IDS, getInstalledAppsById } = require('./helpers/utils') -const { - ZERO_ADDRESS, - DAYS, - WEEKS, - MONTHS, - PRESALE_GOAL, - PRESALE_PERIOD, - PRESALE_EXCHANGE_RATE, - VESTING_CLIFF_PERIOD, - VESTING_COMPLETE_PERIOD, - PERCENT_SUPPLY_OFFERED, - PERCENT_FUNDING_FOR_BENEFICIARY, - VIRTUAL_SUPPLIES, - VIRTUAL_BALANCES, - RESERVE_RATIOS, - SLIPPAGES, - RATES, - FLOORS, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, -} = require('@ablack/fundraising-shared-test-helpers/constants') -const ANY_ADDRESS = { address: require('@ablack/fundraising-shared-test-helpers/constants').ANY_ADDRESS } -const START_DATE = new Date().getTime() + MONTHS - -contract('Fundraising with multisig', ([_, owner, boardMember1, boardMember2]) => { - let daoID, template, dao, acl, ens, feed - let shareVoting, boardVoting, boardTokenManager, shareTokenManager, boardToken, shareToken, finance, vault, reserve, presale, marketMaker, tap, controller - let COLLATERALS - - const BOARD_MEMBERS = [boardMember1, boardMember2] - - const BOARD_TOKEN_NAME = 'Board Token' - const BOARD_TOKEN_SYMBOL = 'BOARD' - - const SHARE_TOKEN_NAME = 'Share Token' - const SHARE_TOKEN_SYMBOL = 'SHARE' - - const BOARD_VOTE_DURATION = WEEKS - const BOARD_SUPPORT_REQUIRED = 50e16 - const BOARD_MIN_ACCEPTANCE_QUORUM = 40e16 - const BOARD_VOTING_SETTINGS = [BOARD_SUPPORT_REQUIRED, BOARD_MIN_ACCEPTANCE_QUORUM, BOARD_VOTE_DURATION] - - const SHARE_VOTE_DURATION = WEEKS - const SHARE_SUPPORT_REQUIRED = 50e16 - const SHARE_MIN_ACCEPTANCE_QUORUM = 5e16 - const SHARE_VOTING_SETTINGS = [SHARE_SUPPORT_REQUIRED, SHARE_MIN_ACCEPTANCE_QUORUM, SHARE_VOTE_DURATION] - - before('fetch fundraising multisig template and ENS', async () => { - const { registry, address } = await deployedAddresses() - ens = ENS.at(registry) - template = Template.at(address) - }) - - before('fetch collateral tokens', async () => { - COLLATERALS = [await template.collaterals(0), await template.collaterals(1)] - }) - - context('when the creation fails', () => { - const FINANCE_PERIOD = 0 - daoID = randomId() - - context('Prepare transaction', () => { - it('should revert when no board members are provided', async () => { - await assertRevert(() => - template.prepareInstance(BOARD_TOKEN_NAME, BOARD_TOKEN_SYMBOL, [], BOARD_VOTING_SETTINGS, FINANCE_PERIOD, { - from: owner, - }) - ) - }) - }) - - context('Share transaction', () => { - context('when there is no prepared instance deployed', () => { - it('should revert', async () => { - await assertRevert(() => - template.installShareApps(SHARE_TOKEN_NAME, SHARE_TOKEN_SYMBOL, SHARE_VOTING_SETTINGS, { - from: owner, - }) - ) - }) - }) - }) - - context('Fundraising transaction', () => { - beforeEach('deploy prepared instance', async () => { - await template.prepareInstance(BOARD_TOKEN_NAME, BOARD_TOKEN_SYMBOL, BOARD_MEMBERS, BOARD_VOTING_SETTINGS, FINANCE_PERIOD, { - from: owner, - }) - }) - - context('when there is no share instance deployed', () => { - it('should revert', async () => { - await assertRevert(() => - template.installFundraisingApps( - PRESALE_GOAL, - PRESALE_PERIOD, - PRESALE_EXCHANGE_RATE, - VESTING_CLIFF_PERIOD, - VESTING_COMPLETE_PERIOD, - PERCENT_SUPPLY_OFFERED, - PERCENT_FUNDING_FOR_BENEFICIARY, - START_DATE, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, - { - from: owner, - } - ) - ) - }) - }) - }) - - context('Finalize transaction', () => { - beforeEach('deploy share instance', async () => { - await template.prepareInstance(BOARD_TOKEN_NAME, BOARD_TOKEN_SYMBOL, BOARD_MEMBERS, BOARD_VOTING_SETTINGS, FINANCE_PERIOD, { - from: owner, - }) - await template.installShareApps(SHARE_TOKEN_NAME, SHARE_TOKEN_SYMBOL, SHARE_VOTING_SETTINGS, { - from: owner, - }) - }) - - context('when there is no fundraising instance deployed', () => { - it('should revert', async () => { - await assertRevert(() => - template.finalizeInstance(daoID, VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, SLIPPAGES, RATES[0], FLOORS[0], { - from: owner, - }) - ) - }) - }) - - context('when there is a fundraising instance deployed', () => { - beforeEach('deploy fundraising instance', async () => { - await template.installFundraisingApps( - PRESALE_GOAL, - PRESALE_PERIOD, - PRESALE_EXCHANGE_RATE, - VESTING_CLIFF_PERIOD, - VESTING_COMPLETE_PERIOD, - PERCENT_SUPPLY_OFFERED, - PERCENT_FUNDING_FOR_BENEFICIARY, - START_DATE, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, - { - from: owner, - } - ) - }) - - it('should revert when an empty id is provided', async () => { - await assertRevert(() => - template.finalizeInstance('', VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, SLIPPAGES, RATES[0], FLOORS[0], { - from: owner, - }) - ) - }) - }) - }) - }) - - context('when the creation succeeds', () => { - let prepareReceipt, shareReceipt, fundraisingReceipt, finalizationReceipt - - const loadDAO = async () => { - dao = Kernel.at(getEventArgument(prepareReceipt, 'DeployDao', 'dao')) - acl = ACL.at(await dao.acl()) - - boardToken = MiniMeToken.at(getEventArgument(prepareReceipt, 'DeployToken', 'token', 0)) - shareToken = MiniMeToken.at(getEventArgument(shareReceipt, 'DeployToken', 'token', 0)) - - const installedAppsDuringPrepare = getInstalledAppsById(prepareReceipt) - const installedAppsDuringShare = getInstalledAppsById(shareReceipt) - const installedAppsDuringFundraising = getInstalledAppsById(fundraisingReceipt) - - assert.equal(installedAppsDuringPrepare['token-manager'].length, 1, 'should have installed 1 token-manager apps during prepare') - assert.equal(installedAppsDuringShare['token-manager'].length, 1, 'should have installed 1 token-manager apps during share') - boardTokenManager = TokenManager.at(installedAppsDuringPrepare['token-manager'][0]) - shareTokenManager = TokenManager.at(installedAppsDuringShare['token-manager'][0]) - - assert.equal(installedAppsDuringPrepare.voting.length, 1, 'should have installed 1 voting apps during prepare') - assert.equal(installedAppsDuringShare.voting.length, 1, 'should have installed 1 voting apps during share') - boardVoting = Voting.at(installedAppsDuringPrepare.voting[0]) - shareVoting = Voting.at(installedAppsDuringShare.voting[0]) - - assert.equal(installedAppsDuringPrepare.vault.length, 1, 'should have installed 1 vault app') - vault = Vault.at(installedAppsDuringPrepare.vault[0]) - - assert.equal(installedAppsDuringPrepare.finance.length, 1, 'should have installed 1 finance app') - finance = Finance.at(installedAppsDuringPrepare.finance[0]) - - assert.equal(installedAppsDuringFundraising.agent.length, 1, 'should have installed 1 agent app') - reserve = Agent.at(installedAppsDuringFundraising.agent[0]) - - assert.equal(installedAppsDuringFundraising.presale.length, 1, 'should have installed 1 presale app') - presale = Presale.at(installedAppsDuringFundraising.presale[0]) - - assert.equal(installedAppsDuringFundraising['bancor-market-maker'].length, 1, 'should have installed 1 market-maker app') - marketMaker = MarketMaker.at(installedAppsDuringFundraising['bancor-market-maker'][0]) - - assert.equal(installedAppsDuringFundraising.tap.length, 1, 'should have installed 1 tap app') - tap = Tap.at(installedAppsDuringFundraising.tap[0]) - - assert.equal(installedAppsDuringFundraising['marketplace-controller'].length, 1, 'should have installed 1 marketplace-controller app') - controller = Controller.at(installedAppsDuringFundraising['marketplace-controller'][0]) - } - - const itCostsUpTo = expectedCost => { - it(`gas costs for each transaction must be up to ~${expectedCost} gas`, async () => { - const prepareCost = prepareReceipt.receipt.gasUsed - assert.isAtMost(prepareCost, expectedCost, `prepare transaction should cost up to ${expectedCost} gas`) - - const shareCost = shareReceipt.receipt.gasUsed - assert.isAtMost(shareCost, expectedCost, `share transaction should cost up to ${expectedCost} gas`) - - const fundraisingCost = fundraisingReceipt.receipt.gasUsed - assert.isAtMost(fundraisingCost, expectedCost, `fundraising transaction should cost up to ${expectedCost} gas`) - - const finalizationCost = finalizationReceipt.receipt.gasUsed - assert.isAtMost(finalizationCost, expectedCost, `finalization transaction should cost up to ${expectedCost} gas`) - }) - } - - const itSetupsDAOCorrectly = financePeriod => { - context('ENS', () => { - it('should have registered a new DAO on ENS', async () => { - const ens = ENS.at((await deployedAddresses()).registry) - const aragonIdNameHash = namehash(`${daoID}.aragonid.eth`) - const resolvedAddress = await PublicResolver.at(await ens.resolver(aragonIdNameHash)).addr(aragonIdNameHash) - assert.equal(resolvedAddress, dao.address, 'aragonId ENS name does not match') - }) - }) - - context('System', () => { - it('should have Kernel permissions correctly setup ', async () => { - await assertRole(acl, dao, shareVoting, 'APP_MANAGER_ROLE') - }) - - it('should have ACL permissions correctly setup ', async () => { - await assertRole(acl, acl, shareVoting, 'CREATE_PERMISSIONS_ROLE') - }) - - it('should have EVM scripts registry permissions correctly setup', async () => { - const reg = await EVMScriptRegistry.at(await acl.getEVMScriptRegistry()) - await assertRole(acl, reg, shareVoting, 'REGISTRY_MANAGER_ROLE') - await assertRole(acl, reg, shareVoting, 'REGISTRY_ADD_EXECUTOR_ROLE') - }) - }) - - context('Board', () => { - it('should have created a new board token', async () => { - assert.equal(await boardToken.name(), BOARD_TOKEN_NAME) - assert.equal(await boardToken.symbol(), BOARD_TOKEN_SYMBOL) - assert.equal(await boardToken.transfersEnabled(), false) - assert.equal((await boardToken.decimals()).toNumber(), 0) - }) - - it('should have minted requested amounts for the board members', async () => { - assert.equal((await boardToken.totalSupply()).toString(), BOARD_MEMBERS.length) - for (const holder of BOARD_MEMBERS) assert.equal((await boardToken.balanceOf(holder)).toNumber(), 1) - }) - - it('should have board token manager app correctly setup', async () => { - assert.isTrue(await boardTokenManager.hasInitialized(), 'token manager not initialized') - assert.equal(await boardTokenManager.token(), boardToken.address) - - await assertRole(acl, boardTokenManager, shareVoting, 'MINT_ROLE', boardVoting) - await assertRole(acl, boardTokenManager, shareVoting, 'BURN_ROLE', boardVoting) - - await assertMissingRole(acl, boardTokenManager, 'ISSUE_ROLE') - await assertMissingRole(acl, boardTokenManager, 'ASSIGN_ROLE') - await assertMissingRole(acl, boardTokenManager, 'REVOKE_VESTINGS_ROLE') - }) - - it('should have board voting app correctly setup', async () => { - assert.isTrue(await boardVoting.hasInitialized(), 'voting not initialized') - assert.equal((await boardVoting.supportRequiredPct()).toString(), BOARD_SUPPORT_REQUIRED) - assert.equal((await boardVoting.minAcceptQuorumPct()).toString(), BOARD_MIN_ACCEPTANCE_QUORUM) - assert.equal((await boardVoting.voteTime()).toString(), BOARD_VOTE_DURATION) - - await assertRole(acl, boardVoting, shareVoting, 'CREATE_VOTES_ROLE', boardTokenManager) - await assertRole(acl, boardVoting, shareVoting, 'MODIFY_QUORUM_ROLE', boardVoting) - await assertRole(acl, boardVoting, shareVoting, 'MODIFY_SUPPORT_ROLE', boardVoting) - }) - - it('should have vault app correctly setup', async () => { - assert.isTrue(await vault.hasInitialized(), 'vault not initialized') - - assert.equal(await dao.recoveryVaultAppId(), APP_IDS.vault, 'vault app is not being used as the vault app of the DAO') - assert.equal(web3.toChecksumAddress(await finance.vault()), vault.address, 'finance vault is not the vault app') - assert.equal(web3.toChecksumAddress(await dao.getRecoveryVault()), vault.address, 'vault app is not being used as the vault app of the DAO') - - await assertRole(acl, vault, shareVoting, 'TRANSFER_ROLE', finance) - }) - - it('should have finance app correctly setup', async () => { - assert.isTrue(await finance.hasInitialized(), 'finance not initialized') - - const expectedPeriod = financePeriod === 0 ? MONTHS : financePeriod - assert.equal((await finance.getPeriodDuration()).toString(), expectedPeriod, 'finance period should be 30 days') - - await assertRole(acl, finance, shareVoting, 'CREATE_PAYMENTS_ROLE', boardVoting) - await assertRole(acl, finance, shareVoting, 'EXECUTE_PAYMENTS_ROLE', boardVoting) - await assertRole(acl, finance, shareVoting, 'MANAGE_PAYMENTS_ROLE', boardVoting) - - await assertMissingRole(acl, finance, 'CHANGE_PERIOD_ROLE') - await assertMissingRole(acl, finance, 'CHANGE_BUDGETS_ROLE') - }) - }) - - context('Shareholders', () => { - it('should have created a new share token', async () => { - assert.equal(await shareToken.name(), SHARE_TOKEN_NAME) - assert.equal(await shareToken.symbol(), SHARE_TOKEN_SYMBOL) - assert.equal(await shareToken.transfersEnabled(), true) - assert.equal((await shareToken.decimals()).toString(), 18) - }) - - it('should have share token manager app correctly setup', async () => { - assert.isTrue(await shareTokenManager.hasInitialized(), 'token manager not initialized') - assert.equal(await shareTokenManager.token(), shareToken.address) - - await assertRole(acl, shareTokenManager, shareVoting, 'MINT_ROLE', marketMaker) - await assertRole(acl, shareTokenManager, shareVoting, 'BURN_ROLE', marketMaker) - await assertRole(acl, shareTokenManager, shareVoting, 'BURN_ROLE', presale) - await assertRole(acl, shareTokenManager, shareVoting, 'ISSUE_ROLE', presale) - await assertRole(acl, shareTokenManager, shareVoting, 'ASSIGN_ROLE', presale) - await assertRole(acl, shareTokenManager, shareVoting, 'REVOKE_VESTINGS_ROLE', presale) - }) - - it('should have share voting app correctly setup', async () => { - assert.isTrue(await shareVoting.hasInitialized(), 'voting not initialized') - assert.equal((await shareVoting.supportRequiredPct()).toString(), SHARE_SUPPORT_REQUIRED) - assert.equal((await shareVoting.minAcceptQuorumPct()).toString(), SHARE_MIN_ACCEPTANCE_QUORUM) - assert.equal((await shareVoting.voteTime()).toString(), SHARE_VOTE_DURATION) - - await assertRole(acl, shareVoting, shareVoting, 'CREATE_VOTES_ROLE', boardTokenManager) - await assertRole(acl, shareVoting, shareVoting, 'MODIFY_QUORUM_ROLE') - await assertRole(acl, shareVoting, shareVoting, 'MODIFY_SUPPORT_ROLE') - }) - }) - - context('Fundraising apps', () => { - it('should have reserve / agent app correctly setup', async () => { - assert.isTrue(await reserve.hasInitialized(), 'reserve / agent not initialized') - - assert.equal(await reserve.protectedTokens(0), COLLATERALS[0], 'DAI not protected') - assert.equal(await reserve.protectedTokens(1), COLLATERALS[1], 'ANT not protected') - - await assertRole(acl, reserve, shareVoting, 'SAFE_EXECUTE_ROLE') - await assertRole(acl, reserve, shareVoting, 'ADD_PROTECTED_TOKEN_ROLE', controller) - await assertRole(acl, reserve, shareVoting, 'TRANSFER_ROLE', marketMaker) - await assertRole(acl, reserve, shareVoting, 'TRANSFER_ROLE', tap) - - await assertMissingRole(acl, reserve, 'REMOVE_PROTECTED_TOKEN_ROLE') - await assertMissingRole(acl, reserve, 'EXECUTE_ROLE') - await assertMissingRole(acl, reserve, 'DESIGNATE_SIGNER_ROLE') - await assertMissingRole(acl, reserve, 'ADD_PRESIGNED_HASH_ROLE') - await assertMissingRole(acl, reserve, 'RUN_SCRIPT_ROLE') - }) - - it('should have presale app correctly setup', async () => { - assert.isTrue(await presale.hasInitialized(), 'presale not initialized') - - assert.equal(web3.toChecksumAddress(await presale.controller()), controller.address) - assert.equal(web3.toChecksumAddress(await presale.tokenManager()), shareTokenManager.address) - assert.equal(await presale.token(), shareToken.address) - assert.equal(web3.toChecksumAddress(await presale.reserve()), reserve.address) - assert.equal(web3.toChecksumAddress(await presale.beneficiary()), vault.address) - assert.equal(web3.toChecksumAddress(await presale.contributionToken()), web3.toChecksumAddress(COLLATERALS[0])) - assert.equal((await presale.goal()).toNumber(), PRESALE_GOAL) - assert.equal((await presale.period()).toNumber(), PRESALE_PERIOD) - assert.equal((await presale.exchangeRate()).toNumber(), PRESALE_EXCHANGE_RATE) - assert.equal((await presale.vestingCliffPeriod()).toNumber(), VESTING_CLIFF_PERIOD) - assert.equal((await presale.vestingCompletePeriod()).toNumber(), VESTING_COMPLETE_PERIOD) - assert.equal((await presale.supplyOfferedPct()).toNumber(), PERCENT_SUPPLY_OFFERED) - assert.equal((await presale.fundingForBeneficiaryPct()).toNumber(), PERCENT_FUNDING_FOR_BENEFICIARY) - assert.equal((await presale.openDate()).toNumber(), START_DATE) - - await assertRole(acl, presale, shareVoting, 'OPEN_ROLE', controller) - await assertRole(acl, presale, shareVoting, 'CONTRIBUTE_ROLE', controller) - }) - - it('should have market-maker app correctly setup', async () => { - assert.isTrue(await marketMaker.hasInitialized(), 'market-maker not initialized') - - assert.equal(web3.toChecksumAddress(await marketMaker.controller()), controller.address) - assert.equal(web3.toChecksumAddress(await marketMaker.tokenManager()), shareTokenManager.address) - assert.equal(await marketMaker.token(), shareToken.address) - // cannot check formula directly - assert.equal(web3.toChecksumAddress(await marketMaker.reserve()), reserve.address) - assert.equal(web3.toChecksumAddress(await marketMaker.beneficiary()), vault.address) - assert.equal((await marketMaker.batchBlocks()).toNumber(), BATCH_BLOCKS) - assert.equal((await marketMaker.buyFeePct()).toNumber(), 0) - assert.equal((await marketMaker.sellFeePct()).toNumber(), 0) - - const dai = await marketMaker.getCollateralToken(COLLATERALS[0]) - const ant = await marketMaker.getCollateralToken(COLLATERALS[1]) - - assert.isTrue(dai[0], 'DAI not whitelisted') - assert.equal(dai[1].toNumber(), VIRTUAL_SUPPLIES[0], 'DAI virtual supply should be ' + VIRTUAL_SUPPLIES[0]) - assert.equal(dai[2].toNumber(), VIRTUAL_BALANCES[0], 'DAI virtual balance should be ' + VIRTUAL_BALANCES[0]) - assert.equal(dai[3].toNumber(), RESERVE_RATIOS[0], 'DAI reserve ratio should be ' + RESERVE_RATIOS[0]) - assert.equal(dai[4].toNumber(), SLIPPAGES[0], 'DAI maximum slippage should be ' + SLIPPAGES[0]) - - assert.isTrue(ant[0], 'ANT not whitelisted') - assert.equal(ant[1].toNumber(), VIRTUAL_SUPPLIES[1], 'ANT virtual supply should be ' + VIRTUAL_SUPPLIES[1]) - assert.equal(ant[2].toNumber(), VIRTUAL_BALANCES[1], 'ANT virtual balance should be ' + VIRTUAL_BALANCES[1]) - assert.equal(ant[3].toNumber(), RESERVE_RATIOS[1], 'ANT reserve ratio should be ' + RESERVE_RATIOS[1]) - assert.equal(ant[4].toNumber(), SLIPPAGES[1], 'ANT maximum slippage should be ' + SLIPPAGES[1]) - - await assertRole(acl, marketMaker, shareVoting, 'OPEN_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'UPDATE_BENEFICIARY_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'UPDATE_FEES_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'ADD_COLLATERAL_TOKEN_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'REMOVE_COLLATERAL_TOKEN_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'UPDATE_COLLATERAL_TOKEN_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'OPEN_BUY_ORDER_ROLE', controller) - await assertRole(acl, marketMaker, shareVoting, 'OPEN_SELL_ORDER_ROLE', controller) - - await assertMissingRole(acl, marketMaker, 'UPDATE_FORMULA_ROLE') - }) - - it('should have tap app correctly setup', async () => { - assert.isTrue(await tap.hasInitialized(), 'tap not initialized') - - assert.equal(web3.toChecksumAddress(await tap.controller()), controller.address) - assert.equal(web3.toChecksumAddress(await tap.reserve()), reserve.address) - assert.equal(web3.toChecksumAddress(await tap.beneficiary()), vault.address) - assert.equal((await tap.batchBlocks()).toNumber(), BATCH_BLOCKS) - assert.equal((await tap.maximumTapRateIncreasePct()).toNumber(), MAXIMUM_TAP_RATE_INCREASE_PCT) - assert.equal((await tap.maximumTapFloorDecreasePct()).toNumber(), MAXIMUM_TAP_FLOOR_DECREASE_PCT) - - assert.equal((await tap.rates(COLLATERALS[0])).toNumber(), RATES[0], 'DAI tap rate should be ' + RATES[0]) - assert.equal((await tap.floors(COLLATERALS[0])).toNumber(), FLOORS[0], 'DAI tap floor should be ' + FLOORS[0]) - - await assertRole(acl, tap, shareVoting, 'UPDATE_BENEFICIARY_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'ADD_TAPPED_TOKEN_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'UPDATE_TAPPED_TOKEN_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'RESET_TAPPED_TOKEN_ROLE', controller) - await assertRole(acl, tap, shareVoting, 'WITHDRAW_ROLE', controller) - - await assertMissingRole(acl, tap, 'UPDATE_CONTROLLER_ROLE') - await assertMissingRole(acl, tap, 'UPDATE_RESERVE_ROLE') - await assertMissingRole(acl, tap, 'REMOVE_TAPPED_TOKEN_ROLE') - }) - - it('should have marketplace-controller app correctly setup', async () => { - assert.isTrue(await controller.hasInitialized(), 'marketplace-controller not initialized') - - assert.equal(web3.toChecksumAddress(await controller.presale()), presale.address) - assert.equal(web3.toChecksumAddress(await controller.marketMaker()), marketMaker.address) - assert.equal(web3.toChecksumAddress(await controller.reserve()), reserve.address) - assert.equal(web3.toChecksumAddress(await controller.tap()), tap.address) - assert.equal(await controller.toReset(0), COLLATERALS[0]) - await assertRevert(() => controller.toReset(1)) - - await assertRole(acl, controller, shareVoting, 'UPDATE_BENEFICIARY_ROLE') - await assertRole(acl, controller, shareVoting, 'UPDATE_FEES_ROLE') - await assertRole(acl, controller, shareVoting, 'ADD_COLLATERAL_TOKEN_ROLE') - await assertRole(acl, controller, shareVoting, 'REMOVE_COLLATERAL_TOKEN_ROLE') - await assertRole(acl, controller, shareVoting, 'UPDATE_COLLATERAL_TOKEN_ROLE') - await assertRole(acl, controller, shareVoting, 'UPDATE_MAXIMUM_TAP_RATE_INCREASE_PCT_ROLE') - await assertRole(acl, controller, shareVoting, 'UPDATE_MAXIMUM_TAP_FLOOR_DECREASE_PCT_ROLE') - await assertRole(acl, controller, shareVoting, 'ADD_TOKEN_TAP_ROLE') - await assertRole(acl, controller, shareVoting, 'UPDATE_TOKEN_TAP_ROLE') - await assertRole(acl, controller, shareVoting, 'OPEN_PRESALE_ROLE', boardVoting) - await assertRole(acl, controller, shareVoting, 'OPEN_TRADING_ROLE', presale) - await assertRole(acl, controller, shareVoting, 'CONTRIBUTE_ROLE', ANY_ADDRESS) - await assertRole(acl, controller, shareVoting, 'OPEN_BUY_ORDER_ROLE', ANY_ADDRESS) - await assertRole(acl, controller, shareVoting, 'OPEN_SELL_ORDER_ROLE', ANY_ADDRESS) - await assertRole(acl, controller, shareVoting, 'WITHDRAW_ROLE', ANY_ADDRESS) - }) - }) - } - - const createDAO = financePeriod => { - before('create fundraising entity with multisig', async () => { - daoID = randomId() - prepareReceipt = await template.prepareInstance(BOARD_TOKEN_NAME, BOARD_TOKEN_SYMBOL, BOARD_MEMBERS, BOARD_VOTING_SETTINGS, financePeriod, { - from: owner, - }) - shareReceipt = await template.installShareApps(SHARE_TOKEN_NAME, SHARE_TOKEN_SYMBOL, SHARE_VOTING_SETTINGS, { - from: owner, - }) - fundraisingReceipt = await template.installFundraisingApps( - PRESALE_GOAL, - PRESALE_PERIOD, - PRESALE_EXCHANGE_RATE, - VESTING_CLIFF_PERIOD, - VESTING_COMPLETE_PERIOD, - PERCENT_SUPPLY_OFFERED, - PERCENT_FUNDING_FOR_BENEFICIARY, - START_DATE, - BATCH_BLOCKS, - MAXIMUM_TAP_RATE_INCREASE_PCT, - MAXIMUM_TAP_FLOOR_DECREASE_PCT, - { - from: owner, - } - ) - finalizationReceipt = await template.finalizeInstance(daoID, VIRTUAL_SUPPLIES, VIRTUAL_BALANCES, SLIPPAGES, RATES[0], FLOORS[0], { - from: owner, - }) - - await loadDAO() - }) - } - - context('when requesting a custom finance period', () => { - const FINANCE_PERIOD = 60 * 60 * 24 * 15 // 15 days - - createDAO(FINANCE_PERIOD) - itCostsUpTo(6.8e6) - itSetupsDAOCorrectly(FINANCE_PERIOD) - }) - - context('when requesting a default finance period', () => { - const FINANCE_PERIOD = 0 // use default - - createDAO(FINANCE_PERIOD) - itCostsUpTo(6.8e6) - itSetupsDAOCorrectly(FINANCE_PERIOD) - }) - }) -}) diff --git a/templates/multisig/test/helpers/utils.js b/templates/multisig/test/helpers/utils.js deleted file mode 100644 index d598bcc..0000000 --- a/templates/multisig/test/helpers/utils.js +++ /dev/null @@ -1,51 +0,0 @@ -const Kernel = artifacts.require('Kernel') -const abi = require('web3-eth-abi') -const { hash: namehash } = require('eth-ens-namehash') - -const APPS = [ - { name: 'agent', contractName: 'Agent' }, - { name: 'aragon-fundraising', contractName: 'AragonFundraisingController' }, - { name: 'bancor-formula', contractName: 'BancorFormula' }, - { name: 'batched-bancor-market-maker', contractName: 'BatchedBancorMarketMaker' }, - { name: 'finance', contractName: 'Finance' }, - { name: 'presale', contractName: 'Presale' }, - { name: 'vault', contractName: 'Vault' }, - { name: 'voting', contractName: 'Voting' }, - { name: 'tap', contractName: 'Tap' }, - { name: 'token-manager', contractName: 'TokenManager' }, -] - -const APP_IDS = APPS.reduce((ids, { name }) => { - ids[name] = namehash(`${name}.aragonpm.eth`) - return ids -}, {}) - -const decodeEvents = ({ receipt }, contractAbi, eventName) => { - const eventAbi = contractAbi.filter(abi => abi.name === eventName && abi.type === 'event')[0] - const eventSignature = abi.encodeEventSignature(eventAbi) - const eventLogs = receipt.logs.filter(l => l.topics[0] === eventSignature) - return eventLogs.map(log => { - log.event = eventAbi.name - log.args = abi.decodeLog(eventAbi.inputs, log.data, log.topics.slice(1)) - return log - }) -} - -const getInstalledApps = (receipt, appId) => { - const events = decodeEvents(receipt, Kernel.abi, 'NewAppProxy') - const appEvents = events.filter(e => e.args.appId === appId) - const installedAddresses = appEvents.map(e => e.args.proxy) - return installedAddresses -} - -const getInstalledAppsById = receipt => { - return Object.keys(APP_IDS).reduce((apps, appName) => { - apps[appName] = getInstalledApps(receipt, APP_IDS[appName]) - return apps - }, {}) -} - -module.exports = { - APP_IDS, - getInstalledAppsById, -} diff --git a/templates/multisig/truffle.js b/templates/multisig/truffle.js deleted file mode 100755 index 8b245c6..0000000 --- a/templates/multisig/truffle.js +++ /dev/null @@ -1,19 +0,0 @@ -const truffle = require('@aragon/os/truffle-config') - -const gasLimit = 7e6 - 1 - -truffle.solc.optimizer.runs = 100 -truffle.networks.rpc.gas = gasLimit -truffle.networks.devnet.gas = gasLimit -truffle.networks.rinkeby.gas = gasLimit -truffle.networks.ropsten.gas = gasLimit -truffle.networks.kovan.gas = gasLimit -truffle.networks.frame = { - host: 'localhost', - port: '1248', - network_id: '*', - gas: gasLimit, - gasPrice: 15000000001, -} - -module.exports = truffle